@dereekb/date 10.0.10 → 10.0.12
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/index.cjs.js +51 -1
- package/index.esm.js +69 -3
- package/package.json +1 -1
- package/src/lib/date/date.cell.factory.d.ts +49 -0
- package/src/lib/date/date.d.ts +5 -0
package/index.cjs.js
CHANGED
|
@@ -1934,6 +1934,10 @@ function parseJsDateString(input) {
|
|
|
1934
1934
|
const date = util.isISO8601DateString(input) ? dateFns.parseISO(input) : new Date(input);
|
|
1935
1935
|
return dateFns.isValid(date) ? date : undefined;
|
|
1936
1936
|
}
|
|
1937
|
+
function earliestDate(dates, defaultDate = undefined) {
|
|
1938
|
+
const filtered = util.filterMaybeValues(dates);
|
|
1939
|
+
return filtered.length > 0 ? dateFns.min(filtered) : defaultDate;
|
|
1940
|
+
}
|
|
1937
1941
|
function latestDate(dates, defaultDate = undefined) {
|
|
1938
1942
|
const filtered = util.filterMaybeValues(dates);
|
|
1939
1943
|
return filtered.length > 0 ? dateFns.max(filtered) : defaultDate;
|
|
@@ -5113,6 +5117,49 @@ function expandUniqueDateCellsFunction(config) {
|
|
|
5113
5117
|
};
|
|
5114
5118
|
}
|
|
5115
5119
|
|
|
5120
|
+
/**
|
|
5121
|
+
* Creates a DateCellRangeOfTimingFactory.
|
|
5122
|
+
*
|
|
5123
|
+
* @param config
|
|
5124
|
+
* @returns
|
|
5125
|
+
*/
|
|
5126
|
+
function dateCellRangeOfTimingFactory(config) {
|
|
5127
|
+
const {
|
|
5128
|
+
timing,
|
|
5129
|
+
fitToTimingRange = true
|
|
5130
|
+
} = config;
|
|
5131
|
+
const indexFactory = dateCellTimingRelativeIndexFactory(timing);
|
|
5132
|
+
const minIndex = fitToTimingRange ? 0 : Number.MIN_SAFE_INTEGER;
|
|
5133
|
+
const maxIndex = fitToTimingRange ? indexFactory(indexFactory._timing.end) : Number.MAX_SAFE_INTEGER;
|
|
5134
|
+
return input => {
|
|
5135
|
+
const {
|
|
5136
|
+
i: start,
|
|
5137
|
+
to: end
|
|
5138
|
+
} = input;
|
|
5139
|
+
const startIndex = indexFactory(start !== null && start !== void 0 ? start : 0);
|
|
5140
|
+
const endIndex = indexFactory(end !== null && end !== void 0 ? end : new Date());
|
|
5141
|
+
const i = Math.max(minIndex, startIndex);
|
|
5142
|
+
const to = Math.min(maxIndex, endIndex);
|
|
5143
|
+
return {
|
|
5144
|
+
i,
|
|
5145
|
+
to
|
|
5146
|
+
};
|
|
5147
|
+
};
|
|
5148
|
+
}
|
|
5149
|
+
/**
|
|
5150
|
+
* Creates a DateCellRange from the input.
|
|
5151
|
+
*
|
|
5152
|
+
* Convenience function for calling dateCellRangeOfTimingFactory() then passing the input.
|
|
5153
|
+
*
|
|
5154
|
+
* @param config
|
|
5155
|
+
* @param input
|
|
5156
|
+
* @returns
|
|
5157
|
+
*/
|
|
5158
|
+
function dateCellRangeOfTiming(config, input) {
|
|
5159
|
+
return dateCellRangeOfTimingFactory(isDateCellTiming(config) ? {
|
|
5160
|
+
timing: config
|
|
5161
|
+
} : config)(input);
|
|
5162
|
+
}
|
|
5116
5163
|
function dateCellRangeToDateCellIndexRange(range) {
|
|
5117
5164
|
var _a;
|
|
5118
5165
|
return {
|
|
@@ -5150,7 +5197,7 @@ function dateCellIndexRange(timing, limit, fitToTimingRange = true) {
|
|
|
5150
5197
|
const limitMin = indexFactory(start);
|
|
5151
5198
|
const limitMax = indexFactory(end) + 1;
|
|
5152
5199
|
if (fitToTimingRange) {
|
|
5153
|
-
minIndex = Math.
|
|
5200
|
+
minIndex = Math.max(limitMin, minIndex);
|
|
5154
5201
|
maxIndex = Math.min(limitMax, maxIndex);
|
|
5155
5202
|
} else {
|
|
5156
5203
|
minIndex = limitMin;
|
|
@@ -8980,6 +9027,8 @@ exports.dateCellRangeBlocksCount = dateCellRangeBlocksCount;
|
|
|
8980
9027
|
exports.dateCellRangeBlocksCountInfo = dateCellRangeBlocksCountInfo;
|
|
8981
9028
|
exports.dateCellRangeHasRange = dateCellRangeHasRange;
|
|
8982
9029
|
exports.dateCellRangeIncludedByRangeFunction = dateCellRangeIncludedByRangeFunction;
|
|
9030
|
+
exports.dateCellRangeOfTiming = dateCellRangeOfTiming;
|
|
9031
|
+
exports.dateCellRangeOfTimingFactory = dateCellRangeOfTimingFactory;
|
|
8983
9032
|
exports.dateCellRangeOverlapsRange = dateCellRangeOverlapsRange;
|
|
8984
9033
|
exports.dateCellRangeOverlapsRangeFunction = dateCellRangeOverlapsRangeFunction;
|
|
8985
9034
|
exports.dateCellRangeToDateCellIndexRange = dateCellRangeToDateCellIndexRange;
|
|
@@ -9035,6 +9084,7 @@ exports.dateTimezoneUtcNormal = dateTimezoneUtcNormal;
|
|
|
9035
9084
|
exports.daysToMinutes = daysToMinutes;
|
|
9036
9085
|
exports.durationSpanDateRelativeState = durationSpanDateRelativeState;
|
|
9037
9086
|
exports.durationSpanToDateRange = durationSpanToDateRange;
|
|
9087
|
+
exports.earliestDate = earliestDate;
|
|
9038
9088
|
exports.enabledDaysFromDateCellScheduleDayCodes = enabledDaysFromDateCellScheduleDayCodes;
|
|
9039
9089
|
exports.endItreateDaysInDateRangeEarly = endItreateDaysInDateRangeEarly;
|
|
9040
9090
|
exports.expandDateCellCollection = expandDateCellCollection;
|
package/index.esm.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { MS_IN_HOUR, MS_IN_MINUTE, MINUTES_IN_DAY, isISO8601DateString, filterMaybeValues, asArray, dayOfWeek, sortNumbersAscendingFunction, SORT_VALUE_LESS_THAN, SORT_VALUE_GREATER_THAN, SORT_VALUE_EQUAL, copyArray, compareFnOrder, groupValues, daysOfWeekArray, MS_IN_DAY, minutesToFractionalHours, UTC_TIMEZONE_STRING, isSameNonNullValue, isConsideredUtcTimezoneString, parseISO8601DayStringToUTCDate, cachedGetter, replaceStringsFunction, sortAscendingIndexNumberRefFunction, range, addToSet, sumOfIntegersBetween, makeValuesGroupMap, lastValue, pushArrayItemsIntoArray, indexRangeCheckFunction, mergeFilterFunctions, isDate as isDate$2, HOURS_IN_DAY, getNextDay, enabledDaysFromDaysOfWeek, daysOfWeekFromEnabledDays, firstValueFromIterable, forEachInIterable, iterablesAreSetEquivalent, invertFilter, mapIdentityFunction, repeatString, HashSet, DATE_NOW_VALUE, roundNumberUpToStep, protectedFactory, MS_IN_SECOND, TimeAM, isLogicalDateStringCode as isLogicalDateStringCode$1, dateFromLogicalDate as dateFromLogicalDate$1, flattenArray, splitJoinRemainder } from '@dereekb/util';
|
|
2
|
-
import { isDate as isDate$1, startOfMinute, isValid, parseISO, max as max$2, isAfter as isAfter$1, isEqual, isSameDay, isPast, addDays, set as set$1,
|
|
2
|
+
import { isDate as isDate$1, startOfMinute, isValid, parseISO, min as min$5, max as max$2, isAfter as isAfter$1, isEqual, isSameDay, isPast, addDays, set as set$1, differenceInDays, startOfMonth, endOfWeek, startOfWeek, endOfMonth, addHours, addMinutes, isBefore, addMilliseconds, startOfDay, addMonths, addWeeks, endOfDay, endOfHour, startOfHour, endOfMinute, minutesToHours, getMinutes, getSeconds, getMilliseconds, differenceInMilliseconds, differenceInHours, getWeek, getYear, setWeek, getDay, formatDistanceStrict, formatDistance, format, differenceInMinutes, formatDistanceToNow, parse, addSeconds } from 'date-fns';
|
|
3
3
|
import { Expose, Type, Exclude } from 'class-transformer';
|
|
4
4
|
import { IsDate, IsEnum, IsOptional, IsNumber, Min, registerDecorator, IsString, Matches, IsArray, IsBoolean } from 'class-validator';
|
|
5
5
|
import { getTimezoneOffset, formatInTimeZone, utcToZonedTime, format as format$1 } from 'date-fns-tz';
|
|
@@ -1943,6 +1943,15 @@ function parseJsDateString(input) {
|
|
|
1943
1943
|
return isValid(date) ? date : undefined;
|
|
1944
1944
|
}
|
|
1945
1945
|
|
|
1946
|
+
/**
|
|
1947
|
+
* Returns the earliest date from the input array.
|
|
1948
|
+
*/
|
|
1949
|
+
|
|
1950
|
+
function earliestDate(dates, defaultDate = undefined) {
|
|
1951
|
+
const filtered = filterMaybeValues(dates);
|
|
1952
|
+
return filtered.length > 0 ? min$5(filtered) : defaultDate;
|
|
1953
|
+
}
|
|
1954
|
+
|
|
1946
1955
|
/**
|
|
1947
1956
|
* Returns the latest date from the input array.
|
|
1948
1957
|
*/
|
|
@@ -5606,6 +5615,63 @@ function expandUniqueDateCellsFunction(config) {
|
|
|
5606
5615
|
};
|
|
5607
5616
|
}
|
|
5608
5617
|
|
|
5618
|
+
/**
|
|
5619
|
+
* Input for dateCellRange
|
|
5620
|
+
*/
|
|
5621
|
+
|
|
5622
|
+
/**
|
|
5623
|
+
* DateCellRangeOfTimingFactory input
|
|
5624
|
+
*/
|
|
5625
|
+
|
|
5626
|
+
/**
|
|
5627
|
+
* Creates a DateCellRange from the input.
|
|
5628
|
+
*/
|
|
5629
|
+
|
|
5630
|
+
/**
|
|
5631
|
+
* Creates a DateCellRangeOfTimingFactory.
|
|
5632
|
+
*
|
|
5633
|
+
* @param config
|
|
5634
|
+
* @returns
|
|
5635
|
+
*/
|
|
5636
|
+
function dateCellRangeOfTimingFactory(config) {
|
|
5637
|
+
const {
|
|
5638
|
+
timing,
|
|
5639
|
+
fitToTimingRange = true
|
|
5640
|
+
} = config;
|
|
5641
|
+
const indexFactory = dateCellTimingRelativeIndexFactory(timing);
|
|
5642
|
+
const minIndex = fitToTimingRange ? 0 : Number.MIN_SAFE_INTEGER;
|
|
5643
|
+
const maxIndex = fitToTimingRange ? indexFactory(indexFactory._timing.end) : Number.MAX_SAFE_INTEGER;
|
|
5644
|
+
return input => {
|
|
5645
|
+
const {
|
|
5646
|
+
i: start,
|
|
5647
|
+
to: end
|
|
5648
|
+
} = input;
|
|
5649
|
+
const startIndex = indexFactory(start != null ? start : 0);
|
|
5650
|
+
const endIndex = indexFactory(end != null ? end : new Date());
|
|
5651
|
+
const i = Math.max(minIndex, startIndex);
|
|
5652
|
+
const to = Math.min(maxIndex, endIndex);
|
|
5653
|
+
return {
|
|
5654
|
+
i,
|
|
5655
|
+
to
|
|
5656
|
+
};
|
|
5657
|
+
};
|
|
5658
|
+
}
|
|
5659
|
+
|
|
5660
|
+
/**
|
|
5661
|
+
* Creates a DateCellRange from the input.
|
|
5662
|
+
*
|
|
5663
|
+
* Convenience function for calling dateCellRangeOfTimingFactory() then passing the input.
|
|
5664
|
+
*
|
|
5665
|
+
* @param config
|
|
5666
|
+
* @param input
|
|
5667
|
+
* @returns
|
|
5668
|
+
*/
|
|
5669
|
+
function dateCellRangeOfTiming(config, input) {
|
|
5670
|
+
return dateCellRangeOfTimingFactory(isDateCellTiming(config) ? {
|
|
5671
|
+
timing: config
|
|
5672
|
+
} : config)(input);
|
|
5673
|
+
}
|
|
5674
|
+
|
|
5609
5675
|
/**
|
|
5610
5676
|
* IndexRange used with DateCells.
|
|
5611
5677
|
*
|
|
@@ -5652,7 +5718,7 @@ function dateCellIndexRange(timing, limit, fitToTimingRange = true) {
|
|
|
5652
5718
|
const limitMin = indexFactory(start);
|
|
5653
5719
|
const limitMax = indexFactory(end) + 1;
|
|
5654
5720
|
if (fitToTimingRange) {
|
|
5655
|
-
minIndex = Math.
|
|
5721
|
+
minIndex = Math.max(limitMin, minIndex);
|
|
5656
5722
|
maxIndex = Math.min(limitMax, maxIndex);
|
|
5657
5723
|
} else {
|
|
5658
5724
|
minIndex = limitMin;
|
|
@@ -9954,4 +10020,4 @@ class ModelRecurrenceInfoUtility {
|
|
|
9954
10020
|
}
|
|
9955
10021
|
}
|
|
9956
10022
|
|
|
9957
|
-
export { AnyIterResult, CalendarDate, CalendarDateType, DATE_CELL_SCHEDULE_ENCODED_WEEK_REGEX, DATE_TODAY_END_VALUE, DATE_TODAY_START_VALUE, DATE_WEEK_END_VALUE, DATE_WEEK_START_VALUE, DEFAULT_EXPAND_DAYS_FOR_DATE_RANGE_MAX_EXPANSION_SIZE, DEFAULT_FULL_DATE_SCHEDULE_RANGE_DURATION, DEFAULT_ITERATE_DAYS_IN_DATE_RANGE_MAX_ITERATIONS, DEFAULT_LAST_ITER_RESULT_MAX_ITERATIONS_ALLOWED, DateCell, DateCellRange, DateCellSchedule, DateCellScheduleDayCode, DateCellTiming, DateDurationSpan, DateRRule, DateRRuleInstance, DateRRuleParseUtility, DateRRuleUtility, DateRange, DateRangeParams, DateRangeType, DateSet, DateTimeMinuteInstance, DateTimeUtilityInstance, DateTimezoneUtcNormalInstance, IsKnownTimezone, IsValidDateCellRange, IsValidDateCellRangeSeries, IsValidDateCellTiming, IterateDaysInDateRangeFunctionBailError, LastIterResult, LimitDateTimeInstance, MAX_FUTURE_DATE, ModelRecurrenceInfo, ModelRecurrenceInfoUtility, NextIterResult, RRuleStringSplitter, SYSTEM_DATE_TIMEZONE_UTC_NORMAL_INSTANCE, UNKNOWN_YEAR_WEEK_CODE, UTC_DATE_TIMEZONE_UTC_NORMAL_INSTANCE, allIndexesInDateCellRange, allIndexesInDateCellRanges, allKnownTimezoneStrings, allTimezoneInfos, allTimezoneStrings, anyHaveExpired, atleastOneNotExpired, baseDateToTargetDate, calculateAllConversions, calculateExpectedDateCellTimingDuration, calculateExpectedDateCellTimingDurationPair, calendarDate, calendarDateFactory, calendarDateForDateDurationSpan, changeDateCellScheduleDateRangeToTimezone, changeDateCellScheduleDateRangeToTimezoneFunction, clampDateFunction, clampDateRangeFunction, clampDateRangeToDateRange, clampDateToDateRange, copyDateCellScheduleDateFilterConfig, copyHoursAndMinutesFromDate, copyHoursAndMinutesFromDateToToday, copyHoursAndMinutesFromDateWithTimezoneNormal, copyHoursAndMinutesFromNow, copyHoursAndMinutesFromNowWithTimezoneNormal, copyHoursAndMinutesToDate, copyHoursAndMinutesToToday, dateCell, dateCellDayOfWeekFactory, dateCellDayTimingInfoFactory, dateCellDurationSpanHasEndedFilterFunction, dateCellDurationSpanHasNotEndedFilterFunction, dateCellDurationSpanHasNotStartedFilterFunction, dateCellDurationSpanHasStartedFilterFunction, dateCellEndIndex, dateCellIndexRange, dateCellIndexRangeToDateCellRange, dateCellIndexYearWeekCodeFactory, dateCellIndexYearWeekCodeGroupFactory, dateCellIndexsForDateCellScheduleDayCodes, dateCellRange, dateCellRangeBlocksCount, dateCellRangeBlocksCountInfo, dateCellRangeHasRange, dateCellRangeIncludedByRangeFunction, dateCellRangeOverlapsRange, dateCellRangeOverlapsRangeFunction, dateCellRangeToDateCellIndexRange, dateCellRangeWithRange, dateCellRangeWithRangeFromIndex, dateCellRangesFullyCoverDateCellRangeFunction, dateCellScheduleDateCellTimingFilter, dateCellScheduleDateFilter, dateCellScheduleDateRange, dateCellScheduleDayCodeFactory, dateCellScheduleDayCodesAreSetsEquivalent, dateCellScheduleDayCodesFromEnabledDays, dateCellScheduleDayCodesSetFromDaysOfWeek, dateCellScheduleEncodedWeek, dateCellTiming, dateCellTimingDateFactory, dateCellTimingDateRange, dateCellTimingEndDateFactory, dateCellTimingEndIndex, dateCellTimingEventRange, dateCellTimingExpansionFactory, dateCellTimingFinalStartsAtEvent, dateCellTimingFromDateCellTimingStartsAtEndRange, dateCellTimingRelativeIndexArrayFactory, dateCellTimingRelativeIndexFactory, dateCellTimingStart, dateCellTimingStartDateFactory, dateCellTimingStartPair, dateCellTimingStartsAtDateFactory, dateCellTimingStartsAtForStartOfDay, dateCellTimingTimezoneNormalInstance, dateDurationSpanEndDate, dateFromDateOrTimeNumber, dateFromLogicalDate, dateInterval, dateMonthDayStringFormat, dateOrDateRangeToDateRange, dateOrDayStringRangeToDateRange, dateOrDayStringRangeToISO8601DayStringRange, dateRange, dateRangeDaysCount, dateRangeOverlapsDateRange, dateRangeOverlapsDateRangeFunction, dateRangeRelativeState, dateRelativeStateForDateCellRangeComparedToIndex, dateShortDateAndTimeStringFormat, dateShortDateStringFormat, dateTimeInstance, dateTimeInstanceUtc, dateTimeMinuteDecisionFunction, dateTimeStringFormat, dateTimezoneUtcNormal, daysToMinutes, durationSpanDateRelativeState, durationSpanToDateRange, enabledDaysFromDateCellScheduleDayCodes, endItreateDaysInDateRangeEarly, expandDateCellCollection, expandDateCellRange, expandDateCellSchedule, expandDateCellScheduleDayCodes, expandDateCellScheduleDayCodesToDayCodesSet, expandDateCellScheduleDayCodesToDayOfWeekSet, expandDateCellScheduleFactory, expandDateCellScheduleRange, expandDateCellScheduleRangeToDateCellRanges, expandDateCellTiming, expandDaysForDateRange, expandDaysForDateRangeFunction, expandUniqueDateCellsFunction, filterDateCellsInDateCellRange, findMaxDate, findMinDate, fitDateRangeToDayPeriod, fitDateRangeToDayPeriodFunction, fitUTCDateRangeToDayPeriod, forEachDayInDateRange, formatDateDistance, formatDateRange, formatDateRangeDistance, formatDateRangeDistanceFunction, formatDateRangeFunction, formatStartedEndedDistanceString, formatToDateString, formatToDayRangeString, formatToDayTimeRangeString, formatToISO8601DateString, formatToISO8601DayString, formatToMonthDayString, formatToShortDateAndTimeString, formatToShortDateString, formatToTimeAndDurationString, formatToTimeRangeString, formatToTimeString, fractionalHoursInDurationSpan, fullDateCellScheduleRange, fullDateCellTiming, fullDateCellTimingTimezonePair, fullWeekDateCellScheduleDayCodes, getCurrentSystemOffsetInHours, getCurrentSystemOffsetInMinutes, getCurrentSystemOffsetInMs, getDateCellTimingFirstEventDateRange, getDateCellTimingHoursInEvent, getDaysOfWeekInDateRange, getExpiration, getGreatestDateCellIndexInDateCellRanges, getLeastAndGreatestDateCellIndexInDateCellRanges, getLeastDateCellIndexInDateCellRanges, getNextDateCellTimingIndex, getRelativeDateForDateCellTiming, getRelativeIndexForDateCellTiming, getTimeAM, getTimezoneAbbreviation, getTimezoneLongName, groupDateRangesByDateRelativeState, groupToDateCellRanges, groupUniqueDateCells, guessCurrentTimezone, hasExpired, hoursToMs, inverseDateTimezoneUtcNormalInstanceTransformType, isAfter, isDate, isDateCellRange, isDateCellSchedule, isDateCellScheduleDateRange, isDateCellScheduleEncodedWeek, isDateCellScheduleStartOfDayDateRange, isDateCellTiming, isDateCellTimingRelativeIndexFactory, isDateCellWithinDateCellRange, isDateCellWithinDateCellRangeFunction, isDateInDateRange, isDateInDateRangeFunction, isDateRange, isDateRangeInDateRange, isDateRangeInDateRangeFunction, isDateRangeStart, isDateWithinDateCellRangeFunction, isEmptyDateCellScheduleEncodedWeek, isFullDateCellScheduleDateRange, isFullDateCellTiming, isFullDateRange, isInfiniteDateRange, isKnownTimezone, isLogicalDateStringCode, isMaxFutureDate, isPartialDateRange, isSameDate, isSameDateCellSchedule, isSameDateCellScheduleDateRange, isSameDateCellScheduleEventRange, isSameDateCellTiming, isSameDateCellTimingEventStartsAtEndRange, isSameDateDay, isSameDateDayRange, isSameDateHoursAndMinutes, isSameDateRange, isSameDateTimezoneConversionConfig, isSameFullDateCellScheduleDateRange, isSameFullDateCellTiming, isStartOfDayInUTC, isValidDateCellIndex, isValidDateCellRange, isValidDateCellRangeSeries, isValidDateCellTiming, isValidDateCellTimingInfo, isValidDateCellTimingStartDate, isValidDateFromTimestringResult, isValidDateTimezoneConversionConfig, isValidFullDateCellTiming, isValidFullDateCellTimingInfo, iterateDaysInDateRange, iterateDaysInDateRangeFunction, latestDate, latestMinute, limitDateTime, limitDateTimeInstance, logicalDateStringCodeDateFactory, makeDateQueryForDateItemRangeFilter, makeDateQueryForDateStartsEndsFilter, makeDateQueryForOccuringFilter, makeDaysAndTimeFiltersFunction, makeMongoDBLikeDateQueryBuilder, maxFutureDate, mergeMongoDBLikeRangeFilters, minutesToMs, modifyDateCellToFitRange, modifyDateCellsToFitRange, modifyDateCellsToFitRangeFunction, msToMinutes, msToSeconds, nowInterval, parseISO8601DayStringToDate, parseJsDateString, parseReadableTimeString, rawDateCellScheduleDayCodes, readDaysOfWeek, readDaysOfWeekNames, readableTimeStringToDate, reduceDatesFunction, requireCurrentTimezone, roundDateTimeDown, roundDateTimeDownToSteps, roundDownToHour, roundDownToMinute, roundToMinuteSteps, safeFormatToISO8601DateString, safeToJsDate, searchTimezoneInfos, shiftDateCellTimingToSystemTimezone, shiftDateCellTimingToTimezone, shiftDateCellTimingToTimezoneFunction, shiftDateCellTimingToUTCTimezone, simplifyDateCellScheduleDayCodes, skipAfterExpiration, skipExpired, skipUntilExpiration, skipUntilTimeElapsedAfterLastEmission, sortByDateFunction, sortByISO8601DateStringFunction, sortByISO8601DateStrings, sortDateCellRangeAndSizeFunction, sortDateCellRanges, sortDateRangeStartAscendingCompareFunction, startOfDayInTimezoneDayStringFactory, startOfDayInTimezoneFromISO8601DayString, startOfWeekForYearWeekCode, systemBaseDateToNormalDate, systemBaseDateToNormalDateOffset, systemDateTimezoneUtcNormal, systemExperiencesDaylightSavings, systemNormalDateToBaseDate, systemNormalDateToBaseDateOffset, takeAfterTimeElapsedSinceLastEmission, takeNextUpcomingTime, targetDateToBaseDate, timeHasExpired, timezoneInfoForSystem, timezoneStringToSearchableString, timezoneStringToTimezoneInfo, toExpiration, toExpires, toISO8601DayString, toISODateString, toJsDate, toJsDayDate, toLocalReadableTimeString, toReadableTimeString, transformDateInTimezoneNormalFunction, transformDateRangeDatesFunction, transformDateRangeInTimezoneNormalFunction, transformDateRangeToTimezoneFunction, transformDateRangeWithStartOfDay, unixTimeNumberForNow, unixTimeNumberFromDate, unixTimeNumberFromDateOrTimeNumber, unixTimeNumberToDate, updateDateCellTimingToSystemTimezone, updateDateCellTimingToTimezone, updateDateCellTimingToTimezoneFunction, updateDateCellTimingToUTCTimezone, updateDateCellTimingWithDateCellTimingEvent, utcDayForDate, weekdayDateCellScheduleDayCodes, weekendDateCellScheduleDayCodes, yearWeekCode, yearWeekCodeDateFactory, yearWeekCodeDateTimezoneInstance, yearWeekCodeFactory, yearWeekCodeForCalendarMonth, yearWeekCodeForCalendarMonthFactory, yearWeekCodeForDateRange, yearWeekCodeForDateRangeFactory, yearWeekCodeForDateRangeInTimezone, yearWeekCodeFromDate, yearWeekCodeFromPair, yearWeekCodeGroupFactory, yearWeekCodeIndex, yearWeekCodePair, yearWeekCodePairFromDate };
|
|
10023
|
+
export { AnyIterResult, CalendarDate, CalendarDateType, DATE_CELL_SCHEDULE_ENCODED_WEEK_REGEX, DATE_TODAY_END_VALUE, DATE_TODAY_START_VALUE, DATE_WEEK_END_VALUE, DATE_WEEK_START_VALUE, DEFAULT_EXPAND_DAYS_FOR_DATE_RANGE_MAX_EXPANSION_SIZE, DEFAULT_FULL_DATE_SCHEDULE_RANGE_DURATION, DEFAULT_ITERATE_DAYS_IN_DATE_RANGE_MAX_ITERATIONS, DEFAULT_LAST_ITER_RESULT_MAX_ITERATIONS_ALLOWED, DateCell, DateCellRange, DateCellSchedule, DateCellScheduleDayCode, DateCellTiming, DateDurationSpan, DateRRule, DateRRuleInstance, DateRRuleParseUtility, DateRRuleUtility, DateRange, DateRangeParams, DateRangeType, DateSet, DateTimeMinuteInstance, DateTimeUtilityInstance, DateTimezoneUtcNormalInstance, IsKnownTimezone, IsValidDateCellRange, IsValidDateCellRangeSeries, IsValidDateCellTiming, IterateDaysInDateRangeFunctionBailError, LastIterResult, LimitDateTimeInstance, MAX_FUTURE_DATE, ModelRecurrenceInfo, ModelRecurrenceInfoUtility, NextIterResult, RRuleStringSplitter, SYSTEM_DATE_TIMEZONE_UTC_NORMAL_INSTANCE, UNKNOWN_YEAR_WEEK_CODE, UTC_DATE_TIMEZONE_UTC_NORMAL_INSTANCE, allIndexesInDateCellRange, allIndexesInDateCellRanges, allKnownTimezoneStrings, allTimezoneInfos, allTimezoneStrings, anyHaveExpired, atleastOneNotExpired, baseDateToTargetDate, calculateAllConversions, calculateExpectedDateCellTimingDuration, calculateExpectedDateCellTimingDurationPair, calendarDate, calendarDateFactory, calendarDateForDateDurationSpan, changeDateCellScheduleDateRangeToTimezone, changeDateCellScheduleDateRangeToTimezoneFunction, clampDateFunction, clampDateRangeFunction, clampDateRangeToDateRange, clampDateToDateRange, copyDateCellScheduleDateFilterConfig, copyHoursAndMinutesFromDate, copyHoursAndMinutesFromDateToToday, copyHoursAndMinutesFromDateWithTimezoneNormal, copyHoursAndMinutesFromNow, copyHoursAndMinutesFromNowWithTimezoneNormal, copyHoursAndMinutesToDate, copyHoursAndMinutesToToday, dateCell, dateCellDayOfWeekFactory, dateCellDayTimingInfoFactory, dateCellDurationSpanHasEndedFilterFunction, dateCellDurationSpanHasNotEndedFilterFunction, dateCellDurationSpanHasNotStartedFilterFunction, dateCellDurationSpanHasStartedFilterFunction, dateCellEndIndex, dateCellIndexRange, dateCellIndexRangeToDateCellRange, dateCellIndexYearWeekCodeFactory, dateCellIndexYearWeekCodeGroupFactory, dateCellIndexsForDateCellScheduleDayCodes, dateCellRange, dateCellRangeBlocksCount, dateCellRangeBlocksCountInfo, dateCellRangeHasRange, dateCellRangeIncludedByRangeFunction, dateCellRangeOfTiming, dateCellRangeOfTimingFactory, dateCellRangeOverlapsRange, dateCellRangeOverlapsRangeFunction, dateCellRangeToDateCellIndexRange, dateCellRangeWithRange, dateCellRangeWithRangeFromIndex, dateCellRangesFullyCoverDateCellRangeFunction, dateCellScheduleDateCellTimingFilter, dateCellScheduleDateFilter, dateCellScheduleDateRange, dateCellScheduleDayCodeFactory, dateCellScheduleDayCodesAreSetsEquivalent, dateCellScheduleDayCodesFromEnabledDays, dateCellScheduleDayCodesSetFromDaysOfWeek, dateCellScheduleEncodedWeek, dateCellTiming, dateCellTimingDateFactory, dateCellTimingDateRange, dateCellTimingEndDateFactory, dateCellTimingEndIndex, dateCellTimingEventRange, dateCellTimingExpansionFactory, dateCellTimingFinalStartsAtEvent, dateCellTimingFromDateCellTimingStartsAtEndRange, dateCellTimingRelativeIndexArrayFactory, dateCellTimingRelativeIndexFactory, dateCellTimingStart, dateCellTimingStartDateFactory, dateCellTimingStartPair, dateCellTimingStartsAtDateFactory, dateCellTimingStartsAtForStartOfDay, dateCellTimingTimezoneNormalInstance, dateDurationSpanEndDate, dateFromDateOrTimeNumber, dateFromLogicalDate, dateInterval, dateMonthDayStringFormat, dateOrDateRangeToDateRange, dateOrDayStringRangeToDateRange, dateOrDayStringRangeToISO8601DayStringRange, dateRange, dateRangeDaysCount, dateRangeOverlapsDateRange, dateRangeOverlapsDateRangeFunction, dateRangeRelativeState, dateRelativeStateForDateCellRangeComparedToIndex, dateShortDateAndTimeStringFormat, dateShortDateStringFormat, dateTimeInstance, dateTimeInstanceUtc, dateTimeMinuteDecisionFunction, dateTimeStringFormat, dateTimezoneUtcNormal, daysToMinutes, durationSpanDateRelativeState, durationSpanToDateRange, earliestDate, enabledDaysFromDateCellScheduleDayCodes, endItreateDaysInDateRangeEarly, expandDateCellCollection, expandDateCellRange, expandDateCellSchedule, expandDateCellScheduleDayCodes, expandDateCellScheduleDayCodesToDayCodesSet, expandDateCellScheduleDayCodesToDayOfWeekSet, expandDateCellScheduleFactory, expandDateCellScheduleRange, expandDateCellScheduleRangeToDateCellRanges, expandDateCellTiming, expandDaysForDateRange, expandDaysForDateRangeFunction, expandUniqueDateCellsFunction, filterDateCellsInDateCellRange, findMaxDate, findMinDate, fitDateRangeToDayPeriod, fitDateRangeToDayPeriodFunction, fitUTCDateRangeToDayPeriod, forEachDayInDateRange, formatDateDistance, formatDateRange, formatDateRangeDistance, formatDateRangeDistanceFunction, formatDateRangeFunction, formatStartedEndedDistanceString, formatToDateString, formatToDayRangeString, formatToDayTimeRangeString, formatToISO8601DateString, formatToISO8601DayString, formatToMonthDayString, formatToShortDateAndTimeString, formatToShortDateString, formatToTimeAndDurationString, formatToTimeRangeString, formatToTimeString, fractionalHoursInDurationSpan, fullDateCellScheduleRange, fullDateCellTiming, fullDateCellTimingTimezonePair, fullWeekDateCellScheduleDayCodes, getCurrentSystemOffsetInHours, getCurrentSystemOffsetInMinutes, getCurrentSystemOffsetInMs, getDateCellTimingFirstEventDateRange, getDateCellTimingHoursInEvent, getDaysOfWeekInDateRange, getExpiration, getGreatestDateCellIndexInDateCellRanges, getLeastAndGreatestDateCellIndexInDateCellRanges, getLeastDateCellIndexInDateCellRanges, getNextDateCellTimingIndex, getRelativeDateForDateCellTiming, getRelativeIndexForDateCellTiming, getTimeAM, getTimezoneAbbreviation, getTimezoneLongName, groupDateRangesByDateRelativeState, groupToDateCellRanges, groupUniqueDateCells, guessCurrentTimezone, hasExpired, hoursToMs, inverseDateTimezoneUtcNormalInstanceTransformType, isAfter, isDate, isDateCellRange, isDateCellSchedule, isDateCellScheduleDateRange, isDateCellScheduleEncodedWeek, isDateCellScheduleStartOfDayDateRange, isDateCellTiming, isDateCellTimingRelativeIndexFactory, isDateCellWithinDateCellRange, isDateCellWithinDateCellRangeFunction, isDateInDateRange, isDateInDateRangeFunction, isDateRange, isDateRangeInDateRange, isDateRangeInDateRangeFunction, isDateRangeStart, isDateWithinDateCellRangeFunction, isEmptyDateCellScheduleEncodedWeek, isFullDateCellScheduleDateRange, isFullDateCellTiming, isFullDateRange, isInfiniteDateRange, isKnownTimezone, isLogicalDateStringCode, isMaxFutureDate, isPartialDateRange, isSameDate, isSameDateCellSchedule, isSameDateCellScheduleDateRange, isSameDateCellScheduleEventRange, isSameDateCellTiming, isSameDateCellTimingEventStartsAtEndRange, isSameDateDay, isSameDateDayRange, isSameDateHoursAndMinutes, isSameDateRange, isSameDateTimezoneConversionConfig, isSameFullDateCellScheduleDateRange, isSameFullDateCellTiming, isStartOfDayInUTC, isValidDateCellIndex, isValidDateCellRange, isValidDateCellRangeSeries, isValidDateCellTiming, isValidDateCellTimingInfo, isValidDateCellTimingStartDate, isValidDateFromTimestringResult, isValidDateTimezoneConversionConfig, isValidFullDateCellTiming, isValidFullDateCellTimingInfo, iterateDaysInDateRange, iterateDaysInDateRangeFunction, latestDate, latestMinute, limitDateTime, limitDateTimeInstance, logicalDateStringCodeDateFactory, makeDateQueryForDateItemRangeFilter, makeDateQueryForDateStartsEndsFilter, makeDateQueryForOccuringFilter, makeDaysAndTimeFiltersFunction, makeMongoDBLikeDateQueryBuilder, maxFutureDate, mergeMongoDBLikeRangeFilters, minutesToMs, modifyDateCellToFitRange, modifyDateCellsToFitRange, modifyDateCellsToFitRangeFunction, msToMinutes, msToSeconds, nowInterval, parseISO8601DayStringToDate, parseJsDateString, parseReadableTimeString, rawDateCellScheduleDayCodes, readDaysOfWeek, readDaysOfWeekNames, readableTimeStringToDate, reduceDatesFunction, requireCurrentTimezone, roundDateTimeDown, roundDateTimeDownToSteps, roundDownToHour, roundDownToMinute, roundToMinuteSteps, safeFormatToISO8601DateString, safeToJsDate, searchTimezoneInfos, shiftDateCellTimingToSystemTimezone, shiftDateCellTimingToTimezone, shiftDateCellTimingToTimezoneFunction, shiftDateCellTimingToUTCTimezone, simplifyDateCellScheduleDayCodes, skipAfterExpiration, skipExpired, skipUntilExpiration, skipUntilTimeElapsedAfterLastEmission, sortByDateFunction, sortByISO8601DateStringFunction, sortByISO8601DateStrings, sortDateCellRangeAndSizeFunction, sortDateCellRanges, sortDateRangeStartAscendingCompareFunction, startOfDayInTimezoneDayStringFactory, startOfDayInTimezoneFromISO8601DayString, startOfWeekForYearWeekCode, systemBaseDateToNormalDate, systemBaseDateToNormalDateOffset, systemDateTimezoneUtcNormal, systemExperiencesDaylightSavings, systemNormalDateToBaseDate, systemNormalDateToBaseDateOffset, takeAfterTimeElapsedSinceLastEmission, takeNextUpcomingTime, targetDateToBaseDate, timeHasExpired, timezoneInfoForSystem, timezoneStringToSearchableString, timezoneStringToTimezoneInfo, toExpiration, toExpires, toISO8601DayString, toISODateString, toJsDate, toJsDayDate, toLocalReadableTimeString, toReadableTimeString, transformDateInTimezoneNormalFunction, transformDateRangeDatesFunction, transformDateRangeInTimezoneNormalFunction, transformDateRangeToTimezoneFunction, transformDateRangeWithStartOfDay, unixTimeNumberForNow, unixTimeNumberFromDate, unixTimeNumberFromDateOrTimeNumber, unixTimeNumberToDate, updateDateCellTimingToSystemTimezone, updateDateCellTimingToTimezone, updateDateCellTimingToTimezoneFunction, updateDateCellTimingToUTCTimezone, updateDateCellTimingWithDateCellTimingEvent, utcDayForDate, weekdayDateCellScheduleDayCodes, weekendDateCellScheduleDayCodes, yearWeekCode, yearWeekCodeDateFactory, yearWeekCodeDateTimezoneInstance, yearWeekCodeFactory, yearWeekCodeForCalendarMonth, yearWeekCodeForCalendarMonthFactory, yearWeekCodeForDateRange, yearWeekCodeForDateRangeFactory, yearWeekCodeForDateRangeInTimezone, yearWeekCodeFromDate, yearWeekCodeFromPair, yearWeekCodeGroupFactory, yearWeekCodeIndex, yearWeekCodePair, yearWeekCodePairFromDate };
|
package/package.json
CHANGED
|
@@ -3,6 +3,55 @@ import { type DateCell, type DateCellIndex, type DateOrDateCellIndex, type DateC
|
|
|
3
3
|
import { type DateCellRange, type DateCellRangeWithRange, type DateOrDateRangeOrDateCellIndexOrDateCellRange } from './date.cell.index';
|
|
4
4
|
import { type DateRange, type DateRangeStart } from './date.range';
|
|
5
5
|
import { type DateTimezoneConversionConfigUseSystemTimezone, type DateTimezoneUtcNormalInstance } from './date.timezone';
|
|
6
|
+
/**
|
|
7
|
+
* Input for dateCellRange
|
|
8
|
+
*/
|
|
9
|
+
export interface DateCallIndexRangeFromDatesFactoryConfig {
|
|
10
|
+
/**
|
|
11
|
+
* Timing to use relative to the input.
|
|
12
|
+
*/
|
|
13
|
+
readonly timing: DateCellTiming;
|
|
14
|
+
/**
|
|
15
|
+
* Whether or not to fit the returned range to the timing's range.
|
|
16
|
+
*
|
|
17
|
+
* Defaults to true.
|
|
18
|
+
*/
|
|
19
|
+
readonly fitToTimingRange?: boolean;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* DateCellRangeOfTimingFactory input
|
|
23
|
+
*/
|
|
24
|
+
export interface DateCellRangeOfTimingInput {
|
|
25
|
+
/**
|
|
26
|
+
* Start date or index
|
|
27
|
+
*/
|
|
28
|
+
readonly i?: DateOrDateCellIndex;
|
|
29
|
+
/**
|
|
30
|
+
* End date or index
|
|
31
|
+
*/
|
|
32
|
+
readonly to?: DateOrDateCellIndex;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Creates a DateCellRange from the input.
|
|
36
|
+
*/
|
|
37
|
+
export type DateCellRangeOfTimingFactory = (input: DateCellRangeOfTimingInput) => DateCellRange;
|
|
38
|
+
/**
|
|
39
|
+
* Creates a DateCellRangeOfTimingFactory.
|
|
40
|
+
*
|
|
41
|
+
* @param config
|
|
42
|
+
* @returns
|
|
43
|
+
*/
|
|
44
|
+
export declare function dateCellRangeOfTimingFactory(config: DateCallIndexRangeFromDatesFactoryConfig): DateCellRangeOfTimingFactory;
|
|
45
|
+
/**
|
|
46
|
+
* Creates a DateCellRange from the input.
|
|
47
|
+
*
|
|
48
|
+
* Convenience function for calling dateCellRangeOfTimingFactory() then passing the input.
|
|
49
|
+
*
|
|
50
|
+
* @param config
|
|
51
|
+
* @param input
|
|
52
|
+
* @returns
|
|
53
|
+
*/
|
|
54
|
+
export declare function dateCellRangeOfTiming(config: DateCellTiming | DateCallIndexRangeFromDatesFactoryConfig, input: DateCellRangeOfTimingInput): DateCellRange;
|
|
6
55
|
/**
|
|
7
56
|
* IndexRange used with DateCells.
|
|
8
57
|
*
|
package/src/lib/date/date.d.ts
CHANGED
|
@@ -45,6 +45,11 @@ export declare function safeToJsDate(input: Maybe<DateOrDateString | UTCDateStri
|
|
|
45
45
|
*/
|
|
46
46
|
export declare function toJsDate(input: DateOrDateString | UTCDateString): Date;
|
|
47
47
|
export declare function parseJsDateString(input: ISO8601DateString | UTCDateString): Maybe<Date>;
|
|
48
|
+
/**
|
|
49
|
+
* Returns the earliest date from the input array.
|
|
50
|
+
*/
|
|
51
|
+
export declare function earliestDate(dates: Maybe<Date>[]): Maybe<Date>;
|
|
52
|
+
export declare function earliestDate(dates: Maybe<Date>[], defaultDate: Date): Date;
|
|
48
53
|
/**
|
|
49
54
|
* Returns the latest date from the input array.
|
|
50
55
|
*/
|