@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
|
@@ -7,34 +7,42 @@ import type { UnixUnit } from "../validate/isValidUnixUnit.js";
|
|
|
7
7
|
* no value and together cover `[start, end)` exactly once.
|
|
8
8
|
* - The final sub-interval is trimmed so its `end` never exceeds the original `end`.
|
|
9
9
|
* - Calendar-unit boundaries (years, months, weeks, days) are computed from `start`
|
|
10
|
-
* (`start + k × amount
|
|
11
|
-
*
|
|
10
|
+
* (`start + k × amount`), so month-end starts don't drift: a monthly split from January 31
|
|
11
|
+
* lands on February 29, March 31, April 30. Temporal's `add` constrains a day the month lacks
|
|
12
|
+
* to the month's last day, and stepping from that boundary would keep the shortened day
|
|
13
|
+
* (February 29, then March 29).
|
|
14
|
+
* - Comparison: Luxon's `Interval.splitBy` computes each boundary from the start the same way.
|
|
12
15
|
* - Exact-unit boundaries (hours and smaller) step from the previous boundary. Exact units never
|
|
13
16
|
* clamp, and stepping keeps nanosecond precision where `k × amount` would pass
|
|
14
17
|
* `Number.MAX_SAFE_INTEGER` (boundaries are then floored to milliseconds).
|
|
15
18
|
* - A calendar step that resolves to the same instant as the previous boundary (a deleted local
|
|
16
19
|
* day, such as 30 December 2011 in `Pacific/Apia`) is skipped, so no empty slice is produced.
|
|
17
20
|
* A step that goes backwards returns `[]`.
|
|
21
|
+
* - A step finer than `epochUnit` (500 milliseconds when the epochs are seconds, any microsecond
|
|
22
|
+
* or nanosecond step shorter than a millisecond) cannot be written in that unit: its boundaries
|
|
23
|
+
* floor to every whole unit from `start` to `end`, so the pieces are one `epochUnit` long and
|
|
24
|
+
* none is empty. `maxPieces` counts those pieces.
|
|
18
25
|
* - Returns `[{ start, end }]` when `start === end` (zero-length interval).
|
|
19
26
|
* - Returns `[]` on invalid input (`start`/`end` that is not a safe integer or numeric string of
|
|
20
27
|
* one — fractions, empty strings and values beyond ±(2^53 − 1) are invalid — unsupported unit,
|
|
21
28
|
* non-positive amount, an invalid `epochUnit` or an unknown `timeZone`).
|
|
22
29
|
*
|
|
23
|
-
* -
|
|
24
|
-
* by default, `"seconds"`; singular accepted). Each input is a safe integer or a string of
|
|
25
|
-
* optionally negative ASCII digits.
|
|
26
|
-
* - Calendar-unit arithmetic runs in `options.timeZone`: omitted is `"UTC"`, `"local"` is the
|
|
27
|
-
* system zone, and an unknown zone returns `[]`.
|
|
30
|
+
* - `start` and `end` are each a safe integer or a string of optionally negative ASCII digits.
|
|
28
31
|
* - Accepts singular or plural units (`"day"` and `"days"` behave identically).
|
|
29
|
-
* - `options.maxPieces`
|
|
30
|
-
*
|
|
31
|
-
*
|
|
32
|
+
* - A split into more than `options.maxPieces` slices returns `[]`, decided from the span before
|
|
33
|
+
* stepping where it can be, and otherwise as soon as slice `maxPieces + 1` is due.
|
|
34
|
+
* - **Limit at an offset with seconds.** The instant is placed in the offset's whole-minute zone,
|
|
35
|
+
* moved by its seconds, and the moved instant must be inside Temporal's range. So within the
|
|
36
|
+
* offset's seconds (under a minute) of the last instant Temporal supports
|
|
37
|
+
* (`+275760-09-13T00:00:00Z`) for an offset east of UTC, or of the first
|
|
38
|
+
* (`-271821-04-20T00:00:00Z`) for one west, this returns `[]`. An offset to the minute has no
|
|
39
|
+
* such limit.
|
|
32
40
|
*
|
|
33
41
|
* @param start Unix epoch in `epochUnit` — interval start
|
|
34
42
|
* @param end Unix epoch in `epochUnit` — interval end
|
|
35
43
|
* @param unit duration unit string — any `DateTimeDurationUnit`, singular or plural
|
|
36
44
|
* @param amount positive number of units per step
|
|
37
|
-
* @param options optional:
|
|
45
|
+
* @param options optional: the limit on the number of slices, how the epochs are read and the zone calendar steps run in
|
|
38
46
|
* @returns array of `{ start, end }` records, or [] on invalid input
|
|
39
47
|
*
|
|
40
48
|
* @example splitIntervalByUnitUnix(0, 86400000, "hour", 6) // [{ start: 0, end: 21600000 }, { start: 21600000, end: 43200000 }, { start: 43200000, end: 64800000 }, { start: 64800000, end: 86400000 }]
|
|
@@ -46,12 +54,43 @@ import type { UnixUnit } from "../validate/isValidUnixUnit.js";
|
|
|
46
54
|
* @example splitIntervalByUnitUnix(0, 86400000, "hour", 6, { maxPieces: 4 }) // [{ start: 0, end: 21600000 }, { start: 21600000, end: 43200000 }, { start: 43200000, end: 64800000 }, { start: 64800000, end: 86400000 }]
|
|
47
55
|
* @example splitIntervalByUnitUnix(1710046800000, 1710216000000, "day", 1, { timeZone: "America/New_York" }) // [{ start: 1710046800000, end: 1710129600000 }, { start: 1710129600000, end: 1710216000000 }] (the first local day is 23 hours)
|
|
48
56
|
* @example splitIntervalByUnitUnix("0", "86400", "hours", 12, { epochUnit: "second" }) // [{ start: 0, end: 43200 }, { start: 43200, end: 86400 }]
|
|
57
|
+
* @example splitIntervalByUnitUnix(0, 2, "millisecond", 500, { epochUnit: "seconds" }) // [{ start: 0, end: 1 }, { start: 1, end: 2 }] (a step finer than the epoch unit gives one-second pieces)
|
|
49
58
|
*/
|
|
50
59
|
export declare function splitIntervalByUnitUnix(start: number | string, end: number | string, unit: string, amount: number, options?: {
|
|
60
|
+
/**
|
|
61
|
+
* The most records the result may hold. A result that would hold more, or more than the longest
|
|
62
|
+
* possible array (2^32 - 1 elements), returns `[]` and none is built. A value that is not a
|
|
63
|
+
* positive safe integer also returns `[]`.
|
|
64
|
+
*
|
|
65
|
+
* @defaultValue `1_000_000`
|
|
66
|
+
*/
|
|
51
67
|
maxPieces?: number;
|
|
68
|
+
/**
|
|
69
|
+
* The unit the epoch values are counted in: `"seconds"` or `"milliseconds"`, singular or
|
|
70
|
+
* plural. Any other value returns `[]`. The result is in the same unit.
|
|
71
|
+
*
|
|
72
|
+
* @defaultValue `"milliseconds"`
|
|
73
|
+
*/
|
|
52
74
|
epochUnit?: UnixUnit;
|
|
75
|
+
/**
|
|
76
|
+
* The time zone the calendar arithmetic runs in: an IANA name, a UTC offset (a time zone
|
|
77
|
+
* identifier such as `+05:30`, `+0530` or `-08`, or a stored offset `±HH:MM[:SS]`, what
|
|
78
|
+
* `getTimeZoneOffset` returns), or `"local"` for the system time zone. An unknown zone returns
|
|
79
|
+
* `[]`.
|
|
80
|
+
*
|
|
81
|
+
* @defaultValue `"UTC"`
|
|
82
|
+
*/
|
|
53
83
|
timeZone?: string;
|
|
54
84
|
}): Array<{
|
|
85
|
+
/**
|
|
86
|
+
* The instant the interval begins at, as a Unix epoch number counted in `epochUnit`. A boundary
|
|
87
|
+
* that falls between two whole units is rounded down to the earlier one.
|
|
88
|
+
*/
|
|
55
89
|
start: number;
|
|
90
|
+
/**
|
|
91
|
+
* The first instant after the interval, counted in `epochUnit` and rounded as `start` is. It is
|
|
92
|
+
* exclusive: the interval holds everything from `start` up to but not including this value. It
|
|
93
|
+
* can equal `start`, which makes the interval empty.
|
|
94
|
+
*/
|
|
56
95
|
end: number;
|
|
57
96
|
}>;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
// fallow-ignore-file code-duplication -- cross-family Temporal type clone, by design (rule 5)
|
|
2
2
|
import { Temporal } from "@js-temporal/polyfill";
|
|
3
|
-
import { resolveDurationUnit, tileByUnit } from "../../internal/index.js";
|
|
3
|
+
import { frameInstant, resolveDurationUnit, tileByUnit } from "../../internal/index.js";
|
|
4
4
|
import { exceedsPieceLimit, resolveMaxPieces } from "../../internal/maxPieces.js";
|
|
5
5
|
import { resolveUnixIntervalPair } from "../../internal/resolveUnixIntervalPair.js";
|
|
6
|
-
import { minSlicesForSpan } from "../../internal/splitStep.js";
|
|
6
|
+
import { minSlicesForSpan, stepNoFinerThan } from "../../internal/splitStep.js";
|
|
7
7
|
import { toUnixEpoch } from "../../internal/unixEpochValue.js";
|
|
8
8
|
/**
|
|
9
9
|
* Split a Unix epoch interval into sub-intervals of `amount × unit`.
|
|
@@ -13,34 +13,42 @@ import { toUnixEpoch } from "../../internal/unixEpochValue.js";
|
|
|
13
13
|
* no value and together cover `[start, end)` exactly once.
|
|
14
14
|
* - The final sub-interval is trimmed so its `end` never exceeds the original `end`.
|
|
15
15
|
* - Calendar-unit boundaries (years, months, weeks, days) are computed from `start`
|
|
16
|
-
* (`start + k × amount
|
|
17
|
-
*
|
|
16
|
+
* (`start + k × amount`), so month-end starts don't drift: a monthly split from January 31
|
|
17
|
+
* lands on February 29, March 31, April 30. Temporal's `add` constrains a day the month lacks
|
|
18
|
+
* to the month's last day, and stepping from that boundary would keep the shortened day
|
|
19
|
+
* (February 29, then March 29).
|
|
20
|
+
* - Comparison: Luxon's `Interval.splitBy` computes each boundary from the start the same way.
|
|
18
21
|
* - Exact-unit boundaries (hours and smaller) step from the previous boundary. Exact units never
|
|
19
22
|
* clamp, and stepping keeps nanosecond precision where `k × amount` would pass
|
|
20
23
|
* `Number.MAX_SAFE_INTEGER` (boundaries are then floored to milliseconds).
|
|
21
24
|
* - A calendar step that resolves to the same instant as the previous boundary (a deleted local
|
|
22
25
|
* day, such as 30 December 2011 in `Pacific/Apia`) is skipped, so no empty slice is produced.
|
|
23
26
|
* A step that goes backwards returns `[]`.
|
|
27
|
+
* - A step finer than `epochUnit` (500 milliseconds when the epochs are seconds, any microsecond
|
|
28
|
+
* or nanosecond step shorter than a millisecond) cannot be written in that unit: its boundaries
|
|
29
|
+
* floor to every whole unit from `start` to `end`, so the pieces are one `epochUnit` long and
|
|
30
|
+
* none is empty. `maxPieces` counts those pieces.
|
|
24
31
|
* - Returns `[{ start, end }]` when `start === end` (zero-length interval).
|
|
25
32
|
* - Returns `[]` on invalid input (`start`/`end` that is not a safe integer or numeric string of
|
|
26
33
|
* one — fractions, empty strings and values beyond ±(2^53 − 1) are invalid — unsupported unit,
|
|
27
34
|
* non-positive amount, an invalid `epochUnit` or an unknown `timeZone`).
|
|
28
35
|
*
|
|
29
|
-
* -
|
|
30
|
-
* by default, `"seconds"`; singular accepted). Each input is a safe integer or a string of
|
|
31
|
-
* optionally negative ASCII digits.
|
|
32
|
-
* - Calendar-unit arithmetic runs in `options.timeZone`: omitted is `"UTC"`, `"local"` is the
|
|
33
|
-
* system zone, and an unknown zone returns `[]`.
|
|
36
|
+
* - `start` and `end` are each a safe integer or a string of optionally negative ASCII digits.
|
|
34
37
|
* - Accepts singular or plural units (`"day"` and `"days"` behave identically).
|
|
35
|
-
* - `options.maxPieces`
|
|
36
|
-
*
|
|
37
|
-
*
|
|
38
|
+
* - A split into more than `options.maxPieces` slices returns `[]`, decided from the span before
|
|
39
|
+
* stepping where it can be, and otherwise as soon as slice `maxPieces + 1` is due.
|
|
40
|
+
* - **Limit at an offset with seconds.** The instant is placed in the offset's whole-minute zone,
|
|
41
|
+
* moved by its seconds, and the moved instant must be inside Temporal's range. So within the
|
|
42
|
+
* offset's seconds (under a minute) of the last instant Temporal supports
|
|
43
|
+
* (`+275760-09-13T00:00:00Z`) for an offset east of UTC, or of the first
|
|
44
|
+
* (`-271821-04-20T00:00:00Z`) for one west, this returns `[]`. An offset to the minute has no
|
|
45
|
+
* such limit.
|
|
38
46
|
*
|
|
39
47
|
* @param start Unix epoch in `epochUnit` — interval start
|
|
40
48
|
* @param end Unix epoch in `epochUnit` — interval end
|
|
41
49
|
* @param unit duration unit string — any `DateTimeDurationUnit`, singular or plural
|
|
42
50
|
* @param amount positive number of units per step
|
|
43
|
-
* @param options optional:
|
|
51
|
+
* @param options optional: the limit on the number of slices, how the epochs are read and the zone calendar steps run in
|
|
44
52
|
* @returns array of `{ start, end }` records, or [] on invalid input
|
|
45
53
|
*
|
|
46
54
|
* @example splitIntervalByUnitUnix(0, 86400000, "hour", 6) // [{ start: 0, end: 21600000 }, { start: 21600000, end: 43200000 }, { start: 43200000, end: 64800000 }, { start: 64800000, end: 86400000 }]
|
|
@@ -52,6 +60,7 @@ import { toUnixEpoch } from "../../internal/unixEpochValue.js";
|
|
|
52
60
|
* @example splitIntervalByUnitUnix(0, 86400000, "hour", 6, { maxPieces: 4 }) // [{ start: 0, end: 21600000 }, { start: 21600000, end: 43200000 }, { start: 43200000, end: 64800000 }, { start: 64800000, end: 86400000 }]
|
|
53
61
|
* @example splitIntervalByUnitUnix(1710046800000, 1710216000000, "day", 1, { timeZone: "America/New_York" }) // [{ start: 1710046800000, end: 1710129600000 }, { start: 1710129600000, end: 1710216000000 }] (the first local day is 23 hours)
|
|
54
62
|
* @example splitIntervalByUnitUnix("0", "86400", "hours", 12, { epochUnit: "second" }) // [{ start: 0, end: 43200 }, { start: 43200, end: 86400 }]
|
|
63
|
+
* @example splitIntervalByUnitUnix(0, 2, "millisecond", 500, { epochUnit: "seconds" }) // [{ start: 0, end: 1 }, { start: 1, end: 2 }] (a step finer than the epoch unit gives one-second pieces)
|
|
55
64
|
*/
|
|
56
65
|
export function splitIntervalByUnitUnix(start, end, unit, amount, options) {
|
|
57
66
|
try {
|
|
@@ -66,27 +75,29 @@ export function splitIntervalByUnitUnix(start, end, unit, amount, options) {
|
|
|
66
75
|
if (maxPieces === null) {
|
|
67
76
|
return [];
|
|
68
77
|
}
|
|
69
|
-
const { startVal, endVal, epochUnit } = pair;
|
|
70
|
-
// Temporal's plural duration field name, as the tiling steps add `{ [unit]: amount }`.
|
|
71
|
-
|
|
78
|
+
const { startVal, endVal, epochUnit, frame } = pair;
|
|
79
|
+
// Temporal's plural duration field name, as the tiling steps add `{ [unit]: amount }`. A step
|
|
80
|
+
// finer than the epoch unit would floor neighbouring boundaries to one value (an empty slice),
|
|
81
|
+
// so it steps by one epoch unit instead.
|
|
82
|
+
const [resolvedUnit, stepAmount] = stepNoFinerThan(resolveDurationUnit(pair.resolvedUnit), amount, epochUnit);
|
|
72
83
|
if (startVal.epochNanoseconds === endVal.epochNanoseconds) {
|
|
73
84
|
return [
|
|
74
85
|
{
|
|
75
|
-
start: toUnixEpoch(startVal, epochUnit),
|
|
76
|
-
end: toUnixEpoch(endVal, epochUnit),
|
|
86
|
+
start: toUnixEpoch(frameInstant(startVal, frame), epochUnit),
|
|
87
|
+
end: toUnixEpoch(frameInstant(endVal, frame), epochUnit),
|
|
77
88
|
},
|
|
78
89
|
];
|
|
79
90
|
}
|
|
80
91
|
try {
|
|
81
92
|
const spanNs = Number(endVal.epochNanoseconds - startVal.epochNanoseconds);
|
|
82
|
-
if (exceedsPieceLimit(minSlicesForSpan(spanNs, resolvedUnit,
|
|
93
|
+
if (exceedsPieceLimit(minSlicesForSpan(spanNs, resolvedUnit, stepAmount, true), maxPieces)) {
|
|
83
94
|
return [];
|
|
84
95
|
}
|
|
85
96
|
// Boundaries stay ZonedDateTime (nanosecond) values; only the output is floored to epochUnit.
|
|
86
|
-
const slices = tileByUnit(startVal, endVal, Temporal.ZonedDateTime.compare, resolvedUnit,
|
|
97
|
+
const slices = tileByUnit(startVal, endVal, Temporal.ZonedDateTime.compare, resolvedUnit, stepAmount, maxPieces);
|
|
87
98
|
return (slices ?? []).map(([sliceStart, sliceEnd]) => ({
|
|
88
|
-
start: toUnixEpoch(sliceStart, epochUnit),
|
|
89
|
-
end: toUnixEpoch(sliceEnd, epochUnit),
|
|
99
|
+
start: toUnixEpoch(frameInstant(sliceStart, frame), epochUnit),
|
|
100
|
+
end: toUnixEpoch(frameInstant(sliceEnd, frame), epochUnit),
|
|
90
101
|
}));
|
|
91
102
|
}
|
|
92
103
|
catch {
|
|
@@ -3,11 +3,10 @@ import type { UnixUnit } from "../validate/index.js";
|
|
|
3
3
|
* Extract the date portion from a unix epoch value.
|
|
4
4
|
*
|
|
5
5
|
* - Converts to ZonedDateTime then extracts the PlainDate.
|
|
6
|
-
* - Uses UTC if `timeZone` is not specified; `"local"` is the system time zone.
|
|
7
6
|
* - Returns "" for invalid input.
|
|
8
7
|
*
|
|
9
8
|
* @param value unix epoch in milliseconds or seconds: a safe integer, or a string of optionally negative ASCII digits
|
|
10
|
-
* @param options optional:
|
|
9
|
+
* @param options optional: how `value` is read and the zone its wall clock is read in
|
|
11
10
|
* @returns ISO date string (e.g., "2024-03-17") or "" on invalid input
|
|
12
11
|
*
|
|
13
12
|
* @example parseDateFromUnix(1700000000000, { timeZone: "UTC" }) // "2023-11-14"
|
|
@@ -17,6 +16,20 @@ import type { UnixUnit } from "../validate/index.js";
|
|
|
17
16
|
* @example parseDateFromUnix(1.5) // "" (not an integer epoch)
|
|
18
17
|
*/
|
|
19
18
|
export declare function parseDateFromUnix(value: number | string, options?: {
|
|
19
|
+
/**
|
|
20
|
+
* The unit the epoch values are counted in: `"seconds"` or `"milliseconds"`, singular or
|
|
21
|
+
* plural. Any other value returns `""`.
|
|
22
|
+
*
|
|
23
|
+
* @defaultValue `"milliseconds"`
|
|
24
|
+
*/
|
|
20
25
|
epochUnit?: UnixUnit;
|
|
26
|
+
/**
|
|
27
|
+
* The time zone the wall-clock fields are read in: an IANA name, a UTC offset (a time zone
|
|
28
|
+
* identifier such as `+05:30`, `+0530` or `-08`, or a stored offset `±HH:MM[:SS]`, what
|
|
29
|
+
* `getTimeZoneOffset` returns), or `"local"` for the system time zone. An unknown zone returns
|
|
30
|
+
* `""`.
|
|
31
|
+
*
|
|
32
|
+
* @defaultValue `"UTC"`
|
|
33
|
+
*/
|
|
21
34
|
timeZone?: string;
|
|
22
35
|
}): string;
|
|
@@ -1,14 +1,13 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { unixWallClock } from "../../internal/unixWallClock.js";
|
|
2
2
|
import { isOptionsArgument } from "../../internal/isObject.js";
|
|
3
3
|
/**
|
|
4
4
|
* Extract the date portion from a unix epoch value.
|
|
5
5
|
*
|
|
6
6
|
* - Converts to ZonedDateTime then extracts the PlainDate.
|
|
7
|
-
* - Uses UTC if `timeZone` is not specified; `"local"` is the system time zone.
|
|
8
7
|
* - Returns "" for invalid input.
|
|
9
8
|
*
|
|
10
9
|
* @param value unix epoch in milliseconds or seconds: a safe integer, or a string of optionally negative ASCII digits
|
|
11
|
-
* @param options optional:
|
|
10
|
+
* @param options optional: how `value` is read and the zone its wall clock is read in
|
|
12
11
|
* @returns ISO date string (e.g., "2024-03-17") or "" on invalid input
|
|
13
12
|
*
|
|
14
13
|
* @example parseDateFromUnix(1700000000000, { timeZone: "UTC" }) // "2023-11-14"
|
|
@@ -22,8 +21,8 @@ export function parseDateFromUnix(value, options) {
|
|
|
22
21
|
if (!isOptionsArgument(options)) {
|
|
23
22
|
return "";
|
|
24
23
|
}
|
|
25
|
-
const
|
|
26
|
-
return
|
|
24
|
+
const wallClock = unixWallClock(value, options);
|
|
25
|
+
return wallClock === null ? "" : wallClock.toPlainDate().toString();
|
|
27
26
|
}
|
|
28
27
|
catch {
|
|
29
28
|
// Never throws (Core Rule 3): a hostile
|
|
@@ -3,11 +3,11 @@ import type { UnixUnit } from "../validate/index.js";
|
|
|
3
3
|
* Return the day of month (1-31) from a unix epoch value.
|
|
4
4
|
*
|
|
5
5
|
* - Delegates to {@link parseUnitFromUnix} with unit "day".
|
|
6
|
-
* - `value` is a safe integer or a digit string
|
|
6
|
+
* - `value` is a safe integer or a digit string.
|
|
7
7
|
* - Returns "" for invalid input.
|
|
8
8
|
*
|
|
9
9
|
* @param value unix epoch in milliseconds or seconds: a safe integer, or a string of optionally negative ASCII digits
|
|
10
|
-
* @param options optional:
|
|
10
|
+
* @param options optional: how `value` is read and the zone its wall clock is read in
|
|
11
11
|
* @returns Day (01-31) or "" on invalid input
|
|
12
12
|
*
|
|
13
13
|
* @example parseDayFromUnix(1700000000000, { timeZone: "UTC" }) // "14"
|
|
@@ -15,6 +15,20 @@ import type { UnixUnit } from "../validate/index.js";
|
|
|
15
15
|
* @example parseDayFromUnix("") // "" (a blank string is not epoch 0)
|
|
16
16
|
*/
|
|
17
17
|
export declare function parseDayFromUnix(value: number | string, options?: {
|
|
18
|
+
/**
|
|
19
|
+
* The unit the epoch values are counted in: `"seconds"` or `"milliseconds"`, singular or
|
|
20
|
+
* plural. Any other value returns `""`.
|
|
21
|
+
*
|
|
22
|
+
* @defaultValue `"milliseconds"`
|
|
23
|
+
*/
|
|
18
24
|
epochUnit?: UnixUnit;
|
|
25
|
+
/**
|
|
26
|
+
* The time zone the wall-clock fields are read in: an IANA name, a UTC offset (a time zone
|
|
27
|
+
* identifier such as `+05:30`, `+0530` or `-08`, or a stored offset `±HH:MM[:SS]`, what
|
|
28
|
+
* `getTimeZoneOffset` returns), or `"local"` for the system time zone. An unknown zone returns
|
|
29
|
+
* `""`.
|
|
30
|
+
*
|
|
31
|
+
* @defaultValue `"UTC"`
|
|
32
|
+
*/
|
|
19
33
|
timeZone?: string;
|
|
20
34
|
}): string;
|
|
@@ -4,11 +4,11 @@ import { isOptionsArgument } from "../../internal/isObject.js";
|
|
|
4
4
|
* Return the day of month (1-31) from a unix epoch value.
|
|
5
5
|
*
|
|
6
6
|
* - Delegates to {@link parseUnitFromUnix} with unit "day".
|
|
7
|
-
* - `value` is a safe integer or a digit string
|
|
7
|
+
* - `value` is a safe integer or a digit string.
|
|
8
8
|
* - Returns "" for invalid input.
|
|
9
9
|
*
|
|
10
10
|
* @param value unix epoch in milliseconds or seconds: a safe integer, or a string of optionally negative ASCII digits
|
|
11
|
-
* @param options optional:
|
|
11
|
+
* @param options optional: how `value` is read and the zone its wall clock is read in
|
|
12
12
|
* @returns Day (01-31) or "" on invalid input
|
|
13
13
|
*
|
|
14
14
|
* @example parseDayFromUnix(1700000000000, { timeZone: "UTC" }) // "14"
|
|
@@ -6,7 +6,7 @@ import type { UnixUnit } from "../validate/index.js";
|
|
|
6
6
|
* - Returns null for invalid input.
|
|
7
7
|
*
|
|
8
8
|
* @param value unix epoch in milliseconds or seconds: a safe integer, or a string of optionally negative ASCII digits
|
|
9
|
-
* @param options optional:
|
|
9
|
+
* @param options optional: how `value` is read and the zone its wall clock is read in
|
|
10
10
|
* @returns Day of week (1-7) or null on invalid input
|
|
11
11
|
*
|
|
12
12
|
* @example parseDayOfWeekFromUnix(1704067200000, { timeZone: "UTC" }) // 1
|
|
@@ -16,6 +16,20 @@ import type { UnixUnit } from "../validate/index.js";
|
|
|
16
16
|
* @example parseDayOfWeekFromUnix("") // null (a blank string is not epoch 0)
|
|
17
17
|
*/
|
|
18
18
|
export declare function parseDayOfWeekFromUnix(value: number | string, options?: {
|
|
19
|
+
/**
|
|
20
|
+
* The unit the epoch values are counted in: `"seconds"` or `"milliseconds"`, singular or
|
|
21
|
+
* plural. Any other value returns `null`.
|
|
22
|
+
*
|
|
23
|
+
* @defaultValue `"milliseconds"`
|
|
24
|
+
*/
|
|
19
25
|
epochUnit?: UnixUnit;
|
|
26
|
+
/**
|
|
27
|
+
* The time zone the wall-clock fields are read in: an IANA name, a UTC offset (a time zone
|
|
28
|
+
* identifier such as `+05:30`, `+0530` or `-08`, or a stored offset `±HH:MM[:SS]`, what
|
|
29
|
+
* `getTimeZoneOffset` returns), or `"local"` for the system time zone. An unknown zone returns
|
|
30
|
+
* `null`.
|
|
31
|
+
*
|
|
32
|
+
* @defaultValue `"UTC"`
|
|
33
|
+
*/
|
|
20
34
|
timeZone?: string;
|
|
21
35
|
}): number | null;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { unixWallClock } from "../../internal/unixWallClock.js";
|
|
2
2
|
import { isOptionsArgument } from "../../internal/isObject.js";
|
|
3
3
|
/**
|
|
4
4
|
* Return the day of week (1-7) from a unix epoch value.
|
|
@@ -7,7 +7,7 @@ import { isOptionsArgument } from "../../internal/isObject.js";
|
|
|
7
7
|
* - Returns null for invalid input.
|
|
8
8
|
*
|
|
9
9
|
* @param value unix epoch in milliseconds or seconds: a safe integer, or a string of optionally negative ASCII digits
|
|
10
|
-
* @param options optional:
|
|
10
|
+
* @param options optional: how `value` is read and the zone its wall clock is read in
|
|
11
11
|
* @returns Day of week (1-7) or null on invalid input
|
|
12
12
|
*
|
|
13
13
|
* @example parseDayOfWeekFromUnix(1704067200000, { timeZone: "UTC" }) // 1
|
|
@@ -21,7 +21,7 @@ export function parseDayOfWeekFromUnix(value, options) {
|
|
|
21
21
|
if (!isOptionsArgument(options)) {
|
|
22
22
|
return null;
|
|
23
23
|
}
|
|
24
|
-
return
|
|
24
|
+
return unixWallClock(value, options)?.dayOfWeek ?? null;
|
|
25
25
|
}
|
|
26
26
|
catch {
|
|
27
27
|
// Never throws (Core Rule 3): a hostile
|
|
@@ -3,11 +3,11 @@ import type { UnixUnit } from "../validate/index.js";
|
|
|
3
3
|
* Return the hour (0-23) from a unix epoch value.
|
|
4
4
|
*
|
|
5
5
|
* - Delegates to {@link parseUnitFromUnix} with unit "hour".
|
|
6
|
-
* - `value` is a safe integer or a digit string
|
|
6
|
+
* - `value` is a safe integer or a digit string.
|
|
7
7
|
* - Returns "" for invalid input.
|
|
8
8
|
*
|
|
9
9
|
* @param value unix epoch in milliseconds or seconds: a safe integer, or a string of optionally negative ASCII digits
|
|
10
|
-
* @param options optional:
|
|
10
|
+
* @param options optional: how `value` is read and the zone its wall clock is read in
|
|
11
11
|
* @returns Hour (00-23) or "" on invalid input
|
|
12
12
|
*
|
|
13
13
|
* @example parseHourFromUnix(1700000000000, { timeZone: "UTC" }) // "22"
|
|
@@ -15,6 +15,20 @@ import type { UnixUnit } from "../validate/index.js";
|
|
|
15
15
|
* @example parseHourFromUnix("") // "" (a blank string is not epoch 0)
|
|
16
16
|
*/
|
|
17
17
|
export declare function parseHourFromUnix(value: number | string, options?: {
|
|
18
|
+
/**
|
|
19
|
+
* The unit the epoch values are counted in: `"seconds"` or `"milliseconds"`, singular or
|
|
20
|
+
* plural. Any other value returns `""`.
|
|
21
|
+
*
|
|
22
|
+
* @defaultValue `"milliseconds"`
|
|
23
|
+
*/
|
|
18
24
|
epochUnit?: UnixUnit;
|
|
25
|
+
/**
|
|
26
|
+
* The time zone the wall-clock fields are read in: an IANA name, a UTC offset (a time zone
|
|
27
|
+
* identifier such as `+05:30`, `+0530` or `-08`, or a stored offset `±HH:MM[:SS]`, what
|
|
28
|
+
* `getTimeZoneOffset` returns), or `"local"` for the system time zone. An unknown zone returns
|
|
29
|
+
* `""`.
|
|
30
|
+
*
|
|
31
|
+
* @defaultValue `"UTC"`
|
|
32
|
+
*/
|
|
19
33
|
timeZone?: string;
|
|
20
34
|
}): string;
|
|
@@ -4,11 +4,11 @@ import { isOptionsArgument } from "../../internal/isObject.js";
|
|
|
4
4
|
* Return the hour (0-23) from a unix epoch value.
|
|
5
5
|
*
|
|
6
6
|
* - Delegates to {@link parseUnitFromUnix} with unit "hour".
|
|
7
|
-
* - `value` is a safe integer or a digit string
|
|
7
|
+
* - `value` is a safe integer or a digit string.
|
|
8
8
|
* - Returns "" for invalid input.
|
|
9
9
|
*
|
|
10
10
|
* @param value unix epoch in milliseconds or seconds: a safe integer, or a string of optionally negative ASCII digits
|
|
11
|
-
* @param options optional:
|
|
11
|
+
* @param options optional: how `value` is read and the zone its wall clock is read in
|
|
12
12
|
* @returns Hour (00-23) or "" on invalid input
|
|
13
13
|
*
|
|
14
14
|
* @example parseHourFromUnix(1700000000000, { timeZone: "UTC" }) // "22"
|
|
@@ -3,11 +3,11 @@ import type { UnixUnit } from "../validate/index.js";
|
|
|
3
3
|
* Return the microsecond (0-999) from a unix epoch value.
|
|
4
4
|
*
|
|
5
5
|
* - Delegates to {@link parseUnitFromUnix} with unit "microsecond".
|
|
6
|
-
* - `value` is a safe integer or a digit string
|
|
6
|
+
* - `value` is a safe integer or a digit string.
|
|
7
7
|
* - Returns "" for invalid input.
|
|
8
8
|
*
|
|
9
9
|
* @param value unix epoch in milliseconds or seconds: a safe integer, or a string of optionally negative ASCII digits
|
|
10
|
-
* @param options optional:
|
|
10
|
+
* @param options optional: how `value` is read and the zone its wall clock is read in
|
|
11
11
|
* @returns Microsecond (000-999) or "" on invalid input
|
|
12
12
|
*
|
|
13
13
|
* @example parseMicrosecondFromUnix(1700000000000) // "000"
|
|
@@ -15,6 +15,20 @@ import type { UnixUnit } from "../validate/index.js";
|
|
|
15
15
|
* @example parseMicrosecondFromUnix("") // "" (a blank string is not epoch 0)
|
|
16
16
|
*/
|
|
17
17
|
export declare function parseMicrosecondFromUnix(value: number | string, options?: {
|
|
18
|
+
/**
|
|
19
|
+
* The unit the epoch values are counted in: `"seconds"` or `"milliseconds"`, singular or
|
|
20
|
+
* plural. Any other value returns `""`.
|
|
21
|
+
*
|
|
22
|
+
* @defaultValue `"milliseconds"`
|
|
23
|
+
*/
|
|
18
24
|
epochUnit?: UnixUnit;
|
|
25
|
+
/**
|
|
26
|
+
* The time zone the wall-clock fields are read in: an IANA name, a UTC offset (a time zone
|
|
27
|
+
* identifier such as `+05:30`, `+0530` or `-08`, or a stored offset `±HH:MM[:SS]`, what
|
|
28
|
+
* `getTimeZoneOffset` returns), or `"local"` for the system time zone. An unknown zone returns
|
|
29
|
+
* `""`.
|
|
30
|
+
*
|
|
31
|
+
* @defaultValue `"UTC"`
|
|
32
|
+
*/
|
|
19
33
|
timeZone?: string;
|
|
20
34
|
}): string;
|
|
@@ -4,11 +4,11 @@ import { isOptionsArgument } from "../../internal/isObject.js";
|
|
|
4
4
|
* Return the microsecond (0-999) from a unix epoch value.
|
|
5
5
|
*
|
|
6
6
|
* - Delegates to {@link parseUnitFromUnix} with unit "microsecond".
|
|
7
|
-
* - `value` is a safe integer or a digit string
|
|
7
|
+
* - `value` is a safe integer or a digit string.
|
|
8
8
|
* - Returns "" for invalid input.
|
|
9
9
|
*
|
|
10
10
|
* @param value unix epoch in milliseconds or seconds: a safe integer, or a string of optionally negative ASCII digits
|
|
11
|
-
* @param options optional:
|
|
11
|
+
* @param options optional: how `value` is read and the zone its wall clock is read in
|
|
12
12
|
* @returns Microsecond (000-999) or "" on invalid input
|
|
13
13
|
*
|
|
14
14
|
* @example parseMicrosecondFromUnix(1700000000000) // "000"
|
|
@@ -3,11 +3,11 @@ import type { UnixUnit } from "../validate/index.js";
|
|
|
3
3
|
* Return the millisecond (0-999) from a unix epoch value.
|
|
4
4
|
*
|
|
5
5
|
* - Delegates to {@link parseUnitFromUnix} with unit "millisecond".
|
|
6
|
-
* - `value` is a safe integer or a digit string
|
|
6
|
+
* - `value` is a safe integer or a digit string.
|
|
7
7
|
* - Returns "" for invalid input.
|
|
8
8
|
*
|
|
9
9
|
* @param value unix epoch in milliseconds or seconds: a safe integer, or a string of optionally negative ASCII digits
|
|
10
|
-
* @param options optional:
|
|
10
|
+
* @param options optional: how `value` is read and the zone its wall clock is read in
|
|
11
11
|
* @returns Millisecond (000-999) or "" on invalid input
|
|
12
12
|
*
|
|
13
13
|
* @example parseMillisecondFromUnix(1700000000000) // "000"
|
|
@@ -15,6 +15,20 @@ import type { UnixUnit } from "../validate/index.js";
|
|
|
15
15
|
* @example parseMillisecondFromUnix("") // "" (a blank string is not epoch 0)
|
|
16
16
|
*/
|
|
17
17
|
export declare function parseMillisecondFromUnix(value: number | string, options?: {
|
|
18
|
+
/**
|
|
19
|
+
* The unit the epoch values are counted in: `"seconds"` or `"milliseconds"`, singular or
|
|
20
|
+
* plural. Any other value returns `""`.
|
|
21
|
+
*
|
|
22
|
+
* @defaultValue `"milliseconds"`
|
|
23
|
+
*/
|
|
18
24
|
epochUnit?: UnixUnit;
|
|
25
|
+
/**
|
|
26
|
+
* The time zone the wall-clock fields are read in: an IANA name, a UTC offset (a time zone
|
|
27
|
+
* identifier such as `+05:30`, `+0530` or `-08`, or a stored offset `±HH:MM[:SS]`, what
|
|
28
|
+
* `getTimeZoneOffset` returns), or `"local"` for the system time zone. An unknown zone returns
|
|
29
|
+
* `""`.
|
|
30
|
+
*
|
|
31
|
+
* @defaultValue `"UTC"`
|
|
32
|
+
*/
|
|
19
33
|
timeZone?: string;
|
|
20
34
|
}): string;
|
|
@@ -4,11 +4,11 @@ import { isOptionsArgument } from "../../internal/isObject.js";
|
|
|
4
4
|
* Return the millisecond (0-999) from a unix epoch value.
|
|
5
5
|
*
|
|
6
6
|
* - Delegates to {@link parseUnitFromUnix} with unit "millisecond".
|
|
7
|
-
* - `value` is a safe integer or a digit string
|
|
7
|
+
* - `value` is a safe integer or a digit string.
|
|
8
8
|
* - Returns "" for invalid input.
|
|
9
9
|
*
|
|
10
10
|
* @param value unix epoch in milliseconds or seconds: a safe integer, or a string of optionally negative ASCII digits
|
|
11
|
-
* @param options optional:
|
|
11
|
+
* @param options optional: how `value` is read and the zone its wall clock is read in
|
|
12
12
|
* @returns Millisecond (000-999) or "" on invalid input
|
|
13
13
|
*
|
|
14
14
|
* @example parseMillisecondFromUnix(1700000000000) // "000"
|
|
@@ -3,11 +3,11 @@ import type { UnixUnit } from "../validate/index.js";
|
|
|
3
3
|
* Return the minute (0-59) from a unix epoch value.
|
|
4
4
|
*
|
|
5
5
|
* - Delegates to {@link parseUnitFromUnix} with unit "minute".
|
|
6
|
-
* - `value` is a safe integer or a digit string
|
|
6
|
+
* - `value` is a safe integer or a digit string.
|
|
7
7
|
* - Returns "" for invalid input.
|
|
8
8
|
*
|
|
9
9
|
* @param value unix epoch in milliseconds or seconds: a safe integer, or a string of optionally negative ASCII digits
|
|
10
|
-
* @param options optional:
|
|
10
|
+
* @param options optional: how `value` is read and the zone its wall clock is read in
|
|
11
11
|
* @returns Minute (00-59) or "" on invalid input
|
|
12
12
|
*
|
|
13
13
|
* @example parseMinuteFromUnix(1700000000000, { timeZone: "UTC" }) // "13"
|
|
@@ -15,6 +15,20 @@ import type { UnixUnit } from "../validate/index.js";
|
|
|
15
15
|
* @example parseMinuteFromUnix("") // "" (a blank string is not epoch 0)
|
|
16
16
|
*/
|
|
17
17
|
export declare function parseMinuteFromUnix(value: number | string, options?: {
|
|
18
|
+
/**
|
|
19
|
+
* The unit the epoch values are counted in: `"seconds"` or `"milliseconds"`, singular or
|
|
20
|
+
* plural. Any other value returns `""`.
|
|
21
|
+
*
|
|
22
|
+
* @defaultValue `"milliseconds"`
|
|
23
|
+
*/
|
|
18
24
|
epochUnit?: UnixUnit;
|
|
25
|
+
/**
|
|
26
|
+
* The time zone the wall-clock fields are read in: an IANA name, a UTC offset (a time zone
|
|
27
|
+
* identifier such as `+05:30`, `+0530` or `-08`, or a stored offset `±HH:MM[:SS]`, what
|
|
28
|
+
* `getTimeZoneOffset` returns), or `"local"` for the system time zone. An unknown zone returns
|
|
29
|
+
* `""`.
|
|
30
|
+
*
|
|
31
|
+
* @defaultValue `"UTC"`
|
|
32
|
+
*/
|
|
19
33
|
timeZone?: string;
|
|
20
34
|
}): string;
|
|
@@ -4,11 +4,11 @@ import { isOptionsArgument } from "../../internal/isObject.js";
|
|
|
4
4
|
* Return the minute (0-59) from a unix epoch value.
|
|
5
5
|
*
|
|
6
6
|
* - Delegates to {@link parseUnitFromUnix} with unit "minute".
|
|
7
|
-
* - `value` is a safe integer or a digit string
|
|
7
|
+
* - `value` is a safe integer or a digit string.
|
|
8
8
|
* - Returns "" for invalid input.
|
|
9
9
|
*
|
|
10
10
|
* @param value unix epoch in milliseconds or seconds: a safe integer, or a string of optionally negative ASCII digits
|
|
11
|
-
* @param options optional:
|
|
11
|
+
* @param options optional: how `value` is read and the zone its wall clock is read in
|
|
12
12
|
* @returns Minute (00-59) or "" on invalid input
|
|
13
13
|
*
|
|
14
14
|
* @example parseMinuteFromUnix(1700000000000, { timeZone: "UTC" }) // "13"
|