@dereekb/date 9.22.4 → 9.22.5
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/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,10 @@
|
|
|
2
2
|
|
|
3
3
|
This file was generated using [@jscutlery/semver](https://github.com/jscutlery/semver).
|
|
4
4
|
|
|
5
|
+
## [9.22.5](https://github.com/dereekb/dbx-components/compare/v9.22.4-dev...v9.22.5) (2023-02-28)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
5
9
|
## [9.22.4](https://github.com/dereekb/dbx-components/compare/v9.22.3-dev...v9.22.4) (2023-02-27)
|
|
6
10
|
|
|
7
11
|
|
package/package.json
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dereekb/date",
|
|
3
|
-
"version": "9.22.
|
|
3
|
+
"version": "9.22.5",
|
|
4
4
|
"type": "commonjs",
|
|
5
5
|
"main": "./src/index.js",
|
|
6
6
|
"types": "./src/index.d.ts",
|
|
7
7
|
"dependencies": {},
|
|
8
8
|
"peerDependencies": {
|
|
9
9
|
"date-fns": "^2.29.0",
|
|
10
|
-
"@dereekb/util": "9.22.
|
|
10
|
+
"@dereekb/util": "9.22.5",
|
|
11
11
|
"lodash.isequal": "^4.5.0",
|
|
12
12
|
"make-error": "^1.3.0",
|
|
13
13
|
"class-validator": "^0.13.2",
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { FactoryWithRequiredInput, Maybe } from '@dereekb/util';
|
|
1
|
+
import { FactoryWithRequiredInput, MapFunction, Maybe } from '@dereekb/util';
|
|
2
2
|
/**
|
|
3
3
|
* Represents a start date.
|
|
4
4
|
*/
|
|
@@ -136,6 +136,54 @@ export declare type DateRangeInput = (DateRangeTypedInput | DateRangeDistanceInp
|
|
|
136
136
|
* @returns
|
|
137
137
|
*/
|
|
138
138
|
export declare function dateRange({ type, date, distance, roundToMinute: inputRoundToMinute }: DateRangeInput, roundToMinute?: boolean): DateRange;
|
|
139
|
+
/**
|
|
140
|
+
* Function that iterates dates within a date range at a pre-configured iteration step.
|
|
141
|
+
*/
|
|
142
|
+
export declare type IterateDatesInDateRangeFunction = <T = void>(dateRange: DateRange, forEachFn: (date: Date) => T) => T[];
|
|
143
|
+
/**
|
|
144
|
+
* Returns the next value to iterate on.
|
|
145
|
+
*/
|
|
146
|
+
export declare type IterateDaysGetNextValueFunction = MapFunction<Date, Date>;
|
|
147
|
+
export interface IterateDaysInDateRangeFunctionConfig {
|
|
148
|
+
/**
|
|
149
|
+
* (Optiona) Max expansion size for expanding a date range.
|
|
150
|
+
*
|
|
151
|
+
* If the expected expansion is larger than this size, an exception is thrown.
|
|
152
|
+
*
|
|
153
|
+
* If 0 or false, there is no max size.
|
|
154
|
+
*
|
|
155
|
+
* Defaults to 4000 days.
|
|
156
|
+
*/
|
|
157
|
+
readonly maxIterations?: number | 0 | false;
|
|
158
|
+
/**
|
|
159
|
+
* Whether or not to throw an error when the max iteration size is reached.
|
|
160
|
+
*
|
|
161
|
+
* True by default.
|
|
162
|
+
*/
|
|
163
|
+
readonly throwErrorOnMaxIterations?: boolean;
|
|
164
|
+
readonly getNextDate: IterateDaysGetNextValueFunction;
|
|
165
|
+
}
|
|
166
|
+
export declare const DEFAULT_ITERATE_DAYS_IN_DATE_RANGE_MAX_ITERATIONS = 4000;
|
|
167
|
+
export declare type IterateDaysInDateRangeFunctionConfigInput = IterateDaysInDateRangeFunctionConfig | IterateDaysGetNextValueFunction;
|
|
168
|
+
/**
|
|
169
|
+
* Creates an IterateDaysInDateRangeFunction
|
|
170
|
+
*
|
|
171
|
+
* @param getNextDate
|
|
172
|
+
* @returns
|
|
173
|
+
*/
|
|
174
|
+
export declare function iterateDaysInDateRangeFunction(input: IterateDaysInDateRangeFunctionConfigInput): IterateDatesInDateRangeFunction;
|
|
175
|
+
/**
|
|
176
|
+
* Iterates date values within the given DateRange.
|
|
177
|
+
*/
|
|
178
|
+
export declare function iterateDaysInDateRange(dateRange: DateRange, forEachFn: (date: Date) => void, getNextDate: (date: Date) => Date): void;
|
|
179
|
+
export declare function iterateDaysInDateRange<T>(dateRange: DateRange, forEachFn: (date: Date) => T, getNextDate: (date: Date) => Date): T[];
|
|
180
|
+
/**
|
|
181
|
+
* Iterates each day in the date range, starting from the start date.
|
|
182
|
+
*
|
|
183
|
+
* @param dateRange
|
|
184
|
+
* @param forEachFn
|
|
185
|
+
*/
|
|
186
|
+
export declare const forEachDayInDateRange: IterateDatesInDateRangeFunction;
|
|
139
187
|
export interface ExpandDaysForDateRangeConfig {
|
|
140
188
|
/**
|
|
141
189
|
* (Optiona) Max expansion size for expanding a date range.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.dateRangeOverlapsDateRangeFunction = exports.dateRangeOverlapsDateRange = exports.isDateRangeInDateRangeFunction = exports.isDateRangeInDateRange = exports.isDateInDateRangeFunction = exports.isDateInDateRange = exports.dateRangeState = exports.expandDaysForDateRange = exports.expandDaysForDateRangeFunction = exports.DEFAULT_EXPAND_DAYS_FOR_DATE_RANGE_MAX_EXPANSION_SIZE = exports.dateRange = exports.DateRangeParams = exports.DateRangeState = exports.DateRangeType = exports.isSameDateRange = exports.isDateRange = exports.DateRange = exports.sortDateRangeStartAscendingCompareFunction = exports.isDateRangeStart = void 0;
|
|
3
|
+
exports.dateRangeOverlapsDateRangeFunction = exports.dateRangeOverlapsDateRange = exports.isDateRangeInDateRangeFunction = exports.isDateRangeInDateRange = exports.isDateInDateRangeFunction = exports.isDateInDateRange = exports.dateRangeState = exports.expandDaysForDateRange = exports.expandDaysForDateRangeFunction = exports.DEFAULT_EXPAND_DAYS_FOR_DATE_RANGE_MAX_EXPANSION_SIZE = exports.forEachDayInDateRange = exports.iterateDaysInDateRange = exports.iterateDaysInDateRangeFunction = exports.DEFAULT_ITERATE_DAYS_IN_DATE_RANGE_MAX_ITERATIONS = exports.dateRange = exports.DateRangeParams = exports.DateRangeState = exports.DateRangeType = exports.isSameDateRange = exports.isDateRange = exports.DateRange = exports.sortDateRangeStartAscendingCompareFunction = exports.isDateRangeStart = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const class_transformer_1 = require("class-transformer");
|
|
6
6
|
const class_validator_1 = require("class-validator");
|
|
@@ -240,6 +240,48 @@ function dateRange({ type = DateRangeType.DAYS_RANGE, date = new Date(), distanc
|
|
|
240
240
|
};
|
|
241
241
|
}
|
|
242
242
|
exports.dateRange = dateRange;
|
|
243
|
+
exports.DEFAULT_ITERATE_DAYS_IN_DATE_RANGE_MAX_ITERATIONS = 4000;
|
|
244
|
+
/**
|
|
245
|
+
* Creates an IterateDaysInDateRangeFunction
|
|
246
|
+
*
|
|
247
|
+
* @param getNextDate
|
|
248
|
+
* @returns
|
|
249
|
+
*/
|
|
250
|
+
function iterateDaysInDateRangeFunction(input) {
|
|
251
|
+
const config = typeof input === 'function' ? { getNextDate: input } : input;
|
|
252
|
+
const { maxIterations: inputMaxIterations = exports.DEFAULT_ITERATE_DAYS_IN_DATE_RANGE_MAX_ITERATIONS, throwErrorOnMaxIterations = true, getNextDate } = config;
|
|
253
|
+
const maxIterations = inputMaxIterations ? inputMaxIterations : Number.MAX_SAFE_INTEGER;
|
|
254
|
+
return ({ start, end }, forEachFn) => {
|
|
255
|
+
let current = start;
|
|
256
|
+
const results = [];
|
|
257
|
+
while (!(0, date_fns_1.isAfter)(current, end)) {
|
|
258
|
+
const result = forEachFn(current);
|
|
259
|
+
results.push(result);
|
|
260
|
+
current = getNextDate(current);
|
|
261
|
+
if (results.length >= maxIterations) {
|
|
262
|
+
if (throwErrorOnMaxIterations) {
|
|
263
|
+
throw new Error(`iterateDaysInDateRangeFunction() reached max configured iterations of ${maxIterations}`);
|
|
264
|
+
}
|
|
265
|
+
else {
|
|
266
|
+
break;
|
|
267
|
+
}
|
|
268
|
+
}
|
|
269
|
+
}
|
|
270
|
+
return results;
|
|
271
|
+
};
|
|
272
|
+
}
|
|
273
|
+
exports.iterateDaysInDateRangeFunction = iterateDaysInDateRangeFunction;
|
|
274
|
+
function iterateDaysInDateRange(dateRange, forEachFn, getNextDate) {
|
|
275
|
+
return iterateDaysInDateRangeFunction(getNextDate)(dateRange, forEachFn);
|
|
276
|
+
}
|
|
277
|
+
exports.iterateDaysInDateRange = iterateDaysInDateRange;
|
|
278
|
+
/**
|
|
279
|
+
* Iterates each day in the date range, starting from the start date.
|
|
280
|
+
*
|
|
281
|
+
* @param dateRange
|
|
282
|
+
* @param forEachFn
|
|
283
|
+
*/
|
|
284
|
+
exports.forEachDayInDateRange = iterateDaysInDateRangeFunction((current) => (0, date_fns_1.addDays)(current, 1));
|
|
243
285
|
exports.DEFAULT_EXPAND_DAYS_FOR_DATE_RANGE_MAX_EXPANSION_SIZE = 1500;
|
|
244
286
|
/**
|
|
245
287
|
* Expands the input range into dates.
|
|
@@ -249,18 +291,14 @@ exports.DEFAULT_EXPAND_DAYS_FOR_DATE_RANGE_MAX_EXPANSION_SIZE = 1500;
|
|
|
249
291
|
function expandDaysForDateRangeFunction(config = {}) {
|
|
250
292
|
const { maxExpansionSize: inputMaxExpansionSize = exports.DEFAULT_EXPAND_DAYS_FOR_DATE_RANGE_MAX_EXPANSION_SIZE } = config;
|
|
251
293
|
const maxExpansionSize = inputMaxExpansionSize ? inputMaxExpansionSize : Number.MAX_SAFE_INTEGER;
|
|
252
|
-
return (
|
|
294
|
+
return (dateRange) => {
|
|
295
|
+
const { start, end } = dateRange;
|
|
253
296
|
// check the expansion isn't too large
|
|
254
297
|
const distance = Math.abs((0, date_fns_1.differenceInDays)(start, end));
|
|
255
298
|
if (distance > maxExpansionSize) {
|
|
256
299
|
throw new Error(`Attempted to expand days past the max expansion size of "${distance}"`);
|
|
257
300
|
}
|
|
258
|
-
const dates =
|
|
259
|
-
let current = start;
|
|
260
|
-
while (!(0, date_fns_1.isAfter)(current, end)) {
|
|
261
|
-
dates.push(current);
|
|
262
|
-
current = (0, date_fns_1.addDays)(current, 1);
|
|
263
|
-
}
|
|
301
|
+
const dates = (0, exports.forEachDayInDateRange)(dateRange, (x) => x);
|
|
264
302
|
return dates;
|
|
265
303
|
};
|
|
266
304
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"date.range.js","sourceRoot":"","sources":["../../../../../../packages/date/src/lib/date/date.range.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"date.range.js","sourceRoot":"","sources":["../../../../../../packages/date/src/lib/date/date.range.ts"],"names":[],"mappings":"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"}
|