@dereekb/date 10.0.5 → 10.0.6
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.d.ts +1 -0
- package/index.cjs.default.js +1 -0
- package/index.cjs.js +9264 -0
- package/index.cjs.mjs +2 -0
- package/index.esm.js +9957 -0
- package/package.json +13 -3
- package/src/lib/date/date.calendar.d.ts +1 -1
- package/src/lib/date/date.cell.d.ts +3 -3
- package/src/lib/date/date.cell.factory.d.ts +5 -5
- package/src/lib/date/date.cell.filter.d.ts +3 -3
- package/src/lib/date/date.cell.index.d.ts +4 -3
- package/src/lib/date/date.cell.schedule.d.ts +7 -7
- package/src/lib/date/date.cell.schedule.day.d.ts +2 -2
- package/src/lib/date/date.cell.validator.d.ts +2 -2
- package/src/lib/date/date.cell.week.d.ts +3 -3
- package/src/lib/date/date.d.ts +1 -1
- package/src/lib/date/date.day.d.ts +3 -3
- package/src/lib/date/date.duration.d.ts +2 -2
- package/src/lib/date/date.format.d.ts +3 -4
- package/src/lib/date/date.logical.d.ts +1 -1
- package/src/lib/date/date.range.d.ts +1 -1
- package/src/lib/date/date.range.string.d.ts +2 -2
- package/src/lib/date/date.range.timezone.d.ts +2 -2
- package/src/lib/date/date.rxjs.d.ts +3 -3
- package/src/lib/date/date.sort.d.ts +2 -2
- package/src/lib/date/date.time.d.ts +3 -3
- package/src/lib/date/date.time.limit.d.ts +3 -3
- package/src/lib/date/date.time.minute.d.ts +4 -4
- package/src/lib/date/date.timezone.d.ts +2 -2
- package/src/lib/date/date.unix.d.ts +1 -1
- package/src/lib/date/date.week.d.ts +3 -3
- package/src/lib/expires/expires.d.ts +1 -1
- package/src/lib/expires/expires.rxjs.d.ts +3 -3
- package/src/lib/query/query.builder.d.ts +2 -2
- package/src/lib/query/query.builder.mongo.d.ts +2 -2
- package/src/lib/query/query.filter.d.ts +2 -2
- package/src/lib/query/query.request.d.ts +2 -2
- package/src/lib/rrule/date.recurrence.d.ts +4 -4
- package/src/lib/rrule/date.rrule.d.ts +5 -5
- package/src/lib/rrule/date.rrule.extension.d.ts +1 -1
- package/src/lib/rrule/date.rrule.parse.d.ts +2 -2
- package/src/lib/timezone/timezone.d.ts +1 -1
- package/src/lib/timezone/timezone.validator.d.ts +2 -2
- package/CHANGELOG.md +0 -1488
- package/src/index.js +0 -5
- package/src/index.js.map +0 -1
- package/src/lib/date/date.calendar.js +0 -65
- package/src/lib/date/date.calendar.js.map +0 -1
- package/src/lib/date/date.cell.factory.js +0 -493
- package/src/lib/date/date.cell.factory.js.map +0 -1
- package/src/lib/date/date.cell.filter.js +0 -65
- package/src/lib/date/date.cell.filter.js.map +0 -1
- package/src/lib/date/date.cell.index.js +0 -731
- package/src/lib/date/date.cell.index.js.map +0 -1
- package/src/lib/date/date.cell.js +0 -574
- package/src/lib/date/date.cell.js.map +0 -1
- package/src/lib/date/date.cell.schedule.day.js +0 -15
- package/src/lib/date/date.cell.schedule.day.js.map +0 -1
- package/src/lib/date/date.cell.schedule.js +0 -711
- package/src/lib/date/date.cell.schedule.js.map +0 -1
- package/src/lib/date/date.cell.validator.js +0 -67
- package/src/lib/date/date.cell.validator.js.map +0 -1
- package/src/lib/date/date.cell.week.js +0 -40
- package/src/lib/date/date.cell.week.js.map +0 -1
- package/src/lib/date/date.day.js +0 -207
- package/src/lib/date/date.day.js.map +0 -1
- package/src/lib/date/date.duration.js +0 -56
- package/src/lib/date/date.duration.js.map +0 -1
- package/src/lib/date/date.format.js +0 -231
- package/src/lib/date/date.format.js.map +0 -1
- package/src/lib/date/date.hashset.js +0 -11
- package/src/lib/date/date.hashset.js.map +0 -1
- package/src/lib/date/date.js +0 -267
- package/src/lib/date/date.js.map +0 -1
- package/src/lib/date/date.logical.js +0 -61
- package/src/lib/date/date.logical.js.map +0 -1
- package/src/lib/date/date.range.js +0 -643
- package/src/lib/date/date.range.js.map +0 -1
- package/src/lib/date/date.range.string.js +0 -19
- package/src/lib/date/date.range.string.js.map +0 -1
- package/src/lib/date/date.range.timezone.js +0 -29
- package/src/lib/date/date.range.timezone.js.map +0 -1
- package/src/lib/date/date.round.js +0 -49
- package/src/lib/date/date.round.js.map +0 -1
- package/src/lib/date/date.rxjs.js +0 -40
- package/src/lib/date/date.rxjs.js.map +0 -1
- package/src/lib/date/date.sort.js +0 -43
- package/src/lib/date/date.sort.js.map +0 -1
- package/src/lib/date/date.time.js +0 -240
- package/src/lib/date/date.time.js.map +0 -1
- package/src/lib/date/date.time.limit.js +0 -99
- package/src/lib/date/date.time.limit.js.map +0 -1
- package/src/lib/date/date.time.minute.js +0 -144
- package/src/lib/date/date.time.minute.js.map +0 -1
- package/src/lib/date/date.timezone.js +0 -494
- package/src/lib/date/date.timezone.js.map +0 -1
- package/src/lib/date/date.unix.js +0 -41
- package/src/lib/date/date.unix.js.map +0 -1
- package/src/lib/date/date.week.js +0 -263
- package/src/lib/date/date.week.js.map +0 -1
- package/src/lib/date/index.js +0 -30
- package/src/lib/date/index.js.map +0 -1
- package/src/lib/expires/expires.js +0 -81
- package/src/lib/expires/expires.js.map +0 -1
- package/src/lib/expires/expires.rxjs.js +0 -61
- package/src/lib/expires/expires.rxjs.js.map +0 -1
- package/src/lib/expires/index.js +0 -6
- package/src/lib/expires/index.js.map +0 -1
- package/src/lib/index.js +0 -9
- package/src/lib/index.js.map +0 -1
- package/src/lib/query/index.js +0 -8
- package/src/lib/query/index.js.map +0 -1
- package/src/lib/query/query.builder.js +0 -85
- package/src/lib/query/query.builder.js.map +0 -1
- package/src/lib/query/query.builder.mongo.js +0 -41
- package/src/lib/query/query.builder.mongo.js.map +0 -1
- package/src/lib/query/query.filter.js +0 -3
- package/src/lib/query/query.filter.js.map +0 -1
- package/src/lib/query/query.request.js +0 -3
- package/src/lib/query/query.request.js.map +0 -1
- package/src/lib/rrule/date.recurrence.js +0 -93
- package/src/lib/rrule/date.recurrence.js.map +0 -1
- package/src/lib/rrule/date.rrule.extension.js +0 -151
- package/src/lib/rrule/date.rrule.extension.js.map +0 -1
- package/src/lib/rrule/date.rrule.js +0 -187
- package/src/lib/rrule/date.rrule.js.map +0 -1
- package/src/lib/rrule/date.rrule.parse.js +0 -135
- package/src/lib/rrule/date.rrule.parse.js.map +0 -1
- package/src/lib/rrule/index.js +0 -8
- package/src/lib/rrule/index.js.map +0 -1
- package/src/lib/timezone/index.js +0 -6
- package/src/lib/timezone/index.js.map +0 -1
- package/src/lib/timezone/timezone.js +0 -66
- package/src/lib/timezone/timezone.js.map +0 -1
- package/src/lib/timezone/timezone.validator.js +0 -26
- package/src/lib/timezone/timezone.validator.js.map +0 -1
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.unixTimeNumberFromDate = exports.unixTimeNumberForNow = exports.unixTimeNumberToDate = exports.dateFromDateOrTimeNumber = exports.unixTimeNumberFromDateOrTimeNumber = void 0;
|
|
4
|
-
const date_fns_1 = require("date-fns");
|
|
5
|
-
function unixTimeNumberFromDateOrTimeNumber(input) {
|
|
6
|
-
if (input == null) {
|
|
7
|
-
return input;
|
|
8
|
-
}
|
|
9
|
-
else if ((0, date_fns_1.isDate)(input)) {
|
|
10
|
-
return unixTimeNumberFromDate(input);
|
|
11
|
-
}
|
|
12
|
-
else {
|
|
13
|
-
return input;
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
exports.unixTimeNumberFromDateOrTimeNumber = unixTimeNumberFromDateOrTimeNumber;
|
|
17
|
-
function dateFromDateOrTimeNumber(input) {
|
|
18
|
-
if (input == null) {
|
|
19
|
-
return input;
|
|
20
|
-
}
|
|
21
|
-
else if ((0, date_fns_1.isDate)(input)) {
|
|
22
|
-
return input;
|
|
23
|
-
}
|
|
24
|
-
else {
|
|
25
|
-
return unixTimeNumberToDate(input);
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
exports.dateFromDateOrTimeNumber = dateFromDateOrTimeNumber;
|
|
29
|
-
function unixTimeNumberToDate(dateTimeNumber) {
|
|
30
|
-
return dateTimeNumber != null ? new Date(dateTimeNumber * 1000) : dateTimeNumber;
|
|
31
|
-
}
|
|
32
|
-
exports.unixTimeNumberToDate = unixTimeNumberToDate;
|
|
33
|
-
function unixTimeNumberForNow() {
|
|
34
|
-
return unixTimeNumberFromDate(new Date());
|
|
35
|
-
}
|
|
36
|
-
exports.unixTimeNumberForNow = unixTimeNumberForNow;
|
|
37
|
-
function unixTimeNumberFromDate(date) {
|
|
38
|
-
return date != null ? Math.ceil(date.getTime() / 1000) : date;
|
|
39
|
-
}
|
|
40
|
-
exports.unixTimeNumberFromDate = unixTimeNumberFromDate;
|
|
41
|
-
//# sourceMappingURL=date.unix.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"date.unix.js","sourceRoot":"","sources":["../../../../../../packages/date/src/lib/date/date.unix.ts"],"names":[],"mappings":";;;AACA,uCAAkC;AAElC,SAAgB,kCAAkC,CAAC,KAAsC;IACvF,IAAI,KAAK,IAAI,IAAI,EAAE;QACjB,OAAO,KAAyB,CAAC;KAClC;SAAM,IAAI,IAAA,iBAAM,EAAC,KAAK,CAAC,EAAE;QACxB,OAAO,sBAAsB,CAAC,KAAa,CAAC,CAAC;KAC9C;SAAM;QACL,OAAO,KAA2B,CAAC;KACpC;AACH,CAAC;AARD,gFAQC;AAED,SAAgB,wBAAwB,CAAC,KAAsC;IAC7E,IAAI,KAAK,IAAI,IAAI,EAAE;QACjB,OAAO,KAAyB,CAAC;KAClC;SAAM,IAAI,IAAA,iBAAM,EAAC,KAAK,CAAC,EAAE;QACxB,OAAO,KAAa,CAAC;KACtB;SAAM;QACL,OAAO,oBAAoB,CAAC,KAA2B,CAAC,CAAC;KAC1D;AACH,CAAC;AARD,4DAQC;AAED,SAAgB,oBAAoB,CAAC,cAAyC;IAC5E,OAAO,cAAc,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC,CAAC,CAAE,cAAmC,CAAC;AACzG,CAAC;AAFD,oDAEC;AAED,SAAgB,oBAAoB;IAClC,OAAO,sBAAsB,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;AAC5C,CAAC;AAFD,oDAEC;AAID,SAAgB,sBAAsB,CAAC,IAAiB;IACtD,OAAO,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAE,IAAyB,CAAC;AACtF,CAAC;AAFD,wDAEC"}
|
|
@@ -1,263 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.yearWeekCodeGroupFactory = exports.startOfWeekForYearWeekCode = exports.yearWeekCodeDateFactory = exports.yearWeekCodeForCalendarMonthFactory = exports.yearWeekCodeForCalendarMonth = exports.yearWeekCodeForDateRangeFactory = exports.yearWeekCodeForDateRangeInTimezone = exports.yearWeekCodeForDateRange = exports.yearWeekCodeFactory = exports.yearWeekCode = exports.yearWeekCodeDateTimezoneInstance = exports.yearWeekCodeFromDate = exports.yearWeekCodeFromPair = exports.yearWeekCodePairFromDate = exports.yearWeekCodePair = exports.yearWeekCodeIndex = exports.UNKNOWN_YEAR_WEEK_CODE = void 0;
|
|
4
|
-
const util_1 = require("@dereekb/util");
|
|
5
|
-
const date_fns_1 = require("date-fns");
|
|
6
|
-
const date_1 = require("./date");
|
|
7
|
-
const date_timezone_1 = require("./date.timezone");
|
|
8
|
-
/**
|
|
9
|
-
* Used for default YearWeekCode values
|
|
10
|
-
*/
|
|
11
|
-
exports.UNKNOWN_YEAR_WEEK_CODE = 0;
|
|
12
|
-
/**
|
|
13
|
-
* Returns the YearWeekCodeIndex for the YearWeekCode.
|
|
14
|
-
*
|
|
15
|
-
* @param yearWeekCode
|
|
16
|
-
* @returns
|
|
17
|
-
*/
|
|
18
|
-
function yearWeekCodeIndex(yearWeekCode) {
|
|
19
|
-
return yearWeekCode % 100;
|
|
20
|
-
}
|
|
21
|
-
exports.yearWeekCodeIndex = yearWeekCodeIndex;
|
|
22
|
-
/**
|
|
23
|
-
* Returns the YearWeekCodePair for the YearWeekCode.
|
|
24
|
-
*
|
|
25
|
-
* @param yearWeekCode
|
|
26
|
-
* @returns
|
|
27
|
-
*/
|
|
28
|
-
function yearWeekCodePair(yearWeekCode) {
|
|
29
|
-
return {
|
|
30
|
-
week: yearWeekCodeIndex(yearWeekCode),
|
|
31
|
-
year: Math.floor(yearWeekCode / 100)
|
|
32
|
-
};
|
|
33
|
-
}
|
|
34
|
-
exports.yearWeekCodePair = yearWeekCodePair;
|
|
35
|
-
/**
|
|
36
|
-
* Creates a YearWeekCodePair using the input date and the current/system timezone.
|
|
37
|
-
*
|
|
38
|
-
* @param date
|
|
39
|
-
* @returns
|
|
40
|
-
*/
|
|
41
|
-
function yearWeekCodePairFromDate(date) {
|
|
42
|
-
let year;
|
|
43
|
-
const week = (0, date_fns_1.getWeek)(date);
|
|
44
|
-
// check if the date is not in the previous year, in which case we need to add one.
|
|
45
|
-
if (week === 1) {
|
|
46
|
-
year = (0, date_fns_1.getYear)((0, date_fns_1.endOfWeek)(date)); // the last day is the important one to get the year from.
|
|
47
|
-
}
|
|
48
|
-
else {
|
|
49
|
-
year = (0, date_fns_1.getYear)(date);
|
|
50
|
-
}
|
|
51
|
-
return {
|
|
52
|
-
year,
|
|
53
|
-
week
|
|
54
|
-
};
|
|
55
|
-
}
|
|
56
|
-
exports.yearWeekCodePairFromDate = yearWeekCodePairFromDate;
|
|
57
|
-
/**
|
|
58
|
-
* Creates a YearWeekCode from the input pair.
|
|
59
|
-
*
|
|
60
|
-
* @param pair
|
|
61
|
-
* @returns
|
|
62
|
-
*/
|
|
63
|
-
function yearWeekCodeFromPair(pair) {
|
|
64
|
-
const { year, week } = pair;
|
|
65
|
-
const encodedYear = year * 100;
|
|
66
|
-
return encodedYear + week;
|
|
67
|
-
}
|
|
68
|
-
exports.yearWeekCodeFromPair = yearWeekCodeFromPair;
|
|
69
|
-
/**
|
|
70
|
-
* Creates a YearWeekCode from the input Date.
|
|
71
|
-
*
|
|
72
|
-
* @param date
|
|
73
|
-
* @returns
|
|
74
|
-
*/
|
|
75
|
-
function yearWeekCodeFromDate(date, timezone) {
|
|
76
|
-
if (timezone) {
|
|
77
|
-
// use specified timezone
|
|
78
|
-
return yearWeekCodeFactory({ timezone })(date);
|
|
79
|
-
}
|
|
80
|
-
else {
|
|
81
|
-
// Use system timezone
|
|
82
|
-
return yearWeekCodeFromPair(yearWeekCodePairFromDate(date));
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
exports.yearWeekCodeFromDate = yearWeekCodeFromDate;
|
|
86
|
-
/**
|
|
87
|
-
* Creates a DateTimezoneUtcNormalInstance using the input config.
|
|
88
|
-
*
|
|
89
|
-
* @param input
|
|
90
|
-
* @returns
|
|
91
|
-
*/
|
|
92
|
-
function yearWeekCodeDateTimezoneInstance(input) {
|
|
93
|
-
const normal = input ? (input instanceof date_timezone_1.DateTimezoneUtcNormalInstance ? input : (0, date_timezone_1.dateTimezoneUtcNormal)(input)) : date_timezone_1.SYSTEM_DATE_TIMEZONE_UTC_NORMAL_INSTANCE;
|
|
94
|
-
return normal;
|
|
95
|
-
}
|
|
96
|
-
exports.yearWeekCodeDateTimezoneInstance = yearWeekCodeDateTimezoneInstance;
|
|
97
|
-
function yearWeekCode(dateOrYear, inputWeek) {
|
|
98
|
-
return yearWeekCodeFactory({ timezone: date_timezone_1.SYSTEM_DATE_TIMEZONE_UTC_NORMAL_INSTANCE })(dateOrYear, inputWeek);
|
|
99
|
-
}
|
|
100
|
-
exports.yearWeekCode = yearWeekCode;
|
|
101
|
-
/**
|
|
102
|
-
* Creates a YearWeekCodeFactory using the optional input config.
|
|
103
|
-
*
|
|
104
|
-
* @param config
|
|
105
|
-
* @returns
|
|
106
|
-
*/
|
|
107
|
-
function yearWeekCodeFactory(config) {
|
|
108
|
-
const normal = yearWeekCodeDateTimezoneInstance(config === null || config === void 0 ? void 0 : config.timezone);
|
|
109
|
-
const result = (dateOrYear, inputWeek) => {
|
|
110
|
-
let pair;
|
|
111
|
-
if ((0, date_1.isDate)(dateOrYear)) {
|
|
112
|
-
const normalDate = normal.systemDateToTargetDate(dateOrYear);
|
|
113
|
-
pair = yearWeekCodePairFromDate(normalDate);
|
|
114
|
-
}
|
|
115
|
-
else {
|
|
116
|
-
pair = {
|
|
117
|
-
year: dateOrYear,
|
|
118
|
-
week: inputWeek
|
|
119
|
-
};
|
|
120
|
-
}
|
|
121
|
-
return yearWeekCodeFromPair(pair);
|
|
122
|
-
};
|
|
123
|
-
result._normal = normal;
|
|
124
|
-
return result;
|
|
125
|
-
}
|
|
126
|
-
exports.yearWeekCodeFactory = yearWeekCodeFactory;
|
|
127
|
-
/**
|
|
128
|
-
* Returns the yearWeekCodes for the input Date's calendar month.
|
|
129
|
-
*
|
|
130
|
-
* @param date
|
|
131
|
-
*/
|
|
132
|
-
function yearWeekCodeForDateRange(dateRange) {
|
|
133
|
-
return yearWeekCodeForDateRangeInTimezone(dateRange, date_timezone_1.SYSTEM_DATE_TIMEZONE_UTC_NORMAL_INSTANCE);
|
|
134
|
-
}
|
|
135
|
-
exports.yearWeekCodeForDateRange = yearWeekCodeForDateRange;
|
|
136
|
-
/**
|
|
137
|
-
* Returns the yearWeekCodes for the input date range's calendar month and evaluates those dates from the input timezone.
|
|
138
|
-
*
|
|
139
|
-
* The timezone of the DateRange should be passed to ensure the proper yearWeekCodes are returned.
|
|
140
|
-
*
|
|
141
|
-
* @param date
|
|
142
|
-
*/
|
|
143
|
-
function yearWeekCodeForDateRangeInTimezone(dateRange, dateRangeTimezone) {
|
|
144
|
-
return yearWeekCodeForDateRangeFactory(yearWeekCodeFactory({ timezone: dateRangeTimezone }))(dateRange);
|
|
145
|
-
}
|
|
146
|
-
exports.yearWeekCodeForDateRangeInTimezone = yearWeekCodeForDateRangeInTimezone;
|
|
147
|
-
/**
|
|
148
|
-
* Create a YearWeekCodeForMonthFactory.
|
|
149
|
-
*
|
|
150
|
-
* @param factory
|
|
151
|
-
* @returns
|
|
152
|
-
*/
|
|
153
|
-
function yearWeekCodeForDateRangeFactory(factory = yearWeekCodeFactory()) {
|
|
154
|
-
const { _normal } = factory;
|
|
155
|
-
return (dateRange) => {
|
|
156
|
-
// do in system timezone so we can use addWeeks/startOfWeek
|
|
157
|
-
const start = _normal.systemDateToTargetDate(dateRange.start);
|
|
158
|
-
const end = _normal.systemDateToTargetDate(dateRange.end);
|
|
159
|
-
const weeks = [];
|
|
160
|
-
let current = (0, date_fns_1.startOfWeek)(start);
|
|
161
|
-
while (!(0, date_fns_1.isAfter)(current, end)) {
|
|
162
|
-
const week = factory(current);
|
|
163
|
-
weeks.push(week);
|
|
164
|
-
current = (0, date_fns_1.addWeeks)(current, 1);
|
|
165
|
-
}
|
|
166
|
-
// TODO: Add test for {"start":"2023-09-24T03:21:24.127Z","end":"2023-09-30T04:59:59.999Z"}
|
|
167
|
-
return weeks;
|
|
168
|
-
};
|
|
169
|
-
}
|
|
170
|
-
exports.yearWeekCodeForDateRangeFactory = yearWeekCodeForDateRangeFactory;
|
|
171
|
-
/**
|
|
172
|
-
* Returns the yearWeekCodes for the input Date's calendar month.
|
|
173
|
-
*
|
|
174
|
-
* The date is expected to be relative to UTC.
|
|
175
|
-
*
|
|
176
|
-
* @param date
|
|
177
|
-
*/
|
|
178
|
-
function yearWeekCodeForCalendarMonth(date) {
|
|
179
|
-
return yearWeekCodeForCalendarMonthFactory(yearWeekCodeFactory({ timezone: date_timezone_1.SYSTEM_DATE_TIMEZONE_UTC_NORMAL_INSTANCE }))(date);
|
|
180
|
-
}
|
|
181
|
-
exports.yearWeekCodeForCalendarMonth = yearWeekCodeForCalendarMonth;
|
|
182
|
-
/**
|
|
183
|
-
* Create a YearWeekCodeForMonthFactory.
|
|
184
|
-
*
|
|
185
|
-
* @param factory
|
|
186
|
-
* @returns
|
|
187
|
-
*/
|
|
188
|
-
function yearWeekCodeForCalendarMonthFactory(factory = yearWeekCodeFactory()) {
|
|
189
|
-
const { _normal } = factory;
|
|
190
|
-
const dateRangeFactory = yearWeekCodeForDateRangeFactory(factory);
|
|
191
|
-
return (date) => {
|
|
192
|
-
const normalDate = _normal.systemDateToTargetDate(date);
|
|
193
|
-
const start = (0, date_fns_1.startOfMonth)((0, date_fns_1.endOfWeek)(normalDate));
|
|
194
|
-
const normalEnd = (0, date_fns_1.endOfWeek)((0, date_fns_1.endOfMonth)(start));
|
|
195
|
-
const end = _normal.targetDateToSystemDate(normalEnd);
|
|
196
|
-
return dateRangeFactory({ start, end });
|
|
197
|
-
};
|
|
198
|
-
}
|
|
199
|
-
exports.yearWeekCodeForCalendarMonthFactory = yearWeekCodeForCalendarMonthFactory;
|
|
200
|
-
/**
|
|
201
|
-
* Creates a YearWeekCodeDateFactory using the optional input config.
|
|
202
|
-
*
|
|
203
|
-
* @param config
|
|
204
|
-
* @returns
|
|
205
|
-
*/
|
|
206
|
-
function yearWeekCodeDateFactory(config) {
|
|
207
|
-
const normal = yearWeekCodeDateTimezoneInstance(config === null || config === void 0 ? void 0 : config.timezone);
|
|
208
|
-
return (yearWeekCode) => {
|
|
209
|
-
const pair = yearWeekCodePair(yearWeekCode);
|
|
210
|
-
const utcYearDate = new Date(Date.UTC(pair.year, 0, 1, 0, 0, 0, 0));
|
|
211
|
-
const systemYearDate = normal.systemDateToBaseDate(utcYearDate); // convert to system before using system date functions
|
|
212
|
-
const date = (0, date_fns_1.startOfWeek)((0, date_fns_1.setWeek)(systemYearDate, pair.week));
|
|
213
|
-
const fixed = normal.targetDateToSystemDate(date); // back to timezone
|
|
214
|
-
return fixed;
|
|
215
|
-
};
|
|
216
|
-
}
|
|
217
|
-
exports.yearWeekCodeDateFactory = yearWeekCodeDateFactory;
|
|
218
|
-
/**
|
|
219
|
-
* Convenience function for calling yearWeekCodeDateFactory() with the input year week code and optional timezone.
|
|
220
|
-
*
|
|
221
|
-
* @param yearWeekCode
|
|
222
|
-
* @param timezone
|
|
223
|
-
* @returns
|
|
224
|
-
*/
|
|
225
|
-
function startOfWeekForYearWeekCode(yearWeekCode, timezone) {
|
|
226
|
-
return yearWeekCodeDateFactory({ timezone })(yearWeekCode);
|
|
227
|
-
}
|
|
228
|
-
exports.startOfWeekForYearWeekCode = startOfWeekForYearWeekCode;
|
|
229
|
-
/**
|
|
230
|
-
* Creates a YearWeekCodeGroupFactory.
|
|
231
|
-
*
|
|
232
|
-
* @param config
|
|
233
|
-
* @returns
|
|
234
|
-
*/
|
|
235
|
-
function yearWeekCodeGroupFactory(config) {
|
|
236
|
-
const { yearWeekCodeFactory: factoryInput, yearWeekCodeReader: readerInput, dateReader } = config;
|
|
237
|
-
const readJobWeekYear = typeof factoryInput === 'function' ? factoryInput : yearWeekCodeFactory(factoryInput);
|
|
238
|
-
const yearWeekCodeReader = typeof readerInput === 'function' ? readerInput : (x) => Number(x);
|
|
239
|
-
return (items) => {
|
|
240
|
-
const map = (0, util_1.makeValuesGroupMap)(items, (item) => {
|
|
241
|
-
let yearWeekCode;
|
|
242
|
-
const date = dateReader(item);
|
|
243
|
-
if (date != null) {
|
|
244
|
-
if ((0, date_1.isDate)(date)) {
|
|
245
|
-
yearWeekCode = readJobWeekYear(date);
|
|
246
|
-
}
|
|
247
|
-
else {
|
|
248
|
-
yearWeekCode = yearWeekCodeReader(date);
|
|
249
|
-
}
|
|
250
|
-
}
|
|
251
|
-
return yearWeekCode;
|
|
252
|
-
});
|
|
253
|
-
const groups = Array.from(map.entries()).map(([week, items]) => {
|
|
254
|
-
return {
|
|
255
|
-
week: week || 0,
|
|
256
|
-
items
|
|
257
|
-
};
|
|
258
|
-
});
|
|
259
|
-
return groups;
|
|
260
|
-
};
|
|
261
|
-
}
|
|
262
|
-
exports.yearWeekCodeGroupFactory = yearWeekCodeGroupFactory;
|
|
263
|
-
//# sourceMappingURL=date.week.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"date.week.js","sourceRoot":"","sources":["../../../../../../packages/date/src/lib/date/date.week.ts"],"names":[],"mappings":"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"}
|
package/src/lib/date/index.js
DELETED
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const tslib_1 = require("tslib");
|
|
4
|
-
tslib_1.__exportStar(require("./date.cell.factory"), exports);
|
|
5
|
-
tslib_1.__exportStar(require("./date.cell.filter"), exports);
|
|
6
|
-
tslib_1.__exportStar(require("./date.cell.index"), exports);
|
|
7
|
-
tslib_1.__exportStar(require("./date.cell.schedule"), exports);
|
|
8
|
-
tslib_1.__exportStar(require("./date.cell.schedule.day"), exports);
|
|
9
|
-
tslib_1.__exportStar(require("./date.cell"), exports);
|
|
10
|
-
tslib_1.__exportStar(require("./date.cell.validator"), exports);
|
|
11
|
-
tslib_1.__exportStar(require("./date.cell.week"), exports);
|
|
12
|
-
tslib_1.__exportStar(require("./date.calendar"), exports);
|
|
13
|
-
tslib_1.__exportStar(require("./date.duration"), exports);
|
|
14
|
-
tslib_1.__exportStar(require("./date.format"), exports);
|
|
15
|
-
tslib_1.__exportStar(require("./date.hashset"), exports);
|
|
16
|
-
tslib_1.__exportStar(require("./date.logical"), exports);
|
|
17
|
-
tslib_1.__exportStar(require("./date.range"), exports);
|
|
18
|
-
tslib_1.__exportStar(require("./date.range.string"), exports);
|
|
19
|
-
tslib_1.__exportStar(require("./date.range.timezone"), exports);
|
|
20
|
-
tslib_1.__exportStar(require("./date.round"), exports);
|
|
21
|
-
tslib_1.__exportStar(require("./date.rxjs"), exports);
|
|
22
|
-
tslib_1.__exportStar(require("./date.sort"), exports);
|
|
23
|
-
tslib_1.__exportStar(require("./date.time.limit"), exports);
|
|
24
|
-
tslib_1.__exportStar(require("./date.time.minute"), exports);
|
|
25
|
-
tslib_1.__exportStar(require("./date.time"), exports);
|
|
26
|
-
tslib_1.__exportStar(require("./date.timezone"), exports);
|
|
27
|
-
tslib_1.__exportStar(require("./date"), exports);
|
|
28
|
-
tslib_1.__exportStar(require("./date.unix"), exports);
|
|
29
|
-
tslib_1.__exportStar(require("./date.week"), exports);
|
|
30
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/date/src/lib/date/index.ts"],"names":[],"mappings":";;;AAAA,8DAAoC;AACpC,6DAAmC;AACnC,4DAAkC;AAClC,+DAAqC;AACrC,mEAAyC;AACzC,sDAA4B;AAC5B,gEAAsC;AACtC,2DAAiC;AACjC,0DAAgC;AAChC,0DAAgC;AAChC,wDAA8B;AAC9B,yDAA+B;AAC/B,yDAA+B;AAC/B,uDAA6B;AAC7B,8DAAoC;AACpC,gEAAsC;AACtC,uDAA6B;AAC7B,sDAA4B;AAC5B,sDAA4B;AAC5B,4DAAkC;AAClC,6DAAmC;AACnC,sDAA4B;AAC5B,0DAAgC;AAChC,iDAAuB;AACvB,sDAA4B;AAC5B,sDAA4B"}
|
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getExpiration = exports.hasExpired = exports.toExpires = exports.timeHasExpired = exports.anyHaveExpired = exports.atleastOneNotExpired = void 0;
|
|
4
|
-
const date_unix_1 = require("../date/date.unix");
|
|
5
|
-
const date_fns_1 = require("date-fns");
|
|
6
|
-
/**
|
|
7
|
-
* Returns true if any of the input items have expired.
|
|
8
|
-
*
|
|
9
|
-
* If the list is empty, returns false.
|
|
10
|
-
*/
|
|
11
|
-
function atleastOneNotExpired(expires) {
|
|
12
|
-
for (const expire of expires) {
|
|
13
|
-
if (!hasExpired(expire)) {
|
|
14
|
-
return true;
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
return false;
|
|
18
|
-
}
|
|
19
|
-
exports.atleastOneNotExpired = atleastOneNotExpired;
|
|
20
|
-
/**
|
|
21
|
-
* Returns true if any of the input items has expired.
|
|
22
|
-
*
|
|
23
|
-
* If the list is empty, returns the second argument, or true by default.
|
|
24
|
-
*/
|
|
25
|
-
function anyHaveExpired(expires, expireIfEmpty = true) {
|
|
26
|
-
if (expires.length === 0) {
|
|
27
|
-
return expireIfEmpty;
|
|
28
|
-
}
|
|
29
|
-
for (const expire of expires) {
|
|
30
|
-
if (hasExpired(expire)) {
|
|
31
|
-
return true;
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
return false;
|
|
35
|
-
}
|
|
36
|
-
exports.anyHaveExpired = anyHaveExpired;
|
|
37
|
-
/**
|
|
38
|
-
* Convenience function for checking if the input time has expired.
|
|
39
|
-
*
|
|
40
|
-
* @param timeNumber
|
|
41
|
-
* @param expiresIn
|
|
42
|
-
* @returns
|
|
43
|
-
*/
|
|
44
|
-
function timeHasExpired(time, expiresIn) {
|
|
45
|
-
return hasExpired(toExpires(time, expiresIn));
|
|
46
|
-
}
|
|
47
|
-
exports.timeHasExpired = timeHasExpired;
|
|
48
|
-
/**
|
|
49
|
-
* Creates an Expires object from the input date or time number.
|
|
50
|
-
*
|
|
51
|
-
* @param timeNumber Number to convert to a date.
|
|
52
|
-
* @param expiresIn If the input number is the initial date, and not the
|
|
53
|
-
* expiration date, this is used to find the expiresAt time.
|
|
54
|
-
*/
|
|
55
|
-
function toExpires(time, expiresIn) {
|
|
56
|
-
let expiresAt = (0, date_unix_1.dateFromDateOrTimeNumber)(time);
|
|
57
|
-
if (expiresAt && expiresIn != null) {
|
|
58
|
-
expiresAt = (0, date_fns_1.addMilliseconds)(expiresAt, expiresIn);
|
|
59
|
-
}
|
|
60
|
-
return {
|
|
61
|
-
expiresAt
|
|
62
|
-
};
|
|
63
|
-
}
|
|
64
|
-
exports.toExpires = toExpires;
|
|
65
|
-
/**
|
|
66
|
-
* Checks whether or not the item has expired. If no expiration date is set, it is considered expired.
|
|
67
|
-
*/
|
|
68
|
-
function hasExpired(expires) {
|
|
69
|
-
const expiresAt = getExpiration(expires);
|
|
70
|
-
return (0, date_fns_1.isPast)(expiresAt);
|
|
71
|
-
}
|
|
72
|
-
exports.hasExpired = hasExpired;
|
|
73
|
-
/**
|
|
74
|
-
* Returns the expiration date, or a date 1 minute in the past if not defined.
|
|
75
|
-
*/
|
|
76
|
-
function getExpiration(expires) {
|
|
77
|
-
var _a;
|
|
78
|
-
return (_a = expires === null || expires === void 0 ? void 0 : expires.expiresAt) !== null && _a !== void 0 ? _a : (0, date_fns_1.addMinutes)(new Date(), -1);
|
|
79
|
-
}
|
|
80
|
-
exports.getExpiration = getExpiration;
|
|
81
|
-
//# sourceMappingURL=expires.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"expires.js","sourceRoot":"","sources":["../../../../../../packages/date/src/lib/expires/expires.ts"],"names":[],"mappings":";;;AAAA,iDAA6D;AAE7D,uCAA+D;AAY/D;;;;GAIG;AACH,SAAgB,oBAAoB,CAAC,OAAyB;IAC5D,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;QAC5B,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE;YACvB,OAAO,IAAI,CAAC;SACb;KACF;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AARD,oDAQC;AAED;;;;GAIG;AACH,SAAgB,cAAc,CAAC,OAAyB,EAAE,aAAa,GAAG,IAAI;IAC5E,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;QACxB,OAAO,aAAa,CAAC;KACtB;IAED,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;QAC5B,IAAI,UAAU,CAAC,MAAM,CAAC,EAAE;YACtB,OAAO,IAAI,CAAC;SACb;KACF;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAZD,wCAYC;AAED;;;;;;GAMG;AACH,SAAgB,cAAc,CAAC,IAAqC,EAAE,SAAwB;IAC5F,OAAO,UAAU,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;AAChD,CAAC;AAFD,wCAEC;AAED;;;;;;GAMG;AACH,SAAgB,SAAS,CAAC,IAAqC,EAAE,SAAwB;IACvF,IAAI,SAAS,GAAG,IAAA,oCAAwB,EAAC,IAAI,CAAC,CAAC;IAE/C,IAAI,SAAS,IAAI,SAAS,IAAI,IAAI,EAAE;QAClC,SAAS,GAAG,IAAA,0BAAe,EAAC,SAAS,EAAE,SAAS,CAAC,CAAC;KACnD;IAED,OAAO;QACL,SAAS;KACV,CAAC;AACJ,CAAC;AAVD,8BAUC;AAED;;GAEG;AACH,SAAgB,UAAU,CAAC,OAAuB;IAChD,MAAM,SAAS,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;IACzC,OAAO,IAAA,iBAAM,EAAC,SAAS,CAAC,CAAC;AAC3B,CAAC;AAHD,gCAGC;AAED;;GAEG;AACH,SAAgB,aAAa,CAAC,OAAuB;;IACnD,OAAO,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,SAAS,mCAAI,IAAA,qBAAU,EAAC,IAAI,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;AAC1D,CAAC;AAFD,sCAEC"}
|
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.takeAfterTimeElapsedSinceLastEmission = exports.skipUntilTimeElapsedAfterLastEmission = exports.skipAfterExpiration = exports.skipUntilExpiration = exports.skipExpired = exports.toExpiration = void 0;
|
|
4
|
-
const rxjs_1 = require("rxjs");
|
|
5
|
-
const expires_1 = require("./expires");
|
|
6
|
-
/**
|
|
7
|
-
* Creates a new Expires object at the current time on emission that will expire in the set amount of time.
|
|
8
|
-
*
|
|
9
|
-
* @param expiresIn
|
|
10
|
-
* @returns
|
|
11
|
-
*/
|
|
12
|
-
function toExpiration(expiresIn) {
|
|
13
|
-
return (0, rxjs_1.map)(() => (0, expires_1.toExpires)(new Date(), expiresIn));
|
|
14
|
-
}
|
|
15
|
-
exports.toExpiration = toExpiration;
|
|
16
|
-
/**
|
|
17
|
-
* Filters further emissions once the input is expired.
|
|
18
|
-
*/
|
|
19
|
-
function skipExpired() {
|
|
20
|
-
return (0, rxjs_1.filter)((expires) => !(0, expires_1.hasExpired)(expires));
|
|
21
|
-
}
|
|
22
|
-
exports.skipExpired = skipExpired;
|
|
23
|
-
/**
|
|
24
|
-
* Skips the input date or timenumber until expiration occurs.
|
|
25
|
-
*/
|
|
26
|
-
function skipUntilExpiration(expiresIn) {
|
|
27
|
-
return (0, rxjs_1.filter)((x) => (0, expires_1.timeHasExpired)(x, expiresIn));
|
|
28
|
-
}
|
|
29
|
-
exports.skipUntilExpiration = skipUntilExpiration;
|
|
30
|
-
/**
|
|
31
|
-
* Skips the input date or timenumber after expiration occurs.
|
|
32
|
-
*/
|
|
33
|
-
function skipAfterExpiration(expiresIn) {
|
|
34
|
-
return (0, rxjs_1.filter)((x) => !(0, expires_1.timeHasExpired)(x, expiresIn));
|
|
35
|
-
}
|
|
36
|
-
exports.skipAfterExpiration = skipAfterExpiration;
|
|
37
|
-
/**
|
|
38
|
-
* Skips emissions until time since the last emission from the watch observable has elapsed.
|
|
39
|
-
*/
|
|
40
|
-
function skipUntilTimeElapsedAfterLastEmission(watch, takeFor) {
|
|
41
|
-
return (observable) => {
|
|
42
|
-
return watch.pipe((0, rxjs_1.switchMap)(() => {
|
|
43
|
-
const expires = (0, expires_1.toExpires)(new Date(), takeFor);
|
|
44
|
-
return observable.pipe((0, rxjs_1.takeWhile)(() => !(0, expires_1.hasExpired)(expires)));
|
|
45
|
-
}));
|
|
46
|
-
};
|
|
47
|
-
}
|
|
48
|
-
exports.skipUntilTimeElapsedAfterLastEmission = skipUntilTimeElapsedAfterLastEmission;
|
|
49
|
-
/**
|
|
50
|
-
* Takes emissions until time since the last emission from the watch observable has elapsed.
|
|
51
|
-
*/
|
|
52
|
-
function takeAfterTimeElapsedSinceLastEmission(watch, skipFor) {
|
|
53
|
-
return (observable) => {
|
|
54
|
-
return watch.pipe((0, rxjs_1.switchMap)(() => {
|
|
55
|
-
const expires = (0, expires_1.toExpires)(new Date(), skipFor);
|
|
56
|
-
return observable.pipe((0, rxjs_1.skipWhile)(() => !(0, expires_1.hasExpired)(expires)));
|
|
57
|
-
}));
|
|
58
|
-
};
|
|
59
|
-
}
|
|
60
|
-
exports.takeAfterTimeElapsedSinceLastEmission = takeAfterTimeElapsedSinceLastEmission;
|
|
61
|
-
//# sourceMappingURL=expires.rxjs.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"expires.rxjs.js","sourceRoot":"","sources":["../../../../../../packages/date/src/lib/expires/expires.rxjs.ts"],"names":[],"mappings":";;;AACA,+BAA4H;AAC5H,uCAA2E;AAE3E;;;;;GAKG;AACH,SAAgB,YAAY,CAAI,SAAiB;IAC/C,OAAO,IAAA,UAAG,EAAC,GAAG,EAAE,CAAC,IAAA,mBAAS,EAAC,IAAI,IAAI,EAAE,EAAE,SAAS,CAAC,CAAC,CAAC;AACrD,CAAC;AAFD,oCAEC;AAED;;GAEG;AACH,SAAgB,WAAW;IACzB,OAAO,IAAA,aAAM,EAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,IAAA,oBAAU,EAAC,OAAO,CAAC,CAAC,CAAC;AACnD,CAAC;AAFD,kCAEC;AAED;;GAEG;AACH,SAAgB,mBAAmB,CAAC,SAAkB;IACpD,OAAO,IAAA,aAAM,EAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,wBAAc,EAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC;AACrD,CAAC;AAFD,kDAEC;AAED;;GAEG;AACH,SAAgB,mBAAmB,CAAC,SAAkB;IACpD,OAAO,IAAA,aAAM,EAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAA,wBAAc,EAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC;AACtD,CAAC;AAFD,kDAEC;AAED;;GAEG;AACH,SAAgB,qCAAqC,CAAI,KAA0B,EAAE,OAAqB;IACxG,OAAO,CAAC,UAAyB,EAAE,EAAE;QACnC,OAAO,KAAK,CAAC,IAAI,CACf,IAAA,gBAAS,EAAC,GAAG,EAAE;YACb,MAAM,OAAO,GAAG,IAAA,mBAAS,EAAC,IAAI,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC;YAC/C,OAAO,UAAU,CAAC,IAAI,CAAC,IAAA,gBAAS,EAAC,GAAG,EAAE,CAAC,CAAC,IAAA,oBAAU,EAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAChE,CAAC,CAAC,CACH,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC;AATD,sFASC;AAED;;GAEG;AACH,SAAgB,qCAAqC,CAAI,KAA0B,EAAE,OAAqB;IACxG,OAAO,CAAC,UAAyB,EAAE,EAAE;QACnC,OAAO,KAAK,CAAC,IAAI,CACf,IAAA,gBAAS,EAAC,GAAG,EAAE;YACb,MAAM,OAAO,GAAG,IAAA,mBAAS,EAAC,IAAI,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC;YAC/C,OAAO,UAAU,CAAC,IAAI,CAAC,IAAA,gBAAS,EAAC,GAAG,EAAE,CAAC,CAAC,IAAA,oBAAU,EAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAChE,CAAC,CAAC,CACH,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC;AATD,sFASC"}
|
package/src/lib/expires/index.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/date/src/lib/expires/index.ts"],"names":[],"mappings":";;;AAAA,oDAA0B;AAC1B,yDAA+B"}
|
package/src/lib/index.js
DELETED
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const tslib_1 = require("tslib");
|
|
4
|
-
tslib_1.__exportStar(require("./date"), exports);
|
|
5
|
-
tslib_1.__exportStar(require("./expires"), exports);
|
|
6
|
-
tslib_1.__exportStar(require("./query"), exports);
|
|
7
|
-
tslib_1.__exportStar(require("./rrule"), exports);
|
|
8
|
-
tslib_1.__exportStar(require("./timezone"), exports);
|
|
9
|
-
//# sourceMappingURL=index.js.map
|
package/src/lib/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/date/src/lib/index.ts"],"names":[],"mappings":";;;AAAA,iDAAuB;AACvB,oDAA0B;AAC1B,kDAAwB;AACxB,kDAAwB;AACxB,qDAA2B"}
|
package/src/lib/query/index.js
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const tslib_1 = require("tslib");
|
|
4
|
-
tslib_1.__exportStar(require("./query.builder"), exports);
|
|
5
|
-
tslib_1.__exportStar(require("./query.builder.mongo"), exports);
|
|
6
|
-
tslib_1.__exportStar(require("./query.filter"), exports);
|
|
7
|
-
tslib_1.__exportStar(require("./query.request"), exports);
|
|
8
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/date/src/lib/query/index.ts"],"names":[],"mappings":";;;AAAA,0DAAgC;AAChC,gEAAsC;AACtC,yDAA+B;AAC/B,0DAAgC"}
|
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.makeDaysAndTimeFiltersFunction = exports.makeDateQueryForDateStartsEndsFilter = exports.makeDateQueryForDateItemRangeFilter = exports.makeDateQueryForOccuringFilter = void 0;
|
|
4
|
-
const date_fns_1 = require("date-fns");
|
|
5
|
-
const date_fns_tz_1 = require("date-fns-tz");
|
|
6
|
-
const date_range_1 = require("../date/date.range");
|
|
7
|
-
function makeDateQueryForOccuringFilter(find) {
|
|
8
|
-
const result = {};
|
|
9
|
-
result.timezone = find.timezone;
|
|
10
|
-
result.startsLte = find.occuringAt;
|
|
11
|
-
result.endsGte = find.occuringAt;
|
|
12
|
-
result.rStart = result.rEnd = find.occuringAt;
|
|
13
|
-
return result;
|
|
14
|
-
}
|
|
15
|
-
exports.makeDateQueryForOccuringFilter = makeDateQueryForOccuringFilter;
|
|
16
|
-
function makeDateQueryForDateItemRangeFilter(find) {
|
|
17
|
-
const result = {};
|
|
18
|
-
result.timezone = find.timezone;
|
|
19
|
-
// Apply the timezone to the date range if provided.
|
|
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 dates = (0, date_range_1.dateRange)(range);
|
|
22
|
-
switch (range.type) {
|
|
23
|
-
case date_range_1.DateRangeType.DAY:
|
|
24
|
-
case date_range_1.DateRangeType.WEEK:
|
|
25
|
-
case date_range_1.DateRangeType.MONTH:
|
|
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
|
-
break;
|
|
28
|
-
}
|
|
29
|
-
result.rStart = dates.start;
|
|
30
|
-
result.rEnd = dates.end;
|
|
31
|
-
// Range returns all values that are running withing that time period.
|
|
32
|
-
if (find.rangeContained) {
|
|
33
|
-
// If range contained, must have started and ended within the box entirely.
|
|
34
|
-
result.startsGte = dates.start;
|
|
35
|
-
result.endsLte = dates.end;
|
|
36
|
-
}
|
|
37
|
-
else {
|
|
38
|
-
result.startsLte = dates.end;
|
|
39
|
-
result.endsGte = dates.start;
|
|
40
|
-
}
|
|
41
|
-
return result;
|
|
42
|
-
}
|
|
43
|
-
exports.makeDateQueryForDateItemRangeFilter = makeDateQueryForDateItemRangeFilter;
|
|
44
|
-
function makeDateQueryForDateStartsEndsFilter(find) {
|
|
45
|
-
var _a, _b;
|
|
46
|
-
const result = {};
|
|
47
|
-
result.timezone = find.timezone;
|
|
48
|
-
if (find.starts) {
|
|
49
|
-
const { before, after, at: equals } = find.starts;
|
|
50
|
-
result.startsGte = after !== null && after !== void 0 ? after : equals;
|
|
51
|
-
result.startsLte = before !== null && before !== void 0 ? before : equals;
|
|
52
|
-
result.rStart = (_a = result.startsGte) !== null && _a !== void 0 ? _a : result.startsLte;
|
|
53
|
-
}
|
|
54
|
-
if (find.ends) {
|
|
55
|
-
const { before, after, at: equals } = find.ends;
|
|
56
|
-
result.endsGte = after !== null && after !== void 0 ? after : equals;
|
|
57
|
-
result.endsLte = before !== null && before !== void 0 ? before : equals;
|
|
58
|
-
result.rEnd = (_b = result.endsGte) !== null && _b !== void 0 ? _b : result.endsLte;
|
|
59
|
-
}
|
|
60
|
-
return result;
|
|
61
|
-
}
|
|
62
|
-
exports.makeDateQueryForDateStartsEndsFilter = makeDateQueryForDateStartsEndsFilter;
|
|
63
|
-
function makeDaysAndTimeFiltersFunction(builder) {
|
|
64
|
-
return (dateQueryInstance) => {
|
|
65
|
-
const { timezone, startsGte, startsLte, endsGte, endsLte } = dateQueryInstance;
|
|
66
|
-
const startsAt = builder.makeRangeFilter(startsGte, startsLte);
|
|
67
|
-
const endsAt = builder.makeRangeFilter(endsGte, endsLte);
|
|
68
|
-
const timeFilter = builder.makeFieldFilter({ startsAt: startsAt, endsAt: endsAt });
|
|
69
|
-
let daysFilter;
|
|
70
|
-
function tzDate(date) {
|
|
71
|
-
return date ? (0, date_fns_tz_1.utcToZonedTime)(date, timezone) : undefined;
|
|
72
|
-
}
|
|
73
|
-
if (timezone) {
|
|
74
|
-
const tzDayStartsAtFilter = builder.makeRangeFilter(tzDate(startsGte), tzDate(startsLte));
|
|
75
|
-
const tzDayEndsAtFilter = builder.makeRangeFilter(tzDate(endsGte), tzDate(endsLte));
|
|
76
|
-
daysFilter = builder.makeFieldFilter({ startsAt: tzDayStartsAtFilter, endsAt: tzDayEndsAtFilter });
|
|
77
|
-
}
|
|
78
|
-
return {
|
|
79
|
-
timeFilter,
|
|
80
|
-
daysFilter
|
|
81
|
-
};
|
|
82
|
-
};
|
|
83
|
-
}
|
|
84
|
-
exports.makeDaysAndTimeFiltersFunction = makeDaysAndTimeFiltersFunction;
|
|
85
|
-
//# sourceMappingURL=query.builder.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"query.builder.js","sourceRoot":"","sources":["../../../../../../packages/date/src/lib/query/query.builder.ts"],"names":[],"mappings":";;;AACA,uCAAsC;AACtC,6CAA6C;AAC7C,mDAA8D;AAgE9D,SAAgB,8BAA8B,CAAC,IAAwD;IACrG,MAAM,MAAM,GAAiB,EAAE,CAAC;IAEhC,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;IAEhC,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC;IACnC,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC;IACjC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC;IAE9C,OAAO,MAAM,CAAC;AAChB,CAAC;AAVD,wEAUC;AAED,SAAgB,mCAAmC,CAAC,IAAyB;IAC3E,MAAM,MAAM,GAAiB,EAAE,CAAC;IAEhC,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;IAEhC,oDAAoD;IACpD,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,iCAAM,IAAI,CAAC,KAAK,KAAE,IAAI,EAAE,IAAA,4BAAc,EAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;IACnH,MAAM,KAAK,GAAG,IAAA,sBAAS,EAAC,KAAK,CAAC,CAAC;IAE/B,QAAQ,KAAK,CAAC,IAAI,EAAE;QAClB,KAAK,0BAAa,CAAC,GAAG,CAAC;QACvB,KAAK,0BAAa,CAAC,IAAI,CAAC;QACxB,KAAK,0BAAa,CAAC,KAAK;YACtB,KAAK,CAAC,GAAG,GAAG,IAAA,qBAAU,EAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,kFAAkF;YACxH,MAAM;KACT;IAED,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC;IAC5B,MAAM,CAAC,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC;IAExB,sEAAsE;IAEtE,IAAI,IAAI,CAAC,cAAc,EAAE;QACvB,2EAA2E;QAC3E,MAAM,CAAC,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC;QAC/B,MAAM,CAAC,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC;KAC5B;SAAM;QACL,MAAM,CAAC,SAAS,GAAG,KAAK,CAAC,GAAG,CAAC;QAC7B,MAAM,CAAC,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC;KAC9B;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAhCD,kFAgCC;AAED,SAAgB,oCAAoC,CAAC,IAA+D;;IAClH,MAAM,MAAM,GAAiB,EAAE,CAAC;IAChC,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;IAEhC,IAAI,IAAI,CAAC,MAAM,EAAE;QACf,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC;QAClD,MAAM,CAAC,SAAS,GAAG,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,MAAM,CAAC;QACnC,MAAM,CAAC,SAAS,GAAG,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,MAAM,CAAC;QACpC,MAAM,CAAC,MAAM,GAAG,MAAA,MAAM,CAAC,SAAS,mCAAI,MAAM,CAAC,SAAS,CAAC;KACtD;IAED,IAAI,IAAI,CAAC,IAAI,EAAE;QACb,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC;QAChD,MAAM,CAAC,OAAO,GAAG,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,MAAM,CAAC;QACjC,MAAM,CAAC,OAAO,GAAG,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,MAAM,CAAC;QAClC,MAAM,CAAC,IAAI,GAAG,MAAA,MAAM,CAAC,OAAO,mCAAI,MAAM,CAAC,OAAO,CAAC;KAChD;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAnBD,oFAmBC;AAID,SAAgB,8BAA8B,CAAO,OAA+B;IAClF,OAAO,CAAC,iBAA+B,EAAE,EAAE;QACzC,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,iBAAiB,CAAC;QAE/E,MAAM,QAAQ,GAAG,OAAO,CAAC,eAAe,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAC/D,MAAM,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACzD,MAAM,UAAU,GAAG,OAAO,CAAC,eAAe,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QAEnF,IAAI,UAAoB,CAAC;QAEzB,SAAS,MAAM,CAAC,IAAiB;YAC/B,OAAO,IAAI,CAAC,CAAC,CAAC,IAAA,4BAAc,EAAC,IAAI,EAAE,QAAkB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACrE,CAAC;QAED,IAAI,QAAQ,EAAE;YACZ,MAAM,mBAAmB,GAAG,OAAO,CAAC,eAAe,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;YAC1F,MAAM,iBAAiB,GAAG,OAAO,CAAC,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;YACpF,UAAU,GAAG,OAAO,CAAC,eAAe,CAAC,EAAE,QAAQ,EAAE,mBAAmB,EAAE,MAAM,EAAE,iBAAiB,EAAE,CAAC,CAAC;SACpG;QAED,OAAO;YACL,UAAU;YACV,UAAU;SACX,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC;AAzBD,wEAyBC"}
|