@northguild/gmt 1.17.0 → 1.19.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +55 -2480
- package/dist/calendar/calculate/bucketRange.d.ts +12 -4
- package/dist/calendar/calculate/bucketRange.js +20 -63
- package/dist/calendar/calculate/floorToZone.d.ts +14 -4
- package/dist/calendar/calculate/floorToZone.js +18 -9
- package/dist/calendar/calculate/getFiscalPeriod.d.ts +21 -8
- package/dist/calendar/calculate/getFiscalPeriod.js +9 -8
- package/dist/calendar/calculate/getIsoWeekDate.d.ts +10 -5
- package/dist/calendar/calculate/getIsoWeekDate.js +1 -5
- package/dist/calendar/calculate/getOrdinalDate.d.ts +10 -3
- package/dist/calendar/calculate/getOrdinalDate.js +2 -3
- package/dist/calendar/calculate/getQuarter.d.ts +21 -9
- package/dist/calendar/calculate/getQuarter.js +8 -12
- package/dist/calendar/hours/addOperatingTime.d.ts +59 -0
- package/dist/calendar/hours/addOperatingTime.js +65 -0
- package/dist/calendar/hours/index.d.ts +7 -0
- package/dist/calendar/hours/index.js +7 -0
- package/dist/calendar/hours/isOpenAt.d.ts +45 -0
- package/dist/calendar/hours/isOpenAt.js +50 -0
- package/dist/calendar/hours/nextCloseAt.d.ts +55 -0
- package/dist/calendar/hours/nextCloseAt.js +57 -0
- package/dist/calendar/hours/nextOpenAt.d.ts +51 -0
- package/dist/calendar/hours/nextOpenAt.js +53 -0
- package/dist/calendar/hours/operatingIntervals.d.ts +48 -0
- package/dist/calendar/hours/operatingIntervals.js +57 -0
- package/dist/calendar/hours/operatingTimeBetween.d.ts +45 -0
- package/dist/calendar/hours/operatingTimeBetween.js +54 -0
- package/dist/calendar/hours/recurringWindows.d.ts +68 -0
- package/dist/calendar/hours/recurringWindows.js +88 -0
- package/dist/calendar/index.d.ts +1 -0
- package/dist/calendar/index.js +1 -0
- package/dist/duration/calculate/durationFromUnits.d.ts +47 -0
- package/dist/duration/calculate/durationFromUnits.js +67 -0
- package/dist/duration/calculate/getDurationUnit.d.ts +2 -2
- package/dist/duration/calculate/getDurationUnit.js +2 -2
- package/dist/duration/calculate/index.d.ts +3 -1
- package/dist/duration/calculate/index.js +3 -1
- package/dist/duration/calculate/negateDuration.d.ts +1 -1
- package/dist/duration/calculate/negateDuration.js +1 -1
- package/dist/duration/calculate/totalDuration.d.ts +73 -0
- package/dist/duration/calculate/{durationAs.js → totalDuration.js} +29 -27
- package/dist/duration/calculate/totalUnits.d.ts +49 -0
- package/dist/duration/calculate/totalUnits.js +73 -0
- package/dist/duration/compare/compareDurations.d.ts +13 -7
- package/dist/duration/compare/compareDurations.js +4 -7
- package/dist/duration/format/formatDuration.d.ts +16 -4
- package/dist/duration/format/formatDuration.js +4 -5
- package/dist/duration/normalize/normalizeDuration.d.ts +39 -14
- package/dist/duration/normalize/normalizeDuration.js +6 -15
- package/dist/duration/parse/parseDuration.d.ts +21 -3
- package/dist/duration/parse/parseDuration.js +1 -3
- package/dist/duty/calculate/dutyDayFor.d.ts +38 -0
- package/dist/duty/calculate/dutyDayFor.js +71 -0
- package/dist/duty/calculate/dutyTotals.d.ts +24 -0
- package/dist/duty/calculate/dutyTotals.js +41 -0
- package/dist/duty/calculate/dutyViolations.d.ts +74 -0
- package/dist/duty/calculate/dutyViolations.js +65 -0
- package/dist/duty/calculate/evaluateDutyLog.d.ts +77 -0
- package/dist/duty/calculate/evaluateDutyLog.js +75 -0
- package/dist/duty/calculate/index.d.ts +7 -0
- package/dist/duty/calculate/index.js +7 -0
- package/dist/duty/calculate/longestRun.d.ts +28 -0
- package/dist/duty/calculate/longestRun.js +54 -0
- package/dist/duty/calculate/qualifyingRestPairs.d.ts +37 -0
- package/dist/duty/calculate/qualifyingRestPairs.js +58 -0
- package/dist/duty/calculate/qualifyingRests.d.ts +27 -0
- package/dist/duty/calculate/qualifyingRests.js +49 -0
- package/dist/duty/index.d.ts +3 -0
- package/dist/duty/index.js +4 -0
- package/dist/duty/validate/index.d.ts +1 -0
- package/dist/duty/validate/index.js +1 -0
- package/dist/duty/validate/isValidDutyLog.d.ts +24 -0
- package/dist/duty/validate/isValidDutyLog.js +34 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/instant/convert/classifyLocal.d.ts +5 -1
- package/dist/instant/convert/classifyLocal.js +16 -6
- package/dist/instant/convert/fromOffsetInstant.d.ts +7 -1
- package/dist/instant/convert/fromOffsetInstant.js +9 -2
- package/dist/instant/convert/resolveLocal.d.ts +18 -8
- package/dist/instant/convert/resolveLocal.js +21 -17
- package/dist/instant/convert/toOffsetInstant.d.ts +33 -16
- package/dist/instant/convert/toOffsetInstant.js +28 -13
- package/dist/instant/index.d.ts +1 -0
- package/dist/instant/index.js +1 -0
- package/dist/instant/validate/index.d.ts +1 -0
- package/dist/instant/validate/index.js +1 -0
- package/dist/instant/validate/isValidUtcOffset.d.ts +32 -0
- package/dist/instant/validate/isValidUtcOffset.js +35 -0
- package/dist/intermodal/calculate/billingTimeline.d.ts +31 -11
- package/dist/intermodal/calculate/billingTimeline.js +2 -2
- package/dist/intermodal/calculate/chargeableDays.d.ts +19 -11
- package/dist/intermodal/calculate/chargeableDays.js +13 -10
- package/dist/intermodal/calculate/demurrageClock.d.ts +16 -7
- package/dist/intermodal/calculate/demurrageClock.js +7 -7
- package/dist/intermodal/calculate/freeTimeExpiry.d.ts +12 -4
- package/dist/intermodal/calculate/freeTimeExpiry.js +19 -8
- package/dist/intermodal/calculate/index.d.ts +1 -0
- package/dist/intermodal/calculate/index.js +1 -0
- package/dist/intermodal/calculate/multimodalETA.d.ts +76 -0
- package/dist/intermodal/calculate/multimodalETA.js +145 -0
- package/dist/intermodal/format/bolTimestamp.d.ts +76 -0
- package/dist/intermodal/format/bolTimestamp.js +78 -0
- package/dist/intermodal/format/formatEdifactDate.d.ts +34 -0
- package/dist/intermodal/format/formatEdifactDate.js +42 -0
- package/dist/intermodal/format/formatEdifactDatePeriod.d.ts +35 -0
- package/dist/intermodal/format/formatEdifactDatePeriod.js +43 -0
- package/dist/intermodal/format/formatEdifactDateTime.d.ts +37 -0
- package/dist/intermodal/format/formatEdifactDateTime.js +45 -0
- package/dist/intermodal/format/formatEdifactDateTimePeriod.d.ts +40 -0
- package/dist/intermodal/format/formatEdifactDateTimePeriod.js +48 -0
- package/dist/intermodal/format/formatEdifactOffsetDateTime.d.ts +62 -0
- package/dist/intermodal/format/formatEdifactOffsetDateTime.js +70 -0
- package/dist/intermodal/format/formatEdifactTime.d.ts +35 -0
- package/dist/intermodal/format/formatEdifactTime.js +43 -0
- package/dist/intermodal/format/formatEpcisEvent.d.ts +47 -0
- package/dist/intermodal/format/formatEpcisEvent.js +79 -0
- package/dist/intermodal/format/formatX12Date.d.ts +35 -0
- package/dist/intermodal/format/formatX12Date.js +43 -0
- package/dist/intermodal/format/formatX12DateRange.d.ts +37 -0
- package/dist/intermodal/format/formatX12DateRange.js +45 -0
- package/dist/intermodal/format/formatX12DateTime.d.ts +39 -0
- package/dist/intermodal/format/formatX12DateTime.js +47 -0
- package/dist/intermodal/format/formatX12DateTimeRange.d.ts +40 -0
- package/dist/intermodal/format/formatX12DateTimeRange.js +48 -0
- package/dist/intermodal/format/formatX12Time.d.ts +42 -0
- package/dist/intermodal/format/formatX12Time.js +50 -0
- package/dist/intermodal/format/formatX12TimeElement.d.ts +46 -0
- package/dist/intermodal/format/formatX12TimeElement.js +54 -0
- package/dist/intermodal/format/index.d.ts +14 -0
- package/dist/intermodal/format/index.js +14 -0
- package/dist/intermodal/index.d.ts +3 -0
- package/dist/intermodal/index.js +3 -0
- package/dist/intermodal/parse/classifyEdifactDtmFormat.d.ts +48 -0
- package/dist/intermodal/parse/classifyEdifactDtmFormat.js +55 -0
- package/dist/intermodal/parse/classifyX12DateTimePeriodFormat.d.ts +50 -0
- package/dist/intermodal/parse/classifyX12DateTimePeriodFormat.js +57 -0
- package/dist/intermodal/parse/classifyX12TimeCode.d.ts +46 -0
- package/dist/intermodal/parse/classifyX12TimeCode.js +57 -0
- package/dist/intermodal/parse/index.d.ts +18 -0
- package/dist/intermodal/parse/index.js +18 -0
- package/dist/intermodal/parse/parseEdifactDate.d.ts +37 -0
- package/dist/intermodal/parse/parseEdifactDate.js +45 -0
- package/dist/intermodal/parse/parseEdifactDatePeriod.d.ts +43 -0
- package/dist/intermodal/parse/parseEdifactDatePeriod.js +51 -0
- package/dist/intermodal/parse/parseEdifactDateTime.d.ts +43 -0
- package/dist/intermodal/parse/parseEdifactDateTime.js +51 -0
- package/dist/intermodal/parse/parseEdifactDateTimePeriod.d.ts +45 -0
- package/dist/intermodal/parse/parseEdifactDateTimePeriod.js +53 -0
- package/dist/intermodal/parse/parseEdifactOffsetDateTime.d.ts +60 -0
- package/dist/intermodal/parse/parseEdifactOffsetDateTime.js +68 -0
- package/dist/intermodal/parse/parseEdifactTime.d.ts +37 -0
- package/dist/intermodal/parse/parseEdifactTime.js +45 -0
- package/dist/intermodal/parse/parseEpcisEvent.d.ts +95 -0
- package/dist/intermodal/parse/parseEpcisEvent.js +102 -0
- package/dist/intermodal/parse/parseX12Date.d.ts +39 -0
- package/dist/intermodal/parse/parseX12Date.js +47 -0
- package/dist/intermodal/parse/parseX12DateAndTime.d.ts +52 -0
- package/dist/intermodal/parse/parseX12DateAndTime.js +61 -0
- package/dist/intermodal/parse/parseX12DateRange.d.ts +44 -0
- package/dist/intermodal/parse/parseX12DateRange.js +52 -0
- package/dist/intermodal/parse/parseX12DateTime.d.ts +45 -0
- package/dist/intermodal/parse/parseX12DateTime.js +53 -0
- package/dist/intermodal/parse/parseX12DateTimeRange.d.ts +46 -0
- package/dist/intermodal/parse/parseX12DateTimeRange.js +54 -0
- package/dist/intermodal/parse/parseX12Time.d.ts +65 -0
- package/dist/intermodal/parse/parseX12Time.js +77 -0
- package/dist/intermodal/parse/x12TimeCodeOffset.d.ts +57 -0
- package/dist/intermodal/parse/x12TimeCodeOffset.js +110 -0
- package/dist/intermodal/parse/x12TimeCodeZone.d.ts +57 -0
- package/dist/intermodal/parse/x12TimeCodeZone.js +105 -0
- package/dist/intermodal/validate/index.d.ts +18 -0
- package/dist/intermodal/validate/index.js +18 -0
- package/dist/intermodal/validate/isValidEdifactDate.d.ts +26 -0
- package/dist/intermodal/validate/isValidEdifactDate.js +28 -0
- package/dist/intermodal/validate/isValidEdifactDatePeriod.d.ts +28 -0
- package/dist/intermodal/validate/isValidEdifactDatePeriod.js +30 -0
- package/dist/intermodal/validate/isValidEdifactDateTime.d.ts +30 -0
- package/dist/intermodal/validate/isValidEdifactDateTime.js +32 -0
- package/dist/intermodal/validate/isValidEdifactDateTimePeriod.d.ts +28 -0
- package/dist/intermodal/validate/isValidEdifactDateTimePeriod.js +30 -0
- package/dist/intermodal/validate/isValidEdifactDtmFormat.d.ts +39 -0
- package/dist/intermodal/validate/isValidEdifactDtmFormat.js +42 -0
- package/dist/intermodal/validate/isValidEdifactOffsetDateTime.d.ts +36 -0
- package/dist/intermodal/validate/isValidEdifactOffsetDateTime.js +38 -0
- package/dist/intermodal/validate/isValidEdifactTime.d.ts +28 -0
- package/dist/intermodal/validate/isValidEdifactTime.js +30 -0
- package/dist/intermodal/validate/isValidEpcisEvent.d.ts +41 -0
- package/dist/intermodal/validate/isValidEpcisEvent.js +58 -0
- package/dist/intermodal/validate/isValidEpcisEventTime.d.ts +33 -0
- package/dist/intermodal/validate/isValidEpcisEventTime.js +48 -0
- package/dist/intermodal/validate/isValidEpcisTimeZoneOffset.d.ts +30 -0
- package/dist/intermodal/validate/isValidEpcisTimeZoneOffset.js +38 -0
- package/dist/intermodal/validate/isValidX12Date.d.ts +28 -0
- package/dist/intermodal/validate/isValidX12Date.js +30 -0
- package/dist/intermodal/validate/isValidX12DateAndTime.d.ts +32 -0
- package/dist/intermodal/validate/isValidX12DateAndTime.js +35 -0
- package/dist/intermodal/validate/isValidX12DateRange.d.ts +29 -0
- package/dist/intermodal/validate/isValidX12DateRange.js +31 -0
- package/dist/intermodal/validate/isValidX12DateTime.d.ts +30 -0
- package/dist/intermodal/validate/isValidX12DateTime.js +32 -0
- package/dist/intermodal/validate/isValidX12DateTimePeriodFormat.d.ts +43 -0
- package/dist/intermodal/validate/isValidX12DateTimePeriodFormat.js +46 -0
- package/dist/intermodal/validate/isValidX12DateTimeRange.d.ts +31 -0
- package/dist/intermodal/validate/isValidX12DateTimeRange.js +33 -0
- package/dist/intermodal/validate/isValidX12Time.d.ts +38 -0
- package/dist/intermodal/validate/isValidX12Time.js +40 -0
- package/dist/intermodal/validate/isValidX12TimeCode.d.ts +38 -0
- package/dist/intermodal/validate/isValidX12TimeCode.js +41 -0
- package/dist/internal/businessCalendar.d.ts +5 -0
- package/dist/internal/businessCalendar.js +9 -10
- package/dist/internal/cycleFieldValue.d.ts +6 -4
- package/dist/internal/cycleFieldValue.js +6 -4
- package/dist/internal/daylightTime.d.ts +33 -0
- package/dist/internal/daylightTime.js +164 -0
- package/dist/internal/durationUntilString.js +4 -3
- package/dist/internal/dutyEngine.d.ts +125 -0
- package/dist/internal/dutyEngine.js +1746 -0
- package/dist/internal/dutyLog.d.ts +27 -0
- package/dist/internal/dutyLog.js +47 -0
- package/dist/internal/dutyPeriods.d.ts +135 -0
- package/dist/internal/dutyPeriods.js +369 -0
- package/dist/internal/dutyRules.d.ts +197 -0
- package/dist/internal/dutyRules.js +484 -0
- package/dist/internal/ediDateTimeFields.d.ts +97 -0
- package/dist/internal/ediDateTimeFields.js +288 -0
- package/dist/internal/ediDateTimeWriter.d.ts +92 -0
- package/dist/internal/ediDateTimeWriter.js +298 -0
- package/dist/internal/ediGrammar.d.ts +158 -0
- package/dist/internal/ediGrammar.js +384 -0
- package/dist/internal/englishCalendarNames.d.ts +3 -1
- package/dist/internal/englishCalendarNames.js +4 -3
- package/dist/internal/epochNanoseconds.d.ts +2 -0
- package/dist/internal/epochNanoseconds.js +2 -0
- package/dist/internal/exactDuration.d.ts +37 -0
- package/dist/internal/exactDuration.js +64 -0
- package/dist/internal/exactMoment.d.ts +72 -0
- package/dist/internal/exactMoment.js +114 -0
- package/dist/internal/fiscalCalendar.d.ts +4 -3
- package/dist/internal/fiscalCalendar.js +4 -3
- package/dist/internal/formatCalendarDays.d.ts +2 -2
- package/dist/internal/formatRelativeDuration.d.ts +21 -1
- package/dist/internal/formatRelativeDuration.js +47 -7
- package/dist/internal/freeTimeLedger.d.ts +5 -0
- package/dist/internal/freeTimeLedger.js +11 -2
- package/dist/internal/index.d.ts +12 -4
- package/dist/internal/index.js +16 -4
- package/dist/internal/instantFormatOptions.js +2 -1
- package/dist/internal/instantNanoseconds.d.ts +75 -9
- package/dist/internal/instantNanoseconds.js +192 -11
- package/dist/internal/intervalNanoseconds.js +2 -1
- package/dist/internal/isObject.d.ts +13 -6
- package/dist/internal/isObject.js +14 -7
- package/dist/internal/isoYearString.d.ts +21 -0
- package/dist/internal/isoYearString.js +27 -0
- package/dist/internal/joinDateTimeConnector.d.ts +1 -1
- package/dist/internal/maxPieces.js +2 -1
- package/dist/internal/monthGridWeekRow.d.ts +2 -1
- package/dist/internal/monthGridWeekRow.js +2 -1
- package/dist/internal/normalizeTimeZone.d.ts +5 -2
- package/dist/internal/normalizeTimeZone.js +5 -2
- package/dist/internal/operatingSchedule.d.ts +138 -0
- package/dist/internal/operatingSchedule.js +756 -0
- package/dist/internal/optionOrDefault.d.ts +18 -0
- package/dist/internal/optionOrDefault.js +20 -0
- package/dist/internal/patternToken.d.ts +12 -5
- package/dist/internal/patternToken.js +59 -25
- package/dist/internal/plainDateUntil.js +10 -6
- package/dist/internal/punctuality.d.ts +38 -0
- package/dist/internal/punctuality.js +59 -0
- package/dist/internal/readDateTimeFormatOptions.d.ts +30 -0
- package/dist/internal/readDateTimeFormatOptions.js +93 -0
- package/dist/internal/readDurationUnits.d.ts +34 -0
- package/dist/internal/readDurationUnits.js +78 -0
- package/dist/internal/readSetFields.d.ts +50 -0
- package/dist/internal/readSetFields.js +179 -0
- package/dist/internal/resolveDurationRelativeTo.d.ts +4 -0
- package/dist/internal/resolveDurationRelativeTo.js +11 -1
- package/dist/internal/resolveRelativeRounding.d.ts +17 -6
- package/dist/internal/resolveRelativeRounding.js +27 -7
- package/dist/internal/resolveRelativeUnit.d.ts +30 -0
- package/dist/internal/resolveRelativeUnit.js +40 -0
- package/dist/internal/resolveUnixIntervalPair.d.ts +8 -2
- package/dist/internal/resolveUnixIntervalPair.js +11 -7
- package/dist/internal/splitStep.d.ts +24 -1
- package/dist/internal/splitStep.js +34 -2
- package/dist/internal/startOrEndOfUnix.d.ts +2 -1
- package/dist/internal/startOrEndOfUnix.js +9 -6
- package/dist/internal/startOrEndOfZoned.js +2 -3
- package/dist/internal/temporalCompat/capabilities.d.ts +26 -0
- package/dist/internal/temporalCompat/capabilities.js +35 -3
- package/dist/internal/temporalCompat/fieldSearch.js +1 -1
- package/dist/internal/temporalCompat/index.d.ts +1 -1
- package/dist/internal/temporalCompat/index.js +1 -1
- package/dist/internal/temporalCompat/repros.d.ts +1 -1
- package/dist/internal/temporalCompat/repros.js +157 -0
- package/dist/internal/timestampEvents.d.ts +32 -0
- package/dist/internal/timestampEvents.js +76 -0
- package/dist/internal/twoDigitYear.d.ts +19 -0
- package/dist/internal/twoDigitYear.js +22 -0
- package/dist/internal/unixEpochValue.js +3 -2
- package/dist/internal/unixWallClock.d.ts +24 -0
- package/dist/internal/unixWallClock.js +35 -0
- package/dist/internal/utcWallClock.d.ts +20 -0
- package/dist/internal/utcWallClock.js +32 -0
- package/dist/internal/yearWindowStart.d.ts +28 -0
- package/dist/internal/yearWindowStart.js +52 -0
- package/dist/internal/zoneBucketCap.d.ts +18 -0
- package/dist/internal/zoneBucketCap.js +64 -0
- package/dist/internal/zoneFrame.d.ts +180 -0
- package/dist/internal/zoneFrame.js +221 -0
- package/dist/internal/zonedBucket.js +8 -6
- package/dist/internal/zonedLocalDates.js +1 -1
- package/dist/internal/zonedNowUnitValue.d.ts +7 -4
- package/dist/internal/zonedNowUnitValue.js +8 -4
- package/dist/internal/zonedTransitionSearch.d.ts +27 -0
- package/dist/internal/zonedTransitionSearch.js +218 -0
- package/dist/internal/zonedWallClock.d.ts +21 -7
- package/dist/internal/zonedWallClock.js +87 -18
- package/dist/internal/zonedWallClockDifference.js +4 -4
- package/dist/internal/zonedWallClockOperations.d.ts +31 -15
- package/dist/internal/zonedWallClockOperations.js +93 -43
- package/dist/interval/validate/isValidInterval.d.ts +6 -3
- package/dist/interval/validate/isValidInterval.js +6 -3
- package/dist/plain/calculate/addDate.d.ts +11 -8
- package/dist/plain/calculate/addDate.js +9 -15
- package/dist/plain/calculate/addDateTime.d.ts +7 -4
- package/dist/plain/calculate/addDateTime.js +5 -11
- package/dist/plain/calculate/addTime.js +4 -7
- package/dist/plain/calculate/cycleDate.d.ts +16 -7
- package/dist/plain/calculate/cycleDate.js +3 -7
- package/dist/plain/calculate/cycleDateTime.d.ts +14 -4
- package/dist/plain/calculate/cycleDateTime.js +1 -4
- package/dist/plain/calculate/cycleTime.d.ts +10 -5
- package/dist/plain/calculate/cycleTime.js +3 -5
- package/dist/plain/calculate/diffDate.d.ts +1 -1
- package/dist/plain/calculate/diffDate.js +1 -1
- package/dist/plain/calculate/diffDateAsDuration.d.ts +1 -1
- package/dist/plain/calculate/diffDateAsDuration.js +1 -1
- package/dist/plain/calculate/diffDateTime.d.ts +1 -1
- package/dist/plain/calculate/diffDateTime.js +1 -1
- package/dist/plain/calculate/diffDateTimeAsDuration.d.ts +1 -1
- package/dist/plain/calculate/diffDateTimeAsDuration.js +1 -1
- package/dist/plain/calculate/diffTime.d.ts +1 -1
- package/dist/plain/calculate/diffTime.js +1 -1
- package/dist/plain/calculate/endOfDate.d.ts +8 -3
- package/dist/plain/calculate/endOfDate.js +1 -3
- package/dist/plain/calculate/endOfDateTime.d.ts +15 -5
- package/dist/plain/calculate/endOfDateTime.js +1 -5
- package/dist/plain/calculate/endOfTime.d.ts +9 -3
- package/dist/plain/calculate/endOfTime.js +1 -2
- package/dist/plain/calculate/getLocaleWeekYear.d.ts +16 -9
- package/dist/plain/calculate/getLocaleWeekYear.js +9 -9
- package/dist/plain/calculate/getWeekOfMonth.d.ts +7 -4
- package/dist/plain/calculate/getWeekOfMonth.js +7 -4
- package/dist/plain/calculate/getWeeksInLocaleWeekYear.d.ts +13 -6
- package/dist/plain/calculate/getWeeksInLocaleWeekYear.js +6 -6
- package/dist/plain/calculate/getWeeksInMonth.d.ts +5 -2
- package/dist/plain/calculate/getWeeksInMonth.js +5 -2
- package/dist/plain/calculate/nextWeekday.d.ts +7 -3
- package/dist/plain/calculate/nextWeekday.js +1 -3
- package/dist/plain/calculate/previousWeekday.d.ts +7 -3
- package/dist/plain/calculate/previousWeekday.js +1 -3
- package/dist/plain/calculate/roundDate.d.ts +20 -7
- package/dist/plain/calculate/roundDate.js +3 -10
- package/dist/plain/calculate/roundDateTime.d.ts +22 -8
- package/dist/plain/calculate/roundDateTime.js +3 -11
- package/dist/plain/calculate/roundTime.d.ts +20 -4
- package/dist/plain/calculate/roundTime.js +3 -7
- package/dist/plain/calculate/setDate.d.ts +27 -8
- package/dist/plain/calculate/setDate.js +28 -12
- package/dist/plain/calculate/setDateTime.d.ts +23 -8
- package/dist/plain/calculate/setDateTime.js +23 -12
- package/dist/plain/calculate/setTime.d.ts +23 -7
- package/dist/plain/calculate/setTime.js +25 -12
- package/dist/plain/calculate/startOfDate.d.ts +8 -2
- package/dist/plain/calculate/startOfDate.js +1 -2
- package/dist/plain/calculate/startOfDateTime.d.ts +15 -2
- package/dist/plain/calculate/startOfDateTime.js +1 -2
- package/dist/plain/calculate/startOfTime.d.ts +9 -2
- package/dist/plain/calculate/startOfTime.js +1 -1
- package/dist/plain/calculate/subtractDate.d.ts +7 -4
- package/dist/plain/calculate/subtractDate.js +5 -11
- package/dist/plain/calculate/subtractDateTime.d.ts +7 -4
- package/dist/plain/calculate/subtractDateTime.js +5 -11
- package/dist/plain/calculate/subtractTime.js +4 -7
- package/dist/plain/compare/areDateTimesEqualBy.d.ts +13 -5
- package/dist/plain/compare/areDateTimesEqualBy.js +6 -5
- package/dist/plain/compare/areDatesEqualBy.d.ts +15 -6
- package/dist/plain/compare/areDatesEqualBy.js +8 -6
- package/dist/plain/compare/isBetweenDate.d.ts +13 -2
- package/dist/plain/compare/isBetweenDate.js +4 -4
- package/dist/plain/compare/isBetweenDateTime.d.ts +13 -2
- package/dist/plain/compare/isBetweenDateTime.js +4 -4
- package/dist/plain/compare/isBetweenTime.d.ts +13 -2
- package/dist/plain/compare/isBetweenTime.js +4 -4
- package/dist/plain/compare/isRelativeDay.d.ts +1 -1
- package/dist/plain/compare/isRelativeDay.js +1 -1
- package/dist/plain/compare/isThisUnit.d.ts +1 -1
- package/dist/plain/compare/isThisUnit.js +1 -1
- package/dist/plain/format/formatCalendar.d.ts +21 -14
- package/dist/plain/format/formatCalendar.js +23 -17
- package/dist/plain/format/formatDate.js +5 -3
- package/dist/plain/format/formatDateRange.js +4 -2
- package/dist/plain/format/formatDateTime.js +4 -2
- package/dist/plain/format/formatDateTimeRange.js +4 -2
- package/dist/plain/format/formatDateTimeToParts.d.ts +15 -4
- package/dist/plain/format/formatDateTimeToParts.js +10 -6
- package/dist/plain/format/formatDateToParts.d.ts +13 -2
- package/dist/plain/format/formatDateToParts.js +8 -4
- package/dist/plain/format/formatRelativeDate.d.ts +16 -3
- package/dist/plain/format/formatRelativeDate.js +28 -16
- package/dist/plain/format/formatRelativeDateTime.d.ts +16 -3
- package/dist/plain/format/formatRelativeDateTime.js +10 -6
- package/dist/plain/format/formatRelativeTime.d.ts +16 -3
- package/dist/plain/format/formatRelativeTime.js +23 -14
- package/dist/plain/format/{formatSql.d.ts → formatSqlDateTime.d.ts} +7 -7
- package/dist/plain/format/{formatSql.js → formatSqlDateTime.js} +7 -7
- package/dist/plain/format/formatTime.js +4 -2
- package/dist/plain/format/index.d.ts +1 -1
- package/dist/plain/format/index.js +1 -1
- package/dist/plain/get/getNowUnit.d.ts +2 -0
- package/dist/plain/get/getNowUnit.js +2 -0
- package/dist/plain/get/getYear.d.ts +2 -0
- package/dist/plain/get/getYear.js +4 -3
- package/dist/plain/interval/intervalDifferenceDate.d.ts +9 -0
- package/dist/plain/interval/intervalDifferenceDateTime.d.ts +9 -0
- package/dist/plain/interval/intervalDifferenceTime.d.ts +9 -0
- package/dist/plain/interval/intervalDivideEquallyDate.d.ts +19 -4
- package/dist/plain/interval/intervalDivideEquallyDate.js +3 -4
- package/dist/plain/interval/intervalDivideEquallyDateTime.d.ts +19 -4
- package/dist/plain/interval/intervalDivideEquallyDateTime.js +3 -4
- package/dist/plain/interval/intervalDivideEquallyTime.d.ts +19 -4
- package/dist/plain/interval/intervalDivideEquallyTime.js +3 -4
- package/dist/plain/interval/intervalFromDurationDate.d.ts +16 -3
- package/dist/plain/interval/intervalFromDurationDate.js +1 -3
- package/dist/plain/interval/intervalFromDurationDateTime.d.ts +16 -3
- package/dist/plain/interval/intervalFromDurationDateTime.js +1 -3
- package/dist/plain/interval/intervalFromDurationTime.d.ts +9 -0
- package/dist/plain/interval/intervalIntersectionDate.d.ts +9 -0
- package/dist/plain/interval/intervalIntersectionDateTime.d.ts +9 -0
- package/dist/plain/interval/intervalIntersectionTime.d.ts +9 -0
- package/dist/plain/interval/intervalSplitAtDate.d.ts +11 -0
- package/dist/plain/interval/intervalSplitAtDate.js +2 -0
- package/dist/plain/interval/intervalSplitAtDateTime.d.ts +11 -0
- package/dist/plain/interval/intervalSplitAtDateTime.js +2 -0
- package/dist/plain/interval/intervalSplitAtTime.d.ts +11 -0
- package/dist/plain/interval/intervalSplitAtTime.js +2 -0
- package/dist/plain/interval/intervalUnionDate.d.ts +9 -0
- package/dist/plain/interval/intervalUnionDateTime.d.ts +9 -0
- package/dist/plain/interval/intervalUnionTime.d.ts +9 -0
- package/dist/plain/interval/intervalXorAllDate.d.ts +9 -0
- package/dist/plain/interval/intervalXorAllDate.js +2 -2
- package/dist/plain/interval/intervalXorAllDateTime.d.ts +9 -0
- package/dist/plain/interval/intervalXorAllDateTime.js +2 -2
- package/dist/plain/interval/intervalXorAllTime.d.ts +9 -0
- package/dist/plain/interval/intervalXorAllTime.js +2 -2
- package/dist/plain/interval/intervalXorDate.d.ts +9 -0
- package/dist/plain/interval/intervalXorDateTime.d.ts +9 -0
- package/dist/plain/interval/intervalXorTime.d.ts +9 -0
- package/dist/plain/interval/mergeIntervalsDate.d.ts +9 -0
- package/dist/plain/interval/mergeIntervalsDate.js +2 -2
- package/dist/plain/interval/mergeIntervalsDateTime.d.ts +9 -0
- package/dist/plain/interval/mergeIntervalsDateTime.js +2 -2
- package/dist/plain/interval/mergeIntervalsTime.d.ts +9 -0
- package/dist/plain/interval/mergeIntervalsTime.js +2 -2
- package/dist/plain/interval/splitIntervalByUnitDate.d.ts +23 -7
- package/dist/plain/interval/splitIntervalByUnitDate.js +7 -7
- package/dist/plain/interval/splitIntervalByUnitDateTime.d.ts +22 -6
- package/dist/plain/interval/splitIntervalByUnitDateTime.js +6 -6
- package/dist/plain/interval/splitIntervalByUnitTime.d.ts +17 -4
- package/dist/plain/interval/splitIntervalByUnitTime.js +1 -4
- package/dist/plain/map/mapDatesInRange.d.ts +8 -4
- package/dist/plain/map/mapDatesInRange.js +1 -4
- package/dist/plain/parse/index.d.ts +1 -1
- package/dist/plain/parse/index.js +1 -1
- package/dist/plain/parse/parseDateTimeWithPattern.d.ts +25 -9
- package/dist/plain/parse/parseDateTimeWithPattern.js +29 -11
- package/dist/plain/parse/parseDateWithPattern.d.ts +26 -9
- package/dist/plain/parse/parseDateWithPattern.js +30 -11
- package/dist/plain/parse/{parseSql.d.ts → parseSqlDateTime.d.ts} +8 -8
- package/dist/plain/parse/{parseSql.js → parseSqlDateTime.js} +8 -8
- package/dist/plain/parse/parseTimeWithPattern.d.ts +10 -7
- package/dist/plain/parse/parseTimeWithPattern.js +11 -7
- package/dist/plain/parse/parseUnitFromDate.d.ts +14 -3
- package/dist/plain/parse/parseUnitFromDate.js +8 -4
- package/dist/plain/parse/parseUnitFromDateTime.d.ts +14 -3
- package/dist/plain/parse/parseUnitFromDateTime.js +8 -4
- package/dist/plain/parse/parseWeekFromDate.d.ts +10 -6
- package/dist/plain/parse/parseWeekFromDate.js +2 -6
- package/dist/plain/parse/parseWeekFromDateTime.d.ts +10 -6
- package/dist/plain/parse/parseWeekFromDateTime.js +2 -6
- package/dist/plain/parse/parseYearFromDate.d.ts +5 -2
- package/dist/plain/parse/parseYearFromDate.js +7 -3
- package/dist/plain/parse/parseYearFromDateTime.d.ts +4 -2
- package/dist/plain/parse/parseYearFromDateTime.js +6 -3
- package/dist/plain/validate/index.d.ts +1 -0
- package/dist/plain/validate/index.js +1 -0
- package/dist/plain/validate/isValidDateRange.d.ts +19 -4
- package/dist/plain/validate/isValidDateRange.js +1 -4
- package/dist/plain/validate/isValidDateTimeRange.d.ts +20 -5
- package/dist/plain/validate/isValidDateTimeRange.js +2 -5
- package/dist/plain/validate/isValidSqlDateTime.d.ts +33 -0
- package/dist/plain/validate/isValidSqlDateTime.js +36 -0
- package/dist/plain/validate/isValidTimeRange.d.ts +20 -5
- package/dist/plain/validate/isValidTimeRange.js +2 -5
- package/dist/precision/convert/fromExcelSerial.d.ts +10 -4
- package/dist/precision/convert/fromExcelSerial.js +4 -5
- package/dist/precision/convert/fromNanoseconds.d.ts +9 -3
- package/dist/precision/convert/fromNanoseconds.js +9 -3
- package/dist/precision/convert/toExcelSerial.d.ts +9 -3
- package/dist/precision/convert/toExcelSerial.js +3 -4
- package/dist/precision/convert/toNanoseconds.d.ts +11 -6
- package/dist/precision/convert/toNanoseconds.js +11 -6
- package/dist/precision/validate/isValidInstant.d.ts +12 -3
- package/dist/precision/validate/isValidInstant.js +12 -3
- package/dist/regex/epcis.d.ts +60 -0
- package/dist/regex/epcis.js +60 -0
- package/dist/regex/http-date.d.ts +6 -4
- package/dist/regex/http-date.js +6 -4
- package/dist/regex/index.d.ts +1 -0
- package/dist/regex/index.js +1 -0
- package/dist/regex/rfc-2822.d.ts +2 -0
- package/dist/regex/rfc-2822.js +2 -0
- package/dist/regex/rfc-3339.d.ts +3 -1
- package/dist/regex/rfc-3339.js +3 -1
- package/dist/regex/sql-date-time.d.ts +2 -1
- package/dist/regex/sql-date-time.js +2 -1
- package/dist/regex/time-zone-like.d.ts +3 -2
- package/dist/regex/time-zone-like.js +3 -2
- package/dist/regex/utc-offset.d.ts +2 -1
- package/dist/regex/utc-offset.js +2 -1
- package/dist/span/calculate/spanMs.d.ts +10 -4
- package/dist/span/calculate/spanMs.js +10 -4
- package/dist/span/calculate/spanNs.d.ts +10 -4
- package/dist/span/calculate/spanNs.js +10 -4
- package/dist/span/validate/isValidSpan.d.ts +8 -3
- package/dist/span/validate/isValidSpan.js +8 -3
- package/dist/transport/calculate/bestAvailable.d.ts +47 -0
- package/dist/transport/calculate/bestAvailable.js +76 -0
- package/dist/transport/calculate/crossingTime.d.ts +63 -0
- package/dist/transport/calculate/crossingTime.js +81 -0
- package/dist/transport/calculate/cutoffAt.d.ts +95 -0
- package/dist/transport/calculate/cutoffAt.js +211 -0
- package/dist/transport/calculate/cutoffSchedule.d.ts +75 -0
- package/dist/transport/calculate/cutoffSchedule.js +73 -0
- package/dist/transport/calculate/dwellTime.d.ts +22 -8
- package/dist/transport/calculate/dwellTime.js +18 -9
- package/dist/transport/calculate/estimateDrift.d.ts +65 -0
- package/dist/transport/calculate/estimateDrift.js +75 -0
- package/dist/transport/calculate/index.d.ts +8 -0
- package/dist/transport/calculate/index.js +8 -0
- package/dist/transport/calculate/nextDeparture.d.ts +78 -0
- package/dist/transport/calculate/nextDeparture.js +131 -0
- package/dist/transport/calculate/punctualityRate.d.ts +42 -0
- package/dist/transport/calculate/punctualityRate.js +59 -0
- package/dist/transport/calculate/scheduleDelivery.d.ts +158 -0
- package/dist/transport/calculate/scheduleDelivery.js +305 -0
- package/dist/transport/calculate/transitTime.d.ts +21 -3
- package/dist/transport/calculate/transitTime.js +29 -46
- package/dist/transport/compare/classifyPunctuality.d.ts +46 -0
- package/dist/transport/compare/classifyPunctuality.js +64 -0
- package/dist/transport/compare/index.d.ts +4 -0
- package/dist/transport/compare/index.js +4 -0
- package/dist/transport/compare/isPastCutoff.d.ts +33 -0
- package/dist/transport/compare/isPastCutoff.js +48 -0
- package/dist/transport/compare/scheduleDeviation.d.ts +37 -0
- package/dist/transport/compare/scheduleDeviation.js +53 -0
- package/dist/transport/compare/timeToCutoff.d.ts +31 -0
- package/dist/transport/compare/timeToCutoff.js +47 -0
- package/dist/transport/convert/etaAtZone.d.ts +13 -1
- package/dist/transport/convert/etaAtZone.js +15 -5
- package/dist/transport/index.d.ts +1 -0
- package/dist/transport/index.js +1 -0
- package/dist/types/business-calendar.d.ts +20 -14
- package/dist/types/calendar-options.d.ts +15 -3
- package/dist/types/date-cycle-field.d.ts +5 -0
- package/dist/types/date-duration-unit.d.ts +4 -0
- package/dist/types/date-time-cycle-field.d.ts +4 -0
- package/dist/types/date-time-duration-units.d.ts +4 -0
- package/dist/types/date-time-unit.d.ts +4 -0
- package/dist/types/date-unit.d.ts +4 -0
- package/dist/types/disambiguation.d.ts +8 -0
- package/dist/types/duration-relative-to.d.ts +8 -0
- package/dist/types/duration-string-options.d.ts +28 -0
- package/dist/types/duty.d.ts +777 -0
- package/dist/types/edi.d.ts +407 -0
- package/dist/types/edi.js +0 -0
- package/dist/types/epcis.d.ts +25 -0
- package/dist/types/epcis.js +0 -0
- package/dist/types/exact-duration-unit.d.ts +8 -0
- package/dist/types/exact-duration-unit.js +0 -0
- package/dist/types/fiscal-calendar.d.ts +1 -1
- package/dist/types/fractional-digit.d.ts +5 -0
- package/dist/types/free-time-options.d.ts +22 -11
- package/dist/types/index.d.ts +7 -1
- package/dist/types/index.js +7 -1
- package/dist/types/interval.d.ts +8 -1
- package/dist/types/offset.d.ts +9 -0
- package/dist/types/operating-schedule.d.ts +72 -0
- package/dist/types/operating-schedule.js +0 -0
- package/dist/types/overflow.d.ts +6 -0
- package/dist/types/relative-rounding-method.d.ts +6 -0
- package/dist/types/relative-time-options.d.ts +33 -5
- package/dist/types/rounding-options.d.ts +27 -0
- package/dist/types/time-cycle-field.d.ts +4 -0
- package/dist/types/time-duration-unit.d.ts +4 -0
- package/dist/types/time-unit.d.ts +4 -0
- package/dist/types/transport-timestamps.d.ts +54 -0
- package/dist/types/transport-timestamps.js +0 -0
- package/dist/types/two-digit-year.d.ts +23 -0
- package/dist/types/two-digit-year.js +0 -0
- package/dist/types/zone-bucket-unit.d.ts +1 -1
- package/dist/unix/calculate/addUnix.d.ts +28 -5
- package/dist/unix/calculate/addUnix.js +15 -16
- package/dist/unix/calculate/diffUnix.d.ts +21 -3
- package/dist/unix/calculate/diffUnix.js +12 -9
- package/dist/unix/calculate/diffUnixAsDuration.d.ts +21 -3
- package/dist/unix/calculate/diffUnixAsDuration.js +11 -8
- package/dist/unix/calculate/endOfQuarterForUnix.d.ts +21 -3
- package/dist/unix/calculate/endOfQuarterForUnix.js +7 -3
- package/dist/unix/calculate/endOfUnix.d.ts +29 -4
- package/dist/unix/calculate/endOfUnix.js +8 -4
- package/dist/unix/calculate/isBetweenUnix.d.ts +27 -4
- package/dist/unix/calculate/isBetweenUnix.js +7 -9
- package/dist/unix/calculate/roundUnix.d.ts +39 -3
- package/dist/unix/calculate/roundUnix.js +16 -12
- package/dist/unix/calculate/setUnix.d.ts +58 -12
- package/dist/unix/calculate/setUnix.js +37 -25
- package/dist/unix/calculate/startOfQuarterForUnix.d.ts +21 -3
- package/dist/unix/calculate/startOfQuarterForUnix.js +7 -3
- package/dist/unix/calculate/startOfUnix.d.ts +29 -4
- package/dist/unix/calculate/startOfUnix.js +8 -4
- package/dist/unix/calculate/subtractUnix.d.ts +27 -5
- package/dist/unix/calculate/subtractUnix.js +14 -16
- package/dist/unix/compare/areUnixEqual.d.ts +7 -1
- package/dist/unix/compare/areUnixEqual.js +1 -1
- package/dist/unix/compare/areUnixEqualBy.d.ts +33 -7
- package/dist/unix/compare/areUnixEqualBy.js +20 -9
- package/dist/unix/compare/isAfterUnix.d.ts +7 -1
- package/dist/unix/compare/isAfterUnix.js +1 -1
- package/dist/unix/compare/isBeforeUnix.d.ts +7 -1
- package/dist/unix/compare/isBeforeUnix.js +1 -1
- package/dist/unix/convert/convertUnixToPlainDate.d.ts +17 -4
- package/dist/unix/convert/convertUnixToPlainDate.js +7 -8
- package/dist/unix/convert/convertUnixToPlainDateTime.d.ts +17 -4
- package/dist/unix/convert/convertUnixToPlainDateTime.js +7 -8
- package/dist/unix/convert/convertUnixToPlainTime.d.ts +17 -4
- package/dist/unix/convert/convertUnixToPlainTime.js +7 -8
- package/dist/unix/convert/convertUnixToUtc.d.ts +9 -4
- package/dist/unix/convert/convertUnixToUtc.js +3 -4
- package/dist/unix/convert/convertUnixToZoned.d.ts +14 -5
- package/dist/unix/convert/convertUnixToZoned.js +8 -5
- package/dist/unix/format/formatCalendarUnix.d.ts +31 -19
- package/dist/unix/format/formatCalendarUnix.js +10 -6
- package/dist/unix/format/formatRelativeUnix.d.ts +62 -5
- package/dist/unix/format/formatRelativeUnix.js +16 -10
- package/dist/unix/format/formatUnix.d.ts +29 -6
- package/dist/unix/format/formatUnix.js +12 -7
- package/dist/unix/get/getUnixDay.d.ts +1 -3
- package/dist/unix/get/getUnixDay.js +5 -12
- package/dist/unix/get/getUnixHour.d.ts +1 -3
- package/dist/unix/get/getUnixHour.js +5 -12
- package/dist/unix/get/getUnixMicrosecond.d.ts +1 -3
- package/dist/unix/get/getUnixMicrosecond.js +4 -11
- package/dist/unix/get/getUnixMillisecond.d.ts +1 -3
- package/dist/unix/get/getUnixMillisecond.js +5 -12
- package/dist/unix/get/getUnixMinute.d.ts +1 -3
- package/dist/unix/get/getUnixMinute.js +5 -12
- package/dist/unix/get/getUnixMonth.d.ts +1 -3
- package/dist/unix/get/getUnixMonth.js +5 -12
- package/dist/unix/get/getUnixNanosecond.d.ts +1 -3
- package/dist/unix/get/getUnixNanosecond.js +4 -11
- package/dist/unix/get/getUnixNow.d.ts +8 -3
- package/dist/unix/get/getUnixNow.js +1 -3
- package/dist/unix/get/getUnixNowUnit.d.ts +2 -0
- package/dist/unix/get/getUnixNowUnit.js +2 -0
- package/dist/unix/get/getUnixSecond.d.ts +1 -3
- package/dist/unix/get/getUnixSecond.js +5 -12
- package/dist/unix/get/getUnixYear.d.ts +3 -3
- package/dist/unix/get/getUnixYear.js +5 -12
- package/dist/unix/interval/intervalCountUnix.d.ts +23 -5
- package/dist/unix/interval/intervalCountUnix.js +9 -5
- package/dist/unix/interval/intervalDifferenceUnix.d.ts +6 -0
- package/dist/unix/interval/intervalDivideEquallyUnix.d.ts +18 -4
- package/dist/unix/interval/intervalDivideEquallyUnix.js +5 -4
- package/dist/unix/interval/intervalFromDurationUnix.d.ts +41 -5
- package/dist/unix/interval/intervalFromDurationUnix.js +18 -12
- package/dist/unix/interval/intervalIntersectionUnix.d.ts +6 -0
- package/dist/unix/interval/intervalLengthUnix.d.ts +24 -6
- package/dist/unix/interval/intervalLengthUnix.js +10 -6
- package/dist/unix/interval/intervalOverlappingDaysUnix.d.ts +21 -3
- package/dist/unix/interval/intervalOverlappingDaysUnix.js +11 -8
- package/dist/unix/interval/intervalSplitAtUnix.d.ts +8 -0
- package/dist/unix/interval/intervalSplitAtUnix.js +2 -0
- package/dist/unix/interval/intervalUnionUnix.d.ts +6 -0
- package/dist/unix/interval/intervalXorAllUnix.d.ts +6 -0
- package/dist/unix/interval/intervalXorUnix.d.ts +6 -0
- package/dist/unix/interval/mergeIntervalsUnix.d.ts +6 -0
- package/dist/unix/interval/splitIntervalByUnitUnix.d.ts +50 -11
- package/dist/unix/interval/splitIntervalByUnitUnix.js +33 -22
- package/dist/unix/parse/parseDateFromUnix.d.ts +15 -2
- package/dist/unix/parse/parseDateFromUnix.js +4 -5
- package/dist/unix/parse/parseDayFromUnix.d.ts +16 -2
- package/dist/unix/parse/parseDayFromUnix.js +2 -2
- package/dist/unix/parse/parseDayOfWeekFromUnix.d.ts +15 -1
- package/dist/unix/parse/parseDayOfWeekFromUnix.js +3 -3
- package/dist/unix/parse/parseHourFromUnix.d.ts +16 -2
- package/dist/unix/parse/parseHourFromUnix.js +2 -2
- package/dist/unix/parse/parseMicrosecondFromUnix.d.ts +16 -2
- package/dist/unix/parse/parseMicrosecondFromUnix.js +2 -2
- package/dist/unix/parse/parseMillisecondFromUnix.d.ts +16 -2
- package/dist/unix/parse/parseMillisecondFromUnix.js +2 -2
- package/dist/unix/parse/parseMinuteFromUnix.d.ts +16 -2
- package/dist/unix/parse/parseMinuteFromUnix.js +2 -2
- package/dist/unix/parse/parseMonthFromUnix.d.ts +16 -2
- package/dist/unix/parse/parseMonthFromUnix.js +2 -2
- package/dist/unix/parse/parseNanosecondFromUnix.d.ts +16 -2
- package/dist/unix/parse/parseNanosecondFromUnix.js +2 -2
- package/dist/unix/parse/parseSecondFromUnix.d.ts +16 -2
- package/dist/unix/parse/parseSecondFromUnix.js +2 -2
- package/dist/unix/parse/parseTimeFromUnix.d.ts +16 -2
- package/dist/unix/parse/parseTimeFromUnix.js +5 -5
- package/dist/unix/parse/parseUnitFromUnix.d.ts +29 -4
- package/dist/unix/parse/parseUnitFromUnix.js +23 -17
- package/dist/unix/parse/parseWeekFromUnix.d.ts +24 -7
- package/dist/unix/parse/parseWeekFromUnix.js +7 -11
- package/dist/unix/parse/parseYearFromUnix.d.ts +20 -3
- package/dist/unix/parse/parseYearFromUnix.js +6 -3
- package/dist/unix/validate/isValidUnixRange.d.ts +20 -4
- package/dist/unix/validate/isValidUnixRange.js +1 -4
- package/dist/unix/validate/isValidUnixUnit.d.ts +1 -1
- package/dist/utc/calculate/addUtc.d.ts +7 -4
- package/dist/utc/calculate/addUtc.js +5 -11
- package/dist/utc/calculate/diffUtc.d.ts +1 -1
- package/dist/utc/calculate/diffUtc.js +1 -1
- package/dist/utc/calculate/diffUtcAsDuration.d.ts +1 -1
- package/dist/utc/calculate/diffUtcAsDuration.js +1 -1
- package/dist/utc/calculate/endOfUtc.d.ts +16 -3
- package/dist/utc/calculate/endOfUtc.js +2 -3
- package/dist/utc/calculate/isBetweenUtc.d.ts +13 -2
- package/dist/utc/calculate/isBetweenUtc.js +4 -4
- package/dist/utc/calculate/roundUtc.d.ts +26 -9
- package/dist/utc/calculate/roundUtc.js +3 -12
- package/dist/utc/calculate/setUtc.d.ts +23 -7
- package/dist/utc/calculate/setUtc.js +23 -12
- package/dist/utc/calculate/startOfUtc.d.ts +15 -2
- package/dist/utc/calculate/startOfUtc.js +1 -2
- package/dist/utc/calculate/subtractUtc.d.ts +7 -4
- package/dist/utc/calculate/subtractUtc.js +5 -11
- package/dist/utc/compare/areUtcEqualBy.d.ts +9 -3
- package/dist/utc/compare/areUtcEqualBy.js +2 -3
- package/dist/utc/convert/convertUtcToPlainDate.d.ts +14 -3
- package/dist/utc/convert/convertUtcToPlainDate.js +12 -10
- package/dist/utc/convert/convertUtcToPlainDateTime.d.ts +15 -3
- package/dist/utc/convert/convertUtcToPlainDateTime.js +14 -16
- package/dist/utc/convert/convertUtcToPlainTime.d.ts +11 -3
- package/dist/utc/convert/convertUtcToPlainTime.js +9 -9
- package/dist/utc/convert/convertUtcToUnix.d.ts +9 -4
- package/dist/utc/convert/convertUtcToUnix.js +3 -4
- package/dist/utc/convert/convertUtcToZoned.d.ts +5 -1
- package/dist/utc/convert/convertUtcToZoned.js +5 -1
- package/dist/utc/format/formatCalendarUtc.d.ts +23 -8
- package/dist/utc/format/formatCalendarUtc.js +14 -7
- package/dist/utc/format/{formatHttp.d.ts → formatHttpDate.d.ts} +8 -8
- package/dist/utc/format/{formatHttp.js → formatHttpDate.js} +8 -8
- package/dist/utc/format/formatRelativeUtc.d.ts +38 -10
- package/dist/utc/format/formatRelativeUtc.js +22 -16
- package/dist/utc/format/formatUtc.d.ts +22 -15
- package/dist/utc/format/formatUtc.js +12 -8
- package/dist/utc/format/index.d.ts +1 -1
- package/dist/utc/format/index.js +1 -1
- package/dist/utc/get/getUtcDay.d.ts +1 -3
- package/dist/utc/get/getUtcDay.js +5 -12
- package/dist/utc/get/getUtcHour.d.ts +1 -3
- package/dist/utc/get/getUtcHour.js +5 -12
- package/dist/utc/get/getUtcMicrosecond.d.ts +1 -3
- package/dist/utc/get/getUtcMicrosecond.js +4 -11
- package/dist/utc/get/getUtcMillisecond.d.ts +1 -3
- package/dist/utc/get/getUtcMillisecond.js +5 -12
- package/dist/utc/get/getUtcMinute.d.ts +1 -3
- package/dist/utc/get/getUtcMinute.js +5 -12
- package/dist/utc/get/getUtcMonth.d.ts +1 -3
- package/dist/utc/get/getUtcMonth.js +5 -12
- package/dist/utc/get/getUtcNanosecond.d.ts +1 -3
- package/dist/utc/get/getUtcNanosecond.js +4 -11
- package/dist/utc/get/getUtcNow.d.ts +1 -3
- package/dist/utc/get/getUtcNow.js +2 -9
- package/dist/utc/get/getUtcNowUnit.d.ts +2 -0
- package/dist/utc/get/getUtcNowUnit.js +2 -0
- package/dist/utc/get/getUtcSecond.d.ts +1 -3
- package/dist/utc/get/getUtcSecond.js +5 -12
- package/dist/utc/get/getUtcYear.d.ts +3 -3
- package/dist/utc/get/getUtcYear.js +5 -12
- package/dist/utc/interval/intervalDifferenceUtc.d.ts +6 -0
- package/dist/utc/interval/intervalDivideEquallyUtc.d.ts +18 -4
- package/dist/utc/interval/intervalDivideEquallyUtc.js +5 -4
- package/dist/utc/interval/intervalFromDurationUtc.d.ts +13 -3
- package/dist/utc/interval/intervalFromDurationUtc.js +1 -3
- package/dist/utc/interval/intervalIntersectionUtc.d.ts +6 -0
- package/dist/utc/interval/intervalSplitAtUtc.d.ts +8 -0
- package/dist/utc/interval/intervalSplitAtUtc.js +2 -0
- package/dist/utc/interval/intervalUnionUtc.d.ts +6 -0
- package/dist/utc/interval/intervalXorAllUtc.d.ts +6 -0
- package/dist/utc/interval/intervalXorAllUtc.js +2 -2
- package/dist/utc/interval/intervalXorUtc.d.ts +6 -0
- package/dist/utc/interval/mergeIntervalsUtc.d.ts +6 -0
- package/dist/utc/interval/mergeIntervalsUtc.js +2 -2
- package/dist/utc/interval/splitIntervalByUnitUtc.d.ts +19 -6
- package/dist/utc/interval/splitIntervalByUnitUtc.js +6 -6
- package/dist/utc/parse/index.d.ts +1 -1
- package/dist/utc/parse/index.js +1 -1
- package/dist/utc/parse/parseDateFromUtc.d.ts +9 -3
- package/dist/utc/parse/parseDateFromUtc.js +3 -5
- package/dist/utc/parse/parseDayFromUtc.d.ts +9 -3
- package/dist/utc/parse/parseDayFromUtc.js +3 -5
- package/dist/utc/parse/parseDayOfWeekFromUtc.d.ts +9 -3
- package/dist/utc/parse/parseDayOfWeekFromUtc.js +5 -7
- package/dist/utc/parse/parseHourFromUtc.d.ts +9 -3
- package/dist/utc/parse/parseHourFromUtc.js +3 -5
- package/dist/utc/parse/{parseHttp.d.ts → parseHttpDate.d.ts} +12 -12
- package/dist/utc/parse/{parseHttp.js → parseHttpDate.js} +12 -12
- package/dist/utc/parse/parseMicrosecondFromUtc.d.ts +9 -3
- package/dist/utc/parse/parseMicrosecondFromUtc.js +3 -5
- package/dist/utc/parse/parseMillisecondFromUtc.d.ts +9 -3
- package/dist/utc/parse/parseMillisecondFromUtc.js +3 -5
- package/dist/utc/parse/parseMinuteFromUtc.d.ts +9 -3
- package/dist/utc/parse/parseMinuteFromUtc.js +3 -5
- package/dist/utc/parse/parseMonthFromUtc.d.ts +9 -3
- package/dist/utc/parse/parseMonthFromUtc.js +3 -5
- package/dist/utc/parse/parseNanosecondFromUtc.d.ts +9 -3
- package/dist/utc/parse/parseNanosecondFromUtc.js +3 -5
- package/dist/utc/parse/parseSecondFromUtc.d.ts +9 -3
- package/dist/utc/parse/parseSecondFromUtc.js +3 -5
- package/dist/utc/parse/parseTimeFromUtc.d.ts +11 -3
- package/dist/utc/parse/parseTimeFromUtc.js +7 -7
- package/dist/utc/parse/parseUnitFromUtc.d.ts +25 -6
- package/dist/utc/parse/parseUnitFromUtc.js +14 -10
- package/dist/utc/parse/parseWeekFromUtc.d.ts +20 -10
- package/dist/utc/parse/parseWeekFromUtc.js +8 -14
- package/dist/utc/parse/parseYearFromUtc.d.ts +13 -5
- package/dist/utc/parse/parseYearFromUtc.js +9 -8
- package/dist/utc/validate/index.d.ts +2 -0
- package/dist/utc/validate/index.js +2 -0
- package/dist/utc/validate/isValidHttpDate.d.ts +35 -0
- package/dist/utc/validate/isValidHttpDate.js +38 -0
- package/dist/utc/validate/isValidUtc.d.ts +4 -0
- package/dist/utc/validate/isValidUtc.js +4 -0
- package/dist/utc/validate/isValidUtcRange.d.ts +16 -5
- package/dist/utc/validate/isValidUtcRange.js +2 -5
- package/dist/utc/validate/isValidUtcTimestamp.d.ts +43 -0
- package/dist/utc/validate/isValidUtcTimestamp.js +48 -0
- package/dist/zoned/calculate/addZoned.d.ts +20 -10
- package/dist/zoned/calculate/addZoned.js +10 -20
- package/dist/zoned/calculate/cycleZoned.d.ts +33 -8
- package/dist/zoned/calculate/cycleZoned.js +1 -8
- package/dist/zoned/calculate/diffZoned.d.ts +1 -1
- package/dist/zoned/calculate/diffZoned.js +1 -1
- package/dist/zoned/calculate/diffZonedAsDuration.d.ts +1 -1
- package/dist/zoned/calculate/diffZonedAsDuration.js +1 -1
- package/dist/zoned/calculate/endOfQuarterForZoned.d.ts +9 -2
- package/dist/zoned/calculate/endOfQuarterForZoned.js +4 -5
- package/dist/zoned/calculate/endOfZoned.d.ts +16 -3
- package/dist/zoned/calculate/endOfZoned.js +2 -3
- package/dist/zoned/calculate/getLocaleZonedEndOfWeek.d.ts +10 -3
- package/dist/zoned/calculate/getLocaleZonedEndOfWeek.js +5 -6
- package/dist/zoned/calculate/getLocaleZonedStartOfWeek.d.ts +7 -1
- package/dist/zoned/calculate/getLocaleZonedStartOfWeek.js +3 -4
- package/dist/zoned/calculate/roundZoned.d.ts +21 -4
- package/dist/zoned/calculate/roundZoned.js +3 -7
- package/dist/zoned/calculate/setZoned.d.ts +44 -13
- package/dist/zoned/calculate/setZoned.js +30 -21
- package/dist/zoned/calculate/startOfQuarterForZoned.d.ts +7 -2
- package/dist/zoned/calculate/startOfQuarterForZoned.js +3 -5
- package/dist/zoned/calculate/startOfZoned.d.ts +15 -3
- package/dist/zoned/calculate/startOfZoned.js +1 -3
- package/dist/zoned/calculate/subtractZoned.d.ts +20 -10
- package/dist/zoned/calculate/subtractZoned.js +10 -20
- package/dist/zoned/compare/areZonedEqualBy.d.ts +14 -5
- package/dist/zoned/compare/areZonedEqualBy.js +7 -5
- package/dist/zoned/compare/isBetweenZoned.d.ts +13 -1
- package/dist/zoned/compare/isBetweenZoned.js +4 -3
- package/dist/zoned/compare/isInDaylightSaving.d.ts +38 -11
- package/dist/zoned/compare/isInDaylightSaving.js +40 -44
- package/dist/zoned/convert/convertPlainDateTimeToZoned.d.ts +21 -5
- package/dist/zoned/convert/convertPlainDateTimeToZoned.js +9 -11
- package/dist/zoned/convert/convertZonedToUnix.d.ts +9 -4
- package/dist/zoned/convert/convertZonedToUnix.js +2 -4
- package/dist/zoned/convert/convertZonedToZoned.d.ts +5 -1
- package/dist/zoned/convert/convertZonedToZoned.js +5 -1
- package/dist/zoned/format/formatCalendarZoned.d.ts +18 -12
- package/dist/zoned/format/formatCalendarZoned.js +15 -10
- package/dist/zoned/format/formatRelativeZoned.d.ts +41 -12
- package/dist/zoned/format/formatRelativeZoned.js +9 -5
- package/dist/zoned/format/formatRfc2822.d.ts +2 -2
- package/dist/zoned/format/formatRfc2822.js +2 -2
- package/dist/zoned/format/formatRfc3339.d.ts +2 -3
- package/dist/zoned/format/formatRfc3339.js +2 -3
- package/dist/zoned/format/formatTimeZoneName.d.ts +16 -3
- package/dist/zoned/format/formatTimeZoneName.js +9 -4
- package/dist/zoned/format/formatZonedDateTime.js +2 -1
- package/dist/zoned/format/formatZonedRange.js +2 -1
- package/dist/zoned/format/formatZonedToParts.d.ts +15 -4
- package/dist/zoned/format/formatZonedToParts.js +8 -5
- package/dist/zoned/get/getDstTransitions.d.ts +11 -10
- package/dist/zoned/get/getDstTransitions.js +21 -7
- package/dist/zoned/get/getSystemTimeZone.d.ts +3 -1
- package/dist/zoned/get/getSystemTimeZone.js +5 -2
- package/dist/zoned/get/getTimeZoneOffset.d.ts +13 -2
- package/dist/zoned/get/getTimeZoneOffset.js +22 -6
- package/dist/zoned/get/getZonedDay.d.ts +2 -1
- package/dist/zoned/get/getZonedDay.js +6 -7
- package/dist/zoned/get/getZonedDayOfWeek.d.ts +2 -1
- package/dist/zoned/get/getZonedDayOfWeek.js +6 -5
- package/dist/zoned/get/getZonedHour.d.ts +2 -1
- package/dist/zoned/get/getZonedHour.js +6 -7
- package/dist/zoned/get/getZonedMicrosecond.d.ts +2 -1
- package/dist/zoned/get/getZonedMicrosecond.js +6 -5
- package/dist/zoned/get/getZonedMillisecond.d.ts +2 -1
- package/dist/zoned/get/getZonedMillisecond.js +6 -7
- package/dist/zoned/get/getZonedMinute.d.ts +2 -1
- package/dist/zoned/get/getZonedMinute.js +6 -7
- package/dist/zoned/get/getZonedMonth.d.ts +2 -1
- package/dist/zoned/get/getZonedMonth.js +6 -7
- package/dist/zoned/get/getZonedNanosecond.d.ts +2 -1
- package/dist/zoned/get/getZonedNanosecond.js +6 -5
- package/dist/zoned/get/getZonedNow.d.ts +18 -2
- package/dist/zoned/get/getZonedNow.js +17 -4
- package/dist/zoned/get/getZonedNowUnit.d.ts +6 -3
- package/dist/zoned/get/getZonedNowUnit.js +10 -7
- package/dist/zoned/get/getZonedSecond.d.ts +2 -1
- package/dist/zoned/get/getZonedSecond.js +6 -7
- package/dist/zoned/get/getZonedToday.d.ts +2 -1
- package/dist/zoned/get/getZonedToday.js +6 -5
- package/dist/zoned/get/getZonedWeekOfYear.d.ts +2 -1
- package/dist/zoned/get/getZonedWeekOfYear.js +6 -5
- package/dist/zoned/get/getZonedYear.d.ts +4 -1
- package/dist/zoned/get/getZonedYear.js +9 -7
- package/dist/zoned/interval/intervalDifferenceZoned.d.ts +9 -0
- package/dist/zoned/interval/intervalDivideEquallyZoned.d.ts +22 -4
- package/dist/zoned/interval/intervalDivideEquallyZoned.js +6 -4
- package/dist/zoned/interval/intervalFromDurationZoned.d.ts +29 -10
- package/dist/zoned/interval/intervalFromDurationZoned.js +6 -13
- package/dist/zoned/interval/intervalIntersectionZoned.d.ts +9 -0
- package/dist/zoned/interval/intervalSplitAtZoned.d.ts +11 -0
- package/dist/zoned/interval/intervalSplitAtZoned.js +2 -0
- package/dist/zoned/interval/intervalUnionZoned.d.ts +9 -0
- package/dist/zoned/interval/intervalXorAllZoned.d.ts +9 -0
- package/dist/zoned/interval/intervalXorAllZoned.js +2 -2
- package/dist/zoned/interval/intervalXorZoned.d.ts +9 -0
- package/dist/zoned/interval/mergeIntervalsZoned.d.ts +9 -0
- package/dist/zoned/interval/mergeIntervalsZoned.js +2 -2
- package/dist/zoned/interval/splitIntervalByUnitZoned.d.ts +27 -6
- package/dist/zoned/interval/splitIntervalByUnitZoned.js +11 -6
- package/dist/zoned/map/mapZonedDatesInRange.d.ts +9 -4
- package/dist/zoned/map/mapZonedDatesInRange.js +2 -4
- package/dist/zoned/parse/parseRfc2822.d.ts +1 -1
- package/dist/zoned/parse/parseRfc2822.js +1 -1
- package/dist/zoned/parse/parseUnitFromZoned.d.ts +13 -4
- package/dist/zoned/parse/parseUnitFromZoned.js +6 -4
- package/dist/zoned/parse/parseWeekFromZoned.d.ts +10 -3
- package/dist/zoned/parse/parseWeekFromZoned.js +2 -3
- package/dist/zoned/parse/parseYearFromZoned.d.ts +4 -2
- package/dist/zoned/parse/parseYearFromZoned.js +6 -3
- package/dist/zoned/validate/hasDaylightSaving.d.ts +45 -12
- package/dist/zoned/validate/hasDaylightSaving.js +54 -32
- package/dist/zoned/validate/index.d.ts +2 -0
- package/dist/zoned/validate/index.js +2 -0
- package/dist/zoned/validate/isValidRfc2822DateTime.d.ts +32 -0
- package/dist/zoned/validate/isValidRfc2822DateTime.js +35 -0
- package/dist/zoned/validate/isValidRfc3339DateTime.d.ts +31 -0
- package/dist/zoned/validate/isValidRfc3339DateTime.js +34 -0
- package/dist/zoned/validate/isValidTimeZone.d.ts +5 -1
- package/dist/zoned/validate/isValidTimeZone.js +6 -2
- package/dist/zoned/validate/isValidZonedDateTime.d.ts +13 -0
- package/dist/zoned/validate/isValidZonedDateTime.js +14 -1
- package/dist/zoned/validate/isValidZonedRange.d.ts +15 -4
- package/dist/zoned/validate/isValidZonedRange.js +1 -4
- package/package.json +67 -5
- package/skills/gmt-arithmetic/SKILL.md +99 -12
- package/skills/gmt-basics/SKILL.md +64 -13
- package/skills/gmt-integration/SKILL.md +33 -13
- package/skills/gmt-timezone/SKILL.md +265 -31
- package/dist/duration/calculate/durationAs.d.ts +0 -62
- package/dist/internal/resolveReadingTimeZone.d.ts +0 -11
- package/dist/internal/resolveReadingTimeZone.js +0 -18
- package/dist/internal/unixZonedDateTime.d.ts +0 -22
- package/dist/internal/unixZonedDateTime.js +0 -32
- package/dist/internal/utcZonedDateTime.d.ts +0 -16
- package/dist/internal/utcZonedDateTime.js +0 -28
- package/dist/types/duration-unit.d.ts +0 -5
- /package/dist/types/{duration-unit.js → duty.js} +0 -0
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Temporal } from "@js-temporal/polyfill";
|
|
2
2
|
import { halfOpenXor } from "../../internal/index.js";
|
|
3
3
|
import { isValidDateTimeInterval } from "./validate/index.js";
|
|
4
|
+
import { isObject } from "../../internal/isObject.js";
|
|
4
5
|
/**
|
|
5
6
|
* Return the symmetric difference across a list of datetime intervals — the set of instants
|
|
6
7
|
* covered by an odd number of the input intervals.
|
|
@@ -30,8 +31,7 @@ export function intervalXorAllDateTime(intervals) {
|
|
|
30
31
|
if (!Array.isArray(intervals) || intervals.length === 0) {
|
|
31
32
|
return [];
|
|
32
33
|
}
|
|
33
|
-
if (!intervals.every((interval) => interval &&
|
|
34
|
-
typeof interval === "object" &&
|
|
34
|
+
if (!intervals.every((interval) => isObject(interval) &&
|
|
35
35
|
isValidDateTimeInterval(interval.start, interval.end))) {
|
|
36
36
|
return [];
|
|
37
37
|
}
|
|
@@ -27,6 +27,15 @@ export declare function intervalXorAllTime(intervals: Array<{
|
|
|
27
27
|
start: string;
|
|
28
28
|
end: string;
|
|
29
29
|
}>): Array<{
|
|
30
|
+
/**
|
|
31
|
+
* The clock time the interval begins at, as an ISO 8601 time string with no date, offset or time
|
|
32
|
+
* zone.
|
|
33
|
+
*/
|
|
30
34
|
start: string;
|
|
35
|
+
/**
|
|
36
|
+
* The first clock time after the interval, in the same format as `start`. It is exclusive: the
|
|
37
|
+
* interval holds everything from `start` up to but not including this value. It is always later
|
|
38
|
+
* than `start`.
|
|
39
|
+
*/
|
|
31
40
|
end: string;
|
|
32
41
|
}>;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Temporal } from "@js-temporal/polyfill";
|
|
2
2
|
import { halfOpenXor } from "../../internal/index.js";
|
|
3
3
|
import { isValidTimeInterval } from "./validate/index.js";
|
|
4
|
+
import { isObject } from "../../internal/isObject.js";
|
|
4
5
|
/**
|
|
5
6
|
* Return the symmetric difference across a list of time intervals — the set of clock times
|
|
6
7
|
* covered by an odd number of the input intervals.
|
|
@@ -31,8 +32,7 @@ export function intervalXorAllTime(intervals) {
|
|
|
31
32
|
if (!Array.isArray(intervals) || intervals.length === 0) {
|
|
32
33
|
return [];
|
|
33
34
|
}
|
|
34
|
-
if (!intervals.every((interval) => interval &&
|
|
35
|
-
typeof interval === "object" &&
|
|
35
|
+
if (!intervals.every((interval) => isObject(interval) &&
|
|
36
36
|
isValidTimeInterval(interval.start, interval.end))) {
|
|
37
37
|
return [];
|
|
38
38
|
}
|
|
@@ -26,6 +26,15 @@
|
|
|
26
26
|
* @example intervalXorDate("invalid", "2024-06-30", "2024-04-01", "2024-12-31") // []
|
|
27
27
|
*/
|
|
28
28
|
export declare function intervalXorDate(aStart: string, aEnd: string, bStart: string, bEnd: string): Array<{
|
|
29
|
+
/**
|
|
30
|
+
* The date the interval begins on, as an ISO 8601 date (`YYYY-MM-DD`). It keeps a calendar
|
|
31
|
+
* annotation such as `[u-ca=hebrew]` when the inputs carry one.
|
|
32
|
+
*/
|
|
29
33
|
start: string;
|
|
34
|
+
/**
|
|
35
|
+
* The first date after the interval, in the same format as `start`. It is exclusive: the interval
|
|
36
|
+
* holds everything from `start` up to but not including this value. It is always later than
|
|
37
|
+
* `start`.
|
|
38
|
+
*/
|
|
30
39
|
end: string;
|
|
31
40
|
}>;
|
|
@@ -22,6 +22,15 @@
|
|
|
22
22
|
* @example intervalXorDateTime("invalid", "2024-06-30T12:00:00", "2024-07-01T13:00:00", "2024-12-31T17:00:00") // []
|
|
23
23
|
*/
|
|
24
24
|
export declare function intervalXorDateTime(aStart: string, aEnd: string, bStart: string, bEnd: string): Array<{
|
|
25
|
+
/**
|
|
26
|
+
* The date-time the interval begins at, as an ISO 8601 date-time string with no offset or time
|
|
27
|
+
* zone.
|
|
28
|
+
*/
|
|
25
29
|
start: string;
|
|
30
|
+
/**
|
|
31
|
+
* The first date-time after the interval, in the same format as `start`. It is exclusive: the
|
|
32
|
+
* interval holds everything from `start` up to but not including this value. It is always later
|
|
33
|
+
* than `start`.
|
|
34
|
+
*/
|
|
26
35
|
end: string;
|
|
27
36
|
}>;
|
|
@@ -22,6 +22,15 @@
|
|
|
22
22
|
* @example intervalXorTime("invalid", "12:00:00", "13:00:00", "17:00:00") // []
|
|
23
23
|
*/
|
|
24
24
|
export declare function intervalXorTime(aStart: string, aEnd: string, bStart: string, bEnd: string): Array<{
|
|
25
|
+
/**
|
|
26
|
+
* The clock time the interval begins at, as an ISO 8601 time string with no date, offset or time
|
|
27
|
+
* zone.
|
|
28
|
+
*/
|
|
25
29
|
start: string;
|
|
30
|
+
/**
|
|
31
|
+
* The first clock time after the interval, in the same format as `start`. It is exclusive: the
|
|
32
|
+
* interval holds everything from `start` up to but not including this value. It is always later
|
|
33
|
+
* than `start`.
|
|
34
|
+
*/
|
|
26
35
|
end: string;
|
|
27
36
|
}>;
|
|
@@ -30,6 +30,15 @@ export declare function mergeIntervalsDate(intervals: Array<{
|
|
|
30
30
|
start: string;
|
|
31
31
|
end: string;
|
|
32
32
|
}>): Array<{
|
|
33
|
+
/**
|
|
34
|
+
* The date the interval begins on, as an ISO 8601 date (`YYYY-MM-DD`). It keeps a calendar
|
|
35
|
+
* annotation such as `[u-ca=hebrew]` when the inputs carry one.
|
|
36
|
+
*/
|
|
33
37
|
start: string;
|
|
38
|
+
/**
|
|
39
|
+
* The first date after the interval, in the same format as `start`. It is exclusive: the interval
|
|
40
|
+
* holds everything from `start` up to but not including this value. It is always later than
|
|
41
|
+
* `start`.
|
|
42
|
+
*/
|
|
34
43
|
end: string;
|
|
35
44
|
}>;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Temporal } from "@js-temporal/polyfill";
|
|
2
2
|
import { calendarOfAllDateValues, formatDateInCalendar, halfOpenMerge, parseCalendarDateValue, } from "../../internal/index.js";
|
|
3
3
|
import { isValidDateInterval } from "./validate/index.js";
|
|
4
|
+
import { isObject } from "../../internal/isObject.js";
|
|
4
5
|
/**
|
|
5
6
|
* Collapse a list of date intervals into the minimum set of non-overlapping intervals.
|
|
6
7
|
*
|
|
@@ -34,8 +35,7 @@ export function mergeIntervalsDate(intervals) {
|
|
|
34
35
|
if (!Array.isArray(intervals) || intervals.length === 0) {
|
|
35
36
|
return [];
|
|
36
37
|
}
|
|
37
|
-
if (!intervals.every((interval) => interval &&
|
|
38
|
-
typeof interval === "object" &&
|
|
38
|
+
if (!intervals.every((interval) => isObject(interval) &&
|
|
39
39
|
isValidDateInterval(interval.start, interval.end))) {
|
|
40
40
|
return [];
|
|
41
41
|
}
|
|
@@ -25,6 +25,15 @@ export declare function mergeIntervalsDateTime(intervals: Array<{
|
|
|
25
25
|
start: string;
|
|
26
26
|
end: string;
|
|
27
27
|
}>): Array<{
|
|
28
|
+
/**
|
|
29
|
+
* The date-time the interval begins at, as an ISO 8601 date-time string with no offset or time
|
|
30
|
+
* zone.
|
|
31
|
+
*/
|
|
28
32
|
start: string;
|
|
33
|
+
/**
|
|
34
|
+
* The first date-time after the interval, in the same format as `start`. It is exclusive: the
|
|
35
|
+
* interval holds everything from `start` up to but not including this value. It is always later
|
|
36
|
+
* than `start`.
|
|
37
|
+
*/
|
|
29
38
|
end: string;
|
|
30
39
|
}>;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Temporal } from "@js-temporal/polyfill";
|
|
2
2
|
import { halfOpenMerge } from "../../internal/index.js";
|
|
3
3
|
import { isValidDateTimeInterval } from "./validate/index.js";
|
|
4
|
+
import { isObject } from "../../internal/isObject.js";
|
|
4
5
|
/**
|
|
5
6
|
* Collapse a list of datetime intervals into the minimum set of non-overlapping intervals.
|
|
6
7
|
*
|
|
@@ -29,8 +30,7 @@ export function mergeIntervalsDateTime(intervals) {
|
|
|
29
30
|
if (!Array.isArray(intervals) || intervals.length === 0) {
|
|
30
31
|
return [];
|
|
31
32
|
}
|
|
32
|
-
if (!intervals.every((interval) => interval &&
|
|
33
|
-
typeof interval === "object" &&
|
|
33
|
+
if (!intervals.every((interval) => isObject(interval) &&
|
|
34
34
|
isValidDateTimeInterval(interval.start, interval.end))) {
|
|
35
35
|
return [];
|
|
36
36
|
}
|
|
@@ -25,6 +25,15 @@ export declare function mergeIntervalsTime(intervals: Array<{
|
|
|
25
25
|
start: string;
|
|
26
26
|
end: string;
|
|
27
27
|
}>): Array<{
|
|
28
|
+
/**
|
|
29
|
+
* The clock time the interval begins at, as an ISO 8601 time string with no date, offset or time
|
|
30
|
+
* zone.
|
|
31
|
+
*/
|
|
28
32
|
start: string;
|
|
33
|
+
/**
|
|
34
|
+
* The first clock time after the interval, in the same format as `start`. It is exclusive: the
|
|
35
|
+
* interval holds everything from `start` up to but not including this value. It is always later
|
|
36
|
+
* than `start`.
|
|
37
|
+
*/
|
|
29
38
|
end: string;
|
|
30
39
|
}>;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Temporal } from "@js-temporal/polyfill";
|
|
2
2
|
import { halfOpenMerge } from "../../internal/index.js";
|
|
3
3
|
import { isValidTimeInterval } from "./validate/index.js";
|
|
4
|
+
import { isObject } from "../../internal/isObject.js";
|
|
4
5
|
/**
|
|
5
6
|
* Collapse a list of time intervals into the minimum set of non-overlapping intervals.
|
|
6
7
|
*
|
|
@@ -29,8 +30,7 @@ export function mergeIntervalsTime(intervals) {
|
|
|
29
30
|
if (!Array.isArray(intervals) || intervals.length === 0) {
|
|
30
31
|
return [];
|
|
31
32
|
}
|
|
32
|
-
if (!intervals.every((interval) => interval &&
|
|
33
|
-
typeof interval === "object" &&
|
|
33
|
+
if (!intervals.every((interval) => isObject(interval) &&
|
|
34
34
|
isValidTimeInterval(interval.start, interval.end))) {
|
|
35
35
|
return [];
|
|
36
36
|
}
|
|
@@ -7,9 +7,12 @@
|
|
|
7
7
|
* there, so the pieces share no value and together cover the interval exactly once (the rule
|
|
8
8
|
* CORE-6's `splitIntervalAt` uses).
|
|
9
9
|
* - The final sub-interval is trimmed so its `end` never exceeds the original `end`.
|
|
10
|
-
* - Each boundary is computed from `start` (`start + k × amount
|
|
11
|
-
*
|
|
12
|
-
*
|
|
10
|
+
* - Each boundary is computed from `start` (`start + k × amount`), not by stepping from the
|
|
11
|
+
* previous boundary, so month-end starts don't drift: a monthly split from January 31 lands
|
|
12
|
+
* on February 29, March 31, April 30. Temporal's `add` constrains a day the month lacks to
|
|
13
|
+
* the month's last day, and stepping from that boundary would keep the shortened day
|
|
14
|
+
* (February 29, then March 29).
|
|
15
|
+
* - Comparison: Luxon's `Interval.splitBy` computes each boundary from the start the same way.
|
|
13
16
|
* - A step that resolves to the same date as the previous boundary is skipped, so no empty
|
|
14
17
|
* slice is produced. A step that goes backwards returns `[]`.
|
|
15
18
|
* - Returns `[{ start, end }]` when `start === end` (zero-length interval).
|
|
@@ -22,9 +25,6 @@
|
|
|
22
25
|
* when `CalendarEquals` is false (before 1.16.0 it stepped in ISO). Each boundary's tag is
|
|
23
26
|
* re-derived from the actual stepped date, never copied — a month-by-month step can cross a
|
|
24
27
|
* leap-month or era boundary mid-split.
|
|
25
|
-
* - `options.maxPieces` (positive safe integer, default `1_000_000`) bounds the output: a split
|
|
26
|
-
* into more slices returns `[]`, decided from the span before stepping where it can be, and
|
|
27
|
-
* otherwise as soon as slice `maxPieces + 1` is due. An invalid `maxPieces` also returns `[]`.
|
|
28
28
|
* - Compatibility: since 1.16.0 calendar strings are RFC 9557 (ISO digits, `[u-ca=<id>]`, canonical
|
|
29
29
|
* calendar ids); see `isValidCalendarDate`.
|
|
30
30
|
*
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
* @param end ISO PlainDate string for the interval end, optionally calendar-annotated
|
|
33
33
|
* @param unit duration unit string — `"years" | "months" | "weeks" | "days"` (time units are ignored by PlainDate and return [])
|
|
34
34
|
* @param amount positive number of units per step
|
|
35
|
-
* @param options
|
|
35
|
+
* @param options The limit on the size of the result
|
|
36
36
|
* @returns array of `{ start, end }` records, or [] on invalid input
|
|
37
37
|
*
|
|
38
38
|
* @example splitIntervalByUnitDate("2024-01-01", "2024-01-10", "day", 2) // [{ start: "2024-01-01", end: "2024-01-03" }, { start: "2024-01-03", end: "2024-01-05" }, { start: "2024-01-05", end: "2024-01-07" }, { start: "2024-01-07", end: "2024-01-09" }, { start: "2024-01-09", end: "2024-01-10" }]
|
|
@@ -45,8 +45,24 @@
|
|
|
45
45
|
* @example splitIntervalByUnitDate("2024-01-01", "2024-01-10", "day", 2, { maxPieces: 5 }) // [{ start: "2024-01-01", end: "2024-01-03" }, { start: "2024-01-03", end: "2024-01-05" }, { start: "2024-01-05", end: "2024-01-07" }, { start: "2024-01-07", end: "2024-01-09" }, { start: "2024-01-09", end: "2024-01-10" }]
|
|
46
46
|
*/
|
|
47
47
|
export declare function splitIntervalByUnitDate(start: string, end: string, unit: string, amount: number, options?: {
|
|
48
|
+
/**
|
|
49
|
+
* The most records the result may hold. A result that would hold more, or more than the longest
|
|
50
|
+
* possible array (2^32 - 1 elements), returns `[]` and none is built. A value that is not a
|
|
51
|
+
* positive safe integer also returns `[]`.
|
|
52
|
+
*
|
|
53
|
+
* @defaultValue `1_000_000`
|
|
54
|
+
*/
|
|
48
55
|
maxPieces?: number;
|
|
49
56
|
}): Array<{
|
|
57
|
+
/**
|
|
58
|
+
* The date the interval begins on, as an ISO 8601 date (`YYYY-MM-DD`). It keeps a calendar
|
|
59
|
+
* annotation such as `[u-ca=hebrew]` when the inputs carry one.
|
|
60
|
+
*/
|
|
50
61
|
start: string;
|
|
62
|
+
/**
|
|
63
|
+
* The first date after the interval, in the same format as `start`. It is exclusive: the interval
|
|
64
|
+
* holds everything from `start` up to but not including this value. It can equal `start`, which
|
|
65
|
+
* makes the interval empty.
|
|
66
|
+
*/
|
|
51
67
|
end: string;
|
|
52
68
|
}>;
|
|
@@ -13,9 +13,12 @@ import { minSlicesForSpan } from "../../internal/splitStep.js";
|
|
|
13
13
|
* there, so the pieces share no value and together cover the interval exactly once (the rule
|
|
14
14
|
* CORE-6's `splitIntervalAt` uses).
|
|
15
15
|
* - The final sub-interval is trimmed so its `end` never exceeds the original `end`.
|
|
16
|
-
* - Each boundary is computed from `start` (`start + k × amount
|
|
17
|
-
*
|
|
18
|
-
*
|
|
16
|
+
* - Each boundary is computed from `start` (`start + k × amount`), not by stepping from the
|
|
17
|
+
* previous boundary, so month-end starts don't drift: a monthly split from January 31 lands
|
|
18
|
+
* on February 29, March 31, April 30. Temporal's `add` constrains a day the month lacks to
|
|
19
|
+
* the month's last day, and stepping from that boundary would keep the shortened day
|
|
20
|
+
* (February 29, then March 29).
|
|
21
|
+
* - Comparison: Luxon's `Interval.splitBy` computes each boundary from the start the same way.
|
|
19
22
|
* - A step that resolves to the same date as the previous boundary is skipped, so no empty
|
|
20
23
|
* slice is produced. A step that goes backwards returns `[]`.
|
|
21
24
|
* - Returns `[{ start, end }]` when `start === end` (zero-length interval).
|
|
@@ -28,9 +31,6 @@ import { minSlicesForSpan } from "../../internal/splitStep.js";
|
|
|
28
31
|
* when `CalendarEquals` is false (before 1.16.0 it stepped in ISO). Each boundary's tag is
|
|
29
32
|
* re-derived from the actual stepped date, never copied — a month-by-month step can cross a
|
|
30
33
|
* leap-month or era boundary mid-split.
|
|
31
|
-
* - `options.maxPieces` (positive safe integer, default `1_000_000`) bounds the output: a split
|
|
32
|
-
* into more slices returns `[]`, decided from the span before stepping where it can be, and
|
|
33
|
-
* otherwise as soon as slice `maxPieces + 1` is due. An invalid `maxPieces` also returns `[]`.
|
|
34
34
|
* - Compatibility: since 1.16.0 calendar strings are RFC 9557 (ISO digits, `[u-ca=<id>]`, canonical
|
|
35
35
|
* calendar ids); see `isValidCalendarDate`.
|
|
36
36
|
*
|
|
@@ -38,7 +38,7 @@ import { minSlicesForSpan } from "../../internal/splitStep.js";
|
|
|
38
38
|
* @param end ISO PlainDate string for the interval end, optionally calendar-annotated
|
|
39
39
|
* @param unit duration unit string — `"years" | "months" | "weeks" | "days"` (time units are ignored by PlainDate and return [])
|
|
40
40
|
* @param amount positive number of units per step
|
|
41
|
-
* @param options
|
|
41
|
+
* @param options The limit on the size of the result
|
|
42
42
|
* @returns array of `{ start, end }` records, or [] on invalid input
|
|
43
43
|
*
|
|
44
44
|
* @example splitIntervalByUnitDate("2024-01-01", "2024-01-10", "day", 2) // [{ start: "2024-01-01", end: "2024-01-03" }, { start: "2024-01-03", end: "2024-01-05" }, { start: "2024-01-05", end: "2024-01-07" }, { start: "2024-01-07", end: "2024-01-09" }, { start: "2024-01-09", end: "2024-01-10" }]
|
|
@@ -8,8 +8,11 @@
|
|
|
8
8
|
* CORE-6's `splitIntervalAt` uses).
|
|
9
9
|
* - The final sub-interval is trimmed so its `end` never exceeds the original `end`.
|
|
10
10
|
* - Calendar-unit boundaries (years, months, weeks, days) are computed from `start`
|
|
11
|
-
* (`start + k × amount
|
|
12
|
-
*
|
|
11
|
+
* (`start + k × amount`), so month-end starts don't drift: a monthly split from January 31
|
|
12
|
+
* lands on February 29, March 31, April 30. Temporal's `add` constrains a day the month lacks
|
|
13
|
+
* to the month's last day, and stepping from that boundary would keep the shortened day
|
|
14
|
+
* (February 29, then March 29).
|
|
15
|
+
* - Comparison: Luxon's `Interval.splitBy` computes each boundary from the start the same way.
|
|
13
16
|
* - Exact-unit boundaries (hours and smaller) step from the previous boundary. Exact units never
|
|
14
17
|
* clamp, and stepping keeps nanosecond precision where `k × amount` would pass
|
|
15
18
|
* `Number.MAX_SAFE_INTEGER`.
|
|
@@ -17,15 +20,12 @@
|
|
|
17
20
|
* slice is produced. A step that goes backwards returns `[]`.
|
|
18
21
|
* - Returns `[{ start, end }]` when `start === end` (zero-length interval).
|
|
19
22
|
* - Returns `[]` on invalid input (unparseable start/end, unsupported unit, non-positive amount).
|
|
20
|
-
* - `options.maxPieces` (positive safe integer, default `1_000_000`) bounds the output: a split
|
|
21
|
-
* into more slices returns `[]`, decided from the span before stepping where it can be, and
|
|
22
|
-
* otherwise as soon as slice `maxPieces + 1` is due. An invalid `maxPieces` also returns `[]`.
|
|
23
23
|
*
|
|
24
24
|
* @param start ISO PlainDateTime string for the interval start
|
|
25
25
|
* @param end ISO PlainDateTime string for the interval end
|
|
26
26
|
* @param unit duration unit string — any `DateTimeDurationUnit`
|
|
27
27
|
* @param amount positive number of units per step
|
|
28
|
-
* @param options
|
|
28
|
+
* @param options The limit on the size of the result
|
|
29
29
|
* @returns array of `{ start, end }` records, or [] on invalid input
|
|
30
30
|
*
|
|
31
31
|
* @example splitIntervalByUnitDateTime("2024-01-01T12:00:00", "2024-01-01T14:00:00", "hour", 1) // [{ start: "2024-01-01T12:00:00", end: "2024-01-01T13:00:00" }, { start: "2024-01-01T13:00:00", end: "2024-01-01T14:00:00" }]
|
|
@@ -37,8 +37,24 @@
|
|
|
37
37
|
* @example splitIntervalByUnitDateTime("2024-01-01T12:00:00", "2024-01-01T14:00:00", "hour", 1, { maxPieces: 2 }) // [{ start: "2024-01-01T12:00:00", end: "2024-01-01T13:00:00" }, { start: "2024-01-01T13:00:00", end: "2024-01-01T14:00:00" }]
|
|
38
38
|
*/
|
|
39
39
|
export declare function splitIntervalByUnitDateTime(start: string, end: string, unit: string, amount: number, options?: {
|
|
40
|
+
/**
|
|
41
|
+
* The most records the result may hold. A result that would hold more, or more than the longest
|
|
42
|
+
* possible array (2^32 - 1 elements), returns `[]` and none is built. A value that is not a
|
|
43
|
+
* positive safe integer also returns `[]`.
|
|
44
|
+
*
|
|
45
|
+
* @defaultValue `1_000_000`
|
|
46
|
+
*/
|
|
40
47
|
maxPieces?: number;
|
|
41
48
|
}): Array<{
|
|
49
|
+
/**
|
|
50
|
+
* The date-time the interval begins at, as an ISO 8601 date-time string with no offset or time
|
|
51
|
+
* zone.
|
|
52
|
+
*/
|
|
42
53
|
start: string;
|
|
54
|
+
/**
|
|
55
|
+
* The first date-time after the interval, in the same format as `start`. It is exclusive: the
|
|
56
|
+
* interval holds everything from `start` up to but not including this value. It can equal
|
|
57
|
+
* `start`, which makes the interval empty.
|
|
58
|
+
*/
|
|
43
59
|
end: string;
|
|
44
60
|
}>;
|
|
@@ -14,8 +14,11 @@ import { minSlicesForSpan } from "../../internal/splitStep.js";
|
|
|
14
14
|
* CORE-6's `splitIntervalAt` uses).
|
|
15
15
|
* - The final sub-interval is trimmed so its `end` never exceeds the original `end`.
|
|
16
16
|
* - Calendar-unit boundaries (years, months, weeks, days) are computed from `start`
|
|
17
|
-
* (`start + k × amount
|
|
18
|
-
*
|
|
17
|
+
* (`start + k × amount`), so month-end starts don't drift: a monthly split from January 31
|
|
18
|
+
* lands on February 29, March 31, April 30. Temporal's `add` constrains a day the month lacks
|
|
19
|
+
* to the month's last day, and stepping from that boundary would keep the shortened day
|
|
20
|
+
* (February 29, then March 29).
|
|
21
|
+
* - Comparison: Luxon's `Interval.splitBy` computes each boundary from the start the same way.
|
|
19
22
|
* - Exact-unit boundaries (hours and smaller) step from the previous boundary. Exact units never
|
|
20
23
|
* clamp, and stepping keeps nanosecond precision where `k × amount` would pass
|
|
21
24
|
* `Number.MAX_SAFE_INTEGER`.
|
|
@@ -23,15 +26,12 @@ import { minSlicesForSpan } from "../../internal/splitStep.js";
|
|
|
23
26
|
* slice is produced. A step that goes backwards returns `[]`.
|
|
24
27
|
* - Returns `[{ start, end }]` when `start === end` (zero-length interval).
|
|
25
28
|
* - Returns `[]` on invalid input (unparseable start/end, unsupported unit, non-positive amount).
|
|
26
|
-
* - `options.maxPieces` (positive safe integer, default `1_000_000`) bounds the output: a split
|
|
27
|
-
* into more slices returns `[]`, decided from the span before stepping where it can be, and
|
|
28
|
-
* otherwise as soon as slice `maxPieces + 1` is due. An invalid `maxPieces` also returns `[]`.
|
|
29
29
|
*
|
|
30
30
|
* @param start ISO PlainDateTime string for the interval start
|
|
31
31
|
* @param end ISO PlainDateTime string for the interval end
|
|
32
32
|
* @param unit duration unit string — any `DateTimeDurationUnit`
|
|
33
33
|
* @param amount positive number of units per step
|
|
34
|
-
* @param options
|
|
34
|
+
* @param options The limit on the size of the result
|
|
35
35
|
* @returns array of `{ start, end }` records, or [] on invalid input
|
|
36
36
|
*
|
|
37
37
|
* @example splitIntervalByUnitDateTime("2024-01-01T12:00:00", "2024-01-01T14:00:00", "hour", 1) // [{ start: "2024-01-01T12:00:00", end: "2024-01-01T13:00:00" }, { start: "2024-01-01T13:00:00", end: "2024-01-01T14:00:00" }]
|
|
@@ -13,15 +13,12 @@
|
|
|
13
13
|
* - Returns `[{ start, end }]` when `start === end` (zero-length interval).
|
|
14
14
|
* - Returns `[]` on invalid input (unparseable start/end, unsupported unit, non-positive amount,
|
|
15
15
|
* or a unit that has no effect on `PlainTime`, e.g. `"days"`).
|
|
16
|
-
* - `options.maxPieces` (positive safe integer, default `1_000_000`) bounds the output: a split
|
|
17
|
-
* into more slices returns `[]`, decided from the span before stepping. An invalid
|
|
18
|
-
* `maxPieces` also returns `[]`.
|
|
19
16
|
*
|
|
20
17
|
* @param start ISO PlainTime string for the interval start
|
|
21
18
|
* @param end ISO PlainTime string for the interval end
|
|
22
19
|
* @param unit duration unit string — `"hours" | "minutes" | "seconds" | "milliseconds" | "microseconds" | "nanoseconds"` (calendar units are ignored by PlainTime and return [])
|
|
23
20
|
* @param amount positive number of units per step
|
|
24
|
-
* @param options
|
|
21
|
+
* @param options The limit on the size of the result
|
|
25
22
|
* @returns array of `{ start, end }` records, or [] on invalid input
|
|
26
23
|
*
|
|
27
24
|
* @example splitIntervalByUnitTime("12:00:00", "14:00:00", "hour", 1) // [{ start: "12:00:00", end: "13:00:00" }, { start: "13:00:00", end: "14:00:00" }]
|
|
@@ -34,8 +31,24 @@
|
|
|
34
31
|
* @example splitIntervalByUnitTime("12:00:00", "14:30:00", "hour", 1, { maxPieces: 3 }) // [{ start: "12:00:00", end: "13:00:00" }, { start: "13:00:00", end: "14:00:00" }, { start: "14:00:00", end: "14:30:00" }]
|
|
35
32
|
*/
|
|
36
33
|
export declare function splitIntervalByUnitTime(start: string, end: string, unit: string, amount: number, options?: {
|
|
34
|
+
/**
|
|
35
|
+
* The most records the result may hold. A result that would hold more, or more than the longest
|
|
36
|
+
* possible array (2^32 - 1 elements), returns `[]` and none is built. A value that is not a
|
|
37
|
+
* positive safe integer also returns `[]`.
|
|
38
|
+
*
|
|
39
|
+
* @defaultValue `1_000_000`
|
|
40
|
+
*/
|
|
37
41
|
maxPieces?: number;
|
|
38
42
|
}): Array<{
|
|
43
|
+
/**
|
|
44
|
+
* The clock time the interval begins at, as an ISO 8601 time string with no date, offset or time
|
|
45
|
+
* zone.
|
|
46
|
+
*/
|
|
39
47
|
start: string;
|
|
48
|
+
/**
|
|
49
|
+
* The first clock time after the interval, in the same format as `start`. It is exclusive: the
|
|
50
|
+
* interval holds everything from `start` up to but not including this value. It can equal
|
|
51
|
+
* `start`, which makes the interval empty.
|
|
52
|
+
*/
|
|
40
53
|
end: string;
|
|
41
54
|
}>;
|
|
@@ -19,15 +19,12 @@ import { isExactDurationUnit, minSlicesForSpan, } from "../../internal/splitStep
|
|
|
19
19
|
* - Returns `[{ start, end }]` when `start === end` (zero-length interval).
|
|
20
20
|
* - Returns `[]` on invalid input (unparseable start/end, unsupported unit, non-positive amount,
|
|
21
21
|
* or a unit that has no effect on `PlainTime`, e.g. `"days"`).
|
|
22
|
-
* - `options.maxPieces` (positive safe integer, default `1_000_000`) bounds the output: a split
|
|
23
|
-
* into more slices returns `[]`, decided from the span before stepping. An invalid
|
|
24
|
-
* `maxPieces` also returns `[]`.
|
|
25
22
|
*
|
|
26
23
|
* @param start ISO PlainTime string for the interval start
|
|
27
24
|
* @param end ISO PlainTime string for the interval end
|
|
28
25
|
* @param unit duration unit string — `"hours" | "minutes" | "seconds" | "milliseconds" | "microseconds" | "nanoseconds"` (calendar units are ignored by PlainTime and return [])
|
|
29
26
|
* @param amount positive number of units per step
|
|
30
|
-
* @param options
|
|
27
|
+
* @param options The limit on the size of the result
|
|
31
28
|
* @returns array of `{ start, end }` records, or [] on invalid input
|
|
32
29
|
*
|
|
33
30
|
* @example splitIntervalByUnitTime("12:00:00", "14:00:00", "hour", 1) // [{ start: "12:00:00", end: "13:00:00" }, { start: "13:00:00", end: "14:00:00" }]
|
|
@@ -3,9 +3,6 @@
|
|
|
3
3
|
*
|
|
4
4
|
* - Generates dates with optional step (default 1 day).
|
|
5
5
|
* - Returns [] if start > end, invalid inputs, or step <= 0.
|
|
6
|
-
* - `options.maxPieces` (positive safe integer, default `1_000_000`) bounds the output: when the
|
|
7
|
-
* range holds more dates than that, it returns `[]` without generating any. An invalid
|
|
8
|
-
* `maxPieces` also returns `[]`.
|
|
9
6
|
* - An explicit `undefined` `stepDays` is the default step, so `(start, end, undefined, options)`
|
|
10
7
|
* reaches `options`. **Compatibility:** before 1.16.0 it returned `[]`.
|
|
11
8
|
* - **End-inclusive, where the `interval*` functions are half-open.** This enumerates the dates a
|
|
@@ -17,7 +14,7 @@
|
|
|
17
14
|
* @param startDate ISO PlainDate string for the first date
|
|
18
15
|
* @param endDate ISO PlainDate string for the last date (inclusive)
|
|
19
16
|
* @param stepDays optional number of days to step between results
|
|
20
|
-
* @param options
|
|
17
|
+
* @param options The limit on the size of the result
|
|
21
18
|
* @returns array of ISO PlainDate strings, or [] on invalid input
|
|
22
19
|
*
|
|
23
20
|
* @example mapDatesInRange("2024-03-01", "2024-03-05") // ["2024-03-01", "2024-03-02", "2024-03-03", "2024-03-04", "2024-03-05"]
|
|
@@ -32,5 +29,12 @@
|
|
|
32
29
|
* @example mapDatesInRange("2024-03-01", "2024-03-05", 1, { maxPieces: 10 }) // ["2024-03-01", "2024-03-02", "2024-03-03", "2024-03-04", "2024-03-05"]
|
|
33
30
|
*/
|
|
34
31
|
export declare function mapDatesInRange(startDate: string, endDate: string, stepDays?: number, options?: {
|
|
32
|
+
/**
|
|
33
|
+
* The most dates the result may hold. A result that would hold more, or more than the longest
|
|
34
|
+
* possible array (2^32 - 1 elements), returns `[]` and none is built. A value that is not a
|
|
35
|
+
* positive safe integer also returns `[]`.
|
|
36
|
+
*
|
|
37
|
+
* @defaultValue `1_000_000`
|
|
38
|
+
*/
|
|
35
39
|
maxPieces?: number;
|
|
36
40
|
}): string[];
|
|
@@ -7,9 +7,6 @@ import { exceedsPieceLimit, resolveMaxPieces } from "../../internal/maxPieces.js
|
|
|
7
7
|
*
|
|
8
8
|
* - Generates dates with optional step (default 1 day).
|
|
9
9
|
* - Returns [] if start > end, invalid inputs, or step <= 0.
|
|
10
|
-
* - `options.maxPieces` (positive safe integer, default `1_000_000`) bounds the output: when the
|
|
11
|
-
* range holds more dates than that, it returns `[]` without generating any. An invalid
|
|
12
|
-
* `maxPieces` also returns `[]`.
|
|
13
10
|
* - An explicit `undefined` `stepDays` is the default step, so `(start, end, undefined, options)`
|
|
14
11
|
* reaches `options`. **Compatibility:** before 1.16.0 it returned `[]`.
|
|
15
12
|
* - **End-inclusive, where the `interval*` functions are half-open.** This enumerates the dates a
|
|
@@ -21,7 +18,7 @@ import { exceedsPieceLimit, resolveMaxPieces } from "../../internal/maxPieces.js
|
|
|
21
18
|
* @param startDate ISO PlainDate string for the first date
|
|
22
19
|
* @param endDate ISO PlainDate string for the last date (inclusive)
|
|
23
20
|
* @param stepDays optional number of days to step between results
|
|
24
|
-
* @param options
|
|
21
|
+
* @param options The limit on the size of the result
|
|
25
22
|
* @returns array of ISO PlainDate strings, or [] on invalid input
|
|
26
23
|
*
|
|
27
24
|
* @example mapDatesInRange("2024-03-01", "2024-03-05") // ["2024-03-01", "2024-03-02", "2024-03-03", "2024-03-04", "2024-03-05"]
|
|
@@ -18,7 +18,7 @@ export * from "./parseNanosecondFromDateTime.js";
|
|
|
18
18
|
export * from "./parseNanosecondFromTime.js";
|
|
19
19
|
export * from "./parseSecondFromDateTime.js";
|
|
20
20
|
export * from "./parseSecondFromTime.js";
|
|
21
|
-
export * from "./
|
|
21
|
+
export * from "./parseSqlDateTime.js";
|
|
22
22
|
export * from "./parseTimeWithPattern.js";
|
|
23
23
|
export * from "./parseUnitFromDate.js";
|
|
24
24
|
export * from "./parseUnitFromDateTime.js";
|
|
@@ -18,7 +18,7 @@ export * from "./parseNanosecondFromDateTime.js";
|
|
|
18
18
|
export * from "./parseNanosecondFromTime.js";
|
|
19
19
|
export * from "./parseSecondFromDateTime.js";
|
|
20
20
|
export * from "./parseSecondFromTime.js";
|
|
21
|
-
export * from "./
|
|
21
|
+
export * from "./parseSqlDateTime.js";
|
|
22
22
|
export * from "./parseTimeWithPattern.js";
|
|
23
23
|
export * from "./parseUnitFromDate.js";
|
|
24
24
|
export * from "./parseUnitFromDateTime.js";
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { TwoDigitYearOptions } from "../../types/two-digit-year.js";
|
|
1
2
|
/**
|
|
2
3
|
* Parse a datetime string against a caller-supplied token pattern (e.g.
|
|
3
4
|
* `"MM/dd/yyyy HH:mm:ss"`, `"dd-MMM-yyyy h:mm a"`) and return it as an
|
|
@@ -7,9 +8,8 @@
|
|
|
7
8
|
* producer format — a CSV column, a legacy API field, a partially-typed
|
|
8
9
|
* form value — not for generating locale-correct output. For display,
|
|
9
10
|
* use `formatDateTime`/`formatDateToParts`, which order fields per
|
|
10
|
-
* locale instead of hard-coding a field order (
|
|
11
|
-
*
|
|
12
|
-
* out of scope for GMT).
|
|
11
|
+
* locale instead of hard-coding a field order (a token *formatter*,
|
|
12
|
+
* the inverse of this function, is deliberately out of scope for GMT).
|
|
13
13
|
* - Accepts the full combined date + time token set (unlike
|
|
14
14
|
* `parseDateWithPattern`/`parseTimeWithPattern`, which each reject the
|
|
15
15
|
* other's tokens).
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
* | Token | Field | Width | Range | Notes |
|
|
19
19
|
* |---|---|---|---|---|
|
|
20
20
|
* | `yyyy` | year | 4 digits | 0000–9999 | |
|
|
21
|
-
* | `yy` | year | 2 digits | 00–99 |
|
|
21
|
+
* | `yy` | year | 2 digits | 00–99 | Needs `options.yearWindow`; returns `""` without it |
|
|
22
22
|
* | `MM` | month | 2 digits | 01–12 | |
|
|
23
23
|
* | `M` | month | 1-2 digits | 1–12 | |
|
|
24
24
|
* | `MMMM` | month name (long) | locale | — | `getLocaleMonthNames(locale, "long")` |
|
|
@@ -40,10 +40,13 @@
|
|
|
40
40
|
* | `GGGG` | era name (long) | locale | — | BCE label ⇒ final year = 1 − parsed year |
|
|
41
41
|
* | `GG` | era name (short) | locale | — | same resolution |
|
|
42
42
|
*
|
|
43
|
-
* -
|
|
44
|
-
*
|
|
45
|
-
*
|
|
46
|
-
*
|
|
43
|
+
* - Literal text follows the Unicode UTS #35 date format pattern rules.
|
|
44
|
+
* Text in `'single quotes'` is a literal, letters included. Two
|
|
45
|
+
* adjacent quotes `''` are one literal `'`, inside or outside quoted
|
|
46
|
+
* text: `"yyyy''MM"` reads `"2024'03"`, and `"'o''clock'"` reads
|
|
47
|
+
* `"o'clock"`. A quote that never closes makes the pattern malformed
|
|
48
|
+
* (`""`). Any other character that is not a letter (`/ - , space :`,
|
|
49
|
+
* digits and so on) is a literal with no quoting.
|
|
47
50
|
* - `MMMM`/`MMM`/`EEEE`/`EEE`/`a`/`GGGG`/`GG` are locale-aware. If
|
|
48
51
|
* `locale` is omitted and the pattern uses any of them, GMT defaults
|
|
49
52
|
* to `"en-US"` rather than returning `""` for every caller who didn't
|
|
@@ -71,16 +74,29 @@
|
|
|
71
74
|
* - Fields absent from `pattern` default the way `Temporal.PlainDateTime.from`
|
|
72
75
|
* defaults an omitted field (time fields default to `0`; `year`/`month`/`day`
|
|
73
76
|
* are still required for a valid result).
|
|
77
|
+
* - A `yy` token needs the caller's hundred-year window,
|
|
78
|
+
* `options.yearWindow`: no standard says which century a two-digit
|
|
79
|
+
* year belongs to, and a cut-off built into a library is right today
|
|
80
|
+
* and wrong later. Without a valid window a `yy` pattern returns `""`.
|
|
81
|
+
* A pattern with no `yy` never reads the option, so a `"rolling"`
|
|
82
|
+
* window reads no clock for it. A two-digit year is a legacy form; a
|
|
83
|
+
* four-digit year is the one to ask a data source for.
|
|
74
84
|
*
|
|
75
85
|
* @param value The string to decode (e.g. "03/15/2024 14:30:00")
|
|
76
86
|
* @param pattern The token pattern describing `value`'s shape (e.g. "MM/dd/yyyy HH:mm:ss")
|
|
77
87
|
* @param locale Optional BCP 47 locale tag, or a preference list of tags, for name-based tokens (default "en-US")
|
|
88
|
+
* @param options The hundred-year window a `yy` token resolves in
|
|
78
89
|
* @returns ISO `PlainDateTime` string, or "" on no match, malformed pattern, or invalid input
|
|
79
90
|
*
|
|
80
91
|
* @example parseDateTimeWithPattern("03/15/2024 14:30:00", "MM/dd/yyyy HH:mm:ss") // "2024-03-15T14:30:00"
|
|
81
92
|
* @example parseDateTimeWithPattern("15-Mar-2024 02:30 PM", "dd-MMM-yyyy hh:mm a") // "2024-03-15T14:30:00"
|
|
93
|
+
* @example parseDateTimeWithPattern("Mar 15, '24 at 14:30", "MMM d, ''yy 'at' HH:mm", undefined, { yearWindow: 2000 }) // "2024-03-15T14:30:00" ('' is one literal quote)
|
|
94
|
+
* @example parseDateTimeWithPattern("99-03-15 14:30", "yy-MM-dd HH:mm", undefined, { yearWindow: 1950 }) // "1999-03-15T14:30:00" (1950–2049 window)
|
|
95
|
+
* @example parseDateTimeWithPattern("24-03-15 14:30", "yy-MM-dd HH:mm", undefined, { yearWindow: "rolling" }) // "2024-03-15T14:30:00" (while the current UTC year is 1975–2074)
|
|
96
|
+
* @example parseDateTimeWithPattern("24-03-15 14:30", "yy-MM-dd HH:mm") // "" (yy with no window)
|
|
97
|
+
* @example parseDateTimeWithPattern("03/15/2024 14:30:00", "MM/dd/yyyy HH:mm:ss", undefined, { yearWindow: 2000 }) // "2024-03-15T14:30:00" (yyyy ignores the window)
|
|
82
98
|
* @example parseDateTimeWithPattern("02/31/2024 14:30:00", "MM/dd/yyyy HH:mm:ss") // "" (shape-valid, not a real date)
|
|
83
99
|
* @example parseDateTimeWithPattern("not a date", "MM/dd/yyyy HH:mm:ss") // ""
|
|
84
100
|
* @example parseDateTimeWithPattern("19 mai 2024 10:20", "d MMMM yyyy HH:mm", ["fr-FR", "en-US"]) // "2024-05-19T10:20:00"
|
|
85
101
|
*/
|
|
86
|
-
export declare function parseDateTimeWithPattern(value: string, pattern: string, locale?: string | string[]): string;
|
|
102
|
+
export declare function parseDateTimeWithPattern(value: string, pattern: string, locale?: string | string[], options?: TwoDigitYearOptions): string;
|