@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,24 +1,17 @@
|
|
|
1
1
|
import { Temporal } from "@js-temporal/polyfill";
|
|
2
|
+
import { isoYearString } from "../../internal/isoYearString.js";
|
|
2
3
|
/**
|
|
3
4
|
* Return the current year from UTC as a zero-padded string.
|
|
4
5
|
*
|
|
5
6
|
* - Uses Temporal.Now.instant() converted to UTC zoned date time.
|
|
6
7
|
* - Returns zero-padded string to 4 digits.
|
|
7
|
-
* -
|
|
8
|
+
* - A year outside 0000–9999 is written with a sign and six digits (`+010000`, `-000005`), as
|
|
9
|
+
* Temporal writes it at the head of a date.
|
|
8
10
|
*
|
|
9
|
-
* @returns current year string (zero-padded to 4 digits)
|
|
11
|
+
* @returns current year string (zero-padded to 4 digits)
|
|
10
12
|
*
|
|
11
13
|
* @example getUtcYear() // "2024"
|
|
12
|
-
* @example getUtcYear() // "" (on failure)
|
|
13
14
|
*/
|
|
14
15
|
export function getUtcYear() {
|
|
15
|
-
|
|
16
|
-
return Temporal.Now.instant()
|
|
17
|
-
.toZonedDateTimeISO("UTC")
|
|
18
|
-
.year.toString()
|
|
19
|
-
.padStart(4, "0");
|
|
20
|
-
}
|
|
21
|
-
catch {
|
|
22
|
-
return "";
|
|
23
|
-
}
|
|
16
|
+
return isoYearString(Temporal.Now.instant().toZonedDateTimeISO("UTC").year);
|
|
24
17
|
}
|
|
@@ -27,6 +27,12 @@
|
|
|
27
27
|
* @example intervalDifferenceUtc("invalid", "2024-12-31T17:00:00Z", "2024-06-01T12:00:00Z", "2024-07-01T13:00:00Z") // []
|
|
28
28
|
*/
|
|
29
29
|
export declare function intervalDifferenceUtc(aStart: string, aEnd: string, bStart: string, bEnd: string): Array<{
|
|
30
|
+
/** The instant the interval begins at, as an ISO 8601 UTC string ending in `Z`. */
|
|
30
31
|
start: string;
|
|
32
|
+
/**
|
|
33
|
+
* The first instant after the interval, in the same format as `start`. It is exclusive: the
|
|
34
|
+
* interval holds everything from `start` up to but not including this value. It is always later
|
|
35
|
+
* than `start`.
|
|
36
|
+
*/
|
|
31
37
|
end: string;
|
|
32
38
|
}>;
|
|
@@ -10,18 +10,19 @@
|
|
|
10
10
|
* split is exact whenever the span divides evenly by `n` and within half a nanosecond of the
|
|
11
11
|
* exact cut otherwise, at any span length (no double arithmetic) — no DST is involved, since
|
|
12
12
|
* UTC has no time zone offset.
|
|
13
|
+
* - When `n` is larger than the number of nanoseconds in the interval, some pieces are empty (their
|
|
14
|
+
* `start` equals their `end`): the result always has exactly `n` pieces.
|
|
13
15
|
* - `n === 1` returns the original interval unchanged, as a single-element array.
|
|
14
16
|
* - A zero-length interval (`start === end`) returns `n` identical zero-length sub-intervals.
|
|
15
17
|
* - Returns `[]` when `n` is not a positive integer, or on invalid input (unparseable
|
|
16
18
|
* start/end, `start > end`, leap-second strings).
|
|
17
|
-
* - `
|
|
18
|
-
*
|
|
19
|
-
* before building any piece. An invalid `maxPieces` also returns `[]`.
|
|
19
|
+
* - Returns `[]` before building any piece when `n` exceeds the longest possible array
|
|
20
|
+
* (2^32 - 1).
|
|
20
21
|
*
|
|
21
22
|
* @param start ISO UTC datetime string for the interval start
|
|
22
23
|
* @param end ISO UTC datetime string for the interval end
|
|
23
24
|
* @param n number of equal sub-intervals to produce (positive integer)
|
|
24
|
-
* @param options
|
|
25
|
+
* @param options A limit on the size of the result
|
|
25
26
|
* @returns array of `n` `{ start, end }` records, or `[]` on invalid input
|
|
26
27
|
*
|
|
27
28
|
* @example intervalDivideEquallyUtc("2024-01-01T00:00:00Z", "2024-01-04T00:00:00Z", 3) // [{ start: "2024-01-01T00:00:00Z", end: "2024-01-02T00:00:00Z" }, { start: "2024-01-02T00:00:00Z", end: "2024-01-03T00:00:00Z" }, { start: "2024-01-03T00:00:00Z", end: "2024-01-04T00:00:00Z" }]
|
|
@@ -32,8 +33,21 @@
|
|
|
32
33
|
* @example intervalDivideEquallyUtc("2024-01-01T00:00:00Z", "2024-01-04T00:00:00Z", 3, { maxPieces: 3 }) // [{ start: "2024-01-01T00:00:00Z", end: "2024-01-02T00:00:00Z" }, { start: "2024-01-02T00:00:00Z", end: "2024-01-03T00:00:00Z" }, { start: "2024-01-03T00:00:00Z", end: "2024-01-04T00:00:00Z" }]
|
|
33
34
|
*/
|
|
34
35
|
export declare function intervalDivideEquallyUtc(start: string, end: string, n: number, options?: {
|
|
36
|
+
/**
|
|
37
|
+
* The most records the result may hold. A result that would hold more, or more than the longest
|
|
38
|
+
* possible array (2^32 - 1 elements), returns `[]` and none is built. A value that is not a
|
|
39
|
+
* positive safe integer also returns `[]`.
|
|
40
|
+
*
|
|
41
|
+
* @defaultValue `1_000_000`
|
|
42
|
+
*/
|
|
35
43
|
maxPieces?: number;
|
|
36
44
|
}): Array<{
|
|
45
|
+
/** The instant the interval begins at, as an ISO 8601 UTC string ending in `Z`. */
|
|
37
46
|
start: string;
|
|
47
|
+
/**
|
|
48
|
+
* The first instant after the interval, in the same format as `start`. It is exclusive: the
|
|
49
|
+
* interval holds everything from `start` up to but not including this value. It can equal
|
|
50
|
+
* `start`, which makes the interval empty.
|
|
51
|
+
*/
|
|
38
52
|
end: string;
|
|
39
53
|
}>;
|
|
@@ -15,18 +15,19 @@ import { exceedsPieceLimit, resolveMaxPieces } from "../../internal/maxPieces.js
|
|
|
15
15
|
* split is exact whenever the span divides evenly by `n` and within half a nanosecond of the
|
|
16
16
|
* exact cut otherwise, at any span length (no double arithmetic) — no DST is involved, since
|
|
17
17
|
* UTC has no time zone offset.
|
|
18
|
+
* - When `n` is larger than the number of nanoseconds in the interval, some pieces are empty (their
|
|
19
|
+
* `start` equals their `end`): the result always has exactly `n` pieces.
|
|
18
20
|
* - `n === 1` returns the original interval unchanged, as a single-element array.
|
|
19
21
|
* - A zero-length interval (`start === end`) returns `n` identical zero-length sub-intervals.
|
|
20
22
|
* - Returns `[]` when `n` is not a positive integer, or on invalid input (unparseable
|
|
21
23
|
* start/end, `start > end`, leap-second strings).
|
|
22
|
-
* - `
|
|
23
|
-
*
|
|
24
|
-
* before building any piece. An invalid `maxPieces` also returns `[]`.
|
|
24
|
+
* - Returns `[]` before building any piece when `n` exceeds the longest possible array
|
|
25
|
+
* (2^32 - 1).
|
|
25
26
|
*
|
|
26
27
|
* @param start ISO UTC datetime string for the interval start
|
|
27
28
|
* @param end ISO UTC datetime string for the interval end
|
|
28
29
|
* @param n number of equal sub-intervals to produce (positive integer)
|
|
29
|
-
* @param options
|
|
30
|
+
* @param options A limit on the size of the result
|
|
30
31
|
* @returns array of `n` `{ start, end }` records, or `[]` on invalid input
|
|
31
32
|
*
|
|
32
33
|
* @example intervalDivideEquallyUtc("2024-01-01T00:00:00Z", "2024-01-04T00:00:00Z", 3) // [{ start: "2024-01-01T00:00:00Z", end: "2024-01-02T00:00:00Z" }, { start: "2024-01-02T00:00:00Z", end: "2024-01-03T00:00:00Z" }, { start: "2024-01-03T00:00:00Z", end: "2024-01-04T00:00:00Z" }]
|
|
@@ -10,15 +10,13 @@ import type { Overflow } from "../../types/index.js";
|
|
|
10
10
|
* reference point (mirrors `addUtc`).
|
|
11
11
|
* - A negative `duration` (e.g. `"-P1D"`) can invert the computed span; returns null when that
|
|
12
12
|
* happens, mirroring `intervalIntersectionUtc`'s `start > end` rejection.
|
|
13
|
-
* - `overflow` ("constrain" (default) | "reject") controls out-of-range results, e.g. adding 1 month
|
|
14
|
-
* to Jan 31: "constrain" clamps to Feb 29/28, "reject" returns null.
|
|
15
13
|
* - Returns null on invalid input (unparseable `value`, invalid `duration`, or an `anchor` other
|
|
16
14
|
* than `"start"`/`"end"`).
|
|
17
15
|
*
|
|
18
16
|
* @param value ISO UTC datetime string (e.g. "2024-03-10T12:00:00Z")
|
|
19
17
|
* @param duration ISO 8601 duration string
|
|
20
18
|
* @param anchor "start" | "end" — which endpoint `value` represents
|
|
21
|
-
* @param options
|
|
19
|
+
* @param options How an out-of-range result is handled
|
|
22
20
|
* @returns `{ start, end }` with the constructed span (UTC Instant strings), or null on invalid input
|
|
23
21
|
*
|
|
24
22
|
* @example intervalFromDurationUtc("2024-01-01T00:00:00Z", "P1D", "start") // { start: "2024-01-01T00:00:00Z", end: "2024-01-02T00:00:00Z" }
|
|
@@ -28,8 +26,20 @@ import type { Overflow } from "../../types/index.js";
|
|
|
28
26
|
* @example intervalFromDurationUtc("invalid", "P1D", "start") // null
|
|
29
27
|
*/
|
|
30
28
|
export declare function intervalFromDurationUtc(value: string, duration: string, anchor: "start" | "end", options?: {
|
|
29
|
+
/**
|
|
30
|
+
* What to do when the result is not a real date. `"constrain"` clamps it to the last valid day,
|
|
31
|
+
* so Jan 31 + 1 month is Feb 29/28 (TC39 Temporal); `"reject"` returns `null`.
|
|
32
|
+
*
|
|
33
|
+
* @defaultValue `"constrain"`, Temporal's default.
|
|
34
|
+
*/
|
|
31
35
|
overflow?: Overflow;
|
|
32
36
|
}): {
|
|
37
|
+
/** The instant the interval begins at, as an ISO 8601 UTC string ending in `Z`. */
|
|
33
38
|
start: string;
|
|
39
|
+
/**
|
|
40
|
+
* The first instant after the interval, in the same format as `start`. It is exclusive: the
|
|
41
|
+
* interval holds everything from `start` up to but not including this value. It can equal
|
|
42
|
+
* `start`, which makes the interval empty.
|
|
43
|
+
*/
|
|
34
44
|
end: string;
|
|
35
45
|
} | null;
|
|
@@ -15,15 +15,13 @@ import { isOptionsArgument } from "../../internal/isObject.js";
|
|
|
15
15
|
* reference point (mirrors `addUtc`).
|
|
16
16
|
* - A negative `duration` (e.g. `"-P1D"`) can invert the computed span; returns null when that
|
|
17
17
|
* happens, mirroring `intervalIntersectionUtc`'s `start > end` rejection.
|
|
18
|
-
* - `overflow` ("constrain" (default) | "reject") controls out-of-range results, e.g. adding 1 month
|
|
19
|
-
* to Jan 31: "constrain" clamps to Feb 29/28, "reject" returns null.
|
|
20
18
|
* - Returns null on invalid input (unparseable `value`, invalid `duration`, or an `anchor` other
|
|
21
19
|
* than `"start"`/`"end"`).
|
|
22
20
|
*
|
|
23
21
|
* @param value ISO UTC datetime string (e.g. "2024-03-10T12:00:00Z")
|
|
24
22
|
* @param duration ISO 8601 duration string
|
|
25
23
|
* @param anchor "start" | "end" — which endpoint `value` represents
|
|
26
|
-
* @param options
|
|
24
|
+
* @param options How an out-of-range result is handled
|
|
27
25
|
* @returns `{ start, end }` with the constructed span (UTC Instant strings), or null on invalid input
|
|
28
26
|
*
|
|
29
27
|
* @example intervalFromDurationUtc("2024-01-01T00:00:00Z", "P1D", "start") // { start: "2024-01-01T00:00:00Z", end: "2024-01-02T00:00:00Z" }
|
|
@@ -24,6 +24,12 @@
|
|
|
24
24
|
* @example intervalIntersectionUtc("invalid", "2024-06-30T23:59:59Z", "2024-04-01T00:00:00Z", "2024-12-31T23:59:59Z") // null
|
|
25
25
|
*/
|
|
26
26
|
export declare function intervalIntersectionUtc(aStart: string, aEnd: string, bStart: string, bEnd: string): {
|
|
27
|
+
/** The instant the interval begins at, as an ISO 8601 UTC string ending in `Z`. */
|
|
27
28
|
start: string;
|
|
29
|
+
/**
|
|
30
|
+
* The first instant after the interval, in the same format as `start`. It is exclusive: the
|
|
31
|
+
* interval holds everything from `start` up to but not including this value. It can equal
|
|
32
|
+
* `start`, which makes the interval empty.
|
|
33
|
+
*/
|
|
28
34
|
end: string;
|
|
29
35
|
} | null;
|
|
@@ -13,6 +13,8 @@
|
|
|
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
|
* - Returns `[{ start, end }]` (the whole interval, unsplit) when no valid in-range point remains.
|
|
16
|
+
* - A piece's `end` equals its `start` only when the interval itself is zero-length (`start`
|
|
17
|
+
* equal to `end`): the result is then that one empty piece, whatever the points.
|
|
16
18
|
* - Returns `[]` when `points` is not an array, when any element is not a valid ISO UTC
|
|
17
19
|
* datetime string, or on invalid input (unparseable start/end, `start > end`, leap-second
|
|
18
20
|
* strings).
|
|
@@ -27,6 +29,12 @@
|
|
|
27
29
|
* @example intervalSplitAtUtc("invalid", "2024-01-10T00:00:00Z", ["2024-01-05T00:00:00Z"]) // []
|
|
28
30
|
*/
|
|
29
31
|
export declare function intervalSplitAtUtc(start: string, end: string, points: string[]): Array<{
|
|
32
|
+
/** The instant the interval begins at, as an ISO 8601 UTC string ending in `Z`. */
|
|
30
33
|
start: string;
|
|
34
|
+
/**
|
|
35
|
+
* The first instant after the interval, in the same format as `start`. It is exclusive: the
|
|
36
|
+
* interval holds everything from `start` up to but not including this value. It can equal
|
|
37
|
+
* `start`, which makes the interval empty.
|
|
38
|
+
*/
|
|
31
39
|
end: string;
|
|
32
40
|
}>;
|
|
@@ -16,6 +16,8 @@ import { isValidUtc } from "../validate/index.js";
|
|
|
16
16
|
* there, so the pieces share no value and together cover the interval exactly once (the rule
|
|
17
17
|
* CORE-6's `splitIntervalAt` uses).
|
|
18
18
|
* - Returns `[{ start, end }]` (the whole interval, unsplit) when no valid in-range point remains.
|
|
19
|
+
* - A piece's `end` equals its `start` only when the interval itself is zero-length (`start`
|
|
20
|
+
* equal to `end`): the result is then that one empty piece, whatever the points.
|
|
19
21
|
* - Returns `[]` when `points` is not an array, when any element is not a valid ISO UTC
|
|
20
22
|
* datetime string, or on invalid input (unparseable start/end, `start > end`, leap-second
|
|
21
23
|
* strings).
|
|
@@ -27,6 +27,12 @@
|
|
|
27
27
|
* @example intervalUnionUtc("invalid", "2024-06-30T23:59:59Z", "2024-04-01T00:00:00Z", "2024-12-31T23:59:59Z") // null
|
|
28
28
|
*/
|
|
29
29
|
export declare function intervalUnionUtc(aStart: string, aEnd: string, bStart: string, bEnd: string): {
|
|
30
|
+
/** The instant the interval begins at, as an ISO 8601 UTC string ending in `Z`. */
|
|
30
31
|
start: string;
|
|
32
|
+
/**
|
|
33
|
+
* The first instant after the interval, in the same format as `start`. It is exclusive: the
|
|
34
|
+
* interval holds everything from `start` up to but not including this value. It is always later
|
|
35
|
+
* than `start`.
|
|
36
|
+
*/
|
|
31
37
|
end: string;
|
|
32
38
|
} | null;
|
|
@@ -26,6 +26,12 @@ export declare function intervalXorAllUtc(intervals: Array<{
|
|
|
26
26
|
start: string;
|
|
27
27
|
end: string;
|
|
28
28
|
}>): Array<{
|
|
29
|
+
/** The instant the interval begins at, as an ISO 8601 UTC string ending in `Z`. */
|
|
29
30
|
start: string;
|
|
31
|
+
/**
|
|
32
|
+
* The first instant after the interval, in the same format as `start`. It is exclusive: the
|
|
33
|
+
* interval holds everything from `start` up to but not including this value. It is always later
|
|
34
|
+
* than `start`.
|
|
35
|
+
*/
|
|
30
36
|
end: string;
|
|
31
37
|
}>;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Temporal } from "@js-temporal/polyfill";
|
|
2
2
|
import { halfOpenXor } from "../../internal/index.js";
|
|
3
3
|
import { isValidUtcInterval } from "./validate/index.js";
|
|
4
|
+
import { isObject } from "../../internal/isObject.js";
|
|
4
5
|
/**
|
|
5
6
|
* Return the symmetric difference across a list of UTC intervals — the set of instants covered
|
|
6
7
|
* by an odd number of the input intervals.
|
|
@@ -30,8 +31,7 @@ export function intervalXorAllUtc(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
|
typeof interval.start === "string" &&
|
|
36
36
|
typeof interval.end === "string" &&
|
|
37
37
|
isValidUtcInterval(interval.start, interval.end))) {
|
|
@@ -22,6 +22,12 @@
|
|
|
22
22
|
* @example intervalXorUtc("invalid", "2024-06-30T12:00:00Z", "2024-07-01T13:00:00Z", "2024-12-31T17:00:00Z") // []
|
|
23
23
|
*/
|
|
24
24
|
export declare function intervalXorUtc(aStart: string, aEnd: string, bStart: string, bEnd: string): Array<{
|
|
25
|
+
/** The instant the interval begins at, as an ISO 8601 UTC string ending in `Z`. */
|
|
25
26
|
start: string;
|
|
27
|
+
/**
|
|
28
|
+
* The first instant after the interval, in the same format as `start`. It is exclusive: the
|
|
29
|
+
* interval holds everything from `start` up to but not including this value. It is always later
|
|
30
|
+
* than `start`.
|
|
31
|
+
*/
|
|
26
32
|
end: string;
|
|
27
33
|
}>;
|
|
@@ -27,6 +27,12 @@ export declare function mergeIntervalsUtc(intervals: Array<{
|
|
|
27
27
|
start: string;
|
|
28
28
|
end: string;
|
|
29
29
|
}>): Array<{
|
|
30
|
+
/** The instant the interval begins at, as an ISO 8601 UTC string ending in `Z`. */
|
|
30
31
|
start: string;
|
|
32
|
+
/**
|
|
33
|
+
* The first instant after the interval, in the same format as `start`. It is exclusive: the
|
|
34
|
+
* interval holds everything from `start` up to but not including this value. It is always later
|
|
35
|
+
* than `start`.
|
|
36
|
+
*/
|
|
31
37
|
end: string;
|
|
32
38
|
}>;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { canonicalInstantIntervals } from "../../internal/index.js";
|
|
2
2
|
import { mergeIntervals } from "../../interval/calculate/index.js";
|
|
3
3
|
import { isValidUtcInterval } from "./validate/index.js";
|
|
4
|
+
import { isObject } from "../../internal/isObject.js";
|
|
4
5
|
/**
|
|
5
6
|
* Collapse a list of UTC intervals into the minimum set of non-overlapping intervals.
|
|
6
7
|
*
|
|
@@ -31,8 +32,7 @@ export function mergeIntervalsUtc(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
|
typeof interval.start === "string" &&
|
|
37
37
|
typeof interval.end === "string" &&
|
|
38
38
|
isValidUtcInterval(interval.start, interval.end))) {
|
|
@@ -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`.
|
|
@@ -18,15 +21,12 @@
|
|
|
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
23
|
* leap-second strings).
|
|
21
|
-
* - `options.maxPieces` (positive safe integer, default `1_000_000`) bounds the output: a split
|
|
22
|
-
* into more slices returns `[]`, decided from the span before stepping where it can be, and
|
|
23
|
-
* otherwise as soon as slice `maxPieces + 1` is due. An invalid `maxPieces` also returns `[]`.
|
|
24
24
|
*
|
|
25
25
|
* @param start ISO UTC datetime string for the interval start
|
|
26
26
|
* @param end ISO UTC datetime string for the interval end
|
|
27
27
|
* @param unit duration unit string — any `DateTimeDurationUnit`
|
|
28
28
|
* @param amount positive number of units per step
|
|
29
|
-
* @param options
|
|
29
|
+
* @param options A limit on the size of the result
|
|
30
30
|
* @returns array of `{ start, end }` records, or [] on invalid input
|
|
31
31
|
*
|
|
32
32
|
* @example splitIntervalByUnitUtc("2024-01-01T00:00:00Z", "2024-01-02T00:00:00Z", "hour", 6) // [{ start: "2024-01-01T00:00:00Z", end: "2024-01-01T06:00:00Z" }, { start: "2024-01-01T06:00:00Z", end: "2024-01-01T12:00:00Z" }, { start: "2024-01-01T12:00:00Z", end: "2024-01-01T18:00:00Z" }, { start: "2024-01-01T18:00:00Z", end: "2024-01-02T00:00:00Z" }]
|
|
@@ -39,8 +39,21 @@
|
|
|
39
39
|
* @example splitIntervalByUnitUtc("+275760-09-12T23:00:00Z", "+275760-09-13T00:00:00Z", "hour", 2) // [{ start: "+275760-09-12T23:00:00Z", end: "+275760-09-13T00:00:00Z" }] (the step past the last instant is trimmed to `end`)
|
|
40
40
|
*/
|
|
41
41
|
export declare function splitIntervalByUnitUtc(start: string, end: string, unit: string, amount: number, options?: {
|
|
42
|
+
/**
|
|
43
|
+
* The most records the result may hold. A result that would hold more, or more than the longest
|
|
44
|
+
* possible array (2^32 - 1 elements), returns `[]` and none is built. A value that is not a
|
|
45
|
+
* positive safe integer also returns `[]`.
|
|
46
|
+
*
|
|
47
|
+
* @defaultValue `1_000_000`
|
|
48
|
+
*/
|
|
42
49
|
maxPieces?: number;
|
|
43
50
|
}): Array<{
|
|
51
|
+
/** The instant the interval begins at, as an ISO 8601 UTC string ending in `Z`. */
|
|
44
52
|
start: string;
|
|
53
|
+
/**
|
|
54
|
+
* The first instant after the interval, in the same format as `start`. It is exclusive: the
|
|
55
|
+
* interval holds everything from `start` up to but not including this value. It can equal
|
|
56
|
+
* `start`, which makes the interval empty.
|
|
57
|
+
*/
|
|
45
58
|
end: string;
|
|
46
59
|
}>;
|
|
@@ -15,8 +15,11 @@ import { minSlicesForSpan } from "../../internal/splitStep.js";
|
|
|
15
15
|
* CORE-6's `splitIntervalAt` uses).
|
|
16
16
|
* - The final sub-interval is trimmed so its `end` never exceeds the original `end`.
|
|
17
17
|
* - Calendar-unit boundaries (years, months, weeks, days) are computed from `start`
|
|
18
|
-
* (`start + k × amount
|
|
19
|
-
*
|
|
18
|
+
* (`start + k × amount`), so month-end starts don't drift: a monthly split from January 31
|
|
19
|
+
* lands on February 29, March 31, April 30. Temporal's `add` constrains a day the month lacks
|
|
20
|
+
* to the month's last day, and stepping from that boundary would keep the shortened day
|
|
21
|
+
* (February 29, then March 29).
|
|
22
|
+
* - Comparison: Luxon's `Interval.splitBy` computes each boundary from the start the same way.
|
|
20
23
|
* - Exact-unit boundaries (hours and smaller) step from the previous boundary. Exact units never
|
|
21
24
|
* clamp, and stepping keeps nanosecond precision where `k × amount` would pass
|
|
22
25
|
* `Number.MAX_SAFE_INTEGER`.
|
|
@@ -25,15 +28,12 @@ import { minSlicesForSpan } from "../../internal/splitStep.js";
|
|
|
25
28
|
* - Returns `[{ start, end }]` when `start === end` (zero-length interval).
|
|
26
29
|
* - Returns `[]` on invalid input (unparseable start/end, unsupported unit, non-positive amount,
|
|
27
30
|
* leap-second strings).
|
|
28
|
-
* - `options.maxPieces` (positive safe integer, default `1_000_000`) bounds the output: a split
|
|
29
|
-
* into more slices returns `[]`, decided from the span before stepping where it can be, and
|
|
30
|
-
* otherwise as soon as slice `maxPieces + 1` is due. An invalid `maxPieces` also returns `[]`.
|
|
31
31
|
*
|
|
32
32
|
* @param start ISO UTC datetime string for the interval start
|
|
33
33
|
* @param end ISO UTC datetime string for the interval end
|
|
34
34
|
* @param unit duration unit string — any `DateTimeDurationUnit`
|
|
35
35
|
* @param amount positive number of units per step
|
|
36
|
-
* @param options
|
|
36
|
+
* @param options A limit on the size of the result
|
|
37
37
|
* @returns array of `{ start, end }` records, or [] on invalid input
|
|
38
38
|
*
|
|
39
39
|
* @example splitIntervalByUnitUtc("2024-01-01T00:00:00Z", "2024-01-02T00:00:00Z", "hour", 6) // [{ start: "2024-01-01T00:00:00Z", end: "2024-01-01T06:00:00Z" }, { start: "2024-01-01T06:00:00Z", end: "2024-01-01T12:00:00Z" }, { start: "2024-01-01T12:00:00Z", end: "2024-01-01T18:00:00Z" }, { start: "2024-01-01T18:00:00Z", end: "2024-01-02T00:00:00Z" }]
|
|
@@ -2,7 +2,7 @@ export * from "./parseDateFromUtc.js";
|
|
|
2
2
|
export * from "./parseDayFromUtc.js";
|
|
3
3
|
export * from "./parseDayOfWeekFromUtc.js";
|
|
4
4
|
export * from "./parseHourFromUtc.js";
|
|
5
|
-
export * from "./
|
|
5
|
+
export * from "./parseHttpDate.js";
|
|
6
6
|
export * from "./parseMicrosecondFromUtc.js";
|
|
7
7
|
export * from "./parseMillisecondFromUtc.js";
|
|
8
8
|
export * from "./parseMinuteFromUtc.js";
|
package/dist/utc/parse/index.js
CHANGED
|
@@ -2,7 +2,7 @@ export * from "./parseDateFromUtc.js";
|
|
|
2
2
|
export * from "./parseDayFromUtc.js";
|
|
3
3
|
export * from "./parseDayOfWeekFromUtc.js";
|
|
4
4
|
export * from "./parseHourFromUtc.js";
|
|
5
|
-
export * from "./
|
|
5
|
+
export * from "./parseHttpDate.js";
|
|
6
6
|
export * from "./parseMicrosecondFromUtc.js";
|
|
7
7
|
export * from "./parseMillisecondFromUtc.js";
|
|
8
8
|
export * from "./parseMinuteFromUtc.js";
|
|
@@ -2,12 +2,10 @@
|
|
|
2
2
|
* Extract the date portion from a UTC datetime string.
|
|
3
3
|
*
|
|
4
4
|
* - Uses Temporal.Instant.from to parse, converts to UTC date.
|
|
5
|
-
* - Reads the value on the wall clock of `options.timeZone` (an IANA zone, default UTC), as
|
|
6
|
-
* `parseTimeFromUtc` does; an invalid zone returns "".
|
|
7
5
|
* - Returns "" for invalid input.
|
|
8
6
|
*
|
|
9
7
|
* @param value ISO UTC datetime string (e.g., "2024-03-17T14:30:45Z")
|
|
10
|
-
* @param options
|
|
8
|
+
* @param options The time zone the value is read in
|
|
11
9
|
* @returns ISO date string (e.g., "2024-03-17") or "" on invalid input
|
|
12
10
|
*
|
|
13
11
|
* @example parseDateFromUtc("2024-03-17T14:30:45Z") // "2024-03-17"
|
|
@@ -15,5 +13,13 @@
|
|
|
15
13
|
* @example parseDateFromUtc("invalid") // ""
|
|
16
14
|
*/
|
|
17
15
|
export declare function parseDateFromUtc(value: string, options?: {
|
|
16
|
+
/**
|
|
17
|
+
* The time zone the wall-clock fields are read in: an IANA name, a UTC offset (a time zone
|
|
18
|
+
* identifier such as `+05:30`, `+0530` or `-08`, or a stored offset `±HH:MM[:SS]`, what
|
|
19
|
+
* `getTimeZoneOffset` returns), or `"local"` for the system time zone. An unknown zone returns
|
|
20
|
+
* `""`.
|
|
21
|
+
*
|
|
22
|
+
* @defaultValue `"UTC"`
|
|
23
|
+
*/
|
|
18
24
|
timeZone?: string;
|
|
19
25
|
}): string;
|
|
@@ -1,15 +1,13 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { utcWallClock } from "../../internal/utcWallClock.js";
|
|
2
2
|
import { isOptionsArgument } from "../../internal/isObject.js";
|
|
3
3
|
/**
|
|
4
4
|
* Extract the date portion from a UTC datetime string.
|
|
5
5
|
*
|
|
6
6
|
* - Uses Temporal.Instant.from to parse, converts to UTC date.
|
|
7
|
-
* - Reads the value on the wall clock of `options.timeZone` (an IANA zone, default UTC), as
|
|
8
|
-
* `parseTimeFromUtc` does; an invalid zone returns "".
|
|
9
7
|
* - Returns "" for invalid input.
|
|
10
8
|
*
|
|
11
9
|
* @param value ISO UTC datetime string (e.g., "2024-03-17T14:30:45Z")
|
|
12
|
-
* @param options
|
|
10
|
+
* @param options The time zone the value is read in
|
|
13
11
|
* @returns ISO date string (e.g., "2024-03-17") or "" on invalid input
|
|
14
12
|
*
|
|
15
13
|
* @example parseDateFromUtc("2024-03-17T14:30:45Z") // "2024-03-17"
|
|
@@ -21,7 +19,7 @@ export function parseDateFromUtc(value, options) {
|
|
|
21
19
|
if (!isOptionsArgument(options)) {
|
|
22
20
|
return "";
|
|
23
21
|
}
|
|
24
|
-
const dateTime =
|
|
22
|
+
const dateTime = utcWallClock(value, options);
|
|
25
23
|
return dateTime === null ? "" : dateTime.toPlainDate().toString();
|
|
26
24
|
}
|
|
27
25
|
catch {
|
|
@@ -2,12 +2,10 @@
|
|
|
2
2
|
* Return the day of month (1-31) from a UTC datetime string.
|
|
3
3
|
*
|
|
4
4
|
* - Returns zero-padded string for day.
|
|
5
|
-
* - Reads the value on the wall clock of `options.timeZone` (an IANA zone, default UTC), as
|
|
6
|
-
* `parseTimeFromUtc` does; an invalid zone returns "".
|
|
7
5
|
* - Returns "" for invalid input.
|
|
8
6
|
*
|
|
9
7
|
* @param value ISO UTC datetime string (e.g., "2024-03-17T14:30:45Z")
|
|
10
|
-
* @param options
|
|
8
|
+
* @param options The time zone the value is read in
|
|
11
9
|
* @returns Day (01-31) or "" on invalid input
|
|
12
10
|
*
|
|
13
11
|
* @example parseDayFromUtc("2024-03-17T14:30:45Z") // "17"
|
|
@@ -15,5 +13,13 @@
|
|
|
15
13
|
* @example parseDayFromUtc("invalid") // ""
|
|
16
14
|
*/
|
|
17
15
|
export declare function parseDayFromUtc(value: string, options?: {
|
|
16
|
+
/**
|
|
17
|
+
* The time zone the wall-clock fields are read in: an IANA name, a UTC offset (a time zone
|
|
18
|
+
* identifier such as `+05:30`, `+0530` or `-08`, or a stored offset `±HH:MM[:SS]`, what
|
|
19
|
+
* `getTimeZoneOffset` returns), or `"local"` for the system time zone. An unknown zone returns
|
|
20
|
+
* `""`.
|
|
21
|
+
*
|
|
22
|
+
* @defaultValue `"UTC"`
|
|
23
|
+
*/
|
|
18
24
|
timeZone?: string;
|
|
19
25
|
}): string;
|
|
@@ -1,15 +1,13 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { utcWallClock } from "../../internal/utcWallClock.js";
|
|
2
2
|
import { isOptionsArgument } from "../../internal/isObject.js";
|
|
3
3
|
/**
|
|
4
4
|
* Return the day of month (1-31) from a UTC datetime string.
|
|
5
5
|
*
|
|
6
6
|
* - Returns zero-padded string for day.
|
|
7
|
-
* - Reads the value on the wall clock of `options.timeZone` (an IANA zone, default UTC), as
|
|
8
|
-
* `parseTimeFromUtc` does; an invalid zone returns "".
|
|
9
7
|
* - Returns "" for invalid input.
|
|
10
8
|
*
|
|
11
9
|
* @param value ISO UTC datetime string (e.g., "2024-03-17T14:30:45Z")
|
|
12
|
-
* @param options
|
|
10
|
+
* @param options The time zone the value is read in
|
|
13
11
|
* @returns Day (01-31) or "" on invalid input
|
|
14
12
|
*
|
|
15
13
|
* @example parseDayFromUtc("2024-03-17T14:30:45Z") // "17"
|
|
@@ -21,7 +19,7 @@ export function parseDayFromUtc(value, options) {
|
|
|
21
19
|
if (!isOptionsArgument(options)) {
|
|
22
20
|
return "";
|
|
23
21
|
}
|
|
24
|
-
const dateTime =
|
|
22
|
+
const dateTime = utcWallClock(value, options);
|
|
25
23
|
return dateTime === null ? "" : dateTime.day.toString().padStart(2, "0");
|
|
26
24
|
}
|
|
27
25
|
catch {
|
|
@@ -2,12 +2,10 @@
|
|
|
2
2
|
* Return the day of week (1-7) from a UTC datetime string.
|
|
3
3
|
*
|
|
4
4
|
* - Monday=1 through Sunday=7.
|
|
5
|
-
* - Reads the value on the wall clock of `options.timeZone` (an IANA zone, default UTC), as
|
|
6
|
-
* `parseTimeFromUtc` does; an invalid zone returns null.
|
|
7
5
|
* - Returns null for invalid input.
|
|
8
6
|
*
|
|
9
7
|
* @param value ISO UTC datetime string (e.g., "2024-03-17T14:30:45Z")
|
|
10
|
-
* @param options
|
|
8
|
+
* @param options The time zone the value is read in
|
|
11
9
|
* @returns Day of week (1-7) or null on invalid input
|
|
12
10
|
*
|
|
13
11
|
* @example parseDayOfWeekFromUtc("2024-03-17T14:30:45Z") // 7
|
|
@@ -16,5 +14,13 @@
|
|
|
16
14
|
* @example parseDayOfWeekFromUtc("invalid") // null
|
|
17
15
|
*/
|
|
18
16
|
export declare function parseDayOfWeekFromUtc(value: string, options?: {
|
|
17
|
+
/**
|
|
18
|
+
* The time zone the wall-clock fields are read in: an IANA name, a UTC offset (a time zone
|
|
19
|
+
* identifier such as `+05:30`, `+0530` or `-08`, or a stored offset `±HH:MM[:SS]`, what
|
|
20
|
+
* `getTimeZoneOffset` returns), or `"local"` for the system time zone. An unknown zone returns
|
|
21
|
+
* `null`.
|
|
22
|
+
*
|
|
23
|
+
* @defaultValue `"UTC"`
|
|
24
|
+
*/
|
|
19
25
|
timeZone?: string;
|
|
20
26
|
}): number | null;
|
|
@@ -1,17 +1,15 @@
|
|
|
1
1
|
import { Temporal } from "@js-temporal/polyfill";
|
|
2
|
-
import {
|
|
2
|
+
import { frameWallClock, normalizeZoneFrame } from "../../internal/zoneFrame.js";
|
|
3
3
|
import { isValidUtc } from "../validate/index.js";
|
|
4
4
|
import { isOptionsArgument } from "../../internal/isObject.js";
|
|
5
5
|
/**
|
|
6
6
|
* Return the day of week (1-7) from a UTC datetime string.
|
|
7
7
|
*
|
|
8
8
|
* - Monday=1 through Sunday=7.
|
|
9
|
-
* - Reads the value on the wall clock of `options.timeZone` (an IANA zone, default UTC), as
|
|
10
|
-
* `parseTimeFromUtc` does; an invalid zone returns null.
|
|
11
9
|
* - Returns null for invalid input.
|
|
12
10
|
*
|
|
13
11
|
* @param value ISO UTC datetime string (e.g., "2024-03-17T14:30:45Z")
|
|
14
|
-
* @param options
|
|
12
|
+
* @param options The time zone the value is read in
|
|
15
13
|
* @returns Day of week (1-7) or null on invalid input
|
|
16
14
|
*
|
|
17
15
|
* @example parseDayOfWeekFromUtc("2024-03-17T14:30:45Z") // 7
|
|
@@ -26,11 +24,11 @@ export function parseDayOfWeekFromUtc(value, options) {
|
|
|
26
24
|
}
|
|
27
25
|
if (!isValidUtc(value))
|
|
28
26
|
return null;
|
|
29
|
-
const
|
|
30
|
-
if (
|
|
27
|
+
const frame = normalizeZoneFrame(options?.timeZone);
|
|
28
|
+
if (frame === null)
|
|
31
29
|
return null;
|
|
32
30
|
try {
|
|
33
|
-
const dateTime = Temporal.Instant.from(value)
|
|
31
|
+
const dateTime = frameWallClock(Temporal.Instant.from(value), frame);
|
|
34
32
|
return dateTime.dayOfWeek;
|
|
35
33
|
}
|
|
36
34
|
catch {
|
|
@@ -2,12 +2,10 @@
|
|
|
2
2
|
* Return the hour (0-23) from a UTC datetime string.
|
|
3
3
|
*
|
|
4
4
|
* - Returns zero-padded string for hour.
|
|
5
|
-
* - Reads the value on the wall clock of `options.timeZone` (an IANA zone, default UTC), as
|
|
6
|
-
* `parseTimeFromUtc` does; an invalid zone returns "".
|
|
7
5
|
* - Returns "" for invalid input.
|
|
8
6
|
*
|
|
9
7
|
* @param value ISO UTC datetime string (e.g., "2024-03-17T14:30:45Z")
|
|
10
|
-
* @param options
|
|
8
|
+
* @param options The time zone the value is read in
|
|
11
9
|
* @returns Hour (00-23) or "" on invalid input
|
|
12
10
|
*
|
|
13
11
|
* @example parseHourFromUtc("2024-03-17T14:30:45Z") // "14"
|
|
@@ -15,5 +13,13 @@
|
|
|
15
13
|
* @example parseHourFromUtc("invalid") // ""
|
|
16
14
|
*/
|
|
17
15
|
export declare function parseHourFromUtc(value: string, options?: {
|
|
16
|
+
/**
|
|
17
|
+
* The time zone the wall-clock fields are read in: an IANA name, a UTC offset (a time zone
|
|
18
|
+
* identifier such as `+05:30`, `+0530` or `-08`, or a stored offset `±HH:MM[:SS]`, what
|
|
19
|
+
* `getTimeZoneOffset` returns), or `"local"` for the system time zone. An unknown zone returns
|
|
20
|
+
* `""`.
|
|
21
|
+
*
|
|
22
|
+
* @defaultValue `"UTC"`
|
|
23
|
+
*/
|
|
18
24
|
timeZone?: string;
|
|
19
25
|
}): string;
|