@northguild/gmt 1.18.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 -2920
- package/dist/calendar/calculate/bucketRange.d.ts +10 -2
- package/dist/calendar/calculate/bucketRange.js +18 -61
- package/dist/calendar/calculate/floorToZone.d.ts +10 -2
- package/dist/calendar/calculate/floorToZone.js +15 -7
- package/dist/calendar/hours/addOperatingTime.d.ts +6 -0
- package/dist/calendar/hours/addOperatingTime.js +7 -1
- package/dist/calendar/hours/isOpenAt.d.ts +6 -0
- package/dist/calendar/hours/isOpenAt.js +6 -0
- package/dist/calendar/hours/nextCloseAt.d.ts +6 -0
- package/dist/calendar/hours/nextCloseAt.js +7 -1
- package/dist/calendar/hours/nextOpenAt.d.ts +6 -0
- package/dist/calendar/hours/nextOpenAt.js +7 -1
- package/dist/calendar/hours/operatingIntervals.d.ts +5 -0
- package/dist/calendar/hours/operatingIntervals.js +5 -0
- package/dist/calendar/hours/operatingTimeBetween.d.ts +5 -0
- package/dist/calendar/hours/operatingTimeBetween.js +5 -0
- package/dist/calendar/hours/recurringWindows.d.ts +8 -1
- package/dist/calendar/hours/recurringWindows.js +12 -4
- 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/{durationAs.d.ts → totalDuration.d.ts} +25 -19
- package/dist/duration/calculate/{durationAs.js → totalDuration.js} +25 -19
- package/dist/duration/calculate/totalUnits.d.ts +49 -0
- package/dist/duration/calculate/totalUnits.js +73 -0
- package/dist/duration/compare/compareDurations.d.ts +1 -1
- package/dist/duration/compare/compareDurations.js +1 -1
- 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 +4 -0
- package/dist/instant/convert/fromOffsetInstant.js +6 -1
- package/dist/instant/convert/resolveLocal.d.ts +7 -2
- package/dist/instant/convert/resolveLocal.js +16 -8
- package/dist/instant/convert/toOffsetInstant.d.ts +12 -8
- package/dist/instant/convert/toOffsetInstant.js +19 -11
- 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/chargeableDays.d.ts +6 -0
- package/dist/intermodal/calculate/chargeableDays.js +12 -4
- package/dist/intermodal/calculate/freeTimeExpiry.d.ts +7 -0
- package/dist/intermodal/calculate/freeTimeExpiry.js +15 -4
- 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.js +4 -9
- 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 +3 -1
- package/dist/internal/freeTimeLedger.d.ts +5 -0
- package/dist/internal/freeTimeLedger.js +11 -2
- package/dist/internal/index.d.ts +5 -2
- package/dist/internal/index.js +9 -2
- 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/maxPieces.js +2 -1
- package/dist/internal/normalizeTimeZone.d.ts +4 -1
- package/dist/internal/normalizeTimeZone.js +4 -1
- package/dist/internal/operatingSchedule.d.ts +13 -4
- package/dist/internal/operatingSchedule.js +146 -58
- package/dist/internal/patternToken.d.ts +10 -3
- package/dist/internal/patternToken.js +31 -12
- 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/resolveRelativeUnit.d.ts +1 -1
- package/dist/internal/resolveRelativeUnit.js +1 -1
- package/dist/internal/resolveUnixIntervalPair.d.ts +8 -2
- package/dist/internal/resolveUnixIntervalPair.js +11 -7
- package/dist/internal/startOrEndOfUnix.d.ts +2 -1
- package/dist/internal/startOrEndOfUnix.js +9 -6
- 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/zonedNowUnitValue.d.ts +7 -4
- package/dist/internal/zonedNowUnitValue.js +8 -4
- package/dist/internal/zonedWallClockDifference.js +4 -4
- package/dist/internal/zonedWallClockOperations.d.ts +5 -2
- package/dist/internal/zonedWallClockOperations.js +7 -10
- package/dist/plain/calculate/addDate.js +4 -7
- package/dist/plain/calculate/addDateTime.js +4 -7
- package/dist/plain/calculate/addTime.js +4 -7
- package/dist/plain/calculate/endOfTime.d.ts +1 -1
- package/dist/plain/calculate/setDate.d.ts +20 -3
- package/dist/plain/calculate/setDate.js +27 -7
- package/dist/plain/calculate/setDateTime.d.ts +15 -3
- package/dist/plain/calculate/setDateTime.js +22 -7
- package/dist/plain/calculate/setTime.d.ts +13 -1
- package/dist/plain/calculate/setTime.js +21 -6
- package/dist/plain/calculate/startOfTime.d.ts +1 -1
- package/dist/plain/calculate/subtractDate.js +4 -7
- package/dist/plain/calculate/subtractDateTime.js +4 -7
- package/dist/plain/calculate/subtractTime.js +4 -7
- package/dist/plain/format/formatCalendar.js +2 -1
- package/dist/plain/format/formatRelativeDate.js +2 -1
- package/dist/plain/format/formatRelativeDateTime.js +2 -1
- package/dist/plain/format/formatRelativeTime.js +2 -1
- 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/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/intervalXorAllDate.js +2 -2
- package/dist/plain/interval/intervalXorAllDateTime.js +2 -2
- package/dist/plain/interval/intervalXorAllTime.js +2 -2
- package/dist/plain/interval/mergeIntervalsDate.js +2 -2
- package/dist/plain/interval/mergeIntervalsDateTime.js +2 -2
- package/dist/plain/interval/mergeIntervalsTime.js +2 -2
- package/dist/plain/parse/index.d.ts +1 -1
- package/dist/plain/parse/index.js +1 -1
- package/dist/plain/parse/parseDateTimeWithPattern.d.ts +16 -3
- package/dist/plain/parse/parseDateTimeWithPattern.js +20 -5
- package/dist/plain/parse/parseDateWithPattern.d.ts +17 -3
- package/dist/plain/parse/parseDateWithPattern.js +21 -5
- 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.js +1 -0
- package/dist/plain/parse/parseUnitFromDate.d.ts +3 -0
- package/dist/plain/parse/parseUnitFromDate.js +5 -1
- package/dist/plain/parse/parseUnitFromDateTime.d.ts +3 -0
- package/dist/plain/parse/parseUnitFromDateTime.js +5 -1
- 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/isValidSqlDateTime.d.ts +33 -0
- package/dist/plain/validate/isValidSqlDateTime.js +36 -0
- package/dist/precision/convert/fromNanoseconds.d.ts +9 -3
- package/dist/precision/convert/fromNanoseconds.js +9 -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/transport/calculate/crossingTime.d.ts +6 -1
- package/dist/transport/calculate/crossingTime.js +6 -1
- package/dist/transport/calculate/cutoffAt.d.ts +6 -1
- package/dist/transport/calculate/cutoffAt.js +2 -0
- package/dist/transport/calculate/cutoffSchedule.d.ts +6 -1
- package/dist/transport/calculate/cutoffSchedule.js +2 -0
- package/dist/transport/calculate/dwellTime.d.ts +6 -1
- package/dist/transport/calculate/dwellTime.js +6 -1
- package/dist/transport/calculate/scheduleDelivery.d.ts +13 -5
- package/dist/transport/calculate/scheduleDelivery.js +6 -1
- package/dist/transport/convert/etaAtZone.d.ts +6 -1
- package/dist/transport/convert/etaAtZone.js +6 -1
- package/dist/types/business-calendar.d.ts +5 -4
- package/dist/types/duty.d.ts +777 -0
- package/dist/types/duty.js +0 -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/free-time-options.d.ts +4 -3
- package/dist/types/index.d.ts +5 -0
- package/dist/types/index.js +5 -0
- package/dist/types/operating-schedule.d.ts +3 -2
- 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 +11 -2
- package/dist/unix/calculate/addUnix.js +14 -11
- package/dist/unix/calculate/diffUnix.d.ts +10 -2
- package/dist/unix/calculate/diffUnix.js +11 -6
- package/dist/unix/calculate/diffUnixAsDuration.d.ts +10 -2
- package/dist/unix/calculate/diffUnixAsDuration.js +10 -5
- package/dist/unix/calculate/endOfQuarterForUnix.d.ts +10 -2
- package/dist/unix/calculate/endOfQuarterForUnix.js +6 -0
- package/dist/unix/calculate/endOfUnix.d.ts +11 -2
- package/dist/unix/calculate/endOfUnix.js +7 -0
- package/dist/unix/calculate/isBetweenUnix.d.ts +3 -2
- package/dist/unix/calculate/isBetweenUnix.js +3 -3
- package/dist/unix/calculate/roundUnix.d.ts +10 -2
- package/dist/unix/calculate/roundUnix.js +13 -6
- package/dist/unix/calculate/setUnix.d.ts +25 -5
- package/dist/unix/calculate/setUnix.js +33 -12
- package/dist/unix/calculate/startOfQuarterForUnix.d.ts +10 -2
- package/dist/unix/calculate/startOfQuarterForUnix.js +6 -0
- package/dist/unix/calculate/startOfUnix.d.ts +11 -2
- package/dist/unix/calculate/startOfUnix.js +7 -0
- package/dist/unix/calculate/subtractUnix.d.ts +10 -2
- package/dist/unix/calculate/subtractUnix.js +13 -11
- package/dist/unix/compare/areUnixEqualBy.d.ts +11 -2
- package/dist/unix/compare/areUnixEqualBy.js +7 -0
- package/dist/unix/convert/convertUnixToPlainDate.d.ts +5 -2
- package/dist/unix/convert/convertUnixToPlainDate.js +5 -4
- package/dist/unix/convert/convertUnixToPlainDateTime.d.ts +5 -2
- package/dist/unix/convert/convertUnixToPlainDateTime.js +5 -4
- package/dist/unix/convert/convertUnixToPlainTime.d.ts +5 -2
- package/dist/unix/convert/convertUnixToPlainTime.js +5 -4
- package/dist/unix/convert/convertUnixToZoned.d.ts +5 -1
- package/dist/unix/convert/convertUnixToZoned.js +5 -1
- package/dist/unix/format/formatCalendarUnix.d.ts +6 -2
- package/dist/unix/format/formatCalendarUnix.js +6 -1
- package/dist/unix/format/formatRelativeUnix.d.ts +11 -3
- package/dist/unix/format/formatRelativeUnix.js +13 -5
- package/dist/unix/format/formatUnix.d.ts +7 -2
- package/dist/unix/format/formatUnix.js +4 -0
- 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/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 +11 -2
- package/dist/unix/interval/intervalCountUnix.js +7 -0
- package/dist/unix/interval/intervalFromDurationUnix.d.ts +10 -2
- package/dist/unix/interval/intervalFromDurationUnix.js +12 -7
- package/dist/unix/interval/intervalLengthUnix.d.ts +10 -2
- package/dist/unix/interval/intervalLengthUnix.js +6 -0
- package/dist/unix/interval/intervalOverlappingDaysUnix.d.ts +10 -2
- package/dist/unix/interval/intervalOverlappingDaysUnix.js +10 -5
- package/dist/unix/interval/splitIntervalByUnitUnix.d.ts +10 -2
- package/dist/unix/interval/splitIntervalByUnitUnix.js +12 -6
- package/dist/unix/parse/parseDateFromUnix.d.ts +4 -2
- package/dist/unix/parse/parseDateFromUnix.js +3 -3
- package/dist/unix/parse/parseDayFromUnix.d.ts +4 -2
- package/dist/unix/parse/parseDayOfWeekFromUnix.d.ts +4 -2
- package/dist/unix/parse/parseDayOfWeekFromUnix.js +2 -2
- package/dist/unix/parse/parseHourFromUnix.d.ts +4 -2
- package/dist/unix/parse/parseMicrosecondFromUnix.d.ts +4 -2
- package/dist/unix/parse/parseMillisecondFromUnix.d.ts +4 -2
- package/dist/unix/parse/parseMinuteFromUnix.d.ts +4 -2
- package/dist/unix/parse/parseMonthFromUnix.d.ts +4 -2
- package/dist/unix/parse/parseNanosecondFromUnix.d.ts +4 -2
- package/dist/unix/parse/parseSecondFromUnix.d.ts +4 -2
- package/dist/unix/parse/parseTimeFromUnix.d.ts +5 -2
- package/dist/unix/parse/parseTimeFromUnix.js +4 -3
- package/dist/unix/parse/parseUnitFromUnix.d.ts +9 -3
- package/dist/unix/parse/parseUnitFromUnix.js +21 -14
- package/dist/unix/parse/parseWeekFromUnix.d.ts +3 -2
- package/dist/unix/parse/parseWeekFromUnix.js +4 -4
- package/dist/unix/parse/parseYearFromUnix.d.ts +8 -3
- package/dist/unix/parse/parseYearFromUnix.js +4 -1
- package/dist/unix/validate/isValidUnixUnit.d.ts +1 -1
- package/dist/utc/calculate/addUtc.js +4 -7
- package/dist/utc/calculate/setUtc.d.ts +16 -3
- package/dist/utc/calculate/setUtc.js +22 -8
- package/dist/utc/calculate/subtractUtc.js +4 -7
- package/dist/utc/convert/convertUtcToPlainDate.d.ts +8 -2
- package/dist/utc/convert/convertUtcToPlainDate.js +10 -7
- package/dist/utc/convert/convertUtcToPlainDateTime.d.ts +9 -2
- package/dist/utc/convert/convertUtcToPlainDateTime.js +12 -13
- package/dist/utc/convert/convertUtcToPlainTime.d.ts +5 -2
- package/dist/utc/convert/convertUtcToPlainTime.js +7 -6
- package/dist/utc/convert/convertUtcToZoned.d.ts +5 -1
- package/dist/utc/convert/convertUtcToZoned.js +5 -1
- package/dist/utc/format/formatCalendarUtc.d.ts +6 -2
- package/dist/utc/format/formatCalendarUtc.js +6 -1
- package/dist/utc/format/{formatHttp.d.ts → formatHttpDate.d.ts} +7 -7
- package/dist/utc/format/{formatHttp.js → formatHttpDate.js} +7 -7
- package/dist/utc/format/formatRelativeUtc.d.ts +11 -3
- package/dist/utc/format/formatRelativeUtc.js +13 -5
- package/dist/utc/format/formatUtc.d.ts +7 -2
- package/dist/utc/format/formatUtc.js +4 -0
- 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/intervalXorAllUtc.js +2 -2
- package/dist/utc/interval/mergeIntervalsUtc.js +2 -2
- package/dist/utc/parse/index.d.ts +1 -1
- package/dist/utc/parse/index.js +1 -1
- package/dist/utc/parse/parseDateFromUtc.d.ts +4 -2
- package/dist/utc/parse/parseDateFromUtc.js +2 -2
- package/dist/utc/parse/parseDayFromUtc.d.ts +4 -2
- package/dist/utc/parse/parseDayFromUtc.js +2 -2
- package/dist/utc/parse/parseDayOfWeekFromUtc.d.ts +4 -2
- package/dist/utc/parse/parseDayOfWeekFromUtc.js +4 -4
- package/dist/utc/parse/parseHourFromUtc.d.ts +4 -2
- package/dist/utc/parse/parseHourFromUtc.js +2 -2
- 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 +4 -2
- package/dist/utc/parse/parseMicrosecondFromUtc.js +2 -2
- package/dist/utc/parse/parseMillisecondFromUtc.d.ts +4 -2
- package/dist/utc/parse/parseMillisecondFromUtc.js +2 -2
- package/dist/utc/parse/parseMinuteFromUtc.d.ts +4 -2
- package/dist/utc/parse/parseMinuteFromUtc.js +2 -2
- package/dist/utc/parse/parseMonthFromUtc.d.ts +4 -2
- package/dist/utc/parse/parseMonthFromUtc.js +2 -2
- package/dist/utc/parse/parseNanosecondFromUtc.d.ts +4 -2
- package/dist/utc/parse/parseNanosecondFromUtc.js +2 -2
- package/dist/utc/parse/parseSecondFromUtc.d.ts +4 -2
- package/dist/utc/parse/parseSecondFromUtc.js +2 -2
- package/dist/utc/parse/parseTimeFromUtc.d.ts +5 -2
- package/dist/utc/parse/parseTimeFromUtc.js +5 -4
- package/dist/utc/parse/parseUnitFromUtc.d.ts +10 -3
- package/dist/utc/parse/parseUnitFromUtc.js +11 -5
- package/dist/utc/parse/parseWeekFromUtc.d.ts +4 -2
- package/dist/utc/parse/parseWeekFromUtc.js +4 -4
- package/dist/utc/parse/parseYearFromUtc.d.ts +8 -4
- package/dist/utc/parse/parseYearFromUtc.js +8 -5
- 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/isValidUtcTimestamp.d.ts +43 -0
- package/dist/utc/validate/isValidUtcTimestamp.js +48 -0
- package/dist/zoned/calculate/addZoned.js +4 -7
- package/dist/zoned/calculate/setZoned.d.ts +19 -5
- package/dist/zoned/calculate/setZoned.js +26 -9
- package/dist/zoned/calculate/subtractZoned.js +4 -7
- package/dist/zoned/convert/convertPlainDateTimeToZoned.d.ts +4 -1
- package/dist/zoned/convert/convertPlainDateTimeToZoned.js +4 -1
- package/dist/zoned/convert/convertZonedToZoned.d.ts +5 -1
- package/dist/zoned/convert/convertZonedToZoned.js +5 -1
- package/dist/zoned/format/formatCalendarZoned.js +2 -1
- package/dist/zoned/format/formatRelativeZoned.js +2 -1
- package/dist/zoned/format/formatTimeZoneName.d.ts +5 -1
- package/dist/zoned/format/formatTimeZoneName.js +5 -1
- package/dist/zoned/get/getDstTransitions.d.ts +5 -3
- package/dist/zoned/get/getDstTransitions.js +12 -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 +10 -2
- package/dist/zoned/get/getTimeZoneOffset.js +18 -5
- 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 +5 -1
- package/dist/zoned/get/getZonedNow.js +5 -1
- 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/intervalXorAllZoned.js +2 -2
- package/dist/zoned/interval/mergeIntervalsZoned.js +2 -2
- package/dist/zoned/parse/parseUnitFromZoned.d.ts +4 -1
- package/dist/zoned/parse/parseUnitFromZoned.js +5 -1
- package/dist/zoned/parse/parseYearFromZoned.d.ts +4 -2
- package/dist/zoned/parse/parseYearFromZoned.js +6 -3
- package/dist/zoned/validate/hasDaylightSaving.d.ts +4 -2
- package/dist/zoned/validate/hasDaylightSaving.js +13 -7
- 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/package.json +50 -1
- package/skills/gmt-arithmetic/SKILL.md +99 -12
- package/skills/gmt-basics/SKILL.md +57 -15
- package/skills/gmt-integration/SKILL.md +24 -9
- package/skills/gmt-timezone/SKILL.md +134 -29
- package/dist/internal/unixZonedDateTime.d.ts +0 -22
- package/dist/internal/unixZonedDateTime.js +0 -32
- package/dist/internal/utcZonedDateTime.d.ts +0 -19
- package/dist/internal/utcZonedDateTime.js +0 -31
|
@@ -4,21 +4,14 @@ import { Temporal } from "@js-temporal/polyfill";
|
|
|
4
4
|
*
|
|
5
5
|
* - Uses Temporal.Now.instant() converted to UTC zoned date time.
|
|
6
6
|
* - Returns zero-padded string to 3 digits.
|
|
7
|
-
* - Returns "" on failure.
|
|
8
7
|
*
|
|
9
|
-
* @returns current millisecond string (zero-padded to 3 digits)
|
|
8
|
+
* @returns current millisecond string (zero-padded to 3 digits)
|
|
10
9
|
*
|
|
11
10
|
* @example getUtcMillisecond() // "123"
|
|
12
|
-
* @example getUtcMillisecond() // "" (on failure)
|
|
13
11
|
*/
|
|
14
12
|
export function getUtcMillisecond() {
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
.padStart(3, "0");
|
|
20
|
-
}
|
|
21
|
-
catch {
|
|
22
|
-
return "";
|
|
23
|
-
}
|
|
13
|
+
return Temporal.Now.instant()
|
|
14
|
+
.toZonedDateTimeISO("UTC")
|
|
15
|
+
.millisecond.toString()
|
|
16
|
+
.padStart(3, "0");
|
|
24
17
|
}
|
|
@@ -3,11 +3,9 @@
|
|
|
3
3
|
*
|
|
4
4
|
* - Uses Temporal.Now.instant() converted to UTC zoned date time.
|
|
5
5
|
* - Returns zero-padded string to 2 digits.
|
|
6
|
-
* - Returns "" on failure.
|
|
7
6
|
*
|
|
8
|
-
* @returns current minute string (zero-padded to 2 digits)
|
|
7
|
+
* @returns current minute string (zero-padded to 2 digits)
|
|
9
8
|
*
|
|
10
9
|
* @example getUtcMinute() // "30"
|
|
11
|
-
* @example getUtcMinute() // "" (on failure)
|
|
12
10
|
*/
|
|
13
11
|
export declare function getUtcMinute(): string;
|
|
@@ -4,21 +4,14 @@ import { Temporal } from "@js-temporal/polyfill";
|
|
|
4
4
|
*
|
|
5
5
|
* - Uses Temporal.Now.instant() converted to UTC zoned date time.
|
|
6
6
|
* - Returns zero-padded string to 2 digits.
|
|
7
|
-
* - Returns "" on failure.
|
|
8
7
|
*
|
|
9
|
-
* @returns current minute string (zero-padded to 2 digits)
|
|
8
|
+
* @returns current minute string (zero-padded to 2 digits)
|
|
10
9
|
*
|
|
11
10
|
* @example getUtcMinute() // "30"
|
|
12
|
-
* @example getUtcMinute() // "" (on failure)
|
|
13
11
|
*/
|
|
14
12
|
export function getUtcMinute() {
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
.padStart(2, "0");
|
|
20
|
-
}
|
|
21
|
-
catch {
|
|
22
|
-
return "";
|
|
23
|
-
}
|
|
13
|
+
return Temporal.Now.instant()
|
|
14
|
+
.toZonedDateTimeISO("UTC")
|
|
15
|
+
.minute.toString()
|
|
16
|
+
.padStart(2, "0");
|
|
24
17
|
}
|
|
@@ -3,11 +3,9 @@
|
|
|
3
3
|
*
|
|
4
4
|
* - Uses Temporal.Now.instant() converted to UTC zoned date time.
|
|
5
5
|
* - Returns zero-padded string to 2 digits.
|
|
6
|
-
* - Returns "" on failure.
|
|
7
6
|
*
|
|
8
|
-
* @returns current month string (zero-padded to 2 digits)
|
|
7
|
+
* @returns current month string (zero-padded to 2 digits)
|
|
9
8
|
*
|
|
10
9
|
* @example getUtcMonth() // "02"
|
|
11
|
-
* @example getUtcMonth() // "" (on failure)
|
|
12
10
|
*/
|
|
13
11
|
export declare function getUtcMonth(): string;
|
|
@@ -4,21 +4,14 @@ import { Temporal } from "@js-temporal/polyfill";
|
|
|
4
4
|
*
|
|
5
5
|
* - Uses Temporal.Now.instant() converted to UTC zoned date time.
|
|
6
6
|
* - Returns zero-padded string to 2 digits.
|
|
7
|
-
* - Returns "" on failure.
|
|
8
7
|
*
|
|
9
|
-
* @returns current month string (zero-padded to 2 digits)
|
|
8
|
+
* @returns current month string (zero-padded to 2 digits)
|
|
10
9
|
*
|
|
11
10
|
* @example getUtcMonth() // "02"
|
|
12
|
-
* @example getUtcMonth() // "" (on failure)
|
|
13
11
|
*/
|
|
14
12
|
export function getUtcMonth() {
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
.padStart(2, "0");
|
|
20
|
-
}
|
|
21
|
-
catch {
|
|
22
|
-
return "";
|
|
23
|
-
}
|
|
13
|
+
return Temporal.Now.instant()
|
|
14
|
+
.toZonedDateTimeISO("UTC")
|
|
15
|
+
.month.toString()
|
|
16
|
+
.padStart(2, "0");
|
|
24
17
|
}
|
|
@@ -3,11 +3,9 @@
|
|
|
3
3
|
*
|
|
4
4
|
* - Uses Temporal.Now.instant() converted to UTC zoned date time.
|
|
5
5
|
* - Returns zero-padded string to 3 digits.
|
|
6
|
-
* - Returns "" on failure.
|
|
7
6
|
*
|
|
8
|
-
* @returns current nanosecond string (zero-padded to 3 digits)
|
|
7
|
+
* @returns current nanosecond string (zero-padded to 3 digits)
|
|
9
8
|
*
|
|
10
9
|
* @example getUtcNanosecond() // "789"
|
|
11
|
-
* @example getUtcNanosecond() // "" (on failure)
|
|
12
10
|
*/
|
|
13
11
|
export declare function getUtcNanosecond(): string;
|
|
@@ -4,20 +4,13 @@ import { Temporal } from "@js-temporal/polyfill";
|
|
|
4
4
|
*
|
|
5
5
|
* - Uses Temporal.Now.instant() converted to UTC zoned date time.
|
|
6
6
|
* - Returns zero-padded string to 3 digits.
|
|
7
|
-
* - Returns "" on failure.
|
|
8
7
|
*
|
|
9
|
-
* @returns current nanosecond string (zero-padded to 3 digits)
|
|
8
|
+
* @returns current nanosecond string (zero-padded to 3 digits)
|
|
10
9
|
*
|
|
11
10
|
* @example getUtcNanosecond() // "789"
|
|
12
|
-
* @example getUtcNanosecond() // "" (on failure)
|
|
13
11
|
*/
|
|
14
12
|
export function getUtcNanosecond() {
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
.padStart(3, "0");
|
|
19
|
-
}
|
|
20
|
-
catch {
|
|
21
|
-
return "";
|
|
22
|
-
}
|
|
13
|
+
return (Temporal.Now.instant().toZonedDateTimeISO("UTC").nanosecond ?? 0)
|
|
14
|
+
.toString()
|
|
15
|
+
.padStart(3, "0");
|
|
23
16
|
}
|
|
@@ -2,11 +2,9 @@
|
|
|
2
2
|
* Return the current UTC instant as an ISO Instant string.
|
|
3
3
|
*
|
|
4
4
|
* - Uses Temporal.Now.instant() to get current UTC time.
|
|
5
|
-
* - Returns "" on failure.
|
|
6
5
|
*
|
|
7
|
-
* @returns ISO Instant string (e.g. "2024-02-29T00:00:00Z")
|
|
6
|
+
* @returns ISO Instant string (e.g. "2024-02-29T00:00:00Z")
|
|
8
7
|
*
|
|
9
8
|
* @example getUtcNow() // "2024-02-29T00:00:00Z"
|
|
10
|
-
* @example getUtcNow() // "" (on failure)
|
|
11
9
|
*/
|
|
12
10
|
export declare function getUtcNow(): string;
|
|
@@ -3,18 +3,11 @@ import { Temporal } from "@js-temporal/polyfill";
|
|
|
3
3
|
* Return the current UTC instant as an ISO Instant string.
|
|
4
4
|
*
|
|
5
5
|
* - Uses Temporal.Now.instant() to get current UTC time.
|
|
6
|
-
* - Returns "" on failure.
|
|
7
6
|
*
|
|
8
|
-
* @returns ISO Instant string (e.g. "2024-02-29T00:00:00Z")
|
|
7
|
+
* @returns ISO Instant string (e.g. "2024-02-29T00:00:00Z")
|
|
9
8
|
*
|
|
10
9
|
* @example getUtcNow() // "2024-02-29T00:00:00Z"
|
|
11
|
-
* @example getUtcNow() // "" (on failure)
|
|
12
10
|
*/
|
|
13
11
|
export function getUtcNow() {
|
|
14
|
-
|
|
15
|
-
return Temporal.Now.instant().toString();
|
|
16
|
-
}
|
|
17
|
-
catch {
|
|
18
|
-
return "";
|
|
19
|
-
}
|
|
12
|
+
return Temporal.Now.instant().toString();
|
|
20
13
|
}
|
|
@@ -8,6 +8,8 @@ export type { UtcNowUnit };
|
|
|
8
8
|
* - `unit` accepts the singular or plural name of a Temporal unit (`"hour"` or `"hours"`), as Temporal
|
|
9
9
|
* does; `"dayOfWeek"` has no plural.
|
|
10
10
|
* - Returns "" on invalid unit or failure.
|
|
11
|
+
* - The `"year"` unit is written as Temporal writes a year: four digits (`"2024"`, `"0005"`), or a
|
|
12
|
+
* sign and six digits outside 0000–9999 (`"+010000"`, `"-000005"`).
|
|
11
13
|
*
|
|
12
14
|
* @param unit unit to extract from current utc instant
|
|
13
15
|
* @returns string representation of the requested unit or "" on invalid
|
|
@@ -13,6 +13,8 @@ function isValidUtcNowUnit(unit) {
|
|
|
13
13
|
* - `unit` accepts the singular or plural name of a Temporal unit (`"hour"` or `"hours"`), as Temporal
|
|
14
14
|
* does; `"dayOfWeek"` has no plural.
|
|
15
15
|
* - Returns "" on invalid unit or failure.
|
|
16
|
+
* - The `"year"` unit is written as Temporal writes a year: four digits (`"2024"`, `"0005"`), or a
|
|
17
|
+
* sign and six digits outside 0000–9999 (`"+010000"`, `"-000005"`).
|
|
16
18
|
*
|
|
17
19
|
* @param unit unit to extract from current utc instant
|
|
18
20
|
* @returns string representation of the requested unit or "" on invalid
|
|
@@ -3,11 +3,9 @@
|
|
|
3
3
|
*
|
|
4
4
|
* - Uses Temporal.Now.instant() converted to UTC zoned date time.
|
|
5
5
|
* - Returns zero-padded string to 2 digits.
|
|
6
|
-
* - Returns "" on failure.
|
|
7
6
|
*
|
|
8
|
-
* @returns current second string (zero-padded to 2 digits)
|
|
7
|
+
* @returns current second string (zero-padded to 2 digits)
|
|
9
8
|
*
|
|
10
9
|
* @example getUtcSecond() // "45"
|
|
11
|
-
* @example getUtcSecond() // "" (on failure)
|
|
12
10
|
*/
|
|
13
11
|
export declare function getUtcSecond(): string;
|
|
@@ -4,21 +4,14 @@ import { Temporal } from "@js-temporal/polyfill";
|
|
|
4
4
|
*
|
|
5
5
|
* - Uses Temporal.Now.instant() converted to UTC zoned date time.
|
|
6
6
|
* - Returns zero-padded string to 2 digits.
|
|
7
|
-
* - Returns "" on failure.
|
|
8
7
|
*
|
|
9
|
-
* @returns current second string (zero-padded to 2 digits)
|
|
8
|
+
* @returns current second string (zero-padded to 2 digits)
|
|
10
9
|
*
|
|
11
10
|
* @example getUtcSecond() // "45"
|
|
12
|
-
* @example getUtcSecond() // "" (on failure)
|
|
13
11
|
*/
|
|
14
12
|
export function getUtcSecond() {
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
.padStart(2, "0");
|
|
20
|
-
}
|
|
21
|
-
catch {
|
|
22
|
-
return "";
|
|
23
|
-
}
|
|
13
|
+
return Temporal.Now.instant()
|
|
14
|
+
.toZonedDateTimeISO("UTC")
|
|
15
|
+
.second.toString()
|
|
16
|
+
.padStart(2, "0");
|
|
24
17
|
}
|
|
@@ -3,11 +3,11 @@
|
|
|
3
3
|
*
|
|
4
4
|
* - Uses Temporal.Now.instant() converted to UTC zoned date time.
|
|
5
5
|
* - Returns zero-padded string to 4 digits.
|
|
6
|
-
* -
|
|
6
|
+
* - A year outside 0000–9999 is written with a sign and six digits (`+010000`, `-000005`), as
|
|
7
|
+
* Temporal writes it at the head of a date.
|
|
7
8
|
*
|
|
8
|
-
* @returns current year string (zero-padded to 4 digits)
|
|
9
|
+
* @returns current year string (zero-padded to 4 digits)
|
|
9
10
|
*
|
|
10
11
|
* @example getUtcYear() // "2024"
|
|
11
|
-
* @example getUtcYear() // "" (on failure)
|
|
12
12
|
*/
|
|
13
13
|
export declare function getUtcYear(): string;
|
|
@@ -1,24 +1,17 @@
|
|
|
1
1
|
import { Temporal } from "@js-temporal/polyfill";
|
|
2
|
+
import { isoYearString } from "../../internal/isoYearString.js";
|
|
2
3
|
/**
|
|
3
4
|
* Return the current year from UTC as a zero-padded string.
|
|
4
5
|
*
|
|
5
6
|
* - Uses Temporal.Now.instant() converted to UTC zoned date time.
|
|
6
7
|
* - Returns zero-padded string to 4 digits.
|
|
7
|
-
* -
|
|
8
|
+
* - A year outside 0000–9999 is written with a sign and six digits (`+010000`, `-000005`), as
|
|
9
|
+
* Temporal writes it at the head of a date.
|
|
8
10
|
*
|
|
9
|
-
* @returns current year string (zero-padded to 4 digits)
|
|
11
|
+
* @returns current year string (zero-padded to 4 digits)
|
|
10
12
|
*
|
|
11
13
|
* @example getUtcYear() // "2024"
|
|
12
|
-
* @example getUtcYear() // "" (on failure)
|
|
13
14
|
*/
|
|
14
15
|
export function getUtcYear() {
|
|
15
|
-
|
|
16
|
-
return Temporal.Now.instant()
|
|
17
|
-
.toZonedDateTimeISO("UTC")
|
|
18
|
-
.year.toString()
|
|
19
|
-
.padStart(4, "0");
|
|
20
|
-
}
|
|
21
|
-
catch {
|
|
22
|
-
return "";
|
|
23
|
-
}
|
|
16
|
+
return isoYearString(Temporal.Now.instant().toZonedDateTimeISO("UTC").year);
|
|
24
17
|
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Temporal } from "@js-temporal/polyfill";
|
|
2
2
|
import { halfOpenXor } from "../../internal/index.js";
|
|
3
3
|
import { isValidUtcInterval } from "./validate/index.js";
|
|
4
|
+
import { isObject } from "../../internal/isObject.js";
|
|
4
5
|
/**
|
|
5
6
|
* Return the symmetric difference across a list of UTC intervals — the set of instants covered
|
|
6
7
|
* by an odd number of the input intervals.
|
|
@@ -30,8 +31,7 @@ export function intervalXorAllUtc(intervals) {
|
|
|
30
31
|
if (!Array.isArray(intervals) || intervals.length === 0) {
|
|
31
32
|
return [];
|
|
32
33
|
}
|
|
33
|
-
if (!intervals.every((interval) => interval &&
|
|
34
|
-
typeof interval === "object" &&
|
|
34
|
+
if (!intervals.every((interval) => isObject(interval) &&
|
|
35
35
|
typeof interval.start === "string" &&
|
|
36
36
|
typeof interval.end === "string" &&
|
|
37
37
|
isValidUtcInterval(interval.start, interval.end))) {
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { canonicalInstantIntervals } from "../../internal/index.js";
|
|
2
2
|
import { mergeIntervals } from "../../interval/calculate/index.js";
|
|
3
3
|
import { isValidUtcInterval } from "./validate/index.js";
|
|
4
|
+
import { isObject } from "../../internal/isObject.js";
|
|
4
5
|
/**
|
|
5
6
|
* Collapse a list of UTC intervals into the minimum set of non-overlapping intervals.
|
|
6
7
|
*
|
|
@@ -31,8 +32,7 @@ export function mergeIntervalsUtc(intervals) {
|
|
|
31
32
|
if (!Array.isArray(intervals) || intervals.length === 0) {
|
|
32
33
|
return [];
|
|
33
34
|
}
|
|
34
|
-
if (!intervals.every((interval) => interval &&
|
|
35
|
-
typeof interval === "object" &&
|
|
35
|
+
if (!intervals.every((interval) => isObject(interval) &&
|
|
36
36
|
typeof interval.start === "string" &&
|
|
37
37
|
typeof interval.end === "string" &&
|
|
38
38
|
isValidUtcInterval(interval.start, interval.end))) {
|
|
@@ -2,7 +2,7 @@ export * from "./parseDateFromUtc.js";
|
|
|
2
2
|
export * from "./parseDayFromUtc.js";
|
|
3
3
|
export * from "./parseDayOfWeekFromUtc.js";
|
|
4
4
|
export * from "./parseHourFromUtc.js";
|
|
5
|
-
export * from "./
|
|
5
|
+
export * from "./parseHttpDate.js";
|
|
6
6
|
export * from "./parseMicrosecondFromUtc.js";
|
|
7
7
|
export * from "./parseMillisecondFromUtc.js";
|
|
8
8
|
export * from "./parseMinuteFromUtc.js";
|
package/dist/utc/parse/index.js
CHANGED
|
@@ -2,7 +2,7 @@ export * from "./parseDateFromUtc.js";
|
|
|
2
2
|
export * from "./parseDayFromUtc.js";
|
|
3
3
|
export * from "./parseDayOfWeekFromUtc.js";
|
|
4
4
|
export * from "./parseHourFromUtc.js";
|
|
5
|
-
export * from "./
|
|
5
|
+
export * from "./parseHttpDate.js";
|
|
6
6
|
export * from "./parseMicrosecondFromUtc.js";
|
|
7
7
|
export * from "./parseMillisecondFromUtc.js";
|
|
8
8
|
export * from "./parseMinuteFromUtc.js";
|
|
@@ -14,8 +14,10 @@
|
|
|
14
14
|
*/
|
|
15
15
|
export declare function parseDateFromUtc(value: string, options?: {
|
|
16
16
|
/**
|
|
17
|
-
* The time zone the wall-clock fields are read in: an IANA name, a UTC offset
|
|
18
|
-
*
|
|
17
|
+
* The time zone the wall-clock fields are read in: an IANA name, a UTC offset (a time zone
|
|
18
|
+
* identifier such as `+05:30`, `+0530` or `-08`, or a stored offset `±HH:MM[:SS]`, what
|
|
19
|
+
* `getTimeZoneOffset` returns), or `"local"` for the system time zone. An unknown zone returns
|
|
20
|
+
* `""`.
|
|
19
21
|
*
|
|
20
22
|
* @defaultValue `"UTC"`
|
|
21
23
|
*/
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { utcWallClock } from "../../internal/utcWallClock.js";
|
|
2
2
|
import { isOptionsArgument } from "../../internal/isObject.js";
|
|
3
3
|
/**
|
|
4
4
|
* Extract the date portion from a UTC datetime string.
|
|
@@ -19,7 +19,7 @@ export function parseDateFromUtc(value, options) {
|
|
|
19
19
|
if (!isOptionsArgument(options)) {
|
|
20
20
|
return "";
|
|
21
21
|
}
|
|
22
|
-
const dateTime =
|
|
22
|
+
const dateTime = utcWallClock(value, options);
|
|
23
23
|
return dateTime === null ? "" : dateTime.toPlainDate().toString();
|
|
24
24
|
}
|
|
25
25
|
catch {
|
|
@@ -14,8 +14,10 @@
|
|
|
14
14
|
*/
|
|
15
15
|
export declare function parseDayFromUtc(value: string, options?: {
|
|
16
16
|
/**
|
|
17
|
-
* The time zone the wall-clock fields are read in: an IANA name, a UTC offset
|
|
18
|
-
*
|
|
17
|
+
* The time zone the wall-clock fields are read in: an IANA name, a UTC offset (a time zone
|
|
18
|
+
* identifier such as `+05:30`, `+0530` or `-08`, or a stored offset `±HH:MM[:SS]`, what
|
|
19
|
+
* `getTimeZoneOffset` returns), or `"local"` for the system time zone. An unknown zone returns
|
|
20
|
+
* `""`.
|
|
19
21
|
*
|
|
20
22
|
* @defaultValue `"UTC"`
|
|
21
23
|
*/
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { utcWallClock } from "../../internal/utcWallClock.js";
|
|
2
2
|
import { isOptionsArgument } from "../../internal/isObject.js";
|
|
3
3
|
/**
|
|
4
4
|
* Return the day of month (1-31) from a UTC datetime string.
|
|
@@ -19,7 +19,7 @@ export function parseDayFromUtc(value, options) {
|
|
|
19
19
|
if (!isOptionsArgument(options)) {
|
|
20
20
|
return "";
|
|
21
21
|
}
|
|
22
|
-
const dateTime =
|
|
22
|
+
const dateTime = utcWallClock(value, options);
|
|
23
23
|
return dateTime === null ? "" : dateTime.day.toString().padStart(2, "0");
|
|
24
24
|
}
|
|
25
25
|
catch {
|
|
@@ -15,8 +15,10 @@
|
|
|
15
15
|
*/
|
|
16
16
|
export declare function parseDayOfWeekFromUtc(value: string, options?: {
|
|
17
17
|
/**
|
|
18
|
-
* The time zone the wall-clock fields are read in: an IANA name, a UTC offset
|
|
19
|
-
*
|
|
18
|
+
* The time zone the wall-clock fields are read in: an IANA name, a UTC offset (a time zone
|
|
19
|
+
* identifier such as `+05:30`, `+0530` or `-08`, or a stored offset `±HH:MM[:SS]`, what
|
|
20
|
+
* `getTimeZoneOffset` returns), or `"local"` for the system time zone. An unknown zone returns
|
|
21
|
+
* `null`.
|
|
20
22
|
*
|
|
21
23
|
* @defaultValue `"UTC"`
|
|
22
24
|
*/
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Temporal } from "@js-temporal/polyfill";
|
|
2
|
-
import {
|
|
2
|
+
import { frameWallClock, normalizeZoneFrame } from "../../internal/zoneFrame.js";
|
|
3
3
|
import { isValidUtc } from "../validate/index.js";
|
|
4
4
|
import { isOptionsArgument } from "../../internal/isObject.js";
|
|
5
5
|
/**
|
|
@@ -24,11 +24,11 @@ export function parseDayOfWeekFromUtc(value, options) {
|
|
|
24
24
|
}
|
|
25
25
|
if (!isValidUtc(value))
|
|
26
26
|
return null;
|
|
27
|
-
const
|
|
28
|
-
if (
|
|
27
|
+
const frame = normalizeZoneFrame(options?.timeZone);
|
|
28
|
+
if (frame === null)
|
|
29
29
|
return null;
|
|
30
30
|
try {
|
|
31
|
-
const dateTime = Temporal.Instant.from(value)
|
|
31
|
+
const dateTime = frameWallClock(Temporal.Instant.from(value), frame);
|
|
32
32
|
return dateTime.dayOfWeek;
|
|
33
33
|
}
|
|
34
34
|
catch {
|
|
@@ -14,8 +14,10 @@
|
|
|
14
14
|
*/
|
|
15
15
|
export declare function parseHourFromUtc(value: string, options?: {
|
|
16
16
|
/**
|
|
17
|
-
* The time zone the wall-clock fields are read in: an IANA name, a UTC offset
|
|
18
|
-
*
|
|
17
|
+
* The time zone the wall-clock fields are read in: an IANA name, a UTC offset (a time zone
|
|
18
|
+
* identifier such as `+05:30`, `+0530` or `-08`, or a stored offset `±HH:MM[:SS]`, what
|
|
19
|
+
* `getTimeZoneOffset` returns), or `"local"` for the system time zone. An unknown zone returns
|
|
20
|
+
* `""`.
|
|
19
21
|
*
|
|
20
22
|
* @defaultValue `"UTC"`
|
|
21
23
|
*/
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { utcWallClock } from "../../internal/utcWallClock.js";
|
|
2
2
|
import { isOptionsArgument } from "../../internal/isObject.js";
|
|
3
3
|
/**
|
|
4
4
|
* Return the hour (0-23) from a UTC datetime string.
|
|
@@ -19,7 +19,7 @@ export function parseHourFromUtc(value, options) {
|
|
|
19
19
|
if (!isOptionsArgument(options)) {
|
|
20
20
|
return "";
|
|
21
21
|
}
|
|
22
|
-
const dateTime =
|
|
22
|
+
const dateTime = utcWallClock(value, options);
|
|
23
23
|
return dateTime === null ? "" : dateTime.hour.toString().padStart(2, "0");
|
|
24
24
|
}
|
|
25
25
|
catch {
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Parse an
|
|
3
|
-
* `Last-Modified`/`Date`/`Expires`
|
|
2
|
+
* Parse an HTTP header date — the RFC 9110 HTTP-date that headers like
|
|
3
|
+
* `Last-Modified`/`Date`/`Expires` carry — into a UTC ISO 8601 datetime string.
|
|
4
4
|
*
|
|
5
5
|
* - **Decoding, not display.** Accepts English weekday/month names only, per
|
|
6
|
-
* the fixed grammar (see `
|
|
6
|
+
* the fixed grammar (see `formatHttpDate`'s JSDoc).
|
|
7
7
|
* - **All three HTTP-date formats**, as RFC 9110 §5.6.7 requires ("A
|
|
8
8
|
* recipient that parses a timestamp value in an HTTP field MUST accept all
|
|
9
9
|
* three"): IMF-fixdate (`Sun, 06 Nov 1994 08:49:37 GMT`), the obsolete
|
|
@@ -36,14 +36,14 @@
|
|
|
36
36
|
* @param value RFC 9110 HTTP-date string (e.g. "Fri, 15 Mar 2024 14:30:00 GMT")
|
|
37
37
|
* @returns UTC ISO 8601 datetime string, or "" on invalid input
|
|
38
38
|
*
|
|
39
|
-
* @example
|
|
40
|
-
* @example
|
|
41
|
-
* @example
|
|
42
|
-
* @example
|
|
43
|
-
* @example
|
|
44
|
-
* @example
|
|
39
|
+
* @example parseHttpDate("Fri, 15 Mar 2024 14:30:00 GMT") // "2024-03-15T14:30:00Z"
|
|
40
|
+
* @example parseHttpDate("Sunday, 06-Nov-94 08:49:37 GMT") // "1994-11-06T08:49:37Z" (rfc850-date)
|
|
41
|
+
* @example parseHttpDate("Sun Nov 6 08:49:37 1994") // "1994-11-06T08:49:37Z" (asctime-date)
|
|
42
|
+
* @example parseHttpDate("Fri, 15 Mar 2024 14:30:00 -0400") // "" (not an HTTP-date)
|
|
43
|
+
* @example parseHttpDate("Sat, 15 Mar 2024 14:30:00 GMT") // "" (15 Mar 2024 was a Friday)
|
|
44
|
+
* @example parseHttpDate("Mon Nov 6 08:49:37 1994") // "" (asctime-date; 6 Nov 1994 was a Sunday)
|
|
45
45
|
* @example convertZonedToUtc(parseRfc2822("15 Mar 2024 14:30:00 GMT")) // "2024-03-15T14:30:00Z" — the day name removed
|
|
46
|
-
* @example
|
|
47
|
-
* @example
|
|
46
|
+
* @example parseHttpDate("Sat, 31 Feb 2024 14:30:00 GMT") // "" (impossible date)
|
|
47
|
+
* @example parseHttpDate("not a date") // ""
|
|
48
48
|
*/
|
|
49
|
-
export declare function
|
|
49
|
+
export declare function parseHttpDate(value: string): string;
|
|
@@ -3,11 +3,11 @@ import { ENGLISH_MONTH_NAMES, ENGLISH_WEEKDAY_NAMES } from "../../internal/index
|
|
|
3
3
|
import { readObsoleteHttpDate, } from "../../internal/httpDateFields.js";
|
|
4
4
|
import { httpDate } from "../../regex/index.js";
|
|
5
5
|
/**
|
|
6
|
-
* Parse an
|
|
7
|
-
* `Last-Modified`/`Date`/`Expires`
|
|
6
|
+
* Parse an HTTP header date — the RFC 9110 HTTP-date that headers like
|
|
7
|
+
* `Last-Modified`/`Date`/`Expires` carry — into a UTC ISO 8601 datetime string.
|
|
8
8
|
*
|
|
9
9
|
* - **Decoding, not display.** Accepts English weekday/month names only, per
|
|
10
|
-
* the fixed grammar (see `
|
|
10
|
+
* the fixed grammar (see `formatHttpDate`'s JSDoc).
|
|
11
11
|
* - **All three HTTP-date formats**, as RFC 9110 §5.6.7 requires ("A
|
|
12
12
|
* recipient that parses a timestamp value in an HTTP field MUST accept all
|
|
13
13
|
* three"): IMF-fixdate (`Sun, 06 Nov 1994 08:49:37 GMT`), the obsolete
|
|
@@ -40,17 +40,17 @@ import { httpDate } from "../../regex/index.js";
|
|
|
40
40
|
* @param value RFC 9110 HTTP-date string (e.g. "Fri, 15 Mar 2024 14:30:00 GMT")
|
|
41
41
|
* @returns UTC ISO 8601 datetime string, or "" on invalid input
|
|
42
42
|
*
|
|
43
|
-
* @example
|
|
44
|
-
* @example
|
|
45
|
-
* @example
|
|
46
|
-
* @example
|
|
47
|
-
* @example
|
|
48
|
-
* @example
|
|
43
|
+
* @example parseHttpDate("Fri, 15 Mar 2024 14:30:00 GMT") // "2024-03-15T14:30:00Z"
|
|
44
|
+
* @example parseHttpDate("Sunday, 06-Nov-94 08:49:37 GMT") // "1994-11-06T08:49:37Z" (rfc850-date)
|
|
45
|
+
* @example parseHttpDate("Sun Nov 6 08:49:37 1994") // "1994-11-06T08:49:37Z" (asctime-date)
|
|
46
|
+
* @example parseHttpDate("Fri, 15 Mar 2024 14:30:00 -0400") // "" (not an HTTP-date)
|
|
47
|
+
* @example parseHttpDate("Sat, 15 Mar 2024 14:30:00 GMT") // "" (15 Mar 2024 was a Friday)
|
|
48
|
+
* @example parseHttpDate("Mon Nov 6 08:49:37 1994") // "" (asctime-date; 6 Nov 1994 was a Sunday)
|
|
49
49
|
* @example convertZonedToUtc(parseRfc2822("15 Mar 2024 14:30:00 GMT")) // "2024-03-15T14:30:00Z" — the day name removed
|
|
50
|
-
* @example
|
|
51
|
-
* @example
|
|
50
|
+
* @example parseHttpDate("Sat, 31 Feb 2024 14:30:00 GMT") // "" (impossible date)
|
|
51
|
+
* @example parseHttpDate("not a date") // ""
|
|
52
52
|
*/
|
|
53
|
-
export function
|
|
53
|
+
export function parseHttpDate(value) {
|
|
54
54
|
if (typeof value !== "string")
|
|
55
55
|
return "";
|
|
56
56
|
try {
|
|
@@ -15,8 +15,10 @@
|
|
|
15
15
|
*/
|
|
16
16
|
export declare function parseMicrosecondFromUtc(value: string, options?: {
|
|
17
17
|
/**
|
|
18
|
-
* The time zone the wall-clock fields are read in: an IANA name, a UTC offset
|
|
19
|
-
*
|
|
18
|
+
* The time zone the wall-clock fields are read in: an IANA name, a UTC offset (a time zone
|
|
19
|
+
* identifier such as `+05:30`, `+0530` or `-08`, or a stored offset `±HH:MM[:SS]`, what
|
|
20
|
+
* `getTimeZoneOffset` returns), or `"local"` for the system time zone. An unknown zone returns
|
|
21
|
+
* `""`.
|
|
20
22
|
*
|
|
21
23
|
* @defaultValue `"UTC"`
|
|
22
24
|
*/
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { utcWallClock } from "../../internal/utcWallClock.js";
|
|
2
2
|
import { isOptionsArgument } from "../../internal/isObject.js";
|
|
3
3
|
/**
|
|
4
4
|
* Return the microsecond (0-999) from a UTC datetime string.
|
|
@@ -20,7 +20,7 @@ export function parseMicrosecondFromUtc(value, options) {
|
|
|
20
20
|
if (!isOptionsArgument(options)) {
|
|
21
21
|
return "";
|
|
22
22
|
}
|
|
23
|
-
const dateTime =
|
|
23
|
+
const dateTime = utcWallClock(value, options);
|
|
24
24
|
return dateTime === null
|
|
25
25
|
? ""
|
|
26
26
|
: dateTime.microsecond.toString().padStart(3, "0");
|
|
@@ -14,8 +14,10 @@
|
|
|
14
14
|
*/
|
|
15
15
|
export declare function parseMillisecondFromUtc(value: string, options?: {
|
|
16
16
|
/**
|
|
17
|
-
* The time zone the wall-clock fields are read in: an IANA name, a UTC offset
|
|
18
|
-
*
|
|
17
|
+
* The time zone the wall-clock fields are read in: an IANA name, a UTC offset (a time zone
|
|
18
|
+
* identifier such as `+05:30`, `+0530` or `-08`, or a stored offset `±HH:MM[:SS]`, what
|
|
19
|
+
* `getTimeZoneOffset` returns), or `"local"` for the system time zone. An unknown zone returns
|
|
20
|
+
* `""`.
|
|
19
21
|
*
|
|
20
22
|
* @defaultValue `"UTC"`
|
|
21
23
|
*/
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { utcWallClock } from "../../internal/utcWallClock.js";
|
|
2
2
|
import { isOptionsArgument } from "../../internal/isObject.js";
|
|
3
3
|
/**
|
|
4
4
|
* Return the millisecond (0-999) from a UTC datetime string.
|
|
@@ -19,7 +19,7 @@ export function parseMillisecondFromUtc(value, options) {
|
|
|
19
19
|
if (!isOptionsArgument(options)) {
|
|
20
20
|
return "";
|
|
21
21
|
}
|
|
22
|
-
const dateTime =
|
|
22
|
+
const dateTime = utcWallClock(value, options);
|
|
23
23
|
return dateTime === null
|
|
24
24
|
? ""
|
|
25
25
|
: dateTime.millisecond.toString().padStart(3, "0");
|