@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
|
@@ -3,11 +3,11 @@ import type { UnixUnit } from "../validate/index.js";
|
|
|
3
3
|
* Return the month (1-12) from a unix epoch value.
|
|
4
4
|
*
|
|
5
5
|
* - Delegates to {@link parseUnitFromUnix} with unit "month".
|
|
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 Month (01-12) or "" on invalid input
|
|
12
12
|
*
|
|
13
13
|
* @example parseMonthFromUnix(1700000000000, { timeZone: "UTC" }) // "11"
|
|
@@ -16,6 +16,20 @@ import type { UnixUnit } from "../validate/index.js";
|
|
|
16
16
|
* @example parseMonthFromUnix("") // "" (a blank string is not epoch 0)
|
|
17
17
|
*/
|
|
18
18
|
export declare function parseMonthFromUnix(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
|
+
*/
|
|
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
|
+
* `""`.
|
|
31
|
+
*
|
|
32
|
+
* @defaultValue `"UTC"`
|
|
33
|
+
*/
|
|
20
34
|
timeZone?: string;
|
|
21
35
|
}): string;
|
|
@@ -4,11 +4,11 @@ import { isOptionsArgument } from "../../internal/isObject.js";
|
|
|
4
4
|
* Return the month (1-12) from a unix epoch value.
|
|
5
5
|
*
|
|
6
6
|
* - Delegates to {@link parseUnitFromUnix} with unit "month".
|
|
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 Month (01-12) or "" on invalid input
|
|
13
13
|
*
|
|
14
14
|
* @example parseMonthFromUnix(1700000000000, { timeZone: "UTC" }) // "11"
|
|
@@ -3,11 +3,11 @@ import type { UnixUnit } from "../validate/index.js";
|
|
|
3
3
|
* Return the nanosecond (0-999) from a unix epoch value.
|
|
4
4
|
*
|
|
5
5
|
* - Delegates to {@link parseUnitFromUnix} with unit "nanosecond".
|
|
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 Nanosecond field (0-999), zero-padded to 3 digits ("000") as Temporal's `nanosecond` field, or "" on invalid input
|
|
12
12
|
*
|
|
13
13
|
* @example parseNanosecondFromUnix(1700000000000) // "000"
|
|
@@ -16,6 +16,20 @@ import type { UnixUnit } from "../validate/index.js";
|
|
|
16
16
|
* @example parseNanosecondFromUnix("") // "" (a blank string is not epoch 0)
|
|
17
17
|
*/
|
|
18
18
|
export declare function parseNanosecondFromUnix(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
|
+
*/
|
|
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
|
+
* `""`.
|
|
31
|
+
*
|
|
32
|
+
* @defaultValue `"UTC"`
|
|
33
|
+
*/
|
|
20
34
|
timeZone?: string;
|
|
21
35
|
}): string;
|
|
@@ -4,11 +4,11 @@ import { isOptionsArgument } from "../../internal/isObject.js";
|
|
|
4
4
|
* Return the nanosecond (0-999) from a unix epoch value.
|
|
5
5
|
*
|
|
6
6
|
* - Delegates to {@link parseUnitFromUnix} with unit "nanosecond".
|
|
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 Nanosecond field (0-999), zero-padded to 3 digits ("000") as Temporal's `nanosecond` field, or "" on invalid input
|
|
13
13
|
*
|
|
14
14
|
* @example parseNanosecondFromUnix(1700000000000) // "000"
|
|
@@ -3,11 +3,11 @@ import type { UnixUnit } from "../validate/index.js";
|
|
|
3
3
|
* Return the second (0-59) from a unix epoch value.
|
|
4
4
|
*
|
|
5
5
|
* - Delegates to {@link parseUnitFromUnix} with unit "second".
|
|
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 Second (00-59) or "" on invalid input
|
|
12
12
|
*
|
|
13
13
|
* @example parseSecondFromUnix(1700000000000, { timeZone: "UTC" }) // "20"
|
|
@@ -15,6 +15,20 @@ import type { UnixUnit } from "../validate/index.js";
|
|
|
15
15
|
* @example parseSecondFromUnix("") // "" (a blank string is not epoch 0)
|
|
16
16
|
*/
|
|
17
17
|
export declare function parseSecondFromUnix(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 second (0-59) from a unix epoch value.
|
|
5
5
|
*
|
|
6
6
|
* - Delegates to {@link parseUnitFromUnix} with unit "second".
|
|
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 Second (00-59) or "" on invalid input
|
|
13
13
|
*
|
|
14
14
|
* @example parseSecondFromUnix(1700000000000, { timeZone: "UTC" }) // "20"
|
|
@@ -3,11 +3,10 @@ import type { UnixUnit } from "../validate/index.js";
|
|
|
3
3
|
* Extract the time portion from a unix epoch value.
|
|
4
4
|
*
|
|
5
5
|
* - Converts to ZonedDateTime then extracts the PlainTime.
|
|
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 time string (e.g., "14:30:45") or "" on invalid input
|
|
12
11
|
*
|
|
13
12
|
* @example parseTimeFromUnix(1700000000000, { timeZone: "UTC" }) // "22:13:20"
|
|
@@ -15,8 +14,23 @@ import type { UnixUnit } from "../validate/index.js";
|
|
|
15
14
|
* @example parseTimeFromUnix(-86400, { epochUnit: "seconds", timeZone: "UTC" }) // "00:00:00"
|
|
16
15
|
* @example parseTimeFromUnix("1700000000", { epochUnit: "second" }) // "22:13:20" (digit string, UTC by default)
|
|
17
16
|
* @example parseTimeFromUnix(1.5) // "" (not an integer epoch)
|
|
17
|
+
* @example parseTimeFromUnix(45870000, { timeZone: "-00:44:30" }) // "12:00:00" (a stored offset with seconds)
|
|
18
18
|
*/
|
|
19
19
|
export declare function parseTimeFromUnix(value: number | string, options?: {
|
|
20
|
+
/**
|
|
21
|
+
* The unit the epoch values are counted in: `"seconds"` or `"milliseconds"`, singular or
|
|
22
|
+
* plural. Any other value returns `""`.
|
|
23
|
+
*
|
|
24
|
+
* @defaultValue `"milliseconds"`
|
|
25
|
+
*/
|
|
20
26
|
epochUnit?: UnixUnit;
|
|
27
|
+
/**
|
|
28
|
+
* The time zone the wall-clock fields are read in: an IANA name, a UTC offset (a time zone
|
|
29
|
+
* identifier such as `+05:30`, `+0530` or `-08`, or a stored offset `±HH:MM[:SS]`, what
|
|
30
|
+
* `getTimeZoneOffset` returns), or `"local"` for the system time zone. An unknown zone returns
|
|
31
|
+
* `""`.
|
|
32
|
+
*
|
|
33
|
+
* @defaultValue `"UTC"`
|
|
34
|
+
*/
|
|
21
35
|
timeZone?: string;
|
|
22
36
|
}): 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 time portion from a unix epoch value.
|
|
5
5
|
*
|
|
6
6
|
* - Converts to ZonedDateTime then extracts the PlainTime.
|
|
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 time string (e.g., "14:30:45") or "" on invalid input
|
|
13
12
|
*
|
|
14
13
|
* @example parseTimeFromUnix(1700000000000, { timeZone: "UTC" }) // "22:13:20"
|
|
@@ -16,14 +15,15 @@ import { isOptionsArgument } from "../../internal/isObject.js";
|
|
|
16
15
|
* @example parseTimeFromUnix(-86400, { epochUnit: "seconds", timeZone: "UTC" }) // "00:00:00"
|
|
17
16
|
* @example parseTimeFromUnix("1700000000", { epochUnit: "second" }) // "22:13:20" (digit string, UTC by default)
|
|
18
17
|
* @example parseTimeFromUnix(1.5) // "" (not an integer epoch)
|
|
18
|
+
* @example parseTimeFromUnix(45870000, { timeZone: "-00:44:30" }) // "12:00:00" (a stored offset with seconds)
|
|
19
19
|
*/
|
|
20
20
|
export function parseTimeFromUnix(value, options) {
|
|
21
21
|
try {
|
|
22
22
|
if (!isOptionsArgument(options)) {
|
|
23
23
|
return "";
|
|
24
24
|
}
|
|
25
|
-
const
|
|
26
|
-
return
|
|
25
|
+
const wallClock = unixWallClock(value, options);
|
|
26
|
+
return wallClock === null ? "" : wallClock.toPlainTime().toString();
|
|
27
27
|
}
|
|
28
28
|
catch {
|
|
29
29
|
// Never throws (Core Rule 3): a hostile
|
|
@@ -8,7 +8,7 @@ import type { UnixUnit } from "../validate/index.js";
|
|
|
8
8
|
*
|
|
9
9
|
* | Member | Description |
|
|
10
10
|
* | --- | --- |
|
|
11
|
-
* | `year` |
|
|
11
|
+
* | `year` | Four digits (e.g. `2024`, `0005`); a sign and six digits outside 0000–9999 (e.g. `+010000`). |
|
|
12
12
|
* | `month` | Zero-padded 2 (e.g. `03`). |
|
|
13
13
|
* | `week` | Week-of-year, 1–53: ISO 8601 for `weekStartsOn: "monday"`, UTS #35 (minimal days 1) for `"sunday"`, so late-December days can be week 1. |
|
|
14
14
|
* | `day` | Zero-padded 2. |
|
|
@@ -29,18 +29,20 @@ export type PlainNowUnit = "year" | "month" | "week" | "day" | "dayOfWeek" | "ho
|
|
|
29
29
|
* Extract a unit from a unix epoch value.
|
|
30
30
|
*
|
|
31
31
|
* - Valid units: "year", "month", "week", "day", "dayOfWeek", "hour", "minute", "second", "millisecond", "microsecond", "nanosecond". Temporal units may also be plural ("hours").
|
|
32
|
-
* - `value` is a safe integer or a string of optionally negative ASCII digits
|
|
32
|
+
* - `value` is a safe integer or a string of optionally negative ASCII digits.
|
|
33
33
|
* - `microsecond` and `nanosecond` are the 0–999 Temporal fields, zero-padded to 3 digits.
|
|
34
34
|
* - Converts to ZonedDateTime then extracts the unit.
|
|
35
|
-
* - `weekStartsOn` other than `"monday"` or `"sunday"` returns "", for every unit.
|
|
36
35
|
* - Returns "" for invalid input.
|
|
36
|
+
* - The `"year"` unit is written as Temporal writes a year: four digits (`"2024"`, `"0005"`), or a
|
|
37
|
+
* sign and six digits outside 0000–9999 (`"+010000"`, `"-000005"`).
|
|
37
38
|
*
|
|
38
39
|
* @param value unix epoch in milliseconds or seconds: a safe integer, or a string of optionally negative ASCII digits
|
|
39
40
|
* @param unit unit to extract (e.g. "year", "month", "hour")
|
|
40
|
-
* @param options optional:
|
|
41
|
+
* @param options optional: how `value` is read, the zone its wall clock is read in and the first day of the week; a non-object value (such as `null`) is invalid
|
|
41
42
|
* @returns extracted unit value as string, or "" on invalid input
|
|
42
43
|
*
|
|
43
44
|
* @example parseUnitFromUnix(1700000000000, "year") // "2023"
|
|
45
|
+
* @example parseUnitFromUnix(-61996320000000, "year") // "0005" (1 June of year 5)
|
|
44
46
|
* @example parseUnitFromUnix(1700000000, "hour", { epochUnit: "seconds", timeZone: "UTC" }) // "22"
|
|
45
47
|
* @example parseUnitFromUnix(1704067200000, "week", { timeZone: "UTC" }) // "1"
|
|
46
48
|
* @example parseUnitFromUnix(1704067200000, "week", { weekStartsOn: "sunday", timeZone: "UTC" }) // "1"
|
|
@@ -48,9 +50,32 @@ export type PlainNowUnit = "year" | "month" | "week" | "day" | "dayOfWeek" | "ho
|
|
|
48
50
|
* @example parseUnitFromUnix("1709217045123", "hours") // "14" (digit string, plural unit, UTC by default)
|
|
49
51
|
* @example parseUnitFromUnix(1709217045123, "nanosecond") // "000"
|
|
50
52
|
* @example parseUnitFromUnix("", "year") // "" (a blank string is not epoch 0)
|
|
53
|
+
* @example parseUnitFromUnix(45870000, "minute", { timeZone: "-00:44:30" }) // "00" (a stored offset with seconds)
|
|
51
54
|
*/
|
|
52
55
|
export declare function parseUnitFromUnix(value: number | string, unit: PlainNowUnit | Temporal.PluralUnit<Temporal.DateTimeUnit>, options?: {
|
|
56
|
+
/**
|
|
57
|
+
* The unit the epoch values are counted in: `"seconds"` or `"milliseconds"`, singular or
|
|
58
|
+
* plural. Any other value returns `""`.
|
|
59
|
+
*
|
|
60
|
+
* @defaultValue `"milliseconds"`
|
|
61
|
+
*/
|
|
53
62
|
epochUnit?: UnixUnit;
|
|
63
|
+
/**
|
|
64
|
+
* The time zone the wall-clock fields are read in: an IANA name, a UTC offset (a time zone
|
|
65
|
+
* identifier such as `+05:30`, `+0530` or `-08`, or a stored offset `±HH:MM[:SS]`, what
|
|
66
|
+
* `getTimeZoneOffset` returns), or `"local"` for the system time zone. An unknown zone returns
|
|
67
|
+
* `""`.
|
|
68
|
+
*
|
|
69
|
+
* @defaultValue `"UTC"`
|
|
70
|
+
*/
|
|
54
71
|
timeZone?: string;
|
|
72
|
+
/**
|
|
73
|
+
* The first day of the week, which sets how the `"week"` unit is numbered. `"monday"` gives the
|
|
74
|
+
* ISO 8601 week number, where week 1 holds the year's first Thursday; `"sunday"` gives the UTS
|
|
75
|
+
* #35 week number with a Sunday first day and one minimal day, where week 1 holds 1 January.
|
|
76
|
+
* Any other value returns `""`, whatever the unit.
|
|
77
|
+
*
|
|
78
|
+
* @defaultValue `"monday"`
|
|
79
|
+
*/
|
|
55
80
|
weekStartsOn?: "monday" | "sunday";
|
|
56
81
|
}): string;
|
|
@@ -1,24 +1,27 @@
|
|
|
1
1
|
import { resolveDateTimeUnit } from "../../internal/resolveDateTimeUnit.js";
|
|
2
2
|
import { resolveWeekStartsOn } from "../../internal/resolveWeekStartsOn.js";
|
|
3
|
-
import {
|
|
3
|
+
import { unixWallClock } from "../../internal/unixWallClock.js";
|
|
4
4
|
import { getWeekNumber } from "../../plain/calculate/getWeekNumber.js";
|
|
5
5
|
import { isOptionsArgument } from "../../internal/isObject.js";
|
|
6
|
+
import { isoYearString } from "../../internal/isoYearString.js";
|
|
6
7
|
/**
|
|
7
8
|
* Extract a unit from a unix epoch value.
|
|
8
9
|
*
|
|
9
10
|
* - Valid units: "year", "month", "week", "day", "dayOfWeek", "hour", "minute", "second", "millisecond", "microsecond", "nanosecond". Temporal units may also be plural ("hours").
|
|
10
|
-
* - `value` is a safe integer or a string of optionally negative ASCII digits
|
|
11
|
+
* - `value` is a safe integer or a string of optionally negative ASCII digits.
|
|
11
12
|
* - `microsecond` and `nanosecond` are the 0–999 Temporal fields, zero-padded to 3 digits.
|
|
12
13
|
* - Converts to ZonedDateTime then extracts the unit.
|
|
13
|
-
* - `weekStartsOn` other than `"monday"` or `"sunday"` returns "", for every unit.
|
|
14
14
|
* - Returns "" for invalid input.
|
|
15
|
+
* - The `"year"` unit is written as Temporal writes a year: four digits (`"2024"`, `"0005"`), or a
|
|
16
|
+
* sign and six digits outside 0000–9999 (`"+010000"`, `"-000005"`).
|
|
15
17
|
*
|
|
16
18
|
* @param value unix epoch in milliseconds or seconds: a safe integer, or a string of optionally negative ASCII digits
|
|
17
19
|
* @param unit unit to extract (e.g. "year", "month", "hour")
|
|
18
|
-
* @param options optional:
|
|
20
|
+
* @param options optional: how `value` is read, the zone its wall clock is read in and the first day of the week; a non-object value (such as `null`) is invalid
|
|
19
21
|
* @returns extracted unit value as string, or "" on invalid input
|
|
20
22
|
*
|
|
21
23
|
* @example parseUnitFromUnix(1700000000000, "year") // "2023"
|
|
24
|
+
* @example parseUnitFromUnix(-61996320000000, "year") // "0005" (1 June of year 5)
|
|
22
25
|
* @example parseUnitFromUnix(1700000000, "hour", { epochUnit: "seconds", timeZone: "UTC" }) // "22"
|
|
23
26
|
* @example parseUnitFromUnix(1704067200000, "week", { timeZone: "UTC" }) // "1"
|
|
24
27
|
* @example parseUnitFromUnix(1704067200000, "week", { weekStartsOn: "sunday", timeZone: "UTC" }) // "1"
|
|
@@ -26,6 +29,7 @@ import { isOptionsArgument } from "../../internal/isObject.js";
|
|
|
26
29
|
* @example parseUnitFromUnix("1709217045123", "hours") // "14" (digit string, plural unit, UTC by default)
|
|
27
30
|
* @example parseUnitFromUnix(1709217045123, "nanosecond") // "000"
|
|
28
31
|
* @example parseUnitFromUnix("", "year") // "" (a blank string is not epoch 0)
|
|
32
|
+
* @example parseUnitFromUnix(45870000, "minute", { timeZone: "-00:44:30" }) // "00" (a stored offset with seconds)
|
|
29
33
|
*/
|
|
30
34
|
export function parseUnitFromUnix(value, unit, options) {
|
|
31
35
|
try {
|
|
@@ -33,36 +37,38 @@ export function parseUnitFromUnix(value, unit, options) {
|
|
|
33
37
|
if (!isOptionsArgument(options)) {
|
|
34
38
|
return "";
|
|
35
39
|
}
|
|
36
|
-
const
|
|
40
|
+
const wallClock = unixWallClock(value, options);
|
|
37
41
|
const weekStartsOn = resolveWeekStartsOn(options?.weekStartsOn);
|
|
38
|
-
if (
|
|
42
|
+
if (wallClock === null ||
|
|
43
|
+
typeof unit !== "string" ||
|
|
44
|
+
weekStartsOn === null) {
|
|
39
45
|
return "";
|
|
40
46
|
}
|
|
41
47
|
try {
|
|
42
48
|
switch (resolveDateTimeUnit(unit)) {
|
|
43
49
|
case "year":
|
|
44
|
-
return
|
|
50
|
+
return isoYearString(wallClock.year);
|
|
45
51
|
case "month":
|
|
46
|
-
return
|
|
52
|
+
return wallClock.month.toString().padStart(2, "0");
|
|
47
53
|
case "week": {
|
|
48
|
-
return (getWeekNumber(
|
|
54
|
+
return (getWeekNumber(wallClock.toPlainDate().toString(), weekStartsOn) ?? 0).toString();
|
|
49
55
|
}
|
|
50
56
|
case "day":
|
|
51
|
-
return
|
|
57
|
+
return wallClock.day.toString().padStart(2, "0");
|
|
52
58
|
case "dayOfWeek":
|
|
53
|
-
return
|
|
59
|
+
return wallClock.dayOfWeek.toString();
|
|
54
60
|
case "hour":
|
|
55
|
-
return
|
|
61
|
+
return wallClock.hour.toString().padStart(2, "0");
|
|
56
62
|
case "minute":
|
|
57
|
-
return
|
|
63
|
+
return wallClock.minute.toString().padStart(2, "0");
|
|
58
64
|
case "second":
|
|
59
|
-
return
|
|
65
|
+
return wallClock.second.toString().padStart(2, "0");
|
|
60
66
|
case "millisecond":
|
|
61
|
-
return
|
|
67
|
+
return wallClock.millisecond.toString().padStart(3, "0");
|
|
62
68
|
case "microsecond":
|
|
63
|
-
return
|
|
69
|
+
return wallClock.microsecond.toString().padStart(3, "0");
|
|
64
70
|
case "nanosecond":
|
|
65
|
-
return
|
|
71
|
+
return wallClock.nanosecond.toString().padStart(3, "0");
|
|
66
72
|
default:
|
|
67
73
|
return "";
|
|
68
74
|
}
|
|
@@ -2,16 +2,12 @@ import type { UnixUnit } from "../validate/index.js";
|
|
|
2
2
|
/**
|
|
3
3
|
* Return the week number from a unix epoch value.
|
|
4
4
|
*
|
|
5
|
-
* -
|
|
6
|
-
*
|
|
7
|
-
* - `"sunday"` is the UTS #35 week of the week-year with a Sunday first day and minimal days 1:
|
|
8
|
-
* week 1 is the Sunday-first week holding 1 January, so late-December days can be week 1 of the
|
|
9
|
-
* next year. The result is 1–53 — see `getWeekNumber`.
|
|
10
|
-
* - `weekStartsOn` other than `"monday"` or `"sunday"` returns null.
|
|
5
|
+
* - Returns the week of the week-year, 1–53, so late-December days can be week 1 of the next
|
|
6
|
+
* year — see `getWeekNumber`.
|
|
11
7
|
* - Returns null for invalid input.
|
|
12
8
|
*
|
|
13
9
|
* @param value unix epoch in milliseconds or seconds: a safe integer, or a string of optionally negative ASCII digits
|
|
14
|
-
* @param options optional:
|
|
10
|
+
* @param options optional: how `value` is read, the zone its date is read in and the first day of the week; a non-object value (such as `null`) is invalid
|
|
15
11
|
* @returns Week number (1-53 for "monday" and for "sunday") or null on invalid input
|
|
16
12
|
*
|
|
17
13
|
* @example parseWeekFromUnix(1704067200000, { timeZone: "UTC" }) // 1
|
|
@@ -22,7 +18,28 @@ import type { UnixUnit } from "../validate/index.js";
|
|
|
22
18
|
* @example parseWeekFromUnix(1735646400000, { weekStartsOn: "sunday", timeZone: "UTC" }) // 1 (2024-12-31T12:00:00Z; its Sunday-first week holds 1 January 2025)
|
|
23
19
|
*/
|
|
24
20
|
export declare function parseWeekFromUnix(value: number | string, options?: {
|
|
21
|
+
/**
|
|
22
|
+
* The unit the epoch values are counted in: `"seconds"` or `"milliseconds"`, singular or
|
|
23
|
+
* plural. Any other value returns `null`.
|
|
24
|
+
*
|
|
25
|
+
* @defaultValue `"milliseconds"`
|
|
26
|
+
*/
|
|
25
27
|
epochUnit?: UnixUnit;
|
|
28
|
+
/**
|
|
29
|
+
* The time zone the date is read in: an IANA name, a UTC offset (a time zone identifier such as
|
|
30
|
+
* `+05:30`, `+0530` or `-08`, or a stored offset `±HH:MM[:SS]`, what `getTimeZoneOffset`
|
|
31
|
+
* returns), or `"local"` for the system time zone. An unknown zone returns `null`.
|
|
32
|
+
*
|
|
33
|
+
* @defaultValue `"UTC"`
|
|
34
|
+
*/
|
|
26
35
|
timeZone?: string;
|
|
36
|
+
/**
|
|
37
|
+
* The first day of the week, which sets how the week is numbered. `"monday"` gives the ISO 8601
|
|
38
|
+
* week number, where week 1 holds the year's first Thursday; `"sunday"` gives the UTS #35 week
|
|
39
|
+
* number with a Sunday first day and one minimal day, where week 1 holds 1 January. Any other
|
|
40
|
+
* value returns `null`.
|
|
41
|
+
*
|
|
42
|
+
* @defaultValue `"monday"`
|
|
43
|
+
*/
|
|
27
44
|
weekStartsOn?: "monday" | "sunday";
|
|
28
45
|
}): number | null;
|
|
@@ -1,20 +1,16 @@
|
|
|
1
1
|
import { getWeekNumber } from "../../plain/calculate/getWeekNumber.js";
|
|
2
2
|
import { resolveWeekStartsOn } from "../../internal/resolveWeekStartsOn.js";
|
|
3
|
-
import {
|
|
3
|
+
import { unixWallClock } from "../../internal/unixWallClock.js";
|
|
4
4
|
import { isOptionsArgument } from "../../internal/isObject.js";
|
|
5
5
|
/**
|
|
6
6
|
* Return the week number from a unix epoch value.
|
|
7
7
|
*
|
|
8
|
-
* -
|
|
9
|
-
*
|
|
10
|
-
* - `"sunday"` is the UTS #35 week of the week-year with a Sunday first day and minimal days 1:
|
|
11
|
-
* week 1 is the Sunday-first week holding 1 January, so late-December days can be week 1 of the
|
|
12
|
-
* next year. The result is 1–53 — see `getWeekNumber`.
|
|
13
|
-
* - `weekStartsOn` other than `"monday"` or `"sunday"` returns null.
|
|
8
|
+
* - Returns the week of the week-year, 1–53, so late-December days can be week 1 of the next
|
|
9
|
+
* year — see `getWeekNumber`.
|
|
14
10
|
* - Returns null for invalid input.
|
|
15
11
|
*
|
|
16
12
|
* @param value unix epoch in milliseconds or seconds: a safe integer, or a string of optionally negative ASCII digits
|
|
17
|
-
* @param options optional:
|
|
13
|
+
* @param options optional: how `value` is read, the zone its date is read in and the first day of the week; a non-object value (such as `null`) is invalid
|
|
18
14
|
* @returns Week number (1-53 for "monday" and for "sunday") or null on invalid input
|
|
19
15
|
*
|
|
20
16
|
* @example parseWeekFromUnix(1704067200000, { timeZone: "UTC" }) // 1
|
|
@@ -30,12 +26,12 @@ export function parseWeekFromUnix(value, options) {
|
|
|
30
26
|
if (!isOptionsArgument(options)) {
|
|
31
27
|
return null;
|
|
32
28
|
}
|
|
33
|
-
const
|
|
29
|
+
const wallClock = unixWallClock(value, options);
|
|
34
30
|
const weekStartsOn = resolveWeekStartsOn(options?.weekStartsOn);
|
|
35
|
-
if (
|
|
31
|
+
if (wallClock === null || weekStartsOn === null)
|
|
36
32
|
return null;
|
|
37
33
|
try {
|
|
38
|
-
return getWeekNumber(
|
|
34
|
+
return getWeekNumber(wallClock.toPlainDate().toString(), weekStartsOn);
|
|
39
35
|
}
|
|
40
36
|
catch {
|
|
41
37
|
return null;
|
|
@@ -3,19 +3,36 @@ import type { UnixUnit } from "../validate/index.js";
|
|
|
3
3
|
* Return the year from a unix epoch value.
|
|
4
4
|
*
|
|
5
5
|
* - Delegates to {@link parseUnitFromUnix} with unit "year".
|
|
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
|
+
* - The year is written as Temporal writes it: four digits (`"2024"`, `"0005"`), or a sign and six
|
|
9
|
+
* digits outside 0000–9999 (`"+010000"`, `"-000005"`).
|
|
8
10
|
*
|
|
9
11
|
* @param value unix epoch in milliseconds or seconds: a safe integer, or a string of optionally negative ASCII digits
|
|
10
|
-
* @param options optional:
|
|
11
|
-
* @returns
|
|
12
|
+
* @param options optional: how `value` is read and the zone its wall clock is read in
|
|
13
|
+
* @returns the year as four digits, or a sign and six digits outside 0000–9999, or "" on invalid input
|
|
12
14
|
*
|
|
13
15
|
* @example parseYearFromUnix(1700000000000) // "2023"
|
|
16
|
+
* @example parseYearFromUnix(-61996320000000) // "0005" (1 June of year 5)
|
|
14
17
|
* @example parseYearFromUnix(1704067200000, { epochUnit: "milliseconds", timeZone: "UTC" }) // "2024"
|
|
15
18
|
* @example parseYearFromUnix(-86400, { epochUnit: "seconds" }) // "1969"
|
|
16
19
|
* @example parseYearFromUnix("") // "" (a blank string is not epoch 0)
|
|
17
20
|
*/
|
|
18
21
|
export declare function parseYearFromUnix(value: number | string, options?: {
|
|
22
|
+
/**
|
|
23
|
+
* The unit the epoch values are counted in: `"seconds"` or `"milliseconds"`, singular or
|
|
24
|
+
* plural. Any other value returns `""`.
|
|
25
|
+
*
|
|
26
|
+
* @defaultValue `"milliseconds"`
|
|
27
|
+
*/
|
|
19
28
|
epochUnit?: UnixUnit;
|
|
29
|
+
/**
|
|
30
|
+
* The time zone the wall-clock fields are read in: an IANA name, a UTC offset (a time zone
|
|
31
|
+
* identifier such as `+05:30`, `+0530` or `-08`, or a stored offset `±HH:MM[:SS]`, what
|
|
32
|
+
* `getTimeZoneOffset` returns), or `"local"` for the system time zone. An unknown zone returns
|
|
33
|
+
* `""`.
|
|
34
|
+
*
|
|
35
|
+
* @defaultValue `"UTC"`
|
|
36
|
+
*/
|
|
20
37
|
timeZone?: string;
|
|
21
38
|
}): string;
|
|
@@ -4,14 +4,17 @@ import { isOptionsArgument } from "../../internal/isObject.js";
|
|
|
4
4
|
* Return the year from a unix epoch value.
|
|
5
5
|
*
|
|
6
6
|
* - Delegates to {@link parseUnitFromUnix} with unit "year".
|
|
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
|
+
* - The year is written as Temporal writes it: four digits (`"2024"`, `"0005"`), or a sign and six
|
|
10
|
+
* digits outside 0000–9999 (`"+010000"`, `"-000005"`).
|
|
9
11
|
*
|
|
10
12
|
* @param value unix epoch in milliseconds or seconds: a safe integer, or a string of optionally negative ASCII digits
|
|
11
|
-
* @param options optional:
|
|
12
|
-
* @returns
|
|
13
|
+
* @param options optional: how `value` is read and the zone its wall clock is read in
|
|
14
|
+
* @returns the year as four digits, or a sign and six digits outside 0000–9999, or "" on invalid input
|
|
13
15
|
*
|
|
14
16
|
* @example parseYearFromUnix(1700000000000) // "2023"
|
|
17
|
+
* @example parseYearFromUnix(-61996320000000) // "0005" (1 June of year 5)
|
|
15
18
|
* @example parseYearFromUnix(1704067200000, { epochUnit: "milliseconds", timeZone: "UTC" }) // "2024"
|
|
16
19
|
* @example parseYearFromUnix(-86400, { epochUnit: "seconds" }) // "1969"
|
|
17
20
|
* @example parseYearFromUnix("") // "" (a blank string is not epoch 0)
|
|
@@ -7,11 +7,8 @@
|
|
|
7
7
|
* - Fractional values, `NaN`, `±Infinity` and anything beyond ±(2^53 − 1) return `false`.
|
|
8
8
|
* - Strings with whitespace, `+`, a decimal point, an exponent or hex digits return `false`, and an
|
|
9
9
|
* empty string is not epoch 0.
|
|
10
|
-
* - Equal `value1 === value2` is valid only when `options.allowEqual` is true.
|
|
11
10
|
*
|
|
12
|
-
* @param
|
|
13
|
-
* @param value2 second Unix epoch value (seconds or milliseconds)
|
|
14
|
-
* @param options optional allowEqual flag
|
|
11
|
+
* @param props the two epoch values and the settings for the check
|
|
15
12
|
* @returns boolean indicating whether the Unix range is valid
|
|
16
13
|
*
|
|
17
14
|
* @example isValidUnixRange({ value1: 0, value2: 1700000000 }) // true
|
|
@@ -22,9 +19,28 @@
|
|
|
22
19
|
* @example isValidUnixRange({ value1: "0", value2: "1e3" }) // false (exponent notation is not an epoch)
|
|
23
20
|
*/
|
|
24
21
|
export declare function isValidUnixRange(props: {
|
|
22
|
+
/**
|
|
23
|
+
* The start of the range: a Unix epoch in seconds or milliseconds, as a safe integer or a digit
|
|
24
|
+
* string.
|
|
25
|
+
*/
|
|
25
26
|
value1: number | string;
|
|
27
|
+
/**
|
|
28
|
+
* The end of the range, in the same form and unit as `value1`.
|
|
29
|
+
*/
|
|
26
30
|
value2: number | string;
|
|
31
|
+
/**
|
|
32
|
+
* The settings for the comparison. It must be an object or omitted; any other value, `null`
|
|
33
|
+
* included, returns `false`.
|
|
34
|
+
*
|
|
35
|
+
* @defaultValue None. Equal values are not a valid range.
|
|
36
|
+
*/
|
|
27
37
|
options?: {
|
|
38
|
+
/**
|
|
39
|
+
* Whether `value1` equal to `value2` is a valid range. `false` requires `value1` to be
|
|
40
|
+
* before `value2`.
|
|
41
|
+
*
|
|
42
|
+
* @defaultValue `false`
|
|
43
|
+
*/
|
|
28
44
|
allowEqual?: boolean;
|
|
29
45
|
};
|
|
30
46
|
}): boolean;
|
|
@@ -8,11 +8,8 @@ import { isObject, isOptionsArgument, parseUnixEpochValue, } from "../../interna
|
|
|
8
8
|
* - Fractional values, `NaN`, `±Infinity` and anything beyond ±(2^53 − 1) return `false`.
|
|
9
9
|
* - Strings with whitespace, `+`, a decimal point, an exponent or hex digits return `false`, and an
|
|
10
10
|
* empty string is not epoch 0.
|
|
11
|
-
* - Equal `value1 === value2` is valid only when `options.allowEqual` is true.
|
|
12
11
|
*
|
|
13
|
-
* @param
|
|
14
|
-
* @param value2 second Unix epoch value (seconds or milliseconds)
|
|
15
|
-
* @param options optional allowEqual flag
|
|
12
|
+
* @param props the two epoch values and the settings for the check
|
|
16
13
|
* @returns boolean indicating whether the Unix range is valid
|
|
17
14
|
*
|
|
18
15
|
* @example isValidUnixRange({ value1: 0, value2: 1700000000 }) // true
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
* import { isValidUnixUnit } from "@northguild/gmt/unix";
|
|
16
16
|
* isValidUnixUnit("milliseconds"); // true
|
|
17
17
|
*/
|
|
18
|
-
export type UnixUnit = "seconds" | "
|
|
18
|
+
export type UnixUnit = "seconds" | "milliseconds" | "second" | "millisecond";
|
|
19
19
|
/**
|
|
20
20
|
* Return true when `unit` is a valid UnixUnit.
|
|
21
21
|
*
|