@dereekb/date 8.11.1 → 8.12.1
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 +18 -0
- package/package.json +3 -3
- package/src/lib/date/date.block.d.ts +119 -0
- package/src/lib/date/date.block.js +160 -0
- package/src/lib/date/date.block.js.map +1 -0
- package/src/lib/date/date.d.ts +10 -5
- package/src/lib/date/date.duration.d.ts +4 -0
- package/src/lib/date/date.duration.js.map +1 -1
- package/src/lib/date/date.js +20 -12
- package/src/lib/date/date.js.map +1 -1
- package/src/lib/date/date.range.d.ts +30 -1
- package/src/lib/date/date.range.js +18 -3
- package/src/lib/date/date.range.js.map +1 -1
- package/src/lib/date/index.d.ts +1 -0
- package/src/lib/date/index.js +1 -0
- package/src/lib/date/index.js.map +1 -1
- package/src/lib/query/query.builder.js +8 -8
- package/src/lib/query/query.builder.js.map +1 -1
- package/src/lib/rrule/date.recurrence.js +4 -4
- package/src/lib/rrule/date.recurrence.js.map +1 -1
- package/src/lib/rrule/date.rrule.js +1 -1
- package/src/lib/rrule/date.rrule.js.map +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,24 @@
|
|
|
2
2
|
|
|
3
3
|
This file was generated using [@jscutlery/semver](https://github.com/jscutlery/semver).
|
|
4
4
|
|
|
5
|
+
## [8.12.1](https://github.com/dereekb/dbx-components/compare/v8.12.0-dev...v8.12.1) (2022-07-08)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
# [8.12.0](https://github.com/dereekb/dbx-components/compare/v8.11.2-dev...v8.12.0) (2022-07-07)
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
### Features
|
|
13
|
+
|
|
14
|
+
* added DateBlock ([b424dc0](https://github.com/dereekb/dbx-components/commit/b424dc09ada622b2c5a85335ce755516eb1fb767))
|
|
15
|
+
* added dbxCalendar ([88750cb](https://github.com/dereekb/dbx-components/commit/88750cb4302b8e67dcaadb4813979a8e73d1d7b7))
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
## [8.11.2](https://github.com/dereekb/dbx-components/compare/v8.11.1-dev...v8.11.2) (2022-07-05)
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
|
|
5
23
|
## [8.11.1](https://github.com/dereekb/dbx-components/compare/v8.11.0-dev...v8.11.1) (2022-07-05)
|
|
6
24
|
|
|
7
25
|
|
package/package.json
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dereekb/date",
|
|
3
|
-
"version": "8.
|
|
3
|
+
"version": "8.12.1",
|
|
4
4
|
"type": "commonjs",
|
|
5
5
|
"main": "./src/index.js",
|
|
6
6
|
"typings": "./src/index.d.ts",
|
|
7
7
|
"dependencies": {},
|
|
8
8
|
"peerDependencies": {
|
|
9
|
-
"
|
|
9
|
+
"date-fns": "^2.28.0",
|
|
10
|
+
"@dereekb/util": "8.12.1",
|
|
10
11
|
"make-error": "^1.3.0",
|
|
11
12
|
"ts-essentials": "^9.1.2",
|
|
12
13
|
"extra-set": "^2.2.11",
|
|
13
14
|
"class-transformer": "^0.5.1",
|
|
14
|
-
"date-fns": "^2.28.0",
|
|
15
15
|
"class-validator": "^0.13.2",
|
|
16
16
|
"date-fns-tz": "^1.3.0",
|
|
17
17
|
"rxjs": "^7.0.0",
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
import { IndexRange } from '@dereekb/util';
|
|
2
|
+
import { DateRange, DateRangeDayDistanceInput } from './date.range';
|
|
3
|
+
import { DateDurationSpan } from './date.duration';
|
|
4
|
+
/**
|
|
5
|
+
* Index from 0 of which day this block represents.
|
|
6
|
+
*/
|
|
7
|
+
export declare type DateBlockIndex = number;
|
|
8
|
+
/**
|
|
9
|
+
* A duration-span block.
|
|
10
|
+
*/
|
|
11
|
+
export interface DateBlock {
|
|
12
|
+
i: DateBlockIndex;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* An array of DateBlock-like values.
|
|
16
|
+
*/
|
|
17
|
+
export declare type DateBlockArray<B extends DateBlock = DateBlock> = B[];
|
|
18
|
+
/**
|
|
19
|
+
* Reference to a DateBlockArray
|
|
20
|
+
*/
|
|
21
|
+
export declare type DateBlockArrayRef<B extends DateBlock = DateBlock> = {
|
|
22
|
+
blocks: DateBlockArray<B>;
|
|
23
|
+
};
|
|
24
|
+
/**
|
|
25
|
+
* Is combination of DateRange and DateDurationSpan. The DateRange captures a range of days that a DateBlock takes up, and the DateDurationSpan
|
|
26
|
+
* captures the Dates at which the Job occurs at.
|
|
27
|
+
*
|
|
28
|
+
* NOTES:
|
|
29
|
+
* - start time should be the first second of the day (0 seconds and 0 minutes) for its given timezone. This lets us derive the proper offset.
|
|
30
|
+
* - The startsAt time should be greater than or equal to start
|
|
31
|
+
* - The startsAt time should be on the same date as start
|
|
32
|
+
* - The end time should equal the ending date/time of the final end duration.
|
|
33
|
+
*/
|
|
34
|
+
export interface DateBlockTiming extends DateRange, DateDurationSpan {
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* The DateRange input for dateBlockTiming()
|
|
38
|
+
*/
|
|
39
|
+
export declare type DateBlockTimingRangeInput = DateRangeDayDistanceInput | DateRange | number;
|
|
40
|
+
/**
|
|
41
|
+
* Creates a valid DateBlock timing from the DateDurationSpan and range input.
|
|
42
|
+
*
|
|
43
|
+
* The duration is first considered, then the date range is applied to it.
|
|
44
|
+
*
|
|
45
|
+
* If a number is passed as the input range, then the duration's startsAt date will be used.
|
|
46
|
+
* The input range's date takes priority over the duration's startsAt date.
|
|
47
|
+
*/
|
|
48
|
+
export declare function dateBlockTiming(durationInput: DateDurationSpan, inputRange: DateBlockTimingRangeInput): DateBlockTiming;
|
|
49
|
+
/**
|
|
50
|
+
*
|
|
51
|
+
* @param timing
|
|
52
|
+
* @returns
|
|
53
|
+
*/
|
|
54
|
+
export declare function isValidDateBlockTiming(timing: DateBlockTiming): boolean;
|
|
55
|
+
/**
|
|
56
|
+
* Reference to a DateBlockTiming
|
|
57
|
+
*/
|
|
58
|
+
export declare type DateBlockTimingRef = {
|
|
59
|
+
timing: DateBlockTiming;
|
|
60
|
+
};
|
|
61
|
+
/**
|
|
62
|
+
* An object that implements DateBlockTimingRef and DateBlockArrayRef
|
|
63
|
+
*/
|
|
64
|
+
export interface DateBlockCollection<B extends DateBlock = DateBlock> extends DateBlockTimingRef, DateBlockArrayRef<B> {
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* An expanded DateBlock that implements DateDurationSpan and contains the DateBlock values.
|
|
68
|
+
*/
|
|
69
|
+
export declare type DateBlockDurationSpan<B extends DateBlock = DateBlock> = DateDurationSpan & B;
|
|
70
|
+
/**
|
|
71
|
+
* Convenience function for calling expandDateBlocks() with the input DateBlockCollection.
|
|
72
|
+
*
|
|
73
|
+
* @param collection
|
|
74
|
+
* @returns
|
|
75
|
+
*/
|
|
76
|
+
export declare function expandDateBlockCollection<B extends DateBlock = DateBlock>(collection: DateBlockCollection<B>): DateBlockDurationSpan<B>[];
|
|
77
|
+
/**
|
|
78
|
+
* Convenience function for calling dateBlocksExpansionFactory() then passing the blocks.
|
|
79
|
+
*
|
|
80
|
+
* @param blocks
|
|
81
|
+
* @param timing
|
|
82
|
+
* @returns
|
|
83
|
+
*/
|
|
84
|
+
export declare function expandDateBlocks<B extends DateBlock = DateBlock>(timing: DateBlockTiming, blocks: B[]): DateBlockDurationSpan<B>[];
|
|
85
|
+
export declare type DateBlocksExpansionFactoryInput<B extends DateBlock = DateBlock> = DateBlockArrayRef<B> | DateBlockArray<B>;
|
|
86
|
+
/**
|
|
87
|
+
* Used to convert the input DateBlocksExpansionFactoryInput into an array of DateBlockDurationSpan values
|
|
88
|
+
*/
|
|
89
|
+
export declare type DateBlocksExpansionFactory = <B extends DateBlock = DateBlock>(input: DateBlocksExpansionFactoryInput<B>) => DateBlockDurationSpan<B>[];
|
|
90
|
+
export interface DateBlocksExpansionFactoryConfig {
|
|
91
|
+
/**
|
|
92
|
+
* Timing to use in the configuration.
|
|
93
|
+
*/
|
|
94
|
+
timing: DateBlockTiming;
|
|
95
|
+
/**
|
|
96
|
+
* Range to limit duration span output to.
|
|
97
|
+
*
|
|
98
|
+
* If not provided, uses the input timing's range.
|
|
99
|
+
* If false, the timing's range is ignored too, and only the DateBlockIndex values are considered.
|
|
100
|
+
*/
|
|
101
|
+
rangeLimit?: DateBlockTimingRangeInput | false;
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Creates a DateBlocksExpansionFactory
|
|
105
|
+
*
|
|
106
|
+
* @param config
|
|
107
|
+
* @returns
|
|
108
|
+
*/
|
|
109
|
+
export declare function dateBlocksExpansionFactory(config: DateBlocksExpansionFactoryConfig): DateBlocksExpansionFactory;
|
|
110
|
+
/**
|
|
111
|
+
* Generates a DateBlockIndexRange based on the input timing.
|
|
112
|
+
*
|
|
113
|
+
* An arbitrary limit can also be applied.
|
|
114
|
+
*
|
|
115
|
+
* @param timing
|
|
116
|
+
* @param limit
|
|
117
|
+
* @param fitToTimingRange
|
|
118
|
+
*/
|
|
119
|
+
export declare function dateBlockIndexRange(timing: DateBlockTiming, limit?: DateBlockTimingRangeInput, fitToTimingRange?: boolean): IndexRange;
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.dateBlockIndexRange = exports.dateBlocksExpansionFactory = exports.expandDateBlocks = exports.expandDateBlockCollection = exports.isValidDateBlockTiming = exports.dateBlockTiming = void 0;
|
|
4
|
+
const util_1 = require("@dereekb/util");
|
|
5
|
+
const date_range_1 = require("./date.range");
|
|
6
|
+
const date_fns_1 = require("date-fns");
|
|
7
|
+
const date_1 = require("./date");
|
|
8
|
+
/**
|
|
9
|
+
* Creates a valid DateBlock timing from the DateDurationSpan and range input.
|
|
10
|
+
*
|
|
11
|
+
* The duration is first considered, then the date range is applied to it.
|
|
12
|
+
*
|
|
13
|
+
* If a number is passed as the input range, then the duration's startsAt date will be used.
|
|
14
|
+
* The input range's date takes priority over the duration's startsAt date.
|
|
15
|
+
*/
|
|
16
|
+
function dateBlockTiming(durationInput, inputRange) {
|
|
17
|
+
const { duration } = durationInput;
|
|
18
|
+
if (duration > util_1.MINUTES_IN_DAY) {
|
|
19
|
+
throw new Error('dateBlockTiming() duration cannot be longer than 24 hours.');
|
|
20
|
+
}
|
|
21
|
+
let { startsAt } = durationInput;
|
|
22
|
+
let numberOfBlockedDays;
|
|
23
|
+
let inputDate;
|
|
24
|
+
let range;
|
|
25
|
+
if (typeof inputRange === 'number') {
|
|
26
|
+
numberOfBlockedDays = inputRange;
|
|
27
|
+
range = (0, date_range_1.dateRange)({ type: date_range_1.DateRangeType.DAY, date: startsAt, distance: numberOfBlockedDays });
|
|
28
|
+
}
|
|
29
|
+
else if ((0, date_range_1.isDateRange)(inputRange)) {
|
|
30
|
+
range = inputRange;
|
|
31
|
+
inputDate = inputRange.start;
|
|
32
|
+
numberOfBlockedDays = (0, date_fns_1.differenceInDays)(inputRange.end, inputRange.start);
|
|
33
|
+
}
|
|
34
|
+
else {
|
|
35
|
+
inputDate = inputRange.date;
|
|
36
|
+
numberOfBlockedDays = inputRange.distance;
|
|
37
|
+
range = (0, date_range_1.dateRange)(inputRange, true);
|
|
38
|
+
}
|
|
39
|
+
if (inputDate != null) {
|
|
40
|
+
// input date takes priority, so move the startsAt's date to be on the same date.
|
|
41
|
+
startsAt = (0, date_1.copyHoursAndMinutesFromDate)(range.start, startsAt, true);
|
|
42
|
+
if ((0, date_fns_1.isBefore)(startsAt, range.start)) {
|
|
43
|
+
startsAt = (0, date_fns_1.addDays)(startsAt, 1); // starts 24 hours later
|
|
44
|
+
numberOfBlockedDays = numberOfBlockedDays - 1; // reduce number of applied days by 1
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
else {
|
|
48
|
+
startsAt = (0, date_fns_1.setSeconds)(startsAt, 0); // clear seconds from startsAt
|
|
49
|
+
}
|
|
50
|
+
const start = range.start;
|
|
51
|
+
// calculate end to be the ending date/time of the final duration span
|
|
52
|
+
const lastStart = (0, date_fns_1.addDays)(startsAt, numberOfBlockedDays);
|
|
53
|
+
const end = (0, date_fns_1.addMinutes)(lastStart, duration);
|
|
54
|
+
return {
|
|
55
|
+
start,
|
|
56
|
+
end,
|
|
57
|
+
startsAt,
|
|
58
|
+
duration
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
exports.dateBlockTiming = dateBlockTiming;
|
|
62
|
+
/**
|
|
63
|
+
*
|
|
64
|
+
* @param timing
|
|
65
|
+
* @returns
|
|
66
|
+
*/
|
|
67
|
+
function isValidDateBlockTiming(timing) {
|
|
68
|
+
const { start, end, startsAt, duration } = timing;
|
|
69
|
+
const msDifference = (0, date_fns_1.differenceInMilliseconds)(startsAt, start);
|
|
70
|
+
const hasSeconds = start.getSeconds() !== 0;
|
|
71
|
+
let isValid = false;
|
|
72
|
+
if (duration <= util_1.MINUTES_IN_DAY &&
|
|
73
|
+
!hasSeconds && // start cannot have seconds
|
|
74
|
+
msDifference >= 0 && // startsAt is after secondsDifference
|
|
75
|
+
msDifference < util_1.MS_IN_DAY // startsAt is not more than 24 hours later
|
|
76
|
+
) {
|
|
77
|
+
const expectedFinalStartTime = (0, date_fns_1.addMinutes)(end, -duration);
|
|
78
|
+
const difference = (0, date_fns_1.differenceInMilliseconds)(startsAt, expectedFinalStartTime) % util_1.MS_IN_DAY;
|
|
79
|
+
isValid = difference === 0;
|
|
80
|
+
}
|
|
81
|
+
return isValid;
|
|
82
|
+
}
|
|
83
|
+
exports.isValidDateBlockTiming = isValidDateBlockTiming;
|
|
84
|
+
/**
|
|
85
|
+
* Convenience function for calling expandDateBlocks() with the input DateBlockCollection.
|
|
86
|
+
*
|
|
87
|
+
* @param collection
|
|
88
|
+
* @returns
|
|
89
|
+
*/
|
|
90
|
+
function expandDateBlockCollection(collection) {
|
|
91
|
+
return expandDateBlocks(collection.timing, collection.blocks);
|
|
92
|
+
}
|
|
93
|
+
exports.expandDateBlockCollection = expandDateBlockCollection;
|
|
94
|
+
/**
|
|
95
|
+
* Convenience function for calling dateBlocksExpansionFactory() then passing the blocks.
|
|
96
|
+
*
|
|
97
|
+
* @param blocks
|
|
98
|
+
* @param timing
|
|
99
|
+
* @returns
|
|
100
|
+
*/
|
|
101
|
+
function expandDateBlocks(timing, blocks) {
|
|
102
|
+
return dateBlocksExpansionFactory({ timing })(blocks);
|
|
103
|
+
}
|
|
104
|
+
exports.expandDateBlocks = expandDateBlocks;
|
|
105
|
+
/**
|
|
106
|
+
* Creates a DateBlocksExpansionFactory
|
|
107
|
+
*
|
|
108
|
+
* @param config
|
|
109
|
+
* @returns
|
|
110
|
+
*/
|
|
111
|
+
function dateBlocksExpansionFactory(config) {
|
|
112
|
+
const { timing, rangeLimit } = config;
|
|
113
|
+
const { startsAt: baseStart, duration } = timing;
|
|
114
|
+
const indexRange = rangeLimit !== false ? dateBlockIndexRange(timing, rangeLimit) : { minIndex: Number.MIN_SAFE_INTEGER, maxIndex: Number.MAX_SAFE_INTEGER };
|
|
115
|
+
const isInRange = (0, util_1.indexRangeCheckFunction)(indexRange);
|
|
116
|
+
return (input) => {
|
|
117
|
+
const blocks = Array.isArray(input) ? input : input.blocks;
|
|
118
|
+
let spans = [];
|
|
119
|
+
blocks.forEach((x) => {
|
|
120
|
+
if (isInRange(x.i)) {
|
|
121
|
+
const startsAt = (0, date_fns_1.addDays)(baseStart, x.i);
|
|
122
|
+
const durationSpan = Object.assign(Object.assign({}, x), { startsAt,
|
|
123
|
+
duration });
|
|
124
|
+
spans.push(durationSpan);
|
|
125
|
+
}
|
|
126
|
+
});
|
|
127
|
+
return spans;
|
|
128
|
+
};
|
|
129
|
+
}
|
|
130
|
+
exports.dateBlocksExpansionFactory = dateBlocksExpansionFactory;
|
|
131
|
+
/**
|
|
132
|
+
* Generates a DateBlockIndexRange based on the input timing.
|
|
133
|
+
*
|
|
134
|
+
* An arbitrary limit can also be applied.
|
|
135
|
+
*
|
|
136
|
+
* @param timing
|
|
137
|
+
* @param limit
|
|
138
|
+
* @param fitToTimingRange
|
|
139
|
+
*/
|
|
140
|
+
function dateBlockIndexRange(timing, limit, fitToTimingRange = true) {
|
|
141
|
+
const { start: zeroDate, end: endDate } = timing;
|
|
142
|
+
let minIndex = 0;
|
|
143
|
+
let maxIndex = (0, date_fns_1.differenceInDays)(endDate, zeroDate);
|
|
144
|
+
if (limit) {
|
|
145
|
+
const { start, end } = dateBlockTiming(timing, limit);
|
|
146
|
+
const limitMin = (0, date_fns_1.differenceInDays)(start, zeroDate);
|
|
147
|
+
const limitMax = (0, date_fns_1.differenceInDays)(end, zeroDate);
|
|
148
|
+
if (fitToTimingRange) {
|
|
149
|
+
minIndex = Math.min(limitMin, maxIndex);
|
|
150
|
+
maxIndex = Math.min(limitMax, maxIndex);
|
|
151
|
+
}
|
|
152
|
+
else {
|
|
153
|
+
minIndex = limitMin;
|
|
154
|
+
maxIndex = limitMax;
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
return { minIndex, maxIndex };
|
|
158
|
+
}
|
|
159
|
+
exports.dateBlockIndexRange = dateBlockIndexRange;
|
|
160
|
+
//# sourceMappingURL=date.block.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"date.block.js","sourceRoot":"","sources":["../../../../../../packages/date/src/lib/date/date.block.ts"],"names":[],"mappings":"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"}
|
package/src/lib/date/date.d.ts
CHANGED
|
@@ -48,19 +48,24 @@ export declare function utcDayForDate(date: Date): Date;
|
|
|
48
48
|
*/
|
|
49
49
|
export declare function takeNextUpcomingTime(date: Date, removeSeconds?: boolean): Date;
|
|
50
50
|
/**
|
|
51
|
-
* Creates a new date and copies the hours/minutes from the previous date.
|
|
51
|
+
* Creates a new date and copies the hours/minutes from the previous date and applies them to a date for today.
|
|
52
52
|
*/
|
|
53
|
-
export declare function copyHoursAndMinutesFromDateToToday(
|
|
53
|
+
export declare function copyHoursAndMinutesFromDateToToday(fromDate: Date, removeSeconds?: boolean): Date;
|
|
54
54
|
/**
|
|
55
|
-
* Creates a new date and copies the hours/minutes from the input.
|
|
55
|
+
* Creates a new date and copies the hours/minutes from the input date to the target date.
|
|
56
|
+
*/
|
|
57
|
+
export declare function copyHoursAndMinutesFromDate(target: Date, fromDate: Date, removeSeconds?: boolean): Date;
|
|
58
|
+
/**
|
|
59
|
+
* Creates a new date and copies the hours/minutes from the input onto the target date, if provided. Defaults to now/today otherwise.
|
|
56
60
|
*
|
|
57
61
|
* Also rounds the seconds and milliseconds.
|
|
58
62
|
*/
|
|
59
|
-
export declare function
|
|
63
|
+
export declare function copyHoursAndMinutesToDate({ hours, minutes, removeSeconds }: {
|
|
60
64
|
hours: number;
|
|
61
65
|
minutes?: number;
|
|
62
66
|
removeSeconds?: boolean;
|
|
63
|
-
}): Date;
|
|
67
|
+
}, target?: Maybe<Date>): Date;
|
|
68
|
+
export declare const copyHoursAndMinutesToToday: typeof copyHoursAndMinutesToDate;
|
|
64
69
|
/**
|
|
65
70
|
* Removes the seconds and milliseconds from the input date.
|
|
66
71
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"date.duration.js","sourceRoot":"","sources":["../../../../../../packages/date/src/lib/date/date.duration.ts"],"names":[],"mappings":";;;;AACA,yDAAiD;AACjD,uCAAsC;AACtC,6CAAyE;
|
|
1
|
+
{"version":3,"file":"date.duration.js","sourceRoot":"","sources":["../../../../../../packages/date/src/lib/date/date.duration.ts"],"names":[],"mappings":";;;;AACA,yDAAiD;AACjD,uCAAsC;AACtC,6CAAyE;AAOzE,MAAa,gBAAgB;IAQ3B,YAAY,QAA0B;QACpC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC;QAClC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC;IACpC,CAAC;CACF;AATC;IAFC,IAAA,0BAAM,GAAE;IACR,IAAA,wBAAI,EAAC,GAAG,EAAE,CAAC,IAAI,CAAC;sCACP,IAAI;kDAAC;AAGf;IADC,IAAA,0BAAM,GAAE;;kDACS;AANpB,4CAYC;AAED,SAAgB,uBAAuB,CAAC,IAAsB;IAC5D,OAAO;QACL,KAAK,EAAE,IAAI,CAAC,QAAQ;QACpB,GAAG,EAAE,IAAA,qBAAU,EAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC;KAC9C,CAAC;AACJ,CAAC;AALD,0DAKC;AAED,SAAgB,0BAA0B,CAAC,IAAsB;IAC/D,OAAO,IAAA,2BAAc,EAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC,CAAC;AACvD,CAAC;AAFD,gEAEC"}
|
package/src/lib/date/date.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.roundDownToMinute = exports.copyHoursAndMinutesToToday = exports.copyHoursAndMinutesFromDateToToday = exports.takeNextUpcomingTime = exports.utcDayForDate = exports.isAfter = exports.latestDate = exports.toJsDate = exports.guessCurrentTimezone = exports.toISODateString = exports.nowISODateString = exports.latestMinute = exports.isMaxFutureDate = exports.maxFutureDate = exports.daysToMinutes = exports.minutesToMs = exports.hoursToMs = exports.msToSeconds = exports.msToMinutes = exports.MAX_FUTURE_DATE = void 0;
|
|
3
|
+
exports.roundDownToMinute = exports.copyHoursAndMinutesToToday = exports.copyHoursAndMinutesToDate = exports.copyHoursAndMinutesFromDate = exports.copyHoursAndMinutesFromDateToToday = exports.takeNextUpcomingTime = exports.utcDayForDate = exports.isAfter = exports.latestDate = exports.toJsDate = exports.guessCurrentTimezone = exports.toISODateString = exports.nowISODateString = exports.latestMinute = exports.isMaxFutureDate = exports.maxFutureDate = exports.daysToMinutes = exports.minutesToMs = exports.hoursToMs = exports.msToSeconds = exports.msToMinutes = exports.MAX_FUTURE_DATE = void 0;
|
|
4
4
|
const date_fns_1 = require("date-fns");
|
|
5
5
|
const util_1 = require("@dereekb/util");
|
|
6
6
|
exports.MAX_FUTURE_DATE = new Date(Date.UTC(9999, 0));
|
|
@@ -103,23 +103,30 @@ function takeNextUpcomingTime(date, removeSeconds) {
|
|
|
103
103
|
}
|
|
104
104
|
exports.takeNextUpcomingTime = takeNextUpcomingTime;
|
|
105
105
|
/**
|
|
106
|
-
* Creates a new date and copies the hours/minutes from the previous date.
|
|
106
|
+
* Creates a new date and copies the hours/minutes from the previous date and applies them to a date for today.
|
|
107
107
|
*/
|
|
108
|
-
function copyHoursAndMinutesFromDateToToday(
|
|
109
|
-
return
|
|
110
|
-
hours: date.getHours(),
|
|
111
|
-
minutes: date.getMinutes(),
|
|
112
|
-
removeSeconds
|
|
113
|
-
});
|
|
108
|
+
function copyHoursAndMinutesFromDateToToday(fromDate, removeSeconds) {
|
|
109
|
+
return copyHoursAndMinutesFromDate(new Date(), fromDate, removeSeconds);
|
|
114
110
|
}
|
|
115
111
|
exports.copyHoursAndMinutesFromDateToToday = copyHoursAndMinutesFromDateToToday;
|
|
116
112
|
/**
|
|
117
|
-
* Creates a new date and copies the hours/minutes from the input.
|
|
113
|
+
* Creates a new date and copies the hours/minutes from the input date to the target date.
|
|
114
|
+
*/
|
|
115
|
+
function copyHoursAndMinutesFromDate(target, fromDate, removeSeconds) {
|
|
116
|
+
return copyHoursAndMinutesToDate({
|
|
117
|
+
hours: fromDate.getHours(),
|
|
118
|
+
minutes: fromDate.getMinutes(),
|
|
119
|
+
removeSeconds
|
|
120
|
+
}, target);
|
|
121
|
+
}
|
|
122
|
+
exports.copyHoursAndMinutesFromDate = copyHoursAndMinutesFromDate;
|
|
123
|
+
/**
|
|
124
|
+
* Creates a new date and copies the hours/minutes from the input onto the target date, if provided. Defaults to now/today otherwise.
|
|
118
125
|
*
|
|
119
126
|
* Also rounds the seconds and milliseconds.
|
|
120
127
|
*/
|
|
121
|
-
function
|
|
122
|
-
return (0, date_fns_1.set)(new Date(), Object.assign(Object.assign({ hours }, (minutes != null
|
|
128
|
+
function copyHoursAndMinutesToDate({ hours, minutes, removeSeconds = true }, target) {
|
|
129
|
+
return (0, date_fns_1.set)(target !== null && target !== void 0 ? target : new Date(), Object.assign(Object.assign({ hours }, (minutes != null
|
|
123
130
|
? {
|
|
124
131
|
minutes
|
|
125
132
|
}
|
|
@@ -130,7 +137,8 @@ function copyHoursAndMinutesToToday({ hours, minutes, removeSeconds = true }) {
|
|
|
130
137
|
}
|
|
131
138
|
: undefined)));
|
|
132
139
|
}
|
|
133
|
-
exports.
|
|
140
|
+
exports.copyHoursAndMinutesToDate = copyHoursAndMinutesToDate;
|
|
141
|
+
exports.copyHoursAndMinutesToToday = copyHoursAndMinutesToDate;
|
|
134
142
|
/**
|
|
135
143
|
* Removes the seconds and milliseconds from the input date.
|
|
136
144
|
*/
|
package/src/lib/date/date.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"date.js","sourceRoot":"","sources":["../../../../../../packages/date/src/lib/date/date.ts"],"names":[],"mappings":";;;AAAA,uCAAmJ;AACnJ,wCAA0J;AAE7I,QAAA,eAAe,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AAE3D,SAAgB,WAAW,CAAC,YAAoB;IAC9C,OAAO,YAAY,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC;AACpC,CAAC;AAFD,kCAEC;AAED,SAAgB,WAAW,CAAC,YAAoB;IAC9C,OAAO,YAAY,GAAG,IAAI,CAAC;AAC7B,CAAC;AAFD,kCAEC;AAED,SAAgB,SAAS,CAAC,QAAgB,CAAC;IACzC,OAAO,KAAK,GAAG,iBAAU,CAAC;AAC5B,CAAC;AAFD,8BAEC;AAED,SAAgB,WAAW,CAAC,UAAkB,CAAC;IAC7C,OAAO,OAAO,GAAG,mBAAY,CAAC;AAChC,CAAC;AAFD,kCAEC;AAED,SAAgB,aAAa,CAAC,OAAe,CAAC;IAC5C,OAAO,IAAI,GAAG,qBAAc,CAAC;AAC/B,CAAC;AAFD,sCAEC;AAED,SAAgB,aAAa;IAC3B,OAAO,uBAAe,CAAC;AACzB,CAAC;AAFD,sCAEC;AAED,SAAgB,eAAe,CAAC,IAAU;IACxC,OAAO,uBAAe,CAAC,OAAO,EAAE,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC;AACtD,CAAC;AAFD,0CAEC;AAED,SAAgB,YAAY,CAAC,IAAI,GAAG,IAAI,IAAI,EAAE;IAC5C,OAAO,IAAA,wBAAa,EAAC,IAAI,CAAC,CAAC;AAC7B,CAAC;AAFD,oCAEC;AAED;;;;GAIG;AACH,SAAgB,gBAAgB;IAC9B,OAAO,eAAe,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;AACrC,CAAC;AAFD,4CAEC;AAED,SAAgB,eAAe,CAAC,KAAuB;IACrD,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAE7B,IAAI,CAAC,IAAA,kBAAO,EAAC,IAAI,CAAC,EAAE;QAClB,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;KACzC;IAED,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC;AAC5B,CAAC;AARD,0CAQC;AAED,SAAgB,oBAAoB;;IAClC,OAAO,MAAA,MAAA,IAAI,CAAC,cAAc,EAAE,0CAAE,eAAe,EAAE,0CAAE,QAAQ,CAAC;AAC5D,CAAC;AAFD,oDAEC;AAED;;;;;GAKG;AACH,SAAgB,QAAQ,CAAC,KAAuB;IAC9C,OAAO,IAAA,iBAAM,EAAC,KAAK,CAAC,CAAC,CAAC,CAAE,KAAc,CAAC,CAAC,CAAC,IAAA,mBAAQ,EAAC,KAAe,CAAC,CAAC;AACrE,CAAC;AAFD,4BAEC;AAOD,SAAgB,UAAU,CAAC,KAAoB,EAAE,cAA2B,SAAS;IACnF,MAAM,QAAQ,GAAW,IAAA,wBAAiB,EAAC,KAAK,CAAC,CAAC;IAClD,OAAO,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAA,cAAO,EAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;AAC/D,CAAC;AAHD,gCAGC;AAOD,SAAgB,OAAO,CAAC,CAAc,EAAE,CAAc,EAAE,eAA+B,SAAS;IAC9F,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAA,kBAAW,EAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;AACnD,CAAC;AAFD,0BAEC;AAED,uBAAuB;AACvB;;;;GAIG;AACH,SAAgB,aAAa,CAAC,IAAU;IACtC,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;AACjF,CAAC;AAFD,sCAEC;AAED;;;;;;GAMG;AACH,SAAgB,oBAAoB,CAAC,IAAU,EAAE,aAAuB;IACtE,IAAI,GAAG,kCAAkC,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;IAE/D,IAAI,IAAA,iBAAM,EAAC,IAAI,CAAC,EAAE;QAChB,IAAI,GAAG,IAAA,kBAAO,EAAC,IAAI,EAAE,CAAC,CAAC,CAAC;KACzB;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AARD,oDAQC;AAED;;GAEG;AACH,SAAgB,kCAAkC,CAAC,
|
|
1
|
+
{"version":3,"file":"date.js","sourceRoot":"","sources":["../../../../../../packages/date/src/lib/date/date.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,13 @@ export interface DateRange {
|
|
|
5
5
|
start: Date;
|
|
6
6
|
end: Date;
|
|
7
7
|
}
|
|
8
|
+
/**
|
|
9
|
+
* Returns true if the input is a DateRange.
|
|
10
|
+
*
|
|
11
|
+
* @param input
|
|
12
|
+
* @returns
|
|
13
|
+
*/
|
|
14
|
+
export declare function isDateRange(input: unknown): input is DateRange;
|
|
8
15
|
export declare enum DateRangeType {
|
|
9
16
|
/**
|
|
10
17
|
* Includes only the target day.
|
|
@@ -90,6 +97,24 @@ export declare class DateRangeParams {
|
|
|
90
97
|
distance?: number;
|
|
91
98
|
constructor(template: DateRangeParams);
|
|
92
99
|
}
|
|
100
|
+
export interface DateRangeTypedInput {
|
|
101
|
+
type: DateRangeType;
|
|
102
|
+
date?: Date;
|
|
103
|
+
distance?: number;
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* dateRange() input that infers duration to be a number of days, starting from the input date if applicable.
|
|
107
|
+
*/
|
|
108
|
+
export interface DateRangeDayDistanceInput {
|
|
109
|
+
date?: Date;
|
|
110
|
+
distance: number;
|
|
111
|
+
}
|
|
112
|
+
export interface DateRangeDistanceInput extends DateRangeDayDistanceInput {
|
|
113
|
+
type?: DateRangeType;
|
|
114
|
+
}
|
|
115
|
+
export declare type DateRangeInput = (DateRangeTypedInput | DateRangeDistanceInput) & {
|
|
116
|
+
roundToMinute?: boolean;
|
|
117
|
+
};
|
|
93
118
|
/**
|
|
94
119
|
* Creates a DateRange from the input DateRangeParams
|
|
95
120
|
*
|
|
@@ -97,7 +122,7 @@ export declare class DateRangeParams {
|
|
|
97
122
|
* @param roundToMinute
|
|
98
123
|
* @returns
|
|
99
124
|
*/
|
|
100
|
-
export declare function
|
|
125
|
+
export declare function dateRange({ type, date, distance, roundToMinute: inputRoundToMinute }: DateRangeInput, roundToMinute?: boolean): DateRange;
|
|
101
126
|
/**
|
|
102
127
|
* Returns the DateRangeState from the input DateRange.
|
|
103
128
|
*
|
|
@@ -105,3 +130,7 @@ export declare function makeDateRange({ type, date, distance }: DateRangeParams,
|
|
|
105
130
|
* @returns
|
|
106
131
|
*/
|
|
107
132
|
export declare function dateRangeState({ start, end }: DateRange): DateRangeState;
|
|
133
|
+
/**
|
|
134
|
+
* @deprecated use dateRange() instead.
|
|
135
|
+
*/
|
|
136
|
+
export declare const makeDateRange: typeof dateRange;
|
|
@@ -1,10 +1,20 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.dateRangeState = exports.
|
|
3
|
+
exports.makeDateRange = exports.dateRangeState = exports.dateRange = exports.DateRangeParams = exports.DateRangeState = exports.DateRangeType = exports.isDateRange = 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");
|
|
7
7
|
const date_fns_1 = require("date-fns");
|
|
8
|
+
/**
|
|
9
|
+
* Returns true if the input is a DateRange.
|
|
10
|
+
*
|
|
11
|
+
* @param input
|
|
12
|
+
* @returns
|
|
13
|
+
*/
|
|
14
|
+
function isDateRange(input) {
|
|
15
|
+
return typeof input === 'object' && (0, date_fns_1.isDate)(input.start) && (0, date_fns_1.isDate)(input.end);
|
|
16
|
+
}
|
|
17
|
+
exports.isDateRange = isDateRange;
|
|
8
18
|
var DateRangeType;
|
|
9
19
|
(function (DateRangeType) {
|
|
10
20
|
/**
|
|
@@ -120,7 +130,7 @@ exports.DateRangeParams = DateRangeParams;
|
|
|
120
130
|
* @param roundToMinute
|
|
121
131
|
* @returns
|
|
122
132
|
*/
|
|
123
|
-
function
|
|
133
|
+
function dateRange({ type = DateRangeType.DAY, date = new Date(), distance, roundToMinute: inputRoundToMinute = false }, roundToMinute = inputRoundToMinute) {
|
|
124
134
|
let start;
|
|
125
135
|
let end;
|
|
126
136
|
if (roundToMinute) {
|
|
@@ -204,7 +214,7 @@ function makeDateRange({ type, date = new Date(), distance }, roundToMinute = fa
|
|
|
204
214
|
end
|
|
205
215
|
};
|
|
206
216
|
}
|
|
207
|
-
exports.
|
|
217
|
+
exports.dateRange = dateRange;
|
|
208
218
|
/**
|
|
209
219
|
* Returns the DateRangeState from the input DateRange.
|
|
210
220
|
*
|
|
@@ -223,4 +233,9 @@ function dateRangeState({ start, end }) {
|
|
|
223
233
|
}
|
|
224
234
|
}
|
|
225
235
|
exports.dateRangeState = dateRangeState;
|
|
236
|
+
// MARK: Compat
|
|
237
|
+
/**
|
|
238
|
+
* @deprecated use dateRange() instead.
|
|
239
|
+
*/
|
|
240
|
+
exports.makeDateRange = dateRange;
|
|
226
241
|
//# sourceMappingURL=date.range.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"date.range.js","sourceRoot":"","sources":["../../../../../../packages/date/src/lib/date/date.range.ts"],"names":[],"mappings":";;;;AAAA,yDAAyC;AACzC,qDAAuE;AACvE,
|
|
1
|
+
{"version":3,"file":"date.range.js","sourceRoot":"","sources":["../../../../../../packages/date/src/lib/date/date.range.ts"],"names":[],"mappings":"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"}
|
package/src/lib/date/index.d.ts
CHANGED
package/src/lib/date/index.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const tslib_1 = require("tslib");
|
|
4
|
+
tslib_1.__exportStar(require("./date.block"), exports);
|
|
4
5
|
tslib_1.__exportStar(require("./date.calendar"), exports);
|
|
5
6
|
tslib_1.__exportStar(require("./date.duration"), exports);
|
|
6
7
|
tslib_1.__exportStar(require("./date.format"), exports);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/date/src/lib/date/index.ts"],"names":[],"mappings":";;;AAAA,0DAAgC;AAChC,0DAAgC;AAChC,wDAA8B;AAC9B,yDAA+B;AAC/B,uDAA6B;AAC7B,uDAA6B;AAC7B,sDAA4B;AAC5B,4DAAkC;AAClC,6DAAmC;AACnC,sDAA4B;AAC5B,0DAAgC;AAChC,iDAAuB;AACvB,sDAA4B"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/date/src/lib/date/index.ts"],"names":[],"mappings":";;;AAAA,uDAA6B;AAC7B,0DAAgC;AAChC,0DAAgC;AAChC,wDAA8B;AAC9B,yDAA+B;AAC/B,uDAA6B;AAC7B,uDAA6B;AAC7B,sDAA4B;AAC5B,4DAAkC;AAClC,6DAAmC;AACnC,sDAA4B;AAC5B,0DAAgC;AAChC,iDAAuB;AACvB,sDAA4B"}
|
|
@@ -18,25 +18,25 @@ function makeDateQueryForDateItemRangeFilter(find) {
|
|
|
18
18
|
result.timezone = find.timezone;
|
|
19
19
|
// Apply the timezone to the date range if provided.
|
|
20
20
|
const range = find.timezone ? Object.assign(Object.assign({}, find.range), { date: (0, date_fns_tz_1.utcToZonedTime)(find.range.date, find.timezone) }) : find.range;
|
|
21
|
-
const
|
|
21
|
+
const dates = (0, date_range_1.dateRange)(range);
|
|
22
22
|
switch (range.type) {
|
|
23
23
|
case date_range_1.DateRangeType.DAY:
|
|
24
24
|
case date_range_1.DateRangeType.WEEK:
|
|
25
25
|
case date_range_1.DateRangeType.MONTH:
|
|
26
|
-
|
|
26
|
+
dates.end = (0, date_fns_1.addSeconds)(dates.end, 1); // Ends on the next day to encompass the full 24 hours, instead of 23:59:59 hours.
|
|
27
27
|
break;
|
|
28
28
|
}
|
|
29
|
-
result.rStart =
|
|
30
|
-
result.rEnd =
|
|
29
|
+
result.rStart = dates.start;
|
|
30
|
+
result.rEnd = dates.end;
|
|
31
31
|
// Range returns all values that are running withing that time period.
|
|
32
32
|
if (find.rangeContained) {
|
|
33
33
|
// If range contained, must have started and ended within the box entirely.
|
|
34
|
-
result.startsGte =
|
|
35
|
-
result.endsLte =
|
|
34
|
+
result.startsGte = dates.start;
|
|
35
|
+
result.endsLte = dates.end;
|
|
36
36
|
}
|
|
37
37
|
else {
|
|
38
|
-
result.startsLte =
|
|
39
|
-
result.endsGte =
|
|
38
|
+
result.startsLte = dates.end;
|
|
39
|
+
result.endsGte = dates.start;
|
|
40
40
|
}
|
|
41
41
|
return result;
|
|
42
42
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query.builder.js","sourceRoot":"","sources":["../../../../../../packages/date/src/lib/query/query.builder.ts"],"names":[],"mappings":";;;AACA,uCAAsC;AACtC,6CAA6C;AAC7C,
|
|
1
|
+
{"version":3,"file":"query.builder.js","sourceRoot":"","sources":["../../../../../../packages/date/src/lib/query/query.builder.ts"],"names":[],"mappings":"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"}
|
|
@@ -58,14 +58,14 @@ class ModelRecurrenceInfoUtility {
|
|
|
58
58
|
date
|
|
59
59
|
}
|
|
60
60
|
});
|
|
61
|
-
const
|
|
61
|
+
const dates = dateRRule.getRecurrenceDateRange();
|
|
62
62
|
const rruleSetString = date_rrule_parse_1.DateRRuleParseUtility.toRRuleLines(rrule);
|
|
63
63
|
const recurrenceInfo = {
|
|
64
64
|
timezone,
|
|
65
65
|
rrule: rruleSetString,
|
|
66
|
-
start:
|
|
67
|
-
end: (_a =
|
|
68
|
-
forever:
|
|
66
|
+
start: dates.start,
|
|
67
|
+
end: (_a = dates.finalRecurrenceEndsAt) !== null && _a !== void 0 ? _a : dates.end,
|
|
68
|
+
forever: dates.forever
|
|
69
69
|
};
|
|
70
70
|
return new ModelRecurrenceInfo(recurrenceInfo);
|
|
71
71
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"date.recurrence.js","sourceRoot":"","sources":["../../../../../../packages/date/src/lib/rrule/date.recurrence.ts"],"names":[],"mappings":";;;;AAAA,yDAAoD;AAEpD,6CAAmE;AACnE,yDAA2F;AAQ3F;;GAEG;AAEH,IAAa,mBAAmB,GAAhC,MAAa,mBAAmB;IAiC9B,YAAY,QAA6B;QACvC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC;QAClC,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;QAC5B,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;QAC5B,IAAI,CAAC,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC;QACxB,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;IAClC,CAAC;CACF,CAAA;AAjCC;IADC,IAAA,0BAAM,GAAE;;qDACiB;AAM1B;IADC,IAAA,0BAAM,GAAE;;kDACS;AAMlB;IADC,IAAA,0BAAM,GAAE;sCACF,IAAI;kDAAC;AAMZ;IADC,IAAA,0BAAM,GAAE;sCACJ,IAAI;gDAAC;AAMV;IADC,IAAA,0BAAM,GAAE;;oDACS;AA/BP,mBAAmB;IAD/B,IAAA,2BAAO,GAAE;6CAkCc,mBAAmB;GAjC9B,mBAAmB,CAwC/B;AAxCY,kDAAmB;AA2DhC;;GAEG;AACH,MAAa,0BAA0B;IACrC;;OAEG;IACH,MAAM,CAAC,+CAA+C,CAAC,MAA4B;;QACjF,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC;QAEzC,MAAM,SAAS,GAAG,6BAAgB,CAAC,YAAY,CAAC;YAC9C,kBAAkB,EAAE,KAAK;YACzB,OAAO,EAAE;gBACP,IAAI;aACL;SACF,CAAC,CAAC;QAEH,MAAM,
|
|
1
|
+
{"version":3,"file":"date.recurrence.js","sourceRoot":"","sources":["../../../../../../packages/date/src/lib/rrule/date.recurrence.ts"],"names":[],"mappings":";;;;AAAA,yDAAoD;AAEpD,6CAAmE;AACnE,yDAA2F;AAQ3F;;GAEG;AAEH,IAAa,mBAAmB,GAAhC,MAAa,mBAAmB;IAiC9B,YAAY,QAA6B;QACvC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC;QAClC,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;QAC5B,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;QAC5B,IAAI,CAAC,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC;QACxB,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;IAClC,CAAC;CACF,CAAA;AAjCC;IADC,IAAA,0BAAM,GAAE;;qDACiB;AAM1B;IADC,IAAA,0BAAM,GAAE;;kDACS;AAMlB;IADC,IAAA,0BAAM,GAAE;sCACF,IAAI;kDAAC;AAMZ;IADC,IAAA,0BAAM,GAAE;sCACJ,IAAI;gDAAC;AAMV;IADC,IAAA,0BAAM,GAAE;;oDACS;AA/BP,mBAAmB;IAD/B,IAAA,2BAAO,GAAE;6CAkCc,mBAAmB;GAjC9B,mBAAmB,CAwC/B;AAxCY,kDAAmB;AA2DhC;;GAEG;AACH,MAAa,0BAA0B;IACrC;;OAEG;IACH,MAAM,CAAC,+CAA+C,CAAC,MAA4B;;QACjF,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC;QAEzC,MAAM,SAAS,GAAG,6BAAgB,CAAC,YAAY,CAAC;YAC9C,kBAAkB,EAAE,KAAK;YACzB,OAAO,EAAE;gBACP,IAAI;aACL;SACF,CAAC,CAAC;QAEH,MAAM,KAAK,GAAG,SAAS,CAAC,sBAAsB,EAAE,CAAC;QACjD,MAAM,cAAc,GAAe,wCAAqB,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QAE7E,MAAM,cAAc,GAAG;YACrB,QAAQ;YACR,KAAK,EAAE,cAAc;YACrB,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,GAAG,EAAE,MAAA,KAAK,CAAC,qBAAqB,mCAAI,KAAK,CAAC,GAAG;YAC7C,OAAO,EAAE,KAAK,CAAC,OAAO;SACvB,CAAC;QAEF,OAAO,IAAI,mBAAmB,CAAC,cAAc,CAAC,CAAC;IACjD,CAAC;IAED,MAAM,CAAC,qBAAqB,CAAC,IAAyB,EAAE,IAAkB;QACxE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;QAEjC,OAAO,6BAAgB,CAAC,YAAY,CAAC;YACnC,UAAU,EAAE,KAAK;YACjB,OAAO,EAAE;gBACP,IAAI;gBACJ,QAAQ;aACT;SACF,CAAC,CAAC;IACL,CAAC;CACF;AAvCD,gEAuCC"}
|
|
@@ -72,7 +72,7 @@ class DateRRuleInstance {
|
|
|
72
72
|
var _a;
|
|
73
73
|
let between;
|
|
74
74
|
if (options.range || options.rangeParams) {
|
|
75
|
-
between = (_a = options.range) !== null && _a !== void 0 ? _a : (0, date_1.
|
|
75
|
+
between = (_a = options.range) !== null && _a !== void 0 ? _a : (0, date_1.dateRange)(options.rangeParams);
|
|
76
76
|
between.start = this.normalInstance.baseDateToTargetDate(between.start);
|
|
77
77
|
between.end = this.normalInstance.baseDateToTargetDate(between.end);
|
|
78
78
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"date.rrule.js","sourceRoot":"","sources":["../../../../../../packages/date/src/lib/rrule/date.rrule.ts"],"names":[],"mappings":";;;AACA,iCAAuC;AACvC,
|
|
1
|
+
{"version":3,"file":"date.rrule.js","sourceRoot":"","sources":["../../../../../../packages/date/src/lib/rrule/date.rrule.ts"],"names":[],"mappings":";;;AACA,iCAAuC;AACvC,kCAA+H;AAC/H,yDAAqF;AACrF,iEAAmD;AACnD,yDAAqH;AA4FrH,MAAa,iBAAiB;IAsB5B,YAAY,KAAY,EAAW,OAAiC;;QAAjC,YAAO,GAAP,OAAO,CAA0B;QAClE,MAAM,IAAI,GAAG,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC;QACpC,IAAI,OAAO,GAAG,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC;QAExC,MAAM,QAAQ,GAAG,IAAI,IAAI,OAAO,CAAC,QAAQ,CAAC;QAE1C;;;WAGG;QACH,IAAI,CAAC,cAAc,GAAG,IAAI,6CAA6B,CAAC,QAAQ,CAAC,CAAC;QAElE,IAAI,OAAO,IAAI,IAAI,EAAE;YACnB,oFAAoF;SACrF;aAAM,IAAI,QAAQ,EAAE;YACnB,MAAM,QAAQ,GAAgB,MAAA,OAAO,CAAC,IAAI,0CAAE,QAAQ,CAAC;YAErD,2GAA2G;YAC3G,IAAI,QAAQ,EAAE;gBACZ,MAAM,aAAa,GAAuB,IAAI,CAAC,cAAc,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;gBAC7F,OAAO,GAAG,aAAa,CAAC;aACzB;SACF;aAAM;YACL,oFAAoF;YACpF,OAAO,GAAG,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,MAAA,OAAO,CAAC,IAAI,0CAAE,QAAQ,CAAC;SAC7C;QAED,MAAM,YAAY,mCACb,KAAK,CAAC,WAAW,KACpB,IAAI,EAAE,SAAS,EACf,OAAO,GACR,CAAC;QAEF,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE;YACzB,MAAM,IAAI,KAAK,CAAC,0EAA0E,CAAC,CAAC;SAC7F;QAED,IAAI,CAAC,KAAK,GAAG,IAAI,gCAAS,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;IACjD,CAAC;IAxDD;;OAEG;IACH,MAAM,CAAC,IAAI,CAAC,MAA6B;;QACvC,IAAI,CAAC,CAAC,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,kBAAkB,CAAC,EAAE;YACrD,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;SACpE;QAED,MAAM,kBAAkB,GAAG,MAAA,MAAM,CAAC,kBAAkB,mCAAI,wCAAqB,CAAC,gBAAgB,CAAC,MAAM,CAAC,UAAoB,CAAC,CAAC;QAC5H,MAAM,YAAY,GAAG,gBAAgB,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAC;QACzE,MAAM,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,MAAA,MAAM,CAAC,OAAO,CAAC,OAAO,0CAAE,WAAW,EAAE,CAAC,CAAC;QACnF,MAAM,KAAK,GAAG,IAAI,gCAAS,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QAClD,OAAO,IAAI,iBAAiB,CAAC,KAAK,kCAC7B,MAAM,CAAC,OAAO,KACjB,OAAO,IACP,CAAC;IACL,CAAC;IA0CD,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,QAAkB,CAAC;IACvD,CAAC;IAED,kBAAkB,CAAC,OAAa,IAAI,IAAI,EAAE;QACxC,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;QAChE,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC1C,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACrF,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,OAAkC;;QACvC,IAAI,OAAyB,CAAC;QAE9B,IAAI,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,WAAW,EAAE;YACxC,OAAO,GAAG,MAAA,OAAO,CAAC,KAAK,mCAAI,IAAA,gBAAS,EAAC,OAAO,CAAC,WAA8B,CAAC,CAAC;YAC7E,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,oBAAoB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YACxE,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC,oBAAoB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;SACrE;QAED,IAAI,aAAqB,CAAC;QAE1B,IAAI,OAAO,EAAE;YACX,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;SACtE;aAAM,IAAI,IAAI,CAAC,eAAe,EAAE,EAAE;YACjC,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;SAC9D;aAAM;YACL,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;SAClC;QAED,MAAM,aAAa,GAAiB,IAAI,CAAC,OAAO,CAAC,IAAoB,CAAC;QACtE,MAAM,QAAQ,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,iCAAM,aAAa,KAAE,QAAQ,IAAG,CAAC,CAAC,CAAC,8BAA8B;QAClH,IAAI,KAAK,GAAmB,QAAQ,CAAC;QAErC,yBAAyB;QACzB,IAAI,IAAI,CAAC,cAAc,CAAC,aAAa,EAAE;YACrC,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,iCAAM,CAAC,KAAE,QAAQ,EAAE,IAAI,CAAC,cAAc,CAAC,oBAAoB,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAG,CAAC,CAAC;SACtG;QAED,gBAAgB;QAChB,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;QAErC,IAAI,OAAO,EAAE;YACX,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;SACvD;QAED,OAAO;YACL,OAAO;YACP,KAAK;SACN,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,yBAAyB,CAAC,SAAoB;QAC5C,MAAM,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,oBAAoB,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAC5E,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,oBAAoB,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QAExE,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;IAClE,CAAC;IAED;;OAEG;IACH,sBAAsB;QACpB,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;QACnC,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QAEvC,IAAI,KAAK,GAAS,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;QAC7C,IAAI,GAAS,CAAC;QACd,IAAI,qBAAuC,CAAC;QAE5C,IAAI,OAAO,EAAE;YACX,GAAG,GAAG,IAAA,oBAAa,GAAE,CAAC;YACtB,qBAAqB,GAAG,SAAS,CAAC;SACnC;aAAM;YACL,IAAI,OAAO,CAAC,KAAK,EAAE;gBACjB,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;aAC9C;iBAAM;gBACL,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,EAAU,CAAC;aACjC;YAED,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,IAAoB,CAAC;YACxD,MAAM,wBAAwB,GAAG,IAAA,8BAAuB,kCACnD,aAAa,KAChB,QAAQ,EAAE,GAAG,IACb,CAAC;YAEH,qBAAqB,GAAG,wBAAwB,CAAC,GAAG,CAAC;SACtD;QAED,yBAAyB;QACzB,IAAI,IAAI,CAAC,cAAc,CAAC,aAAa,EAAE;YACrC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC;YACtH,KAAK,GAAG,MAAM,CAAC;YACf,GAAG,GAAG,IAAI,CAAC;SACZ;QAED,OAAO;YACL,OAAO;YACP,KAAK;YACL,GAAG;YACH,qBAAqB;SACtB,CAAC;IACJ,CAAC;IAED,eAAe;QACb,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;QACnC,MAAM,OAAO,GAAG,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;QACjD,OAAO,OAAO,CAAC;IACjB,CAAC;CACF;AApLD,8CAoLC;AASD,MAAa,gBAAgB;IAC3B;;OAEG;IACH,MAAM,CAAC,MAAM,CAAC,OAAwC;;QACpD,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE;YAC9C,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;SACrD;QAED,MAAM,SAAS,GAAG,MAAA,OAAO,CAAC,QAAQ,mCAAI,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,YAAqC,CAAC,CAAC;QAC5G,OAAO,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACnC,CAAC;IAED,MAAM,CAAC,YAAY,CAAC,MAA6B;QAC/C,OAAO,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACxC,CAAC;IAED,cAAc;IACd,MAAM,CAAC,cAAc,CAAC,kBAAsC;QAC1D,MAAM,KAAK,GAA6B,wCAAqB,CAAC,4BAA4B,CAAC,kBAAkB,CAAC,CAAC;QAC/G,MAAM,KAAK,GAAG,wCAAqB,CAAC,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC9D,MAAM,WAAW,GAAG,aAAK,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAE7C,uCACK,KAAK,KACR,OAAO,EAAE,WAAW,IACpB;IACJ,CAAC;CACF;AA5BD,4CA4BC"}
|