@dereekb/date 9.24.46 → 9.25.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (77) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/package.json +2 -2
  3. package/src/lib/date/date.block.d.ts +373 -16
  4. package/src/lib/date/date.block.day.d.ts +1 -0
  5. package/src/lib/date/date.block.day.js +1 -0
  6. package/src/lib/date/date.block.day.js.map +1 -1
  7. package/src/lib/date/date.block.js +236 -24
  8. package/src/lib/date/date.block.js.map +1 -1
  9. package/src/lib/date/{date.validator.d.ts → date.block.validator.d.ts} +6 -0
  10. package/src/lib/date/{date.validator.js → date.block.validator.js} +7 -1
  11. package/src/lib/date/date.block.validator.js.map +1 -0
  12. package/src/lib/date/date.block.week.d.ts +24 -0
  13. package/src/lib/date/date.block.week.js +12 -0
  14. package/src/lib/date/date.block.week.js.map +1 -1
  15. package/src/lib/date/date.cell.d.ts +357 -0
  16. package/src/lib/date/date.cell.factory.d.ts +337 -0
  17. package/src/lib/date/date.cell.factory.js +479 -0
  18. package/src/lib/date/date.cell.factory.js.map +1 -0
  19. package/src/lib/date/date.cell.filter.d.ts +18 -0
  20. package/src/lib/date/date.cell.filter.js +65 -0
  21. package/src/lib/date/date.cell.filter.js.map +1 -0
  22. package/src/lib/date/date.cell.index.d.ts +375 -0
  23. package/src/lib/date/date.cell.index.js +731 -0
  24. package/src/lib/date/date.cell.index.js.map +1 -0
  25. package/src/lib/date/date.cell.js +518 -0
  26. package/src/lib/date/date.cell.js.map +1 -0
  27. package/src/lib/date/date.cell.schedule.d.ts +409 -0
  28. package/src/lib/date/date.cell.schedule.day.d.ts +9 -0
  29. package/src/lib/date/date.cell.schedule.day.js +15 -0
  30. package/src/lib/date/date.cell.schedule.day.js.map +1 -0
  31. package/src/lib/date/date.cell.schedule.js +667 -0
  32. package/src/lib/date/date.cell.schedule.js.map +1 -0
  33. package/src/lib/date/date.cell.validator.d.ts +14 -0
  34. package/src/lib/date/date.cell.validator.js +67 -0
  35. package/src/lib/date/date.cell.validator.js.map +1 -0
  36. package/src/lib/date/date.cell.week.d.ts +31 -0
  37. package/src/lib/date/date.cell.week.js +40 -0
  38. package/src/lib/date/date.cell.week.js.map +1 -0
  39. package/src/lib/date/date.d.ts +18 -0
  40. package/src/lib/date/date.duration.d.ts +2 -1
  41. package/src/lib/date/date.duration.js +6 -1
  42. package/src/lib/date/date.duration.js.map +1 -1
  43. package/src/lib/date/date.format.js +2 -1
  44. package/src/lib/date/date.format.js.map +1 -1
  45. package/src/lib/date/date.js +29 -1
  46. package/src/lib/date/date.js.map +1 -1
  47. package/src/lib/date/date.range.d.ts +4 -2
  48. package/src/lib/date/date.range.js +6 -4
  49. package/src/lib/date/date.range.js.map +1 -1
  50. package/src/lib/date/date.range.timezone.d.ts +27 -6
  51. package/src/lib/date/date.range.timezone.js +21 -7
  52. package/src/lib/date/date.range.timezone.js.map +1 -1
  53. package/src/lib/date/date.schedule.d.ts +99 -0
  54. package/src/lib/date/date.schedule.js +63 -0
  55. package/src/lib/date/date.schedule.js.map +1 -1
  56. package/src/lib/date/date.time.js +3 -3
  57. package/src/lib/date/date.time.js.map +1 -1
  58. package/src/lib/date/date.timezone.d.ts +98 -3
  59. package/src/lib/date/date.timezone.js +191 -24
  60. package/src/lib/date/date.timezone.js.map +1 -1
  61. package/src/lib/date/date.week.js +3 -1
  62. package/src/lib/date/date.week.js.map +1 -1
  63. package/src/lib/date/index.d.ts +8 -1
  64. package/src/lib/date/index.js +8 -1
  65. package/src/lib/date/index.js.map +1 -1
  66. package/src/lib/expires/expires.js +1 -1
  67. package/src/lib/expires/expires.js.map +1 -1
  68. package/src/lib/timezone/index.d.ts +1 -0
  69. package/src/lib/timezone/index.js +1 -0
  70. package/src/lib/timezone/index.js.map +1 -1
  71. package/src/lib/timezone/timezone.d.ts +7 -0
  72. package/src/lib/timezone/timezone.js +14 -2
  73. package/src/lib/timezone/timezone.js.map +1 -1
  74. package/src/lib/timezone/timezone.validator.d.ts +6 -0
  75. package/src/lib/timezone/timezone.validator.js +26 -0
  76. package/src/lib/timezone/timezone.validator.js.map +1 -0
  77. package/src/lib/date/date.validator.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"date.cell.index.js","sourceRoot":"","sources":["../../../../../../packages/date/src/lib/date/date.cell.index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,518 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isValidFullDateCellTiming = exports.isValidFullDateCellTimingInfo = exports.isValidDateCellTiming = exports.isValidDateCellTimingInfo = exports.dateCellTimingFinalStartsAtEvent = exports.calculateExpectedDateCellTimingDuration = exports.calculateExpectedDateCellTimingDurationPair = exports.changeDateCellTimingToTimezone = exports.changeDateCellTimingToSystemTimezone = exports.changeDateCellTimingToTimezoneFunction = exports.getDateCellTimingHoursInEvent = exports.getDateCellTimingFirstEventDateRange = exports.dateCellTimingEventRange = exports.dateCellTimingDateRange = exports.isFullDateCellTiming = exports.isDateCellTiming = exports.isSameFullDateCellTiming = exports.isSameDateCellTiming = exports.isSameDateCellTimingEventStartsAtEndRange = exports.dateCellTimingStart = exports.dateCellTimingStartPair = exports.dateCellTiming = exports.isValidDateCellTimingStartDate = exports.fullDateCellTimingTimezonePair = exports.fullDateCellTiming = exports.dateCellTimingTimezoneNormalInstance = exports.DateCellTiming = exports.dateCellTimingStartsAtForStartOfDay = exports.dateCell = exports.DateCell = exports.isValidDateCellIndex = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const util_1 = require("@dereekb/util");
6
+ const date_range_1 = require("./date.range");
7
+ const date_duration_1 = require("./date.duration");
8
+ const date_fns_1 = require("date-fns");
9
+ const date_1 = require("./date");
10
+ const class_transformer_1 = require("class-transformer");
11
+ const date_timezone_1 = require("./date.timezone");
12
+ const class_validator_1 = require("class-validator");
13
+ const timezone_validator_1 = require("../timezone/timezone.validator");
14
+ const date_range_timezone_1 = require("./date.range.timezone");
15
+ /**
16
+ * Returns true if the index is a non-negative integer.
17
+ *
18
+ * @param input
19
+ */
20
+ function isValidDateCellIndex(input) {
21
+ return input >= 0 && Number.isInteger(input);
22
+ }
23
+ exports.isValidDateCellIndex = isValidDateCellIndex;
24
+ class DateCell {
25
+ constructor(template) {
26
+ if (template) {
27
+ this.i = template.i;
28
+ }
29
+ }
30
+ }
31
+ tslib_1.__decorate([
32
+ (0, class_transformer_1.Expose)(),
33
+ (0, class_validator_1.IsNumber)(),
34
+ (0, class_validator_1.Min)(0),
35
+ tslib_1.__metadata("design:type", Number)
36
+ ], DateCell.prototype, "i", void 0);
37
+ exports.DateCell = DateCell;
38
+ /**
39
+ * Converts the input number or DateCell to a DateCell.
40
+ *
41
+ * @param dateCellOrIndex
42
+ * @returns
43
+ */
44
+ function dateCell(dateCellOrIndex) {
45
+ return typeof dateCellOrIndex === 'number' ? { i: dateCellOrIndex } : dateCellOrIndex;
46
+ }
47
+ exports.dateCell = dateCell;
48
+ /**
49
+ * Creates a new DateCellTimingStartsAt for the given time and timezone.
50
+ *
51
+ * @param now
52
+ * @returns
53
+ */
54
+ function dateCellTimingStartsAtForStartOfDay(input = {}) {
55
+ var _a;
56
+ const timezone = (_a = input.timezone) !== null && _a !== void 0 ? _a : (0, date_1.requireCurrentTimezone)();
57
+ let startsAt = (0, date_fns_1.startOfDay)(new Date());
58
+ if (input.timezone != null) {
59
+ startsAt = (0, date_timezone_1.dateTimezoneUtcNormal)(timezone).targetDateToSystemDate(startsAt);
60
+ }
61
+ return {
62
+ startsAt,
63
+ timezone
64
+ };
65
+ }
66
+ exports.dateCellTimingStartsAtForStartOfDay = dateCellTimingStartsAtForStartOfDay;
67
+ class DateCellTiming extends date_duration_1.DateDurationSpan {
68
+ constructor(template) {
69
+ super(template);
70
+ if (template) {
71
+ this.end = template.end;
72
+ this.timezone = template.timezone;
73
+ }
74
+ }
75
+ }
76
+ tslib_1.__decorate([
77
+ (0, class_transformer_1.Expose)(),
78
+ (0, class_validator_1.IsDate)(),
79
+ (0, class_transformer_1.Type)(() => Date),
80
+ tslib_1.__metadata("design:type", Date)
81
+ ], DateCellTiming.prototype, "end", void 0);
82
+ tslib_1.__decorate([
83
+ (0, class_transformer_1.Expose)(),
84
+ (0, class_validator_1.IsString)(),
85
+ (0, timezone_validator_1.IsKnownTimezone)(),
86
+ tslib_1.__metadata("design:type", String)
87
+ ], DateCellTiming.prototype, "timezone", void 0);
88
+ exports.DateCellTiming = DateCellTiming;
89
+ /**
90
+ * Creates a DateTimezoneUtcNormalInstance from the input. Asserts and gurantees that a timezone string is provided.
91
+ *
92
+ * If null/undefined is passed, returns a normal for the system time.
93
+ *
94
+ * @param timezoneInput
95
+ * @returns
96
+ */
97
+ function dateCellTimingTimezoneNormalInstance(timezoneInput) {
98
+ const normalInstance = timezoneInput ? (0, date_timezone_1.dateTimezoneUtcNormal)(timezoneInput) : (0, date_timezone_1.systemDateTimezoneUtcNormal)();
99
+ const timezone = normalInstance.configuredTimezoneString;
100
+ if (!timezone) {
101
+ throw new Error('dateCellTiming() timezone must be defined and be a known timezone string.');
102
+ }
103
+ return normalInstance;
104
+ }
105
+ exports.dateCellTimingTimezoneNormalInstance = dateCellTimingTimezoneNormalInstance;
106
+ /**
107
+ * Creates a FullDateCellTiming from the input timing.
108
+ *
109
+ * @param timing
110
+ * @returns
111
+ */
112
+ function fullDateCellTiming(timing) {
113
+ return fullDateCellTimingTimezonePair(timing).fullTiming;
114
+ }
115
+ exports.fullDateCellTiming = fullDateCellTiming;
116
+ /**
117
+ * Creates a FullDateCellTimingTimezonePair from the input timing.
118
+ *
119
+ * @param timing
120
+ * @returns
121
+ */
122
+ function fullDateCellTimingTimezonePair(timing) {
123
+ const { startsAt, end, duration, timezone } = timing;
124
+ const { start, normalInstance } = dateCellTimingStartPair(timing);
125
+ const fullTiming = {
126
+ start,
127
+ startsAt,
128
+ end,
129
+ duration,
130
+ timezone
131
+ };
132
+ return {
133
+ fullTiming,
134
+ normalInstance
135
+ };
136
+ }
137
+ exports.fullDateCellTimingTimezonePair = fullDateCellTimingTimezonePair;
138
+ /**
139
+ * Returns true if the start date has no minutes/seconds/milliseconds. It should be midnight for it's target timezone.
140
+ *
141
+ * @param date
142
+ * @returns
143
+ */
144
+ function isValidDateCellTimingStartDate(date) {
145
+ return (0, date_fns_1.getMinutes)(date) === 0 && (0, date_fns_1.getSeconds)(date) === 0 && (0, date_fns_1.getMilliseconds)(date) === 0;
146
+ }
147
+ exports.isValidDateCellTimingStartDate = isValidDateCellTimingStartDate;
148
+ /**
149
+ * Creates a valid DateCell timing from the DateDurationSpan and range input.
150
+ *
151
+ * The duration is first considered, then the date range is applied to it.
152
+ *
153
+ * If a number is passed as the input range, then the duration's startsAt date will be used and the input number used as the distance.
154
+ * The input range's date takes priority over the duration's startsAt start date, meaning the input date range will be adapted
155
+ * to fit the startsAt time.
156
+ *
157
+ * The input range date is used as the start and end date ranges, meaning they will be used as the expected date offset (have only hours, no minutes/seconds/milliseconds) and be validated as such.
158
+ * The end date is used just to determine the number of days, but a minimum of 1 day is always enforced as a DateCellTiming must contain atleast 1 day.
159
+ *
160
+ * The start date from the inputDate is considered to to have the offset noted in DateCell, and will be retained.
161
+ */
162
+ function dateCellTiming(durationInput, inputRange, timezoneInput) {
163
+ const { duration } = durationInput;
164
+ if (duration > util_1.MINUTES_IN_DAY) {
165
+ throw new Error('dateCellTiming() duration cannot be longer than 24 hours.');
166
+ }
167
+ const normalInstance = dateCellTimingTimezoneNormalInstance(timezoneInput);
168
+ const timezone = normalInstance.configuredTimezoneString;
169
+ let { startsAt: inputStartsAt } = durationInput;
170
+ // it is important that startsAt is evaluated the system time normal, as addDays/addMinutes and related functionality rely on the system timezone.
171
+ let startsAtInSystemTimezone = normalInstance ? normalInstance.systemDateToTargetDate(inputStartsAt) : inputStartsAt;
172
+ let numberOfBlockedDays;
173
+ let inputDate;
174
+ let range;
175
+ if (typeof inputRange === 'number') {
176
+ // input range is a number of days
177
+ numberOfBlockedDays = inputRange - 1;
178
+ range = (0, date_range_1.dateRange)({ type: date_range_1.DateRangeType.DAY, date: startsAtInSystemTimezone });
179
+ }
180
+ else if ((0, date_range_1.isDateRange)(inputRange)) {
181
+ // input range is a DateRange
182
+ range = inputRange;
183
+ inputDate = inputRange.start;
184
+ if (!isValidDateCellTimingStartDate(inputRange.start)) {
185
+ throw new Error('Invalid dateCellTiming start date passed to dateCellTiming() via inputRange.');
186
+ }
187
+ numberOfBlockedDays = (0, date_fns_1.differenceInDays)(inputRange.end, inputRange.start); // min of 1 day
188
+ }
189
+ else {
190
+ // input range is a Date
191
+ inputDate = startsAtInSystemTimezone;
192
+ numberOfBlockedDays = inputRange.distance - 1;
193
+ range = (0, date_range_1.dateRange)({ type: date_range_1.DateRangeType.DAY, date: inputDate }, true);
194
+ }
195
+ if (inputDate != null) {
196
+ // input date takes priority, so move the startsAt's date to be on the same date.
197
+ startsAtInSystemTimezone = (0, date_1.copyHoursAndMinutesFromDate)(range.start, startsAtInSystemTimezone, true);
198
+ const startedBeforeRange = (0, date_fns_1.isBefore)(startsAtInSystemTimezone, range.start);
199
+ if (startedBeforeRange) {
200
+ startsAtInSystemTimezone = (0, date_fns_1.addDays)(startsAtInSystemTimezone, 1); // starts 24 hours later
201
+ numberOfBlockedDays = Math.max(numberOfBlockedDays - 1, 0); // reduce number of applied days by 1, to a min of 0
202
+ }
203
+ }
204
+ else {
205
+ startsAtInSystemTimezone = (0, date_1.roundDownToMinute)(startsAtInSystemTimezone); // clear seconds and milliseconds from startsAt
206
+ }
207
+ const lastStartsAtInSystemTimezone = (0, date_fns_1.addDays)(startsAtInSystemTimezone, numberOfBlockedDays); // use addDays so the system (if it experiences daylight savings) can change for daylight savings
208
+ // calculate end to be the ending date/time of the final duration span
209
+ const end = normalInstance.targetDateToSystemDate((0, date_fns_1.addMinutes)(lastStartsAtInSystemTimezone, duration));
210
+ const start = normalInstance.targetDateToSystemDate((0, date_fns_1.startOfDay)(startsAtInSystemTimezone));
211
+ const startsAt = normalInstance.targetDateToSystemDate(startsAtInSystemTimezone);
212
+ return {
213
+ start,
214
+ end,
215
+ startsAt,
216
+ duration,
217
+ timezone
218
+ };
219
+ }
220
+ exports.dateCellTiming = dateCellTiming;
221
+ /**
222
+ * Convenience function of dateCellTimingStart() that also returns the DateTimezoneUtcNormalInstance.
223
+ *
224
+ * @param timing
225
+ * @returns
226
+ */
227
+ function dateCellTimingStartPair(timing) {
228
+ const { startsAt, timezone } = timing;
229
+ const normalInstance = (0, date_timezone_1.dateTimezoneUtcNormal)(timezone);
230
+ const startsAtInSystem = normalInstance.systemDateToTargetDate(startsAt);
231
+ const start = normalInstance.startOfDayInTargetTimezone(startsAtInSystem);
232
+ return {
233
+ start,
234
+ normalInstance
235
+ };
236
+ }
237
+ exports.dateCellTimingStartPair = dateCellTimingStartPair;
238
+ /**
239
+ * Start date value for a DateCellTiming.
240
+ *
241
+ * This is the midnight date instance for the timezone.
242
+ */
243
+ function dateCellTimingStart(timing) {
244
+ return dateCellTimingStartPair(timing).start;
245
+ }
246
+ exports.dateCellTimingStart = dateCellTimingStart;
247
+ /**
248
+ * Returns true if the two DateCellTimingStartsAtEndRange values are the same.
249
+ *
250
+ * @param a
251
+ * @param b
252
+ */
253
+ function isSameDateCellTimingEventStartsAtEndRange(a, b) {
254
+ return a && b ? a.timezone === b.timezone && (0, date_1.isSameDate)(a.startsAt, b.startsAt) && (0, date_1.isSameDate)(a.end, b.end) : a == b;
255
+ }
256
+ exports.isSameDateCellTimingEventStartsAtEndRange = isSameDateCellTimingEventStartsAtEndRange;
257
+ /**
258
+ * Returns true if the two timings are equivalent.
259
+ *
260
+ * @param a
261
+ * @param b
262
+ */
263
+ function isSameDateCellTiming(a, b) {
264
+ return a && b ? a.duration === b.duration && isSameDateCellTimingEventStartsAtEndRange(a, b) : a == b;
265
+ }
266
+ exports.isSameDateCellTiming = isSameDateCellTiming;
267
+ /**
268
+ * Returns true if all variables in the input FullDateCellTimings are exact.
269
+ *
270
+ * In most cases this comparison is unnecessary, as the start date is derived from the startsAt time.
271
+ *
272
+ * @param a
273
+ * @param b
274
+ * @returns
275
+ */
276
+ function isSameFullDateCellTiming(a, b) {
277
+ return a && b ? (0, date_1.isSameDate)(a.start, b.start) && isSameDateCellTiming(a, b) : a == b;
278
+ }
279
+ exports.isSameFullDateCellTiming = isSameFullDateCellTiming;
280
+ /**
281
+ * Returns true if the input is a DateCellTiming.
282
+ *
283
+ * Does not check if it is a valid DateCellTiming.
284
+ *
285
+ * @param input
286
+ */
287
+ function isDateCellTiming(input) {
288
+ if (typeof input === 'object') {
289
+ const asTiming = input;
290
+ return (0, date_1.isDate)(asTiming.startsAt) && (0, date_1.isDate)(asTiming.end) && typeof asTiming.timezone === 'string' && typeof asTiming.duration === 'number';
291
+ }
292
+ return false;
293
+ }
294
+ exports.isDateCellTiming = isDateCellTiming;
295
+ /**
296
+ * Returns true if the input is possibly a FullDateCellTiming.
297
+ *
298
+ * Does not check if it is a valid FullDateCellTiming.
299
+ *
300
+ * @param input
301
+ */
302
+ function isFullDateCellTiming(input) {
303
+ if (typeof input === 'object') {
304
+ const asTiming = input;
305
+ return (0, date_1.isDate)(asTiming.start) && isDateCellTiming(asTiming);
306
+ }
307
+ return false;
308
+ }
309
+ exports.isFullDateCellTiming = isFullDateCellTiming;
310
+ /**
311
+ * Creates a DateCellTimingDateRange from the input timing.
312
+ *
313
+ * @param timing
314
+ * @returns
315
+ */
316
+ function dateCellTimingDateRange(timing) {
317
+ const start = dateCellTimingStart(timing);
318
+ return { start, end: timing.end, timezone: timing.timezone };
319
+ }
320
+ exports.dateCellTimingDateRange = dateCellTimingDateRange;
321
+ /**
322
+ * Returns the date range from the start of the first event to the end time of the last event.
323
+ *
324
+ * @param timing
325
+ * @returns
326
+ */
327
+ function dateCellTimingEventRange(timing) {
328
+ return { start: timing.startsAt, end: timing.end, timezone: timing.timezone };
329
+ }
330
+ exports.dateCellTimingEventRange = dateCellTimingEventRange;
331
+ /**
332
+ * Returns the total minutes between the start of the first event and the end of the last event.
333
+ *
334
+ * @param timing
335
+ * @returns
336
+ */
337
+ function getDateCellTimingFirstEventDateRange(timing) {
338
+ return (0, date_range_timezone_1.fitDateRangeToDayPeriod)({ start: timing.startsAt, end: timing.end }, timing.timezone);
339
+ }
340
+ exports.getDateCellTimingFirstEventDateRange = getDateCellTimingFirstEventDateRange;
341
+ /**
342
+ * Returns the number of hours in a DateCellTiming's duration.
343
+ *
344
+ * @param timing
345
+ */
346
+ function getDateCellTimingHoursInEvent(timing) {
347
+ return (0, util_1.minutesToFractionalHours)(timing.duration);
348
+ }
349
+ exports.getDateCellTimingHoursInEvent = getDateCellTimingHoursInEvent;
350
+ /**
351
+ * Creates a ChangeDateCellTimingToTimezoneFunction from the input.
352
+ *
353
+ * @param input
354
+ * @returns
355
+ */
356
+ function changeDateCellTimingToTimezoneFunction(timezoneInput) {
357
+ const normalInstance = dateCellTimingTimezoneNormalInstance(timezoneInput);
358
+ const timezone = normalInstance.configuredTimezoneString;
359
+ const fn = ((timing) => {
360
+ const inputTimingNormalInstance = dateCellTimingTimezoneNormalInstance(timezoneInput);
361
+ const startsAtNormal = inputTimingNormalInstance.baseDateToTargetDate(timing.startsAt);
362
+ const endNormal = inputTimingNormalInstance.baseDateToTargetDate(timing.end);
363
+ const startsAt = normalInstance.targetDateToBaseDate(startsAtNormal);
364
+ const end = normalInstance.targetDateToBaseDate(endNormal);
365
+ const newTiming = Object.assign(Object.assign({}, timing), { start: dateCellTimingStart({ startsAt, timezone }), timezone,
366
+ startsAt,
367
+ end });
368
+ return newTiming;
369
+ });
370
+ fn._normalInstance = normalInstance;
371
+ return fn;
372
+ }
373
+ exports.changeDateCellTimingToTimezoneFunction = changeDateCellTimingToTimezoneFunction;
374
+ /**
375
+ * Convenience function for calling changeDateCellTimingToTimezone() with the system timezone.
376
+ *
377
+ * @param timing
378
+ * @returns
379
+ */
380
+ function changeDateCellTimingToSystemTimezone(timing) {
381
+ return changeDateCellTimingToTimezone(timing, date_timezone_1.SYSTEM_DATE_TIMEZONE_UTC_NORMAL_INSTANCE);
382
+ }
383
+ exports.changeDateCellTimingToSystemTimezone = changeDateCellTimingToSystemTimezone;
384
+ /**
385
+ * Convenience function for calling changeDateCellTimingToTimezoneFunction() and passing the timing.
386
+ *
387
+ * @param timing
388
+ * @param timezone
389
+ * @returns
390
+ */
391
+ function changeDateCellTimingToTimezone(timing, timezone) {
392
+ return changeDateCellTimingToTimezoneFunction(timezone)(timing);
393
+ }
394
+ exports.changeDateCellTimingToTimezone = changeDateCellTimingToTimezone;
395
+ /**
396
+ * Returns the expected duration from the input.
397
+ *
398
+ * @param timing
399
+ * @returns
400
+ */
401
+ function calculateExpectedDateCellTimingDurationPair(timing) {
402
+ const { end, startsAt, timezone } = timing;
403
+ const normalInstance = (0, date_timezone_1.dateTimezoneUtcNormal)(timezone);
404
+ const startsAtInUtcNormal = normalInstance.baseDateToTargetDate(startsAt); // convert to UTC normal
405
+ const endInUtcNormal = normalInstance.baseDateToTargetDate(end);
406
+ const finalMsDifferenceBetweenStartAndEnd = (0, date_fns_1.differenceInMilliseconds)(endInUtcNormal, startsAtInUtcNormal);
407
+ const duration = (finalMsDifferenceBetweenStartAndEnd / util_1.MS_IN_MINUTE) % util_1.MINUTES_IN_DAY || util_1.MINUTES_IN_DAY;
408
+ const expectedFinalStartsAt = normalInstance.targetDateToBaseDate((0, date_fns_1.addMinutes)(endInUtcNormal, -duration));
409
+ // console.log({ finalMsDifferenceBetweenStartAndEnd, duration, expectedFinalStartsAt, startsAt, end, endInUtc: endInUtcNormal, startsAtInUtc: startsAtInUtcNormal });
410
+ return {
411
+ duration,
412
+ expectedFinalStartsAt
413
+ };
414
+ }
415
+ exports.calculateExpectedDateCellTimingDurationPair = calculateExpectedDateCellTimingDurationPair;
416
+ function calculateExpectedDateCellTimingDuration(timing) {
417
+ return calculateExpectedDateCellTimingDurationPair(timing).duration;
418
+ }
419
+ exports.calculateExpectedDateCellTimingDuration = calculateExpectedDateCellTimingDuration;
420
+ /**
421
+ * Returns the final StartsAt time.
422
+ *
423
+ * @param timing
424
+ * @returns
425
+ */
426
+ function dateCellTimingFinalStartsAtEvent(timing) {
427
+ const { duration, expectedFinalStartsAt: startsAt } = calculateExpectedDateCellTimingDurationPair(timing);
428
+ return {
429
+ startsAt,
430
+ duration
431
+ };
432
+ }
433
+ exports.dateCellTimingFinalStartsAtEvent = dateCellTimingFinalStartsAtEvent;
434
+ function isValidDateCellTimingInfo(timing) {
435
+ const { end, startsAt, duration, timezone } = timing;
436
+ const normalInstance = (0, date_timezone_1.dateTimezoneUtcNormal)(timezone);
437
+ const endIsAfterTheStartsAtTime = (0, date_fns_1.isAfter)(end, startsAt);
438
+ const durationGreaterThanZero = duration > 0;
439
+ const durationLessThan24Hours = duration <= util_1.MINUTES_IN_DAY;
440
+ const startsAtHasZeroSeconds = startsAt.getSeconds() === 0 && startsAt.getMilliseconds() === 0;
441
+ let isValid = false;
442
+ let isExpectedValidEnd = false;
443
+ if (endIsAfterTheStartsAtTime && // end must be after the startsAt time
444
+ durationGreaterThanZero &&
445
+ durationLessThan24Hours &&
446
+ startsAtHasZeroSeconds) {
447
+ const expectedDuration = calculateExpectedDateCellTimingDuration(timing);
448
+ isExpectedValidEnd = expectedDuration === duration; // should be the expected duration
449
+ isValid = isExpectedValidEnd;
450
+ }
451
+ const result = {
452
+ isValid,
453
+ endIsAfterTheStartsAtTime,
454
+ durationGreaterThanZero,
455
+ durationLessThan24Hours,
456
+ startsAtHasZeroSeconds,
457
+ isExpectedValidEnd,
458
+ normalInstance
459
+ };
460
+ return result;
461
+ }
462
+ exports.isValidDateCellTimingInfo = isValidDateCellTimingInfo;
463
+ /**
464
+ * Convenience function for checking whether or not DateCellTiming is valid.
465
+ *
466
+ * @param timing
467
+ * @returns
468
+ */
469
+ function isValidDateCellTiming(timing) {
470
+ const { isValid } = isValidDateCellTimingInfo(timing);
471
+ return isValid;
472
+ }
473
+ exports.isValidDateCellTiming = isValidDateCellTiming;
474
+ function isValidFullDateCellTimingInfo(timing) {
475
+ const { start, normalInstance } = dateCellTimingStartPair(timing);
476
+ const { startsAt } = timing;
477
+ const isValidInfo = isValidDateCellTimingInfo(timing);
478
+ const { endIsAfterTheStartsAtTime, durationGreaterThanZero, durationLessThan24Hours, startsAtHasZeroSeconds, isExpectedValidEnd } = isValidInfo;
479
+ const isStartRoundedToSeconds = start.getMilliseconds() === 0; // should have no milliseconds specified
480
+ const msDifference = (0, date_fns_1.differenceInMilliseconds)(startsAt, start); // startsAt is a specific instance to compare to the midnight instant of the target timezone
481
+ const startHasZeroSeconds = start.getSeconds() === 0;
482
+ const startsAtIsAfterStart = msDifference >= 0;
483
+ const startsAtIsLessThan24HoursAfterStart = msDifference < util_1.MS_IN_DAY;
484
+ const startInUtc = normalInstance.baseDateToTargetDate(start);
485
+ const startIsAtMidnight = startInUtc.getUTCHours() === 0 && startInUtc.getMinutes() === 0;
486
+ const isValid = isValidInfo.isValid &&
487
+ isStartRoundedToSeconds &&
488
+ endIsAfterTheStartsAtTime && // end must be after the startsAt time
489
+ durationGreaterThanZero &&
490
+ durationLessThan24Hours &&
491
+ startHasZeroSeconds && // start cannot have seconds
492
+ startsAtIsAfterStart && // startsAt is after start instance, secondsDifference
493
+ startsAtIsLessThan24HoursAfterStart && // startsAt is not 24 hours or more later. If so, should start at that time instead.
494
+ startIsAtMidnight;
495
+ const result = {
496
+ isValid,
497
+ isStartRoundedToSeconds,
498
+ startIsAtMidnight,
499
+ startHasZeroSeconds,
500
+ startsAtIsAfterStart,
501
+ startsAtIsLessThan24HoursAfterStart,
502
+ endIsAfterTheStartsAtTime,
503
+ durationGreaterThanZero,
504
+ durationLessThan24Hours,
505
+ startsAtHasZeroSeconds,
506
+ isExpectedValidEnd,
507
+ normalInstance
508
+ };
509
+ // console.log({ timing, result, msDifference, startsAt, start });
510
+ return result;
511
+ }
512
+ exports.isValidFullDateCellTimingInfo = isValidFullDateCellTimingInfo;
513
+ function isValidFullDateCellTiming(timing) {
514
+ const { isValid } = isValidFullDateCellTimingInfo(timing);
515
+ return isValid;
516
+ }
517
+ exports.isValidFullDateCellTiming = isValidFullDateCellTiming;
518
+ //# sourceMappingURL=date.cell.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"date.cell.js","sourceRoot":"","sources":["../../../../../../packages/date/src/lib/date/date.cell.ts"],"names":[],"mappings":";;;;AAAA,wCAA2M;AAC3M,6CAA2H;AAC3H,mDAAmD;AACnD,uCAAmK;AACnK,iCAAoH;AACpH,yDAAiD;AACjD,mDAAkM;AAClM,qDAAkE;AAClE,uEAAiE;AACjE,+DAAgE;AAOhE;;;;GAIG;AACH,SAAgB,oBAAoB,CAAC,KAAoB;IACvD,OAAO,KAAK,IAAI,CAAC,IAAI,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AAC/C,CAAC;AAFD,oDAEC;AAcD,MAAa,QAAQ;IAMnB,YAAY,QAAmB;QAC7B,IAAI,QAAQ,EAAE;YACZ,IAAI,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC;SACrB;IACH,CAAC;CACF;AAVC;IAAC,IAAA,0BAAM,GAAE;IACR,IAAA,0BAAQ,GAAE;IACV,IAAA,qBAAG,EAAC,CAAC,CAAC;;mCACW;AAJpB,4BAWC;AAED;;;;;GAKG;AACH,SAAgB,QAAQ,CAAC,eAAyC;IAChE,OAAO,OAAO,eAAe,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC;AACxF,CAAC;AAFD,4BAEC;AAmCD;;;;;GAKG;AACH,SAAgB,mCAAmC,CAAC,QAAkD,EAAE;;IACtG,MAAM,QAAQ,GAAG,MAAA,KAAK,CAAC,QAAQ,mCAAI,IAAA,6BAAsB,GAAE,CAAC;IAC5D,IAAI,QAAQ,GAAG,IAAA,qBAAU,EAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IAEtC,IAAI,KAAK,CAAC,QAAQ,IAAI,IAAI,EAAE;QAC1B,QAAQ,GAAG,IAAA,qCAAqB,EAAC,QAAQ,CAAC,CAAC,sBAAsB,CAAC,QAAQ,CAAC,CAAC;KAC7E;IAED,OAAO;QACL,QAAQ;QACR,QAAQ;KACT,CAAC;AACJ,CAAC;AAZD,kFAYC;AAiCD,MAAa,cAAe,SAAQ,gCAAgB;IAWlD,YAAY,QAAyB;QACnC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAEhB,IAAI,QAAQ,EAAE;YACZ,IAAI,CAAC,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC;YACxB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC;SACnC;IACH,CAAC;CACF;AAlBC;IAAC,IAAA,0BAAM,GAAE;IACR,IAAA,wBAAM,GAAE;IACR,IAAA,wBAAI,EAAC,GAAG,EAAE,CAAC,IAAI,CAAC;sCACX,IAAI;2CAAC;AAEX;IAAC,IAAA,0BAAM,GAAE;IACR,IAAA,0BAAQ,GAAE;IACV,IAAA,oCAAe,GAAE;;gDACQ;AAT5B,wCAmBC;AA6BD;;;;;;;GAOG;AACH,SAAgB,oCAAoC,CAAC,aAA2C;IAC9F,MAAM,cAAc,GAAG,aAAa,CAAC,CAAC,CAAC,IAAA,qCAAqB,EAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAA,2CAA2B,GAAE,CAAC;IAC5G,MAAM,QAAQ,GAAG,cAAc,CAAC,wBAAwB,CAAC;IAEzD,IAAI,CAAC,QAAQ,EAAE;QACb,MAAM,IAAI,KAAK,CAAC,2EAA2E,CAAC,CAAC;KAC9F;IAED,OAAO,cAAc,CAAC;AACxB,CAAC;AATD,oFASC;AAYD;;;;;GAKG;AACH,SAAgB,kBAAkB,CAAC,MAAsB;IACvD,OAAO,8BAA8B,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC;AAC3D,CAAC;AAFD,gDAEC;AAOD;;;;;GAKG;AACH,SAAgB,8BAA8B,CAAC,MAAsB;IACnE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC;IACrD,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE,GAAG,uBAAuB,CAAC,MAAM,CAAC,CAAC;IAElE,MAAM,UAAU,GAAG;QACjB,KAAK;QACL,QAAQ;QACR,GAAG;QACH,QAAQ;QACR,QAAQ;KACT,CAAC;IAEF,OAAO;QACL,UAAU;QACV,cAAc;KACf,CAAC;AACJ,CAAC;AAhBD,wEAgBC;AAED;;;;;GAKG;AACH,SAAgB,8BAA8B,CAAC,IAAU;IACvD,OAAO,IAAA,qBAAU,EAAC,IAAI,CAAC,KAAK,CAAC,IAAI,IAAA,qBAAU,EAAC,IAAI,CAAC,KAAK,CAAC,IAAI,IAAA,0BAAe,EAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACzF,CAAC;AAFD,wEAEC;AAED;;;;;;;;;;;;;GAaG;AACH,SAAgB,cAAc,CAAC,aAA+B,EAAE,UAAoC,EAAE,aAA2C;IAC/I,MAAM,EAAE,QAAQ,EAAE,GAAG,aAAa,CAAC;IAEnC,IAAI,QAAQ,GAAG,qBAAc,EAAE;QAC7B,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAC;KAC9E;IAED,MAAM,cAAc,GAAG,oCAAoC,CAAC,aAAa,CAAC,CAAC;IAC3E,MAAM,QAAQ,GAAG,cAAc,CAAC,wBAAkC,CAAC;IAEnE,IAAI,EAAE,QAAQ,EAAE,aAAa,EAAE,GAAG,aAAa,CAAC;IAEhD,kJAAkJ;IAClJ,IAAI,wBAAwB,GAAG,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,sBAAsB,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;IAErH,IAAI,mBAA2B,CAAC;IAEhC,IAAI,SAA2B,CAAC;IAChC,IAAI,KAAgB,CAAC;IAErB,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE;QAClC,kCAAkC;QAClC,mBAAmB,GAAG,UAAU,GAAG,CAAC,CAAC;QACrC,KAAK,GAAG,IAAA,sBAAS,EAAC,EAAE,IAAI,EAAE,0BAAa,CAAC,GAAG,EAAE,IAAI,EAAE,wBAAwB,EAAE,CAAC,CAAC;KAChF;SAAM,IAAI,IAAA,wBAAW,EAAC,UAAU,CAAC,EAAE;QAClC,6BAA6B;QAC7B,KAAK,GAAG,UAAU,CAAC;QACnB,SAAS,GAAG,UAAU,CAAC,KAAK,CAAC;QAE7B,IAAI,CAAC,8BAA8B,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE;YACrD,MAAM,IAAI,KAAK,CAAC,8EAA8E,CAAC,CAAC;SACjG;QAED,mBAAmB,GAAG,IAAA,2BAAgB,EAAC,UAAU,CAAC,GAAG,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,eAAe;KAC1F;SAAM;QACL,wBAAwB;QACxB,SAAS,GAAG,wBAAwB,CAAC;QACrC,mBAAmB,GAAG,UAAU,CAAC,QAAQ,GAAG,CAAC,CAAC;QAC9C,KAAK,GAAG,IAAA,sBAAS,EAAC,EAAE,IAAI,EAAE,0BAAa,CAAC,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,IAAI,CAAC,CAAC;KACvE;IAED,IAAI,SAAS,IAAI,IAAI,EAAE;QACrB,iFAAiF;QACjF,wBAAwB,GAAG,IAAA,kCAA2B,EAAC,KAAK,CAAC,KAAK,EAAE,wBAAwB,EAAE,IAAI,CAAC,CAAC;QAEpG,MAAM,kBAAkB,GAAG,IAAA,mBAAQ,EAAC,wBAAwB,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;QAE3E,IAAI,kBAAkB,EAAE;YACtB,wBAAwB,GAAG,IAAA,kBAAO,EAAC,wBAAwB,EAAE,CAAC,CAAC,CAAC,CAAC,wBAAwB;YACzF,mBAAmB,GAAG,IAAI,CAAC,GAAG,CAAC,mBAAmB,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,oDAAoD;SACjH;KACF;SAAM;QACL,wBAAwB,GAAG,IAAA,wBAAiB,EAAC,wBAAwB,CAAC,CAAC,CAAC,+CAA+C;KACxH;IAED,MAAM,4BAA4B,GAAG,IAAA,kBAAO,EAAC,wBAAwB,EAAE,mBAAmB,CAAC,CAAC,CAAC,iGAAiG;IAE9L,sEAAsE;IACtE,MAAM,GAAG,GAAS,cAAc,CAAC,sBAAsB,CAAC,IAAA,qBAAU,EAAC,4BAA4B,EAAE,QAAQ,CAAC,CAAC,CAAC;IAE5G,MAAM,KAAK,GAAG,cAAc,CAAC,sBAAsB,CAAC,IAAA,qBAAU,EAAC,wBAAwB,CAAC,CAAC,CAAC;IAC1F,MAAM,QAAQ,GAAG,cAAc,CAAC,sBAAsB,CAAC,wBAAwB,CAAC,CAAC;IAEjF,OAAO;QACL,KAAK;QACL,GAAG;QACH,QAAQ;QACR,QAAQ;QACR,QAAQ;KACT,CAAC;AACJ,CAAC;AAtED,wCAsEC;AAOD;;;;;GAKG;AACH,SAAgB,uBAAuB,CAAC,MAA8B;IACpE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC;IACtC,MAAM,cAAc,GAAG,IAAA,qCAAqB,EAAC,QAAQ,CAAC,CAAC;IACvD,MAAM,gBAAgB,GAAG,cAAc,CAAC,sBAAsB,CAAC,QAAQ,CAAC,CAAC;IACzE,MAAM,KAAK,GAAG,cAAc,CAAC,0BAA0B,CAAC,gBAAgB,CAAC,CAAC;IAE1E,OAAO;QACL,KAAK;QACL,cAAc;KACf,CAAC;AACJ,CAAC;AAVD,0DAUC;AAED;;;;GAIG;AACH,SAAgB,mBAAmB,CAAC,MAA8B;IAChE,OAAO,uBAAuB,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC;AAC/C,CAAC;AAFD,kDAEC;AAiBD;;;;;GAKG;AACH,SAAgB,yCAAyC,CAAC,CAAwC,EAAE,CAAwC;IAC1I,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,QAAQ,IAAI,IAAA,iBAAU,EAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,IAAA,iBAAU,EAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AACvH,CAAC;AAFD,8FAEC;AAED;;;;;GAKG;AACH,SAAgB,oBAAoB,CAAC,CAAwB,EAAE,CAAwB;IACrF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,QAAQ,IAAI,yCAAyC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AACxG,CAAC;AAFD,oDAEC;AAED;;;;;;;;GAQG;AACH,SAAgB,wBAAwB,CAAC,CAA4B,EAAE,CAA4B;IACjG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAA,iBAAU,EAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,oBAAoB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AACtF,CAAC;AAFD,4DAEC;AAED;;;;;;GAMG;AACH,SAAgB,gBAAgB,CAAC,KAAc;IAC7C,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QAC7B,MAAM,QAAQ,GAAG,KAAuB,CAAC;QACzC,OAAO,IAAA,aAAM,EAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAA,aAAM,EAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,OAAO,QAAQ,CAAC,QAAQ,KAAK,QAAQ,IAAI,OAAO,QAAQ,CAAC,QAAQ,KAAK,QAAQ,CAAC;KAC5I;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAPD,4CAOC;AAED;;;;;;GAMG;AACH,SAAgB,oBAAoB,CAAC,KAAc;IACjD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QAC7B,MAAM,QAAQ,GAAG,KAA2B,CAAC;QAC7C,OAAO,IAAA,aAAM,EAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,gBAAgB,CAAC,QAAQ,CAAC,CAAC;KAC7D;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAPD,oDAOC;AAED;;;;;GAKG;AACH,SAAgB,uBAAuB,CAAC,MAAsC;IAC5E,MAAM,KAAK,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC;IAC1C,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC;AAC/D,CAAC;AAHD,0DAGC;AAED;;;;;GAKG;AACH,SAAgB,wBAAwB,CAAC,MAA6D;IACpG,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,QAAQ,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC;AAChF,CAAC;AAFD,4DAEC;AAED;;;;;GAKG;AACH,SAAgB,oCAAoC,CAAC,MAAsC;IACzF,OAAO,IAAA,6CAAuB,EAAC,EAAE,KAAK,EAAE,MAAM,CAAC,QAAQ,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;AAC/F,CAAC;AAFD,oFAEC;AAED;;;;GAIG;AACH,SAAgB,6BAA6B,CAAC,MAAwC;IACpF,OAAO,IAAA,+BAAwB,EAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;AACnD,CAAC;AAFD,sEAEC;AAWD;;;;;GAKG;AACH,SAAgB,sCAAsC,CAAC,aAA0C;IAC/F,MAAM,cAAc,GAAG,oCAAoC,CAAC,aAAa,CAAC,CAAC;IAC3E,MAAM,QAAQ,GAAG,cAAc,CAAC,wBAAkC,CAAC;IAEnE,MAAM,EAAE,GAAG,CAAC,CAA2C,MAAS,EAAE,EAAE;QAClE,MAAM,yBAAyB,GAAG,oCAAoC,CAAC,aAAa,CAAC,CAAC;QACtF,MAAM,cAAc,GAAG,yBAAyB,CAAC,oBAAoB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACvF,MAAM,SAAS,GAAG,yBAAyB,CAAC,oBAAoB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAE7E,MAAM,QAAQ,GAAG,cAAc,CAAC,oBAAoB,CAAC,cAAc,CAAC,CAAC;QACrE,MAAM,GAAG,GAAG,cAAc,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC;QAE3D,MAAM,SAAS,mCACV,MAAM,KACT,KAAK,EAAE,mBAAmB,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,EAClD,QAAQ;YACR,QAAQ;YACR,GAAG,GACJ,CAAC;QAEF,OAAO,SAAS,CAAC;IACnB,CAAC,CAAqD,CAAC;IACvD,EAAE,CAAC,eAAe,GAAG,cAAc,CAAC;IACpC,OAAO,EAA4C,CAAC;AACtD,CAAC;AAxBD,wFAwBC;AAED;;;;;GAKG;AACH,SAAgB,oCAAoC,CAA2C,MAAS;IACtG,OAAO,8BAA8B,CAAC,MAAM,EAAE,wDAAwC,CAAC,CAAC;AAC1F,CAAC;AAFD,oFAEC;AAED;;;;;;GAMG;AACH,SAAgB,8BAA8B,CAA2C,MAAS,EAAE,QAAqC;IACvI,OAAO,sCAAsC,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC;AAClE,CAAC;AAFD,wEAEC;AAOD;;;;;GAKG;AACH,SAAgB,2CAA2C,CAAC,MAAsC;IAChG,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC;IAC3C,MAAM,cAAc,GAAG,IAAA,qCAAqB,EAAC,QAAQ,CAAC,CAAC;IAEvD,MAAM,mBAAmB,GAAG,cAAc,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC,CAAC,wBAAwB;IACnG,MAAM,cAAc,GAAG,cAAc,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC;IAEhE,MAAM,mCAAmC,GAAG,IAAA,mCAAwB,EAAC,cAAc,EAAE,mBAAmB,CAAC,CAAC;IAC1G,MAAM,QAAQ,GAAG,CAAC,mCAAmC,GAAG,mBAAY,CAAC,GAAG,qBAAc,IAAI,qBAAc,CAAC;IACzG,MAAM,qBAAqB,GAAG,cAAc,CAAC,oBAAoB,CAAC,IAAA,qBAAU,EAAC,cAAc,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEzG,sKAAsK;IAEtK,OAAO;QACL,QAAQ;QACR,qBAAqB;KACtB,CAAC;AACJ,CAAC;AAjBD,kGAiBC;AAED,SAAgB,uCAAuC,CAAC,MAAsC;IAC5F,OAAO,2CAA2C,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC;AACtE,CAAC;AAFD,0FAEC;AAED;;;;;GAKG;AACH,SAAgB,gCAAgC,CAAC,MAAsC;IACrF,MAAM,EAAE,QAAQ,EAAE,qBAAqB,EAAE,QAAQ,EAAE,GAAG,2CAA2C,CAAC,MAAM,CAAC,CAAC;IAC1G,OAAO;QACL,QAAQ;QACR,QAAQ;KACT,CAAC;AACJ,CAAC;AAND,4EAMC;AAYD,SAAgB,yBAAyB,CAAC,MAAsB;IAC9D,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC;IACrD,MAAM,cAAc,GAAG,IAAA,qCAAqB,EAAC,QAAQ,CAAC,CAAC;IAEvD,MAAM,yBAAyB,GAAG,IAAA,kBAAO,EAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IACzD,MAAM,uBAAuB,GAAG,QAAQ,GAAG,CAAC,CAAC;IAC7C,MAAM,uBAAuB,GAAG,QAAQ,IAAI,qBAAc,CAAC;IAC3D,MAAM,sBAAsB,GAAG,QAAQ,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,QAAQ,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;IAE/F,IAAI,OAAO,GAAY,KAAK,CAAC;IAC7B,IAAI,kBAAkB,GAAY,KAAK,CAAC;IAExC,IACE,yBAAyB,IAAI,sCAAsC;QACnE,uBAAuB;QACvB,uBAAuB;QACvB,sBAAsB,EACtB;QACA,MAAM,gBAAgB,GAAG,uCAAuC,CAAC,MAAM,CAAC,CAAC;QACzE,kBAAkB,GAAG,gBAAgB,KAAK,QAAQ,CAAC,CAAC,kCAAkC;QACtF,OAAO,GAAG,kBAAkB,CAAC;KAC9B;IAED,MAAM,MAAM,GAAG;QACb,OAAO;QACP,yBAAyB;QACzB,uBAAuB;QACvB,uBAAuB;QACvB,sBAAsB;QACtB,kBAAkB;QAClB,cAAc;KACf,CAAC;IAEF,OAAO,MAAM,CAAC;AAChB,CAAC;AAlCD,8DAkCC;AAED;;;;;GAKG;AACH,SAAgB,qBAAqB,CAAC,MAAsB;IAC1D,MAAM,EAAE,OAAO,EAAE,GAAG,yBAAyB,CAAC,MAAM,CAAC,CAAC;IACtD,OAAO,OAAO,CAAC;AACjB,CAAC;AAHD,sDAGC;AAUD,SAAgB,6BAA6B,CAAC,MAA0B;IACtE,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE,GAAG,uBAAuB,CAAC,MAAM,CAAC,CAAC;IAClE,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC;IAE5B,MAAM,WAAW,GAAG,yBAAyB,CAAC,MAAM,CAAC,CAAC;IACtD,MAAM,EAAE,yBAAyB,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,GAAG,WAAW,CAAC;IAEhJ,MAAM,uBAAuB,GAAG,KAAK,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC,CAAC,wCAAwC;IACvG,MAAM,YAAY,GAAG,IAAA,mCAAwB,EAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,4FAA4F;IAE5J,MAAM,mBAAmB,GAAG,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IACrD,MAAM,oBAAoB,GAAG,YAAY,IAAI,CAAC,CAAC;IAC/C,MAAM,mCAAmC,GAAG,YAAY,GAAG,gBAAS,CAAC;IAErE,MAAM,UAAU,GAAG,cAAc,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;IAC9D,MAAM,iBAAiB,GAAG,UAAU,CAAC,WAAW,EAAE,KAAK,CAAC,IAAI,UAAU,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IAE1F,MAAM,OAAO,GACX,WAAW,CAAC,OAAO;QACnB,uBAAuB;QACvB,yBAAyB,IAAI,sCAAsC;QACnE,uBAAuB;QACvB,uBAAuB;QACvB,mBAAmB,IAAI,4BAA4B;QACnD,oBAAoB,IAAI,sDAAsD;QAC9E,mCAAmC,IAAI,oFAAoF;QAC3H,iBAAiB,CAAC;IAEpB,MAAM,MAAM,GAAkC;QAC5C,OAAO;QACP,uBAAuB;QACvB,iBAAiB;QACjB,mBAAmB;QACnB,oBAAoB;QACpB,mCAAmC;QACnC,yBAAyB;QACzB,uBAAuB;QACvB,uBAAuB;QACvB,sBAAsB;QACtB,kBAAkB;QAClB,cAAc;KACf,CAAC;IAEF,kEAAkE;IAElE,OAAO,MAAM,CAAC;AAChB,CAAC;AA9CD,sEA8CC;AAED,SAAgB,yBAAyB,CAAC,MAA0B;IAClE,MAAM,EAAE,OAAO,EAAE,GAAG,6BAA6B,CAAC,MAAM,CAAC,CAAC;IAC1D,OAAO,OAAO,CAAC;AACjB,CAAC;AAHD,8DAGC"}