@northguild/gmt 1.16.0 → 1.18.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 +742 -21
- package/dist/calendar/calculate/bucketRange.d.ts +3 -3
- package/dist/calendar/calculate/bucketRange.js +6 -6
- package/dist/calendar/calculate/floorToZone.d.ts +5 -3
- package/dist/calendar/calculate/floorToZone.js +6 -5
- 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 +53 -0
- package/dist/calendar/hours/addOperatingTime.js +59 -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 +39 -0
- package/dist/calendar/hours/isOpenAt.js +44 -0
- package/dist/calendar/hours/nextCloseAt.d.ts +49 -0
- package/dist/calendar/hours/nextCloseAt.js +51 -0
- package/dist/calendar/hours/nextOpenAt.d.ts +45 -0
- package/dist/calendar/hours/nextOpenAt.js +47 -0
- package/dist/calendar/hours/operatingIntervals.d.ts +43 -0
- package/dist/calendar/hours/operatingIntervals.js +52 -0
- package/dist/calendar/hours/operatingTimeBetween.d.ts +40 -0
- package/dist/calendar/hours/operatingTimeBetween.js +49 -0
- package/dist/calendar/hours/recurringWindows.d.ts +61 -0
- package/dist/calendar/hours/recurringWindows.js +80 -0
- package/dist/calendar/index.d.ts +1 -0
- package/dist/calendar/index.js +1 -0
- package/dist/duration/calculate/durationAs.d.ts +13 -8
- package/dist/duration/calculate/durationAs.js +4 -8
- package/dist/duration/compare/compareDurations.d.ts +12 -6
- package/dist/duration/compare/compareDurations.js +3 -6
- 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/index.d.ts +2 -0
- package/dist/index.js +2 -0
- package/dist/instant/convert/classifyLocal.d.ts +1 -1
- package/dist/instant/convert/classifyLocal.js +1 -1
- package/dist/instant/convert/fromOffsetInstant.d.ts +3 -1
- package/dist/instant/convert/fromOffsetInstant.js +6 -12
- package/dist/instant/convert/resolveLocal.d.ts +12 -7
- package/dist/instant/convert/resolveLocal.js +6 -10
- package/dist/instant/convert/toOffsetInstant.d.ts +37 -1
- package/dist/instant/convert/toOffsetInstant.js +12 -28
- package/dist/intermodal/calculate/billingTimeline.d.ts +114 -0
- package/dist/intermodal/calculate/billingTimeline.js +168 -0
- package/dist/intermodal/calculate/chargeableDays.d.ts +100 -0
- package/dist/intermodal/calculate/chargeableDays.js +96 -0
- package/dist/intermodal/calculate/demurrageClock.d.ts +102 -0
- package/dist/intermodal/calculate/demurrageClock.js +140 -0
- package/dist/intermodal/calculate/freeTimeExpiry.d.ts +67 -0
- package/dist/intermodal/calculate/freeTimeExpiry.js +82 -0
- package/dist/intermodal/calculate/index.d.ts +4 -0
- package/dist/intermodal/calculate/index.js +4 -0
- package/dist/intermodal/index.d.ts +2 -0
- package/dist/intermodal/index.js +3 -0
- package/dist/internal/businessCalendar.d.ts +5 -0
- package/dist/internal/businessCalendar.js +5 -1
- 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/englishCalendarNames.js +1 -2
- 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 +93 -0
- package/dist/internal/freeTimeLedger.js +262 -0
- package/dist/internal/index.d.ts +10 -3
- package/dist/internal/index.js +10 -3
- 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/isoStringBody.d.ts +26 -0
- package/dist/internal/isoStringBody.js +22 -2
- package/dist/internal/joinDateTimeConnector.d.ts +1 -1
- package/dist/internal/monthGridWeekRow.d.ts +2 -1
- package/dist/internal/monthGridWeekRow.js +2 -1
- package/dist/internal/normalizeTimeZone.d.ts +2 -2
- package/dist/internal/normalizeTimeZone.js +2 -2
- package/dist/internal/operatingSchedule.d.ts +129 -0
- package/dist/internal/operatingSchedule.js +668 -0
- package/dist/internal/optionOrDefault.d.ts +18 -0
- package/dist/internal/optionOrDefault.js +20 -0
- package/dist/internal/patternToken.d.ts +2 -2
- package/dist/internal/patternToken.js +28 -13
- 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/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/splitStep.d.ts +24 -1
- package/dist/internal/splitStep.js +34 -2
- 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/utcZonedDateTime.d.ts +5 -2
- package/dist/internal/utcZonedDateTime.js +8 -5
- package/dist/internal/wallClockAtOffset.d.ts +22 -0
- package/dist/internal/wallClockAtOffset.js +26 -0
- package/dist/internal/zonedBucket.js +8 -6
- package/dist/internal/zonedLocalDates.js +1 -1
- 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 +5 -4
- package/dist/internal/zonedWallClockOperations.d.ts +26 -13
- package/dist/internal/zonedWallClockOperations.js +87 -34
- 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 +5 -8
- package/dist/plain/calculate/addDateTime.d.ts +7 -4
- package/dist/plain/calculate/addDateTime.js +1 -4
- 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 +8 -2
- 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 +7 -5
- package/dist/plain/calculate/setDate.js +1 -5
- package/dist/plain/calculate/setDateTime.d.ts +8 -5
- package/dist/plain/calculate/setDateTime.js +1 -5
- package/dist/plain/calculate/setTime.d.ts +10 -6
- package/dist/plain/calculate/setTime.js +4 -6
- 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 +8 -1
- package/dist/plain/calculate/startOfTime.js +1 -1
- package/dist/plain/calculate/subtractDate.d.ts +7 -4
- package/dist/plain/calculate/subtractDate.js +1 -4
- package/dist/plain/calculate/subtractDateTime.d.ts +7 -4
- package/dist/plain/calculate/subtractDateTime.js +1 -4
- 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 +21 -16
- 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 +26 -15
- package/dist/plain/format/formatRelativeDateTime.d.ts +16 -3
- package/dist/plain/format/formatRelativeDateTime.js +8 -5
- package/dist/plain/format/formatRelativeTime.d.ts +16 -3
- package/dist/plain/format/formatRelativeTime.js +21 -13
- package/dist/plain/format/formatTime.js +4 -2
- 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/intervalXorAllDateTime.d.ts +9 -0
- package/dist/plain/interval/intervalXorAllTime.d.ts +9 -0
- 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/mergeIntervalsDateTime.d.ts +9 -0
- package/dist/plain/interval/mergeIntervalsTime.d.ts +9 -0
- 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/parseDateTimeWithPattern.d.ts +10 -7
- package/dist/plain/parse/parseDateTimeWithPattern.js +10 -7
- package/dist/plain/parse/parseDateWithPattern.d.ts +10 -7
- package/dist/plain/parse/parseDateWithPattern.js +10 -7
- package/dist/plain/parse/parseTimeWithPattern.d.ts +10 -7
- package/dist/plain/parse/parseTimeWithPattern.js +10 -7
- package/dist/plain/parse/parseUnitFromDate.d.ts +11 -3
- package/dist/plain/parse/parseUnitFromDate.js +3 -3
- package/dist/plain/parse/parseUnitFromDateTime.d.ts +11 -3
- package/dist/plain/parse/parseUnitFromDateTime.js +3 -3
- 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/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/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 +1 -1
- package/dist/precision/convert/fromNanoseconds.js +1 -1
- 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/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 +58 -0
- package/dist/transport/calculate/crossingTime.js +76 -0
- package/dist/transport/calculate/cutoffAt.d.ts +90 -0
- package/dist/transport/calculate/cutoffAt.js +209 -0
- package/dist/transport/calculate/cutoffSchedule.d.ts +70 -0
- package/dist/transport/calculate/cutoffSchedule.js +71 -0
- package/dist/transport/calculate/dwellTime.d.ts +81 -0
- package/dist/transport/calculate/dwellTime.js +130 -0
- package/dist/transport/calculate/estimateDrift.d.ts +65 -0
- package/dist/transport/calculate/estimateDrift.js +75 -0
- package/dist/transport/calculate/index.d.ts +10 -0
- package/dist/transport/calculate/index.js +10 -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 +150 -0
- package/dist/transport/calculate/scheduleDelivery.js +300 -0
- package/dist/transport/calculate/transitTime.d.ts +71 -0
- package/dist/transport/calculate/transitTime.js +101 -0
- 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 +43 -0
- package/dist/transport/convert/etaAtZone.js +58 -0
- package/dist/transport/convert/index.d.ts +1 -0
- package/dist/transport/convert/index.js +1 -0
- package/dist/transport/index.d.ts +4 -0
- package/dist/transport/index.js +5 -0
- package/dist/types/business-calendar.d.ts +19 -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/fiscal-calendar.d.ts +1 -1
- package/dist/types/fractional-digit.d.ts +5 -0
- package/dist/types/free-time-options.d.ts +44 -0
- package/dist/types/index.d.ts +3 -1
- package/dist/types/index.js +3 -1
- package/dist/types/interval.d.ts +8 -1
- package/dist/types/offset.d.ts +9 -0
- package/dist/types/operating-schedule.d.ts +71 -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/unix/calculate/addUnix.d.ts +19 -5
- package/dist/unix/calculate/addUnix.js +1 -5
- package/dist/unix/calculate/diffUnix.d.ts +13 -3
- package/dist/unix/calculate/diffUnix.js +1 -3
- package/dist/unix/calculate/diffUnixAsDuration.d.ts +13 -3
- package/dist/unix/calculate/diffUnixAsDuration.js +1 -3
- package/dist/unix/calculate/endOfQuarterForUnix.d.ts +13 -3
- package/dist/unix/calculate/endOfQuarterForUnix.js +1 -3
- package/dist/unix/calculate/endOfUnix.d.ts +20 -4
- package/dist/unix/calculate/endOfUnix.js +1 -4
- package/dist/unix/calculate/isBetweenUnix.d.ts +26 -4
- package/dist/unix/calculate/isBetweenUnix.js +4 -6
- package/dist/unix/calculate/roundUnix.d.ts +31 -3
- package/dist/unix/calculate/roundUnix.js +3 -6
- package/dist/unix/calculate/setUnix.d.ts +35 -9
- package/dist/unix/calculate/setUnix.js +4 -13
- package/dist/unix/calculate/startOfQuarterForUnix.d.ts +13 -3
- package/dist/unix/calculate/startOfQuarterForUnix.js +1 -3
- package/dist/unix/calculate/startOfUnix.d.ts +20 -4
- package/dist/unix/calculate/startOfUnix.js +1 -4
- package/dist/unix/calculate/subtractUnix.d.ts +19 -5
- package/dist/unix/calculate/subtractUnix.js +1 -5
- package/dist/unix/compare/areUnixEqual.d.ts +7 -1
- package/dist/unix/compare/areUnixEqual.js +1 -1
- package/dist/unix/compare/areUnixEqualBy.d.ts +24 -7
- package/dist/unix/compare/areUnixEqualBy.js +13 -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 +14 -4
- package/dist/unix/convert/convertUnixToPlainDate.js +2 -4
- package/dist/unix/convert/convertUnixToPlainDateTime.d.ts +14 -4
- package/dist/unix/convert/convertUnixToPlainDateTime.js +2 -4
- package/dist/unix/convert/convertUnixToPlainTime.d.ts +14 -4
- package/dist/unix/convert/convertUnixToPlainTime.js +2 -4
- package/dist/unix/convert/convertUnixToUtc.d.ts +9 -4
- package/dist/unix/convert/convertUnixToUtc.js +3 -4
- package/dist/unix/convert/convertUnixToZoned.d.ts +10 -5
- package/dist/unix/convert/convertUnixToZoned.js +4 -5
- package/dist/unix/format/formatCalendarUnix.d.ts +27 -19
- package/dist/unix/format/formatCalendarUnix.js +4 -5
- package/dist/unix/format/formatRelativeUnix.d.ts +54 -5
- package/dist/unix/format/formatRelativeUnix.js +3 -5
- package/dist/unix/format/formatUnix.d.ts +24 -6
- package/dist/unix/format/formatUnix.js +8 -7
- package/dist/unix/get/getUnixNow.d.ts +8 -3
- package/dist/unix/get/getUnixNow.js +1 -3
- package/dist/unix/interval/intervalCountUnix.d.ts +14 -5
- package/dist/unix/interval/intervalCountUnix.js +2 -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 +33 -5
- package/dist/unix/interval/intervalFromDurationUnix.js +6 -5
- package/dist/unix/interval/intervalIntersectionUnix.d.ts +6 -0
- package/dist/unix/interval/intervalLengthUnix.d.ts +16 -6
- package/dist/unix/interval/intervalLengthUnix.js +4 -6
- package/dist/unix/interval/intervalOverlappingDaysUnix.d.ts +13 -3
- package/dist/unix/interval/intervalOverlappingDaysUnix.js +1 -3
- 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 +42 -11
- package/dist/unix/interval/splitIntervalByUnitUnix.js +21 -16
- package/dist/unix/parse/parseDateFromUnix.d.ts +13 -2
- package/dist/unix/parse/parseDateFromUnix.js +1 -2
- package/dist/unix/parse/parseDayFromUnix.d.ts +14 -2
- package/dist/unix/parse/parseDayFromUnix.js +2 -2
- package/dist/unix/parse/parseDayOfWeekFromUnix.d.ts +13 -1
- package/dist/unix/parse/parseDayOfWeekFromUnix.js +1 -1
- package/dist/unix/parse/parseHourFromUnix.d.ts +14 -2
- package/dist/unix/parse/parseHourFromUnix.js +2 -2
- package/dist/unix/parse/parseMicrosecondFromUnix.d.ts +14 -2
- package/dist/unix/parse/parseMicrosecondFromUnix.js +2 -2
- package/dist/unix/parse/parseMillisecondFromUnix.d.ts +14 -2
- package/dist/unix/parse/parseMillisecondFromUnix.js +2 -2
- package/dist/unix/parse/parseMinuteFromUnix.d.ts +14 -2
- package/dist/unix/parse/parseMinuteFromUnix.js +2 -2
- package/dist/unix/parse/parseMonthFromUnix.d.ts +14 -2
- package/dist/unix/parse/parseMonthFromUnix.js +2 -2
- package/dist/unix/parse/parseNanosecondFromUnix.d.ts +14 -2
- package/dist/unix/parse/parseNanosecondFromUnix.js +2 -2
- package/dist/unix/parse/parseSecondFromUnix.d.ts +14 -2
- package/dist/unix/parse/parseSecondFromUnix.js +2 -2
- package/dist/unix/parse/parseTimeFromUnix.d.ts +13 -2
- package/dist/unix/parse/parseTimeFromUnix.js +1 -2
- package/dist/unix/parse/parseUnitFromUnix.d.ts +22 -3
- package/dist/unix/parse/parseUnitFromUnix.js +2 -3
- package/dist/unix/parse/parseWeekFromUnix.d.ts +23 -7
- package/dist/unix/parse/parseWeekFromUnix.js +3 -7
- package/dist/unix/parse/parseYearFromUnix.d.ts +14 -2
- package/dist/unix/parse/parseYearFromUnix.js +2 -2
- package/dist/unix/validate/isValidUnixRange.d.ts +20 -4
- package/dist/unix/validate/isValidUnixRange.js +1 -4
- package/dist/utc/calculate/addUtc.d.ts +7 -4
- package/dist/utc/calculate/addUtc.js +1 -4
- 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 +7 -4
- package/dist/utc/calculate/setUtc.js +1 -4
- 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 +1 -4
- package/dist/utc/compare/areUtcEqualBy.d.ts +9 -3
- package/dist/utc/compare/areUtcEqualBy.js +2 -3
- package/dist/utc/convert/convertUtcToPlainDate.d.ts +8 -3
- package/dist/utc/convert/convertUtcToPlainDate.js +5 -6
- package/dist/utc/convert/convertUtcToPlainDateTime.d.ts +8 -3
- package/dist/utc/convert/convertUtcToPlainDateTime.js +5 -6
- package/dist/utc/convert/convertUtcToPlainTime.d.ts +8 -3
- package/dist/utc/convert/convertUtcToPlainTime.js +5 -6
- package/dist/utc/convert/convertUtcToUnix.d.ts +9 -4
- package/dist/utc/convert/convertUtcToUnix.js +3 -4
- package/dist/utc/convert/convertUtcToZoned.d.ts +1 -1
- package/dist/utc/convert/convertUtcToZoned.js +1 -1
- package/dist/utc/format/formatCalendarUtc.d.ts +19 -8
- package/dist/utc/format/formatCalendarUtc.js +8 -6
- package/dist/utc/format/formatHttp.d.ts +1 -1
- package/dist/utc/format/formatHttp.js +1 -1
- package/dist/utc/format/formatRelativeUtc.d.ts +30 -10
- package/dist/utc/format/formatRelativeUtc.js +9 -11
- package/dist/utc/format/formatUtc.d.ts +17 -15
- package/dist/utc/format/formatUtc.js +8 -8
- 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/intervalXorUtc.d.ts +6 -0
- package/dist/utc/interval/mergeIntervalsUtc.d.ts +6 -0
- package/dist/utc/interval/splitIntervalByUnitUtc.d.ts +19 -6
- package/dist/utc/interval/splitIntervalByUnitUtc.js +6 -6
- package/dist/utc/parse/parseDateFromUtc.d.ts +7 -3
- package/dist/utc/parse/parseDateFromUtc.js +1 -3
- package/dist/utc/parse/parseDayFromUtc.d.ts +7 -3
- package/dist/utc/parse/parseDayFromUtc.js +1 -3
- package/dist/utc/parse/parseDayOfWeekFromUtc.d.ts +7 -3
- package/dist/utc/parse/parseDayOfWeekFromUtc.js +4 -6
- package/dist/utc/parse/parseHourFromUtc.d.ts +7 -3
- package/dist/utc/parse/parseHourFromUtc.js +1 -3
- package/dist/utc/parse/parseHttp.d.ts +1 -1
- package/dist/utc/parse/parseHttp.js +1 -1
- package/dist/utc/parse/parseMicrosecondFromUtc.d.ts +7 -3
- package/dist/utc/parse/parseMicrosecondFromUtc.js +1 -3
- package/dist/utc/parse/parseMillisecondFromUtc.d.ts +7 -3
- package/dist/utc/parse/parseMillisecondFromUtc.js +1 -3
- package/dist/utc/parse/parseMinuteFromUtc.d.ts +7 -3
- package/dist/utc/parse/parseMinuteFromUtc.js +1 -3
- package/dist/utc/parse/parseMonthFromUtc.d.ts +7 -3
- package/dist/utc/parse/parseMonthFromUtc.js +1 -3
- package/dist/utc/parse/parseNanosecondFromUtc.d.ts +7 -3
- package/dist/utc/parse/parseNanosecondFromUtc.js +1 -3
- package/dist/utc/parse/parseSecondFromUtc.d.ts +7 -3
- package/dist/utc/parse/parseSecondFromUtc.js +1 -3
- package/dist/utc/parse/parseTimeFromUtc.d.ts +8 -3
- package/dist/utc/parse/parseTimeFromUtc.js +5 -6
- package/dist/utc/parse/parseUnitFromUtc.d.ts +17 -5
- package/dist/utc/parse/parseUnitFromUtc.js +6 -8
- package/dist/utc/parse/parseWeekFromUtc.d.ts +18 -10
- package/dist/utc/parse/parseWeekFromUtc.js +7 -13
- package/dist/utc/parse/parseYearFromUtc.d.ts +7 -3
- package/dist/utc/parse/parseYearFromUtc.js +1 -3
- package/dist/utc/validate/isValidUtcRange.d.ts +16 -5
- package/dist/utc/validate/isValidUtcRange.js +2 -5
- package/dist/zoned/calculate/addZoned.d.ts +20 -10
- package/dist/zoned/calculate/addZoned.js +6 -13
- 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 +25 -8
- package/dist/zoned/calculate/setZoned.js +4 -12
- 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 +6 -13
- 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 +18 -5
- package/dist/zoned/convert/convertPlainDateTimeToZoned.js +6 -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 +1 -1
- package/dist/zoned/convert/convertZonedToZoned.js +1 -1
- package/dist/zoned/format/formatCalendarZoned.d.ts +18 -12
- package/dist/zoned/format/formatCalendarZoned.js +13 -9
- package/dist/zoned/format/formatRelativeZoned.d.ts +41 -12
- package/dist/zoned/format/formatRelativeZoned.js +7 -4
- 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 +12 -3
- package/dist/zoned/format/formatTimeZoneName.js +5 -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 +9 -10
- package/dist/zoned/get/getDstTransitions.js +12 -3
- package/dist/zoned/get/getTimeZoneOffset.d.ts +4 -1
- package/dist/zoned/get/getTimeZoneOffset.js +6 -3
- package/dist/zoned/get/getZonedNow.d.ts +13 -1
- package/dist/zoned/get/getZonedNow.js +12 -3
- 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/intervalXorZoned.d.ts +9 -0
- package/dist/zoned/interval/mergeIntervalsZoned.d.ts +9 -0
- 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 +9 -3
- package/dist/zoned/parse/parseUnitFromZoned.js +1 -3
- package/dist/zoned/parse/parseWeekFromZoned.d.ts +10 -3
- package/dist/zoned/parse/parseWeekFromZoned.js +2 -3
- package/dist/zoned/validate/hasDaylightSaving.d.ts +42 -11
- package/dist/zoned/validate/hasDaylightSaving.js +47 -31
- 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 +53 -5
- package/skills/gmt-arithmetic/SKILL.md +1 -1
- package/skills/gmt-basics/SKILL.md +10 -1
- package/skills/gmt-integration/SKILL.md +10 -5
- package/skills/gmt-timezone/SKILL.md +210 -14
- package/dist/internal/resolveReadingTimeZone.d.ts +0 -11
- package/dist/internal/resolveReadingTimeZone.js +0 -18
- package/dist/types/duration-unit.d.ts +0 -5
- /package/dist/types/{duration-unit.js → free-time-options.js} +0 -0
|
@@ -3,7 +3,7 @@ import { Temporal } from "@js-temporal/polyfill";
|
|
|
3
3
|
import { resolveDurationUnit, tileByUnit } from "../../internal/index.js";
|
|
4
4
|
import { exceedsPieceLimit, resolveMaxPieces } from "../../internal/maxPieces.js";
|
|
5
5
|
import { resolveUnixIntervalPair } from "../../internal/resolveUnixIntervalPair.js";
|
|
6
|
-
import { minSlicesForSpan } from "../../internal/splitStep.js";
|
|
6
|
+
import { minSlicesForSpan, stepNoFinerThan } from "../../internal/splitStep.js";
|
|
7
7
|
import { toUnixEpoch } from "../../internal/unixEpochValue.js";
|
|
8
8
|
/**
|
|
9
9
|
* Split a Unix epoch interval into sub-intervals of `amount × unit`.
|
|
@@ -13,34 +13,36 @@ import { toUnixEpoch } from "../../internal/unixEpochValue.js";
|
|
|
13
13
|
* no value and together cover `[start, end)` exactly once.
|
|
14
14
|
* - The final sub-interval is trimmed so its `end` never exceeds the original `end`.
|
|
15
15
|
* - Calendar-unit boundaries (years, months, weeks, days) are computed from `start`
|
|
16
|
-
* (`start + k × amount
|
|
17
|
-
*
|
|
16
|
+
* (`start + k × amount`), so month-end starts don't drift: a monthly split from January 31
|
|
17
|
+
* lands on February 29, March 31, April 30. Temporal's `add` constrains a day the month lacks
|
|
18
|
+
* to the month's last day, and stepping from that boundary would keep the shortened day
|
|
19
|
+
* (February 29, then March 29).
|
|
20
|
+
* - Comparison: Luxon's `Interval.splitBy` computes each boundary from the start the same way.
|
|
18
21
|
* - Exact-unit boundaries (hours and smaller) step from the previous boundary. Exact units never
|
|
19
22
|
* clamp, and stepping keeps nanosecond precision where `k × amount` would pass
|
|
20
23
|
* `Number.MAX_SAFE_INTEGER` (boundaries are then floored to milliseconds).
|
|
21
24
|
* - A calendar step that resolves to the same instant as the previous boundary (a deleted local
|
|
22
25
|
* day, such as 30 December 2011 in `Pacific/Apia`) is skipped, so no empty slice is produced.
|
|
23
26
|
* A step that goes backwards returns `[]`.
|
|
27
|
+
* - A step finer than `epochUnit` (500 milliseconds when the epochs are seconds, any microsecond
|
|
28
|
+
* or nanosecond step shorter than a millisecond) cannot be written in that unit: its boundaries
|
|
29
|
+
* floor to every whole unit from `start` to `end`, so the pieces are one `epochUnit` long and
|
|
30
|
+
* none is empty. `maxPieces` counts those pieces.
|
|
24
31
|
* - Returns `[{ start, end }]` when `start === end` (zero-length interval).
|
|
25
32
|
* - Returns `[]` on invalid input (`start`/`end` that is not a safe integer or numeric string of
|
|
26
33
|
* one — fractions, empty strings and values beyond ±(2^53 − 1) are invalid — unsupported unit,
|
|
27
34
|
* non-positive amount, an invalid `epochUnit` or an unknown `timeZone`).
|
|
28
35
|
*
|
|
29
|
-
* -
|
|
30
|
-
* by default, `"seconds"`; singular accepted). Each input is a safe integer or a string of
|
|
31
|
-
* optionally negative ASCII digits.
|
|
32
|
-
* - Calendar-unit arithmetic runs in `options.timeZone`: omitted is `"UTC"`, `"local"` is the
|
|
33
|
-
* system zone, and an unknown zone returns `[]`.
|
|
36
|
+
* - `start` and `end` are each a safe integer or a string of optionally negative ASCII digits.
|
|
34
37
|
* - Accepts singular or plural units (`"day"` and `"days"` behave identically).
|
|
35
|
-
* - `options.maxPieces`
|
|
36
|
-
*
|
|
37
|
-
* otherwise as soon as slice `maxPieces + 1` is due. An invalid `maxPieces` also returns `[]`.
|
|
38
|
+
* - A split into more than `options.maxPieces` slices returns `[]`, decided from the span before
|
|
39
|
+
* stepping where it can be, and otherwise as soon as slice `maxPieces + 1` is due.
|
|
38
40
|
*
|
|
39
41
|
* @param start Unix epoch in `epochUnit` — interval start
|
|
40
42
|
* @param end Unix epoch in `epochUnit` — interval end
|
|
41
43
|
* @param unit duration unit string — any `DateTimeDurationUnit`, singular or plural
|
|
42
44
|
* @param amount positive number of units per step
|
|
43
|
-
* @param options optional:
|
|
45
|
+
* @param options optional: the limit on the number of slices, how the epochs are read and the zone calendar steps run in
|
|
44
46
|
* @returns array of `{ start, end }` records, or [] on invalid input
|
|
45
47
|
*
|
|
46
48
|
* @example splitIntervalByUnitUnix(0, 86400000, "hour", 6) // [{ start: 0, end: 21600000 }, { start: 21600000, end: 43200000 }, { start: 43200000, end: 64800000 }, { start: 64800000, end: 86400000 }]
|
|
@@ -52,6 +54,7 @@ import { toUnixEpoch } from "../../internal/unixEpochValue.js";
|
|
|
52
54
|
* @example splitIntervalByUnitUnix(0, 86400000, "hour", 6, { maxPieces: 4 }) // [{ start: 0, end: 21600000 }, { start: 21600000, end: 43200000 }, { start: 43200000, end: 64800000 }, { start: 64800000, end: 86400000 }]
|
|
53
55
|
* @example splitIntervalByUnitUnix(1710046800000, 1710216000000, "day", 1, { timeZone: "America/New_York" }) // [{ start: 1710046800000, end: 1710129600000 }, { start: 1710129600000, end: 1710216000000 }] (the first local day is 23 hours)
|
|
54
56
|
* @example splitIntervalByUnitUnix("0", "86400", "hours", 12, { epochUnit: "second" }) // [{ start: 0, end: 43200 }, { start: 43200, end: 86400 }]
|
|
57
|
+
* @example splitIntervalByUnitUnix(0, 2, "millisecond", 500, { epochUnit: "seconds" }) // [{ start: 0, end: 1 }, { start: 1, end: 2 }] (a step finer than the epoch unit gives one-second pieces)
|
|
55
58
|
*/
|
|
56
59
|
export function splitIntervalByUnitUnix(start, end, unit, amount, options) {
|
|
57
60
|
try {
|
|
@@ -67,8 +70,10 @@ export function splitIntervalByUnitUnix(start, end, unit, amount, options) {
|
|
|
67
70
|
return [];
|
|
68
71
|
}
|
|
69
72
|
const { startVal, endVal, epochUnit } = pair;
|
|
70
|
-
// Temporal's plural duration field name, as the tiling steps add `{ [unit]: amount }`.
|
|
71
|
-
|
|
73
|
+
// Temporal's plural duration field name, as the tiling steps add `{ [unit]: amount }`. A step
|
|
74
|
+
// finer than the epoch unit would floor neighbouring boundaries to one value (an empty slice),
|
|
75
|
+
// so it steps by one epoch unit instead.
|
|
76
|
+
const [resolvedUnit, stepAmount] = stepNoFinerThan(resolveDurationUnit(pair.resolvedUnit), amount, epochUnit);
|
|
72
77
|
if (startVal.epochNanoseconds === endVal.epochNanoseconds) {
|
|
73
78
|
return [
|
|
74
79
|
{
|
|
@@ -79,11 +84,11 @@ export function splitIntervalByUnitUnix(start, end, unit, amount, options) {
|
|
|
79
84
|
}
|
|
80
85
|
try {
|
|
81
86
|
const spanNs = Number(endVal.epochNanoseconds - startVal.epochNanoseconds);
|
|
82
|
-
if (exceedsPieceLimit(minSlicesForSpan(spanNs, resolvedUnit,
|
|
87
|
+
if (exceedsPieceLimit(minSlicesForSpan(spanNs, resolvedUnit, stepAmount, true), maxPieces)) {
|
|
83
88
|
return [];
|
|
84
89
|
}
|
|
85
90
|
// Boundaries stay ZonedDateTime (nanosecond) values; only the output is floored to epochUnit.
|
|
86
|
-
const slices = tileByUnit(startVal, endVal, Temporal.ZonedDateTime.compare, resolvedUnit,
|
|
91
|
+
const slices = tileByUnit(startVal, endVal, Temporal.ZonedDateTime.compare, resolvedUnit, stepAmount, maxPieces);
|
|
87
92
|
return (slices ?? []).map(([sliceStart, sliceEnd]) => ({
|
|
88
93
|
start: toUnixEpoch(sliceStart, epochUnit),
|
|
89
94
|
end: toUnixEpoch(sliceEnd, epochUnit),
|
|
@@ -3,11 +3,10 @@ import type { UnixUnit } from "../validate/index.js";
|
|
|
3
3
|
* Extract the date portion from a unix epoch value.
|
|
4
4
|
*
|
|
5
5
|
* - Converts to ZonedDateTime then extracts the PlainDate.
|
|
6
|
-
* - Uses UTC if `timeZone` is not specified; `"local"` is the system time zone.
|
|
7
6
|
* - Returns "" for invalid input.
|
|
8
7
|
*
|
|
9
8
|
* @param value unix epoch in milliseconds or seconds: a safe integer, or a string of optionally negative ASCII digits
|
|
10
|
-
* @param options optional:
|
|
9
|
+
* @param options optional: how `value` is read and the zone its wall clock is read in
|
|
11
10
|
* @returns ISO date string (e.g., "2024-03-17") or "" on invalid input
|
|
12
11
|
*
|
|
13
12
|
* @example parseDateFromUnix(1700000000000, { timeZone: "UTC" }) // "2023-11-14"
|
|
@@ -17,6 +16,18 @@ import type { UnixUnit } from "../validate/index.js";
|
|
|
17
16
|
* @example parseDateFromUnix(1.5) // "" (not an integer epoch)
|
|
18
17
|
*/
|
|
19
18
|
export declare function parseDateFromUnix(value: number | string, options?: {
|
|
19
|
+
/**
|
|
20
|
+
* The unit the epoch values are counted in: `"seconds"` or `"milliseconds"`, singular or
|
|
21
|
+
* plural. Any other value returns `""`.
|
|
22
|
+
*
|
|
23
|
+
* @defaultValue `"milliseconds"`
|
|
24
|
+
*/
|
|
20
25
|
epochUnit?: UnixUnit;
|
|
26
|
+
/**
|
|
27
|
+
* The time zone the wall-clock fields are read in: an IANA name, a UTC offset, or `"local"` for
|
|
28
|
+
* the system time zone. An unknown zone returns `""`.
|
|
29
|
+
*
|
|
30
|
+
* @defaultValue `"UTC"`
|
|
31
|
+
*/
|
|
21
32
|
timeZone?: string;
|
|
22
33
|
}): string;
|
|
@@ -4,11 +4,10 @@ import { isOptionsArgument } from "../../internal/isObject.js";
|
|
|
4
4
|
* Extract the date portion from a unix epoch value.
|
|
5
5
|
*
|
|
6
6
|
* - Converts to ZonedDateTime then extracts the PlainDate.
|
|
7
|
-
* - Uses UTC if `timeZone` is not specified; `"local"` is the system time zone.
|
|
8
7
|
* - Returns "" for invalid input.
|
|
9
8
|
*
|
|
10
9
|
* @param value unix epoch in milliseconds or seconds: a safe integer, or a string of optionally negative ASCII digits
|
|
11
|
-
* @param options optional:
|
|
10
|
+
* @param options optional: how `value` is read and the zone its wall clock is read in
|
|
12
11
|
* @returns ISO date string (e.g., "2024-03-17") or "" on invalid input
|
|
13
12
|
*
|
|
14
13
|
* @example parseDateFromUnix(1700000000000, { timeZone: "UTC" }) // "2023-11-14"
|
|
@@ -3,11 +3,11 @@ import type { UnixUnit } from "../validate/index.js";
|
|
|
3
3
|
* Return the day of month (1-31) from a unix epoch value.
|
|
4
4
|
*
|
|
5
5
|
* - Delegates to {@link parseUnitFromUnix} with unit "day".
|
|
6
|
-
* - `value` is a safe integer or a digit string
|
|
6
|
+
* - `value` is a safe integer or a digit string.
|
|
7
7
|
* - Returns "" for invalid input.
|
|
8
8
|
*
|
|
9
9
|
* @param value unix epoch in milliseconds or seconds: a safe integer, or a string of optionally negative ASCII digits
|
|
10
|
-
* @param options optional:
|
|
10
|
+
* @param options optional: how `value` is read and the zone its wall clock is read in
|
|
11
11
|
* @returns Day (01-31) or "" on invalid input
|
|
12
12
|
*
|
|
13
13
|
* @example parseDayFromUnix(1700000000000, { timeZone: "UTC" }) // "14"
|
|
@@ -15,6 +15,18 @@ import type { UnixUnit } from "../validate/index.js";
|
|
|
15
15
|
* @example parseDayFromUnix("") // "" (a blank string is not epoch 0)
|
|
16
16
|
*/
|
|
17
17
|
export declare function parseDayFromUnix(value: number | string, options?: {
|
|
18
|
+
/**
|
|
19
|
+
* The unit the epoch values are counted in: `"seconds"` or `"milliseconds"`, singular or
|
|
20
|
+
* plural. Any other value returns `""`.
|
|
21
|
+
*
|
|
22
|
+
* @defaultValue `"milliseconds"`
|
|
23
|
+
*/
|
|
18
24
|
epochUnit?: UnixUnit;
|
|
25
|
+
/**
|
|
26
|
+
* The time zone the wall-clock fields are read in: an IANA name, a UTC offset, or `"local"` for
|
|
27
|
+
* the system time zone. An unknown zone returns `""`.
|
|
28
|
+
*
|
|
29
|
+
* @defaultValue `"UTC"`
|
|
30
|
+
*/
|
|
19
31
|
timeZone?: string;
|
|
20
32
|
}): string;
|
|
@@ -4,11 +4,11 @@ import { isOptionsArgument } from "../../internal/isObject.js";
|
|
|
4
4
|
* Return the day of month (1-31) from a unix epoch value.
|
|
5
5
|
*
|
|
6
6
|
* - Delegates to {@link parseUnitFromUnix} with unit "day".
|
|
7
|
-
* - `value` is a safe integer or a digit string
|
|
7
|
+
* - `value` is a safe integer or a digit string.
|
|
8
8
|
* - Returns "" for invalid input.
|
|
9
9
|
*
|
|
10
10
|
* @param value unix epoch in milliseconds or seconds: a safe integer, or a string of optionally negative ASCII digits
|
|
11
|
-
* @param options optional:
|
|
11
|
+
* @param options optional: how `value` is read and the zone its wall clock is read in
|
|
12
12
|
* @returns Day (01-31) or "" on invalid input
|
|
13
13
|
*
|
|
14
14
|
* @example parseDayFromUnix(1700000000000, { timeZone: "UTC" }) // "14"
|
|
@@ -6,7 +6,7 @@ import type { UnixUnit } from "../validate/index.js";
|
|
|
6
6
|
* - Returns null for invalid input.
|
|
7
7
|
*
|
|
8
8
|
* @param value unix epoch in milliseconds or seconds: a safe integer, or a string of optionally negative ASCII digits
|
|
9
|
-
* @param options optional:
|
|
9
|
+
* @param options optional: how `value` is read and the zone its wall clock is read in
|
|
10
10
|
* @returns Day of week (1-7) or null on invalid input
|
|
11
11
|
*
|
|
12
12
|
* @example parseDayOfWeekFromUnix(1704067200000, { timeZone: "UTC" }) // 1
|
|
@@ -16,6 +16,18 @@ import type { UnixUnit } from "../validate/index.js";
|
|
|
16
16
|
* @example parseDayOfWeekFromUnix("") // null (a blank string is not epoch 0)
|
|
17
17
|
*/
|
|
18
18
|
export declare function parseDayOfWeekFromUnix(value: number | string, options?: {
|
|
19
|
+
/**
|
|
20
|
+
* The unit the epoch values are counted in: `"seconds"` or `"milliseconds"`, singular or
|
|
21
|
+
* plural. Any other value returns `null`.
|
|
22
|
+
*
|
|
23
|
+
* @defaultValue `"milliseconds"`
|
|
24
|
+
*/
|
|
19
25
|
epochUnit?: UnixUnit;
|
|
26
|
+
/**
|
|
27
|
+
* The time zone the wall-clock fields are read in: an IANA name, a UTC offset, or `"local"` for
|
|
28
|
+
* the system time zone. An unknown zone returns `null`.
|
|
29
|
+
*
|
|
30
|
+
* @defaultValue `"UTC"`
|
|
31
|
+
*/
|
|
20
32
|
timeZone?: string;
|
|
21
33
|
}): number | null;
|
|
@@ -7,7 +7,7 @@ import { isOptionsArgument } from "../../internal/isObject.js";
|
|
|
7
7
|
* - Returns null for invalid input.
|
|
8
8
|
*
|
|
9
9
|
* @param value unix epoch in milliseconds or seconds: a safe integer, or a string of optionally negative ASCII digits
|
|
10
|
-
* @param options optional:
|
|
10
|
+
* @param options optional: how `value` is read and the zone its wall clock is read in
|
|
11
11
|
* @returns Day of week (1-7) or null on invalid input
|
|
12
12
|
*
|
|
13
13
|
* @example parseDayOfWeekFromUnix(1704067200000, { timeZone: "UTC" }) // 1
|
|
@@ -3,11 +3,11 @@ import type { UnixUnit } from "../validate/index.js";
|
|
|
3
3
|
* Return the hour (0-23) from a unix epoch value.
|
|
4
4
|
*
|
|
5
5
|
* - Delegates to {@link parseUnitFromUnix} with unit "hour".
|
|
6
|
-
* - `value` is a safe integer or a digit string
|
|
6
|
+
* - `value` is a safe integer or a digit string.
|
|
7
7
|
* - Returns "" for invalid input.
|
|
8
8
|
*
|
|
9
9
|
* @param value unix epoch in milliseconds or seconds: a safe integer, or a string of optionally negative ASCII digits
|
|
10
|
-
* @param options optional:
|
|
10
|
+
* @param options optional: how `value` is read and the zone its wall clock is read in
|
|
11
11
|
* @returns Hour (00-23) or "" on invalid input
|
|
12
12
|
*
|
|
13
13
|
* @example parseHourFromUnix(1700000000000, { timeZone: "UTC" }) // "22"
|
|
@@ -15,6 +15,18 @@ import type { UnixUnit } from "../validate/index.js";
|
|
|
15
15
|
* @example parseHourFromUnix("") // "" (a blank string is not epoch 0)
|
|
16
16
|
*/
|
|
17
17
|
export declare function parseHourFromUnix(value: number | string, options?: {
|
|
18
|
+
/**
|
|
19
|
+
* The unit the epoch values are counted in: `"seconds"` or `"milliseconds"`, singular or
|
|
20
|
+
* plural. Any other value returns `""`.
|
|
21
|
+
*
|
|
22
|
+
* @defaultValue `"milliseconds"`
|
|
23
|
+
*/
|
|
18
24
|
epochUnit?: UnixUnit;
|
|
25
|
+
/**
|
|
26
|
+
* The time zone the wall-clock fields are read in: an IANA name, a UTC offset, or `"local"` for
|
|
27
|
+
* the system time zone. An unknown zone returns `""`.
|
|
28
|
+
*
|
|
29
|
+
* @defaultValue `"UTC"`
|
|
30
|
+
*/
|
|
19
31
|
timeZone?: string;
|
|
20
32
|
}): string;
|
|
@@ -4,11 +4,11 @@ import { isOptionsArgument } from "../../internal/isObject.js";
|
|
|
4
4
|
* Return the hour (0-23) from a unix epoch value.
|
|
5
5
|
*
|
|
6
6
|
* - Delegates to {@link parseUnitFromUnix} with unit "hour".
|
|
7
|
-
* - `value` is a safe integer or a digit string
|
|
7
|
+
* - `value` is a safe integer or a digit string.
|
|
8
8
|
* - Returns "" for invalid input.
|
|
9
9
|
*
|
|
10
10
|
* @param value unix epoch in milliseconds or seconds: a safe integer, or a string of optionally negative ASCII digits
|
|
11
|
-
* @param options optional:
|
|
11
|
+
* @param options optional: how `value` is read and the zone its wall clock is read in
|
|
12
12
|
* @returns Hour (00-23) or "" on invalid input
|
|
13
13
|
*
|
|
14
14
|
* @example parseHourFromUnix(1700000000000, { timeZone: "UTC" }) // "22"
|
|
@@ -3,11 +3,11 @@ import type { UnixUnit } from "../validate/index.js";
|
|
|
3
3
|
* Return the microsecond (0-999) from a unix epoch value.
|
|
4
4
|
*
|
|
5
5
|
* - Delegates to {@link parseUnitFromUnix} with unit "microsecond".
|
|
6
|
-
* - `value` is a safe integer or a digit string
|
|
6
|
+
* - `value` is a safe integer or a digit string.
|
|
7
7
|
* - Returns "" for invalid input.
|
|
8
8
|
*
|
|
9
9
|
* @param value unix epoch in milliseconds or seconds: a safe integer, or a string of optionally negative ASCII digits
|
|
10
|
-
* @param options optional:
|
|
10
|
+
* @param options optional: how `value` is read and the zone its wall clock is read in
|
|
11
11
|
* @returns Microsecond (000-999) or "" on invalid input
|
|
12
12
|
*
|
|
13
13
|
* @example parseMicrosecondFromUnix(1700000000000) // "000"
|
|
@@ -15,6 +15,18 @@ import type { UnixUnit } from "../validate/index.js";
|
|
|
15
15
|
* @example parseMicrosecondFromUnix("") // "" (a blank string is not epoch 0)
|
|
16
16
|
*/
|
|
17
17
|
export declare function parseMicrosecondFromUnix(value: number | string, options?: {
|
|
18
|
+
/**
|
|
19
|
+
* The unit the epoch values are counted in: `"seconds"` or `"milliseconds"`, singular or
|
|
20
|
+
* plural. Any other value returns `""`.
|
|
21
|
+
*
|
|
22
|
+
* @defaultValue `"milliseconds"`
|
|
23
|
+
*/
|
|
18
24
|
epochUnit?: UnixUnit;
|
|
25
|
+
/**
|
|
26
|
+
* The time zone the wall-clock fields are read in: an IANA name, a UTC offset, or `"local"` for
|
|
27
|
+
* the system time zone. An unknown zone returns `""`.
|
|
28
|
+
*
|
|
29
|
+
* @defaultValue `"UTC"`
|
|
30
|
+
*/
|
|
19
31
|
timeZone?: string;
|
|
20
32
|
}): string;
|
|
@@ -4,11 +4,11 @@ import { isOptionsArgument } from "../../internal/isObject.js";
|
|
|
4
4
|
* Return the microsecond (0-999) from a unix epoch value.
|
|
5
5
|
*
|
|
6
6
|
* - Delegates to {@link parseUnitFromUnix} with unit "microsecond".
|
|
7
|
-
* - `value` is a safe integer or a digit string
|
|
7
|
+
* - `value` is a safe integer or a digit string.
|
|
8
8
|
* - Returns "" for invalid input.
|
|
9
9
|
*
|
|
10
10
|
* @param value unix epoch in milliseconds or seconds: a safe integer, or a string of optionally negative ASCII digits
|
|
11
|
-
* @param options optional:
|
|
11
|
+
* @param options optional: how `value` is read and the zone its wall clock is read in
|
|
12
12
|
* @returns Microsecond (000-999) or "" on invalid input
|
|
13
13
|
*
|
|
14
14
|
* @example parseMicrosecondFromUnix(1700000000000) // "000"
|
|
@@ -3,11 +3,11 @@ import type { UnixUnit } from "../validate/index.js";
|
|
|
3
3
|
* Return the millisecond (0-999) from a unix epoch value.
|
|
4
4
|
*
|
|
5
5
|
* - Delegates to {@link parseUnitFromUnix} with unit "millisecond".
|
|
6
|
-
* - `value` is a safe integer or a digit string
|
|
6
|
+
* - `value` is a safe integer or a digit string.
|
|
7
7
|
* - Returns "" for invalid input.
|
|
8
8
|
*
|
|
9
9
|
* @param value unix epoch in milliseconds or seconds: a safe integer, or a string of optionally negative ASCII digits
|
|
10
|
-
* @param options optional:
|
|
10
|
+
* @param options optional: how `value` is read and the zone its wall clock is read in
|
|
11
11
|
* @returns Millisecond (000-999) or "" on invalid input
|
|
12
12
|
*
|
|
13
13
|
* @example parseMillisecondFromUnix(1700000000000) // "000"
|
|
@@ -15,6 +15,18 @@ import type { UnixUnit } from "../validate/index.js";
|
|
|
15
15
|
* @example parseMillisecondFromUnix("") // "" (a blank string is not epoch 0)
|
|
16
16
|
*/
|
|
17
17
|
export declare function parseMillisecondFromUnix(value: number | string, options?: {
|
|
18
|
+
/**
|
|
19
|
+
* The unit the epoch values are counted in: `"seconds"` or `"milliseconds"`, singular or
|
|
20
|
+
* plural. Any other value returns `""`.
|
|
21
|
+
*
|
|
22
|
+
* @defaultValue `"milliseconds"`
|
|
23
|
+
*/
|
|
18
24
|
epochUnit?: UnixUnit;
|
|
25
|
+
/**
|
|
26
|
+
* The time zone the wall-clock fields are read in: an IANA name, a UTC offset, or `"local"` for
|
|
27
|
+
* the system time zone. An unknown zone returns `""`.
|
|
28
|
+
*
|
|
29
|
+
* @defaultValue `"UTC"`
|
|
30
|
+
*/
|
|
19
31
|
timeZone?: string;
|
|
20
32
|
}): string;
|
|
@@ -4,11 +4,11 @@ import { isOptionsArgument } from "../../internal/isObject.js";
|
|
|
4
4
|
* Return the millisecond (0-999) from a unix epoch value.
|
|
5
5
|
*
|
|
6
6
|
* - Delegates to {@link parseUnitFromUnix} with unit "millisecond".
|
|
7
|
-
* - `value` is a safe integer or a digit string
|
|
7
|
+
* - `value` is a safe integer or a digit string.
|
|
8
8
|
* - Returns "" for invalid input.
|
|
9
9
|
*
|
|
10
10
|
* @param value unix epoch in milliseconds or seconds: a safe integer, or a string of optionally negative ASCII digits
|
|
11
|
-
* @param options optional:
|
|
11
|
+
* @param options optional: how `value` is read and the zone its wall clock is read in
|
|
12
12
|
* @returns Millisecond (000-999) or "" on invalid input
|
|
13
13
|
*
|
|
14
14
|
* @example parseMillisecondFromUnix(1700000000000) // "000"
|
|
@@ -3,11 +3,11 @@ import type { UnixUnit } from "../validate/index.js";
|
|
|
3
3
|
* Return the minute (0-59) from a unix epoch value.
|
|
4
4
|
*
|
|
5
5
|
* - Delegates to {@link parseUnitFromUnix} with unit "minute".
|
|
6
|
-
* - `value` is a safe integer or a digit string
|
|
6
|
+
* - `value` is a safe integer or a digit string.
|
|
7
7
|
* - Returns "" for invalid input.
|
|
8
8
|
*
|
|
9
9
|
* @param value unix epoch in milliseconds or seconds: a safe integer, or a string of optionally negative ASCII digits
|
|
10
|
-
* @param options optional:
|
|
10
|
+
* @param options optional: how `value` is read and the zone its wall clock is read in
|
|
11
11
|
* @returns Minute (00-59) or "" on invalid input
|
|
12
12
|
*
|
|
13
13
|
* @example parseMinuteFromUnix(1700000000000, { timeZone: "UTC" }) // "13"
|
|
@@ -15,6 +15,18 @@ import type { UnixUnit } from "../validate/index.js";
|
|
|
15
15
|
* @example parseMinuteFromUnix("") // "" (a blank string is not epoch 0)
|
|
16
16
|
*/
|
|
17
17
|
export declare function parseMinuteFromUnix(value: number | string, options?: {
|
|
18
|
+
/**
|
|
19
|
+
* The unit the epoch values are counted in: `"seconds"` or `"milliseconds"`, singular or
|
|
20
|
+
* plural. Any other value returns `""`.
|
|
21
|
+
*
|
|
22
|
+
* @defaultValue `"milliseconds"`
|
|
23
|
+
*/
|
|
18
24
|
epochUnit?: UnixUnit;
|
|
25
|
+
/**
|
|
26
|
+
* The time zone the wall-clock fields are read in: an IANA name, a UTC offset, or `"local"` for
|
|
27
|
+
* the system time zone. An unknown zone returns `""`.
|
|
28
|
+
*
|
|
29
|
+
* @defaultValue `"UTC"`
|
|
30
|
+
*/
|
|
19
31
|
timeZone?: string;
|
|
20
32
|
}): string;
|
|
@@ -4,11 +4,11 @@ import { isOptionsArgument } from "../../internal/isObject.js";
|
|
|
4
4
|
* Return the minute (0-59) from a unix epoch value.
|
|
5
5
|
*
|
|
6
6
|
* - Delegates to {@link parseUnitFromUnix} with unit "minute".
|
|
7
|
-
* - `value` is a safe integer or a digit string
|
|
7
|
+
* - `value` is a safe integer or a digit string.
|
|
8
8
|
* - Returns "" for invalid input.
|
|
9
9
|
*
|
|
10
10
|
* @param value unix epoch in milliseconds or seconds: a safe integer, or a string of optionally negative ASCII digits
|
|
11
|
-
* @param options optional:
|
|
11
|
+
* @param options optional: how `value` is read and the zone its wall clock is read in
|
|
12
12
|
* @returns Minute (00-59) or "" on invalid input
|
|
13
13
|
*
|
|
14
14
|
* @example parseMinuteFromUnix(1700000000000, { timeZone: "UTC" }) // "13"
|
|
@@ -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,18 @@ 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, or `"local"` for
|
|
28
|
+
* the system time zone. An unknown zone returns `""`.
|
|
29
|
+
*
|
|
30
|
+
* @defaultValue `"UTC"`
|
|
31
|
+
*/
|
|
20
32
|
timeZone?: string;
|
|
21
33
|
}): 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,18 @@ 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, or `"local"` for
|
|
28
|
+
* the system time zone. An unknown zone returns `""`.
|
|
29
|
+
*
|
|
30
|
+
* @defaultValue `"UTC"`
|
|
31
|
+
*/
|
|
20
32
|
timeZone?: string;
|
|
21
33
|
}): 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,18 @@ 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, or `"local"` for
|
|
27
|
+
* the system time zone. An unknown zone returns `""`.
|
|
28
|
+
*
|
|
29
|
+
* @defaultValue `"UTC"`
|
|
30
|
+
*/
|
|
19
31
|
timeZone?: string;
|
|
20
32
|
}): 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"
|
|
@@ -17,6 +16,18 @@ import type { UnixUnit } from "../validate/index.js";
|
|
|
17
16
|
* @example parseTimeFromUnix(1.5) // "" (not an integer epoch)
|
|
18
17
|
*/
|
|
19
18
|
export declare function parseTimeFromUnix(value: number | string, options?: {
|
|
19
|
+
/**
|
|
20
|
+
* The unit the epoch values are counted in: `"seconds"` or `"milliseconds"`, singular or
|
|
21
|
+
* plural. Any other value returns `""`.
|
|
22
|
+
*
|
|
23
|
+
* @defaultValue `"milliseconds"`
|
|
24
|
+
*/
|
|
20
25
|
epochUnit?: UnixUnit;
|
|
26
|
+
/**
|
|
27
|
+
* The time zone the wall-clock fields are read in: an IANA name, a UTC offset, or `"local"` for
|
|
28
|
+
* the system time zone. An unknown zone returns `""`.
|
|
29
|
+
*
|
|
30
|
+
* @defaultValue `"UTC"`
|
|
31
|
+
*/
|
|
21
32
|
timeZone?: string;
|
|
22
33
|
}): string;
|
|
@@ -4,11 +4,10 @@ import { isOptionsArgument } from "../../internal/isObject.js";
|
|
|
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"
|