@dereekb/date 9.24.33 → 9.24.35

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -2,6 +2,14 @@
2
2
 
3
3
  This file was generated using [@jscutlery/semver](https://github.com/jscutlery/semver).
4
4
 
5
+ ## [9.24.35](https://github.com/dereekb/dbx-components/compare/v9.24.34-dev...v9.24.35) (2023-08-24)
6
+
7
+
8
+
9
+ ## [9.24.34](https://github.com/dereekb/dbx-components/compare/v9.24.33-dev...v9.24.34) (2023-08-23)
10
+
11
+
12
+
5
13
  ## [9.24.33](https://github.com/dereekb/dbx-components/compare/v9.24.32-dev...v9.24.33) (2023-08-23)
6
14
 
7
15
 
package/package.json CHANGED
@@ -1,13 +1,13 @@
1
1
  {
2
2
  "name": "@dereekb/date",
3
- "version": "9.24.33",
3
+ "version": "9.24.35",
4
4
  "type": "commonjs",
5
5
  "main": "./src/index.js",
6
6
  "types": "./src/index.d.ts",
7
7
  "dependencies": {},
8
8
  "peerDependencies": {
9
9
  "date-fns": "^2.29.0",
10
- "@dereekb/util": "9.24.33",
10
+ "@dereekb/util": "9.24.35",
11
11
  "lodash.isequal": "^4.5.0",
12
12
  "make-error": "^1.3.0",
13
13
  "class-validator": "^0.13.2",
@@ -1,7 +1,7 @@
1
1
  import { DayOfWeek, RequiredOnKeys, IndexNumber, IndexRange, IndexRef, UniqueModel, FactoryWithRequiredInput, FilterFunction, Milliseconds, Hours, MapFunction, SortCompareFunction, ArrayOrValue, Maybe, TimezoneString, ISO8601DayString, FractionalHour } from '@dereekb/util';
2
2
  import { DateRange, DateRangeDayDistanceInput, DateRangeStart } from './date.range';
3
3
  import { DateDurationSpan } from './date.duration';
4
- import { DateTimezoneUtcNormalFunctionInput, DateTimezoneUtcNormalInstance } from './date.timezone';
4
+ import { DateTimezoneUtcNormalFunctionInput, DateTimezoneUtcNormalInstance, DateTimezoneConversionConfigUseSystemTimezone } from './date.timezone';
5
5
  /**
6
6
  * Index from 0 of which day this block represents.
7
7
  */
@@ -46,9 +46,13 @@ export declare type DateBlockArrayRef<B extends DateBlock = DateBlock> = {
46
46
  /**
47
47
  * DateBlockTiming with only the start time.
48
48
  *
49
- * The start time is midnight of what timezone it is in, and can be used to infer the target timezone offset.
49
+ * The start time is midnight of what timezone it is in, and can be used to infer the target timezone offset for that date.
50
50
  */
51
51
  export declare type DateBlockTimingStart = DateRangeStart;
52
+ /**
53
+ * The DateBlockTimingStart and startsAt times
54
+ */
55
+ export declare type DateBlockTimingStartAndStartsAt = DateBlockTimingStart & Pick<DateBlockTiming, 'startsAt'>;
52
56
  /**
53
57
  * Is combination of DateRange and DateDurationSpan. The DateRange captures a range of days that a DateBlock takes up, and the DateDurationSpan
54
58
  * captures the Dates at which the Job occurs at.
@@ -85,7 +89,13 @@ export declare class DateBlockTiming extends DateDurationSpan {
85
89
  constructor(template?: DateBlockTiming);
86
90
  }
87
91
  export interface CurrentDateBlockTimingUtcData {
92
+ /**
93
+ * Non-normalized start date in the system time.
94
+ */
88
95
  originalUtcDate: Date;
96
+ /**
97
+ * Offset of the input timing to UTC.
98
+ */
89
99
  originalUtcOffsetInHours: Hours;
90
100
  }
91
101
  export interface CurrentDateBlockTimingOffsetData extends CurrentDateBlockTimingUtcData {
@@ -195,7 +205,7 @@ export declare function dateBlockTimingStartForNowInSystemTimezone(): DateBlockT
195
205
  */
196
206
  export declare function dateBlockTimingStartForNowInTimezone(timezoneInput: TimingDateTimezoneUtcNormalInput): DateBlockTimingStart;
197
207
  /**
198
- * Returns the startsAt date in the current/system timezone for the given date.
208
+ * Returns the start date in the current/system timezone for the given date.
199
209
  *
200
210
  * @param timing
201
211
  */
@@ -212,14 +222,22 @@ export declare type DateTimingRelativeIndexFactoryInput = DateOrDateBlockIndex |
212
222
  */
213
223
  export declare type DateTimingRelativeIndexFactory<T extends DateBlockTimingStart = DateBlockTimingStart> = ((input: DateTimingRelativeIndexFactoryInput) => DateBlockIndex) & {
214
224
  readonly _timing: T;
225
+ readonly _timingOffsetData: CurrentDateBlockTimingOffsetData;
215
226
  };
216
227
  /**
217
- * Creates a DateTimingRelativeIndexFactory.
228
+ * Returns true if the input is a DateTimingRelativeIndexFactory.
218
229
  *
219
- * @param timing
230
+ * @param input
220
231
  * @returns
221
232
  */
222
- export declare function dateTimingRelativeIndexFactory<T extends DateBlockTimingStart = DateBlockTimingStart>(timing: T): DateTimingRelativeIndexFactory<T>;
233
+ export declare function isDateTimingRelativeIndexFactory<T extends DateBlockTimingStart = DateBlockTimingStart>(input: unknown): input is DateTimingRelativeIndexFactory<T>;
234
+ /**
235
+ * Creates a DateTimingRelativeIndexFactory from the input.
236
+ *
237
+ * @param input
238
+ * @returns
239
+ */
240
+ export declare function dateTimingRelativeIndexFactory<T extends DateBlockTimingStart = DateBlockTimingStart>(input: T | DateTimingRelativeIndexFactory<T>): DateTimingRelativeIndexFactory<T>;
223
241
  /**
224
242
  * Function that wraps a DateTimingRelativeIndexFactory and converts multuple Date/DateBlockIndex/DateBlockRange values into an array of DateBlockIndex values.
225
243
  */
@@ -240,7 +258,9 @@ export declare function dateTimingRelativeIndexArrayFactory<T extends DateBlockT
240
258
  */
241
259
  export declare function getRelativeIndexForDateTiming(timing: DateBlockTimingStart, date?: DateOrDateBlockIndex): DateBlockIndex;
242
260
  /**
243
- * Returns the Date of the input DateBlockIndex relative to the configured Date. If a date is entered, the date is returned.
261
+ * Similar to the DateTimingRelativeIndexFactory, but returns a date instead of an index for the input.
262
+ *
263
+ * If an index is input, returns a date with the hours and minutes for now for the given date returned.
244
264
  */
245
265
  export declare type DateBlockTimingDateFactory<T extends DateBlockTimingStart = DateBlockTimingStart> = ((input: DateOrDateBlockIndex) => Date) & {
246
266
  readonly _timing: T;
@@ -252,6 +272,32 @@ export declare type DateBlockTimingDateFactory<T extends DateBlockTimingStart =
252
272
  * @returns
253
273
  */
254
274
  export declare function dateBlockTimingDateFactory<T extends DateBlockTimingStart = DateBlockTimingStart>(timing: T): DateBlockTimingDateFactory<T>;
275
+ /**
276
+ * Returns the start time of the input date or index.
277
+ */
278
+ export declare type DateBlockTimingStartDateFactory<T extends DateBlockTimingStart = DateBlockTimingStart> = ((input: DateOrDateBlockIndex) => Date) & {
279
+ readonly _indexFactory: DateTimingRelativeIndexFactory<T>;
280
+ };
281
+ /**
282
+ * Creates a DateBlockTimingDateFactory. The timezone is required to properly compute the accurate startsAt date for locations that experience daylight savings.
283
+ *
284
+ * @param timing
285
+ * @returns
286
+ */
287
+ export declare function dateBlockTimingStartDateFactory<T extends DateBlockTimingStart = DateBlockTimingStart>(input: T | DateTimingRelativeIndexFactory<T>, timezone: TimezoneString | DateTimezoneConversionConfigUseSystemTimezone): DateBlockTimingStartDateFactory<T>;
288
+ /**
289
+ * Returns the startsAt time of the input date or index.
290
+ */
291
+ export declare type DateBlockTimingStartsAtDateFactory<T extends DateBlockTimingStart = DateBlockTimingStart> = ((input: DateOrDateBlockIndex) => Date) & {
292
+ readonly _indexFactory: DateTimingRelativeIndexFactory<T>;
293
+ };
294
+ /**
295
+ * Creates a DateBlockTimingStartsAtDateFactory.
296
+ *
297
+ * @param timing
298
+ * @returns
299
+ */
300
+ export declare function dateBlockTimingStartsAtDateFactory<T extends DateBlockTimingStartAndStartsAt = DateBlockTimingStartAndStartsAt>(input: T | DateTimingRelativeIndexFactory<T>): DateBlockTimingStartsAtDateFactory<T>;
255
301
  /**
256
302
  * Returns the date of the input index.
257
303
  *
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getGreatestDateBlockIndexInDateBlockRanges = exports.isValidDateBlockRangeSeries = exports.isValidDateBlockRange = exports.DateBlockRange = exports.isDateWithinDateBlockRangeFunction = exports.isDateBlockWithinDateBlockRange = exports.isDateBlockWithinDateBlockRangeFunction = exports.dateBlocksInDateBlockRange = exports.dateBlockIndexRange = exports.dateBlockIndexRangeToDateBlockRange = exports.dateBlockRangeToDateBlockIndexRange = exports.dateBlockDayTimingInfoFactory = exports.dateBlocksExpansionFactory = exports.expandDateBlocks = exports.expandDateBlockCollection = exports.dateBlockDayOfWeekFactory = exports.isValidDateBlockTiming = exports.isValidDateBlockTimingInfo = exports.dateBlockTimingInTimezone = exports.dateBlockTimingInTimezoneFunction = exports.dateBlockTiming = exports.getRelativeDateForDateBlockTiming = exports.dateBlockTimingDateFactory = exports.getRelativeIndexForDateTiming = exports.dateTimingRelativeIndexArrayFactory = exports.dateTimingRelativeIndexFactory = exports.isValidDateBlockTimingStartDate = exports.getCurrentDateBlockTimingStartDate = exports.dateBlockTimingStartForNowInTimezone = exports.dateBlockTimingStartForNowInSystemTimezone = exports.changeTimingToSystemTimezone = exports.changeTimingToTimezone = exports.changeTimingToTimezoneFunction = exports.dateBlockTimingFromDateBlockTimingStartEndDayDateRange = exports.safeDateBlockTimingFromDateRangeAndEvent = exports.dateBlockTimingFromDateRangeAndEvent = exports.timingDateTimezoneUtcNormal = exports.getDateBlockTimingHoursInEvent = exports.getDateBlockTimingFirstEventDateRange = exports.timingIsInExpectedTimezone = exports.timingIsInExpectedTimezoneFunction = exports.getCurrentDateBlockTimingOffset = exports.getCurrentDateBlockTimingOffsetData = exports.getCurrentDateBlockTimingUtcData = exports.dateBlockTimingEventRange = exports.dateBlockTimingFullRange = exports.DateBlockTiming = exports.dateBlock = exports.DateBlock = exports.isValidDateBlockIndex = void 0;
4
- exports.dateBlocksDayInfoFactory = exports.dateBlockRangeContainsDateBlock = exports.dateBlockIsWithinDateBlockRangeFunction = exports.modifyDateBlockToFitRange = exports.modifyDateBlocksToFitRange = exports.modifyDateBlocksToFitRangeFunction = exports.expandUniqueDateBlocksFunction = exports.groupUniqueDateBlocks = exports.dateBlockEndIndex = exports.dateBlockRangeHasRange = exports.expandDateBlockRange = exports.dateBlockRangesFullyCoverDateBlockRangeFunction = exports.dateBlockRangeBlocksCount = exports.dateBlockRangeBlocksCountInfo = exports.allIndexesInDateBlockRanges = exports.allIndexesInDateBlockRange = exports.groupToDateBlockRanges = exports.sortDateBlockRanges = exports.sortDateBlockRangeAndSizeFunction = exports.dateBlockRangeOverlapsRange = exports.dateBlockRangeOverlapsRangeFunction = exports.dateBlockRangeIncludedByRangeFunction = exports.dateBlockRangeWithRange = exports.dateBlockRangeWithRangeFromIndex = exports.dateBlockRange = void 0;
3
+ exports.DateBlockRange = exports.isDateWithinDateBlockRangeFunction = exports.isDateBlockWithinDateBlockRange = exports.isDateBlockWithinDateBlockRangeFunction = exports.dateBlocksInDateBlockRange = exports.dateBlockIndexRange = exports.dateBlockIndexRangeToDateBlockRange = exports.dateBlockRangeToDateBlockIndexRange = exports.dateBlockDayTimingInfoFactory = exports.dateBlocksExpansionFactory = exports.expandDateBlocks = exports.expandDateBlockCollection = exports.dateBlockDayOfWeekFactory = exports.isValidDateBlockTiming = exports.isValidDateBlockTimingInfo = exports.dateBlockTimingInTimezone = exports.dateBlockTimingInTimezoneFunction = exports.dateBlockTiming = exports.getRelativeDateForDateBlockTiming = exports.dateBlockTimingStartsAtDateFactory = exports.dateBlockTimingStartDateFactory = exports.dateBlockTimingDateFactory = exports.getRelativeIndexForDateTiming = exports.dateTimingRelativeIndexArrayFactory = exports.dateTimingRelativeIndexFactory = exports.isDateTimingRelativeIndexFactory = exports.isValidDateBlockTimingStartDate = exports.getCurrentDateBlockTimingStartDate = exports.dateBlockTimingStartForNowInTimezone = exports.dateBlockTimingStartForNowInSystemTimezone = exports.changeTimingToSystemTimezone = exports.changeTimingToTimezone = exports.changeTimingToTimezoneFunction = exports.dateBlockTimingFromDateBlockTimingStartEndDayDateRange = exports.safeDateBlockTimingFromDateRangeAndEvent = exports.dateBlockTimingFromDateRangeAndEvent = exports.timingDateTimezoneUtcNormal = exports.getDateBlockTimingHoursInEvent = exports.getDateBlockTimingFirstEventDateRange = exports.timingIsInExpectedTimezone = exports.timingIsInExpectedTimezoneFunction = exports.getCurrentDateBlockTimingOffset = exports.getCurrentDateBlockTimingOffsetData = exports.getCurrentDateBlockTimingUtcData = exports.dateBlockTimingEventRange = exports.dateBlockTimingFullRange = exports.DateBlockTiming = exports.dateBlock = exports.DateBlock = exports.isValidDateBlockIndex = void 0;
4
+ exports.dateBlocksDayInfoFactory = exports.dateBlockRangeContainsDateBlock = exports.dateBlockIsWithinDateBlockRangeFunction = exports.modifyDateBlockToFitRange = exports.modifyDateBlocksToFitRange = exports.modifyDateBlocksToFitRangeFunction = exports.expandUniqueDateBlocksFunction = exports.groupUniqueDateBlocks = exports.dateBlockEndIndex = exports.dateBlockRangeHasRange = exports.expandDateBlockRange = exports.dateBlockRangesFullyCoverDateBlockRangeFunction = exports.dateBlockRangeBlocksCount = exports.dateBlockRangeBlocksCountInfo = exports.allIndexesInDateBlockRanges = exports.allIndexesInDateBlockRange = exports.groupToDateBlockRanges = exports.sortDateBlockRanges = exports.sortDateBlockRangeAndSizeFunction = exports.dateBlockRangeOverlapsRange = exports.dateBlockRangeOverlapsRangeFunction = exports.dateBlockRangeIncludedByRangeFunction = exports.dateBlockRangeWithRange = exports.dateBlockRangeWithRangeFromIndex = exports.dateBlockRange = exports.getGreatestDateBlockIndexInDateBlockRanges = exports.isValidDateBlockRangeSeries = exports.isValidDateBlockRange = void 0;
5
5
  const tslib_1 = require("tslib");
6
6
  const util_1 = require("@dereekb/util");
7
7
  const date_range_1 = require("./date.range");
@@ -90,8 +90,9 @@ exports.dateBlockTimingEventRange = dateBlockTimingEventRange;
90
90
  function getCurrentDateBlockTimingUtcData(timing) {
91
91
  const start = timing.start;
92
92
  const dateHours = start.getUTCHours();
93
+ const MAX_OFFSET_HOURS = 12;
93
94
  // if it is a positive offset, then the date is in the future so we subtract the offset from 24 hours to get the proper offset.
94
- const originalUtcOffsetInHours = dateHours > 12 ? 24 - dateHours : -dateHours;
95
+ const originalUtcOffsetInHours = dateHours > MAX_OFFSET_HOURS ? util_1.HOURS_IN_DAY - dateHours : -dateHours;
95
96
  const originalUtcDate = (0, date_fns_1.addHours)(start, originalUtcOffsetInHours); // convert to original UTC
96
97
  return {
97
98
  originalUtcDate,
@@ -109,7 +110,7 @@ function getCurrentDateBlockTimingOffsetData(timing) {
109
110
  const currentTimezoneOffsetInHours = (0, date_timezone_1.getCurrentSystemOffsetInHours)(originalUtcDate); // get the offset as it is on that day
110
111
  // calculate the true offset
111
112
  let offset = originalUtcOffsetInHours - currentTimezoneOffsetInHours;
112
- if (offset === -24) {
113
+ if (offset === -util_1.HOURS_IN_DAY) {
113
114
  offset = 0; // auckland can return -24 for itself
114
115
  }
115
116
  return {
@@ -187,7 +188,7 @@ function dateBlockTimingFromDateRangeAndEvent(dateBlockTimingStartEndRange, even
187
188
  // this is necessary because the start is a timezone normal for UTC, and the minutes need to be converted back properly adjusting for timezones.
188
189
  const timezoneInstance = timingDateTimezoneUtcNormal(dateBlockTimingStartEndRange);
189
190
  // compute startsAt, the start time for the first event
190
- const startsAt = (0, date_timezone_1.copyHoursAndMinutesFromDatesWithTimezoneNormal)(start, eventStartsAt, timezoneInstance);
191
+ const startsAt = (0, date_timezone_1.copyHoursAndMinutesFromDateWithTimezoneNormal)(start, eventStartsAt, timezoneInstance);
191
192
  const timing = {
192
193
  start,
193
194
  end,
@@ -245,9 +246,9 @@ function _dateBlockTimingFromDateBlockTimingStartEndDayDateRange(dateBlockTiming
245
246
  const { start, endDay } = dateBlockTimingStartEndDayDateRange;
246
247
  const { startsAt: eventStartsAt, duration } = event;
247
248
  // compute startsAt, the start time for the first event
248
- const startsAt = (0, date_timezone_1.copyHoursAndMinutesFromDatesWithTimezoneNormal)(start, eventStartsAt, timezoneInstance);
249
+ const startsAt = (0, date_timezone_1.copyHoursAndMinutesFromDateWithTimezoneNormal)(start, eventStartsAt, timezoneInstance);
249
250
  // compute end, the end time for the last event using the last day
250
- const end = (0, date_fns_1.addMinutes)((0, date_timezone_1.copyHoursAndMinutesFromDatesWithTimezoneNormal)(endDay, eventStartsAt, timezoneInstance), duration);
251
+ const end = (0, date_fns_1.addMinutes)((0, date_timezone_1.copyHoursAndMinutesFromDateWithTimezoneNormal)(endDay, eventStartsAt, timezoneInstance), duration);
251
252
  const timing = {
252
253
  start,
253
254
  end,
@@ -301,7 +302,7 @@ function dateBlockTimingStartForNowInTimezone(timezoneInput) {
301
302
  }
302
303
  exports.dateBlockTimingStartForNowInTimezone = dateBlockTimingStartForNowInTimezone;
303
304
  /**
304
- * Returns the startsAt date in the current/system timezone for the given date.
305
+ * Returns the start date in the current/system timezone for the given date.
305
306
  *
306
307
  * @param timing
307
308
  */
@@ -315,31 +316,54 @@ function isValidDateBlockTimingStartDate(date) {
315
316
  }
316
317
  exports.isValidDateBlockTimingStartDate = isValidDateBlockTimingStartDate;
317
318
  /**
318
- * Creates a DateTimingRelativeIndexFactory.
319
+ * Returns true if the input is a DateTimingRelativeIndexFactory.
319
320
  *
320
- * @param timing
321
+ * @param input
321
322
  * @returns
322
323
  */
323
- function dateTimingRelativeIndexFactory(timing) {
324
- const startDate = getCurrentDateBlockTimingStartDate(timing);
325
- const baseOffset = startDate.getTimezoneOffset();
326
- const factory = ((input) => {
327
- const inputType = typeof input;
328
- if (inputType === 'number') {
329
- return input;
330
- }
331
- else if (inputType === 'string') {
332
- input = (0, date_format_1.parseISO8601DayStringToDate)(input);
333
- }
334
- const inputOffset = input.getTimezoneOffset();
335
- const offsetDifferenceHours = (0, date_fns_1.minutesToHours)(baseOffset - inputOffset); // handle timezone offset changes
336
- const baseDiff = (0, date_fns_1.differenceInHours)(input, startDate);
337
- const diff = baseDiff + offsetDifferenceHours;
338
- const daysOffset = Math.floor(diff / 24);
339
- return daysOffset;
340
- });
341
- factory._timing = timing;
342
- return factory;
324
+ function isDateTimingRelativeIndexFactory(input) {
325
+ return typeof input === 'function' && input._timing != null && input._timingOffsetData != null;
326
+ }
327
+ exports.isDateTimingRelativeIndexFactory = isDateTimingRelativeIndexFactory;
328
+ /**
329
+ * Creates a DateTimingRelativeIndexFactory from the input.
330
+ *
331
+ * @param input
332
+ * @returns
333
+ */
334
+ function dateTimingRelativeIndexFactory(input) {
335
+ if (isDateTimingRelativeIndexFactory(input)) {
336
+ return input;
337
+ }
338
+ else {
339
+ const timing = input;
340
+ const offsetData = getCurrentDateBlockTimingOffsetData(timing);
341
+ const { originalUtcOffsetInHours: toUtcOffset, currentTimezoneOffsetInHours, originalUtcDate: originalUtcDateInSystemTimeNormal } = offsetData;
342
+ const baseOffsetInHours = currentTimezoneOffsetInHours;
343
+ const factory = ((input) => {
344
+ const inputType = typeof input;
345
+ if (inputType === 'number') {
346
+ return input;
347
+ }
348
+ else if (inputType === 'string') {
349
+ const startOfDayInUtc = (0, date_format_1.parseISO8601DayStringToUTCDate)(input); // convert to system timezone
350
+ const diff = (0, date_fns_1.differenceInHours)(startOfDayInUtc, originalUtcDateInSystemTimeNormal); // compare the system times
351
+ const daysOffset = Math.floor(diff / util_1.HOURS_IN_DAY); // total number of hours difference from the original UTC date
352
+ return daysOffset ? daysOffset : 0; // do not return -0
353
+ }
354
+ else {
355
+ const inputDateTimezoneOffset = input.getTimezoneOffset(); // get current system timezone offset
356
+ const offsetDifferenceHours = baseOffsetInHours + (0, date_fns_1.minutesToHours)(inputDateTimezoneOffset); // handle timezone offset changes
357
+ const baseDiff = (0, date_fns_1.differenceInHours)(input, originalUtcDateInSystemTimeNormal); // compare the difference in system times
358
+ const diff = baseDiff + toUtcOffset - offsetDifferenceHours; // apply any timezone changes, then back to UTC for comparison
359
+ const daysOffset = Math.floor(diff / util_1.HOURS_IN_DAY); // total number of hours difference from the original UTC date
360
+ return daysOffset ? daysOffset : 0; // do not return -0
361
+ }
362
+ });
363
+ factory._timing = timing;
364
+ factory._timingOffsetData = offsetData;
365
+ return factory;
366
+ }
343
367
  }
344
368
  exports.dateTimingRelativeIndexFactory = dateTimingRelativeIndexFactory;
345
369
  /**
@@ -390,19 +414,64 @@ exports.getRelativeIndexForDateTiming = getRelativeIndexForDateTiming;
390
414
  * @returns
391
415
  */
392
416
  function dateBlockTimingDateFactory(timing) {
393
- const startDate = getCurrentDateBlockTimingStartDate(timing);
417
+ const offsetData = getCurrentDateBlockTimingOffsetData(timing);
418
+ const utcStartDate = offsetData.originalUtcDate;
394
419
  const factory = ((input) => {
395
420
  if ((0, date_1.isDate)(input)) {
396
421
  return input;
397
422
  }
398
423
  else {
399
- return (0, date_fns_1.addDays)(startDate, input); // TODO: Is this right to use days, or should it use hours to avoid daylight savings?
424
+ const now = new Date();
425
+ const utcStartDateWithNowTime = new Date(Date.UTC(utcStartDate.getUTCFullYear(), utcStartDate.getUTCMonth(), utcStartDate.getUTCDate(), now.getUTCHours(), now.getUTCMinutes(), now.getUTCSeconds(), now.getUTCMilliseconds()));
426
+ const nowWithDateForIndex = (0, date_fns_1.addHours)(utcStartDateWithNowTime, input * util_1.HOURS_IN_DAY);
427
+ return nowWithDateForIndex;
400
428
  }
401
429
  });
402
430
  factory._timing = timing;
403
431
  return factory;
404
432
  }
405
433
  exports.dateBlockTimingDateFactory = dateBlockTimingDateFactory;
434
+ /**
435
+ * Creates a DateBlockTimingDateFactory. The timezone is required to properly compute the accurate startsAt date for locations that experience daylight savings.
436
+ *
437
+ * @param timing
438
+ * @returns
439
+ */
440
+ function dateBlockTimingStartDateFactory(input, timezone) {
441
+ const indexFactory = dateTimingRelativeIndexFactory(input);
442
+ const timezoneInstance = timingDateTimezoneUtcNormal(timezone);
443
+ if (!timingIsInExpectedTimezone(indexFactory._timing, timezoneInstance)) {
444
+ throw new Error(`unexpected timezone "${timezone}" for start date "${indexFactory._timing.start}" for dateBlockTimingStartDateFactory(). Is expected to match the timezones.`);
445
+ }
446
+ const { start: baseTimingStart } = indexFactory._timing;
447
+ const baseStart = timezoneInstance.baseDateToTargetDate(baseTimingStart);
448
+ const factory = ((input) => {
449
+ const index = indexFactory(input); // get the index
450
+ const startInUtc = (0, date_fns_1.addHours)(baseStart, index * util_1.HOURS_IN_DAY);
451
+ return timezoneInstance.targetDateToBaseDate(startInUtc);
452
+ });
453
+ factory._indexFactory = indexFactory;
454
+ return factory;
455
+ }
456
+ exports.dateBlockTimingStartDateFactory = dateBlockTimingStartDateFactory;
457
+ /**
458
+ * Creates a DateBlockTimingStartsAtDateFactory.
459
+ *
460
+ * @param timing
461
+ * @returns
462
+ */
463
+ function dateBlockTimingStartsAtDateFactory(input) {
464
+ const indexFactory = dateTimingRelativeIndexFactory(input);
465
+ const { startsAt: baseTimingStartsAt } = indexFactory._timing;
466
+ const factory = ((input) => {
467
+ const index = indexFactory(input); // get the index
468
+ const hoursOffset = index * util_1.HOURS_IN_DAY;
469
+ return (0, date_fns_1.addHours)(baseTimingStartsAt, hoursOffset);
470
+ });
471
+ factory._indexFactory = indexFactory;
472
+ return factory;
473
+ }
474
+ exports.dateBlockTimingStartsAtDateFactory = dateBlockTimingStartsAtDateFactory;
406
475
  /**
407
476
  * Returns the date of the input index.
408
477
  *
@@ -638,17 +707,18 @@ function dateBlocksExpansionFactory(config) {
638
707
  exports.dateBlocksExpansionFactory = dateBlocksExpansionFactory;
639
708
  function dateBlockDayTimingInfoFactory(config) {
640
709
  const { timing, rangeLimit } = config;
641
- const { startsAt, duration } = timing;
710
+ const { duration } = timing;
642
711
  const indexRange = rangeLimit !== false ? dateBlockIndexRange(timing, rangeLimit) : { minIndex: Number.MIN_SAFE_INTEGER, maxIndex: Number.MAX_SAFE_INTEGER };
643
712
  const checkIsInRange = (0, util_1.indexRangeCheckFunction)({ indexRange, inclusiveMaxIndex: false });
644
713
  const dayIndexFactory = dateTimingRelativeIndexFactory(timing);
645
714
  const dayFactory = dateBlockTimingDateFactory(timing);
715
+ const startsAtFactory = dateBlockTimingStartsAtDateFactory(dayIndexFactory);
646
716
  return (input, inputNow) => {
647
- const date = typeof input === 'number' ? (0, date_1.copyHoursAndMinutesFromNow)(dayFactory(input)) : input;
717
+ const date = typeof input === 'number' ? dayFactory(input) : input;
648
718
  const dayIndex = dayIndexFactory(input);
649
719
  const isInRange = checkIsInRange(dayIndex);
650
720
  const now = inputNow !== null && inputNow !== void 0 ? inputNow : date;
651
- const startsAtOnDay = (0, date_1.copyHoursAndMinutesFromDate)(date, startsAt, false);
721
+ const startsAtOnDay = startsAtFactory(dayIndex); // convert back to the proper date
652
722
  const endsAtOnDay = (0, date_fns_1.addMinutes)(startsAtOnDay, duration);
653
723
  const potentiallyInProgress = !(0, date_fns_1.isAfter)(startsAtOnDay, now); // is potentially in progress if the now is equal-to or after the start time.
654
724
  const isInProgress = potentiallyInProgress && !(0, date_fns_1.isAfter)(now, endsAtOnDay);
@@ -699,7 +769,7 @@ function dateBlockIndexRange(timing, limit, fitToTimingRange = true) {
699
769
  if (limit) {
700
770
  const { start, end } = dateBlockTiming(timing, limit);
701
771
  const limitMin = (0, date_fns_1.differenceInDays)(start, zeroDate);
702
- const hoursDiff = (0, date_fns_1.differenceInHours)(end, zeroDate) / 24;
772
+ const hoursDiff = (0, date_fns_1.differenceInHours)(end, zeroDate) / util_1.HOURS_IN_DAY;
703
773
  const limitMax = Math.ceil(hoursDiff);
704
774
  if (fitToTimingRange) {
705
775
  minIndex = Math.min(limitMin, maxIndex);
@@ -1 +1 @@
1
- {"version":3,"file":"date.block.js","sourceRoot":"","sources":["../../../../../../packages/date/src/lib/date/date.block.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"date.block.js","sourceRoot":"","sources":["../../../../../../packages/date/src/lib/date/date.block.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@ exports.dateBlockDurationSpanHasNotEndedFilterFunction = exports.dateBlockDurati
4
4
  const date_fns_1 = require("date-fns");
5
5
  const date_duration_1 = require("./date.duration");
6
6
  function dateBlockDurationSpanHasStartedFilterFunction(now = new Date()) {
7
- return (x) => !(0, date_fns_1.isBefore)(x.startsAt, now); // startsAt <= now
7
+ return (x) => !(0, date_fns_1.isAfter)(x.startsAt, now); // startsAt <= now
8
8
  }
9
9
  exports.dateBlockDurationSpanHasStartedFilterFunction = dateBlockDurationSpanHasStartedFilterFunction;
10
10
  function dateBlockDurationSpanHasNotStartedFilterFunction(now = new Date()) {
@@ -14,7 +14,7 @@ exports.dateBlockDurationSpanHasNotStartedFilterFunction = dateBlockDurationSpan
14
14
  function dateBlockDurationSpanHasEndedFilterFunction(now = new Date()) {
15
15
  return (x) => {
16
16
  const endsAt = (0, date_duration_1.dateDurationSpanEndDate)(x);
17
- return !(0, date_fns_1.isBefore)(endsAt, now); // endsAt <= now
17
+ return !(0, date_fns_1.isAfter)(endsAt, now); // endsAt <= now
18
18
  };
19
19
  }
20
20
  exports.dateBlockDurationSpanHasEndedFilterFunction = dateBlockDurationSpanHasEndedFilterFunction;
@@ -1 +1 @@
1
- {"version":3,"file":"date.filter.js","sourceRoot":"","sources":["../../../../../../packages/date/src/lib/date/date.filter.ts"],"names":[],"mappings":";;;AACA,uCAA6C;AAE7C,mDAA0D;AAI1D,SAAgB,6CAA6C,CAAkC,GAAG,GAAG,IAAI,IAAI,EAAE;IAC7G,OAAO,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAA,mBAAQ,EAAC,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,kBAAkB;AAC9D,CAAC;AAFD,sGAEC;AAED,SAAgB,gDAAgD,CAAkC,GAAG,GAAG,IAAI,IAAI,EAAE;IAChH,OAAO,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,kBAAO,EAAC,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,iBAAiB;AAC3D,CAAC;AAFD,4GAEC;AAED,SAAgB,2CAA2C,CAAkC,GAAG,GAAG,IAAI,IAAI,EAAE;IAC3G,OAAO,CAAC,CAAC,EAAE,EAAE;QACX,MAAM,MAAM,GAAG,IAAA,uCAAuB,EAAC,CAAC,CAAC,CAAC;QAC1C,OAAO,CAAC,IAAA,mBAAQ,EAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,gBAAgB;IACjD,CAAC,CAAC;AACJ,CAAC;AALD,kGAKC;AAED,SAAgB,8CAA8C,CAAkC,GAAG,GAAG,IAAI,IAAI,EAAE;IAC9G,OAAO,CAAC,CAAC,EAAE,EAAE;QACX,MAAM,MAAM,GAAG,IAAA,uCAAuB,EAAC,CAAC,CAAC,CAAC;QAC1C,OAAO,IAAA,kBAAO,EAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,eAAe;IAC9C,CAAC,CAAC;AACJ,CAAC;AALD,wGAKC"}
1
+ {"version":3,"file":"date.filter.js","sourceRoot":"","sources":["../../../../../../packages/date/src/lib/date/date.filter.ts"],"names":[],"mappings":";;;AACA,uCAA6C;AAE7C,mDAA0D;AAI1D,SAAgB,6CAA6C,CAAkC,GAAG,GAAG,IAAI,IAAI,EAAE;IAC7G,OAAO,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAA,kBAAO,EAAC,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,kBAAkB;AAC7D,CAAC;AAFD,sGAEC;AAED,SAAgB,gDAAgD,CAAkC,GAAG,GAAG,IAAI,IAAI,EAAE;IAChH,OAAO,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,kBAAO,EAAC,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,iBAAiB;AAC3D,CAAC;AAFD,4GAEC;AAED,SAAgB,2CAA2C,CAAkC,GAAG,GAAG,IAAI,IAAI,EAAE;IAC3G,OAAO,CAAC,CAAC,EAAE,EAAE;QACX,MAAM,MAAM,GAAG,IAAA,uCAAuB,EAAC,CAAC,CAAC,CAAC;QAC1C,OAAO,CAAC,IAAA,kBAAO,EAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,gBAAgB;IAChD,CAAC,CAAC;AACJ,CAAC;AALD,kGAKC;AAED,SAAgB,8CAA8C,CAAkC,GAAG,GAAG,IAAI,IAAI,EAAE;IAC9G,OAAO,CAAC,CAAC,EAAE,EAAE;QACX,MAAM,MAAM,GAAG,IAAA,uCAAuB,EAAC,CAAC,CAAC,CAAC;QAC1C,OAAO,IAAA,kBAAO,EAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,eAAe;IAC9C,CAAC,CAAC;AACJ,CAAC;AALD,wGAKC"}
@@ -31,6 +31,12 @@ export interface DateTimezoneConversionConfig {
31
31
  */
32
32
  timezoneOffset?: Milliseconds;
33
33
  }
34
+ /**
35
+ * DateTimezoneConversionConfig only configured to use the system timezone.
36
+ */
37
+ export declare type DateTimezoneConversionConfigUseSystemTimezone = {
38
+ readonly useSystemTimezone: true;
39
+ };
34
40
  /**
35
41
  * Returns true if both inputs are considered equivalent.
36
42
  *
@@ -163,7 +169,15 @@ export declare function startOfDayInTimezoneDayStringFactory(timezone?: DateTime
163
169
  */
164
170
  export declare function startOfDayInTimezoneFromISO8601DayString(day: ISO8601DayString, timezone?: DateTimezoneUtcNormalFunctionInput): Date;
165
171
  /**
166
- * Converts the two input dates, which are dates in a different timezone/normal, using the input DateTimezoneUtcNormalFunctionInput.
172
+ * Convenience function for calling copyHoursAndMinutesFromDatesWithTimezoneNormal() with now.
173
+ *
174
+ * @param input
175
+ * @param timezone
176
+ * @returns
177
+ */
178
+ export declare function copyHoursAndMinutesFromNowWithTimezoneNormal(input: Date, timezone: DateTimezoneUtcNormalFunctionInput): Date;
179
+ /**
180
+ * Converts the two input dates, which are dates in the same timezone/normal but than the current system, using the input DateTimezoneUtcNormalFunctionInput.
167
181
  *
168
182
  * This converts the dates to the system timezone normal, copies the values, then back to the original timezone normal.
169
183
  *
@@ -171,4 +185,8 @@ export declare function startOfDayInTimezoneFromISO8601DayString(day: ISO8601Day
171
185
  * @param copyFrom
172
186
  * @param timezone
173
187
  */
174
- export declare function copyHoursAndMinutesFromDatesWithTimezoneNormal(input: Date, copyFrom: Date, timezone: DateTimezoneUtcNormalFunctionInput): Date;
188
+ export declare function copyHoursAndMinutesFromDateWithTimezoneNormal(input: Date, copyFrom: Date, timezone: DateTimezoneUtcNormalFunctionInput): Date;
189
+ /**
190
+ * @deprecated use copyHoursAndMinutesFromDateWithTimezoneNormal() instead.
191
+ */
192
+ export declare const copyHoursAndMinutesFromDatesWithTimezoneNormal: typeof copyHoursAndMinutesFromDateWithTimezoneNormal;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.copyHoursAndMinutesFromDatesWithTimezoneNormal = exports.startOfDayInTimezoneFromISO8601DayString = exports.startOfDayInTimezoneDayStringFactory = exports.systemNormalDateToBaseDateOffset = exports.systemBaseDateToNormalDateOffset = exports.systemNormalDateToBaseDate = exports.systemBaseDateToNormalDate = exports.targetDateToBaseDate = exports.baseDateToTargetDate = exports.SYSTEM_DATE_TIMEZONE_UTC_NORMAL_INSTANCE = exports.dateTimezoneUtcNormal = exports.DateTimezoneUtcNormalInstance = exports.calculateAllConversions = exports.getCurrentSystemOffsetInMinutes = exports.getCurrentSystemOffsetInHours = exports.getCurrentSystemOffsetInMs = exports.isSameDateTimezoneConversionConfig = void 0;
3
+ exports.copyHoursAndMinutesFromDatesWithTimezoneNormal = exports.copyHoursAndMinutesFromDateWithTimezoneNormal = exports.copyHoursAndMinutesFromNowWithTimezoneNormal = exports.startOfDayInTimezoneFromISO8601DayString = exports.startOfDayInTimezoneDayStringFactory = exports.systemNormalDateToBaseDateOffset = exports.systemBaseDateToNormalDateOffset = exports.systemNormalDateToBaseDate = exports.systemBaseDateToNormalDate = exports.targetDateToBaseDate = exports.baseDateToTargetDate = exports.SYSTEM_DATE_TIMEZONE_UTC_NORMAL_INSTANCE = exports.dateTimezoneUtcNormal = exports.DateTimezoneUtcNormalInstance = exports.calculateAllConversions = exports.getCurrentSystemOffsetInMinutes = exports.getCurrentSystemOffsetInHours = exports.getCurrentSystemOffsetInMs = exports.isSameDateTimezoneConversionConfig = void 0;
4
4
  const date_fns_1 = require("date-fns");
5
5
  const util_1 = require("@dereekb/util");
6
6
  const date_fns_tz_1 = require("date-fns-tz");
@@ -287,7 +287,18 @@ function startOfDayInTimezoneFromISO8601DayString(day, timezone) {
287
287
  exports.startOfDayInTimezoneFromISO8601DayString = startOfDayInTimezoneFromISO8601DayString;
288
288
  // MARK: Timezone Utilities
289
289
  /**
290
- * Converts the two input dates, which are dates in a different timezone/normal, using the input DateTimezoneUtcNormalFunctionInput.
290
+ * Convenience function for calling copyHoursAndMinutesFromDatesWithTimezoneNormal() with now.
291
+ *
292
+ * @param input
293
+ * @param timezone
294
+ * @returns
295
+ */
296
+ function copyHoursAndMinutesFromNowWithTimezoneNormal(input, timezone) {
297
+ return copyHoursAndMinutesFromDateWithTimezoneNormal(input, new Date(), timezone);
298
+ }
299
+ exports.copyHoursAndMinutesFromNowWithTimezoneNormal = copyHoursAndMinutesFromNowWithTimezoneNormal;
300
+ /**
301
+ * Converts the two input dates, which are dates in the same timezone/normal but than the current system, using the input DateTimezoneUtcNormalFunctionInput.
291
302
  *
292
303
  * This converts the dates to the system timezone normal, copies the values, then back to the original timezone normal.
293
304
  *
@@ -295,7 +306,7 @@ exports.startOfDayInTimezoneFromISO8601DayString = startOfDayInTimezoneFromISO86
295
306
  * @param copyFrom
296
307
  * @param timezone
297
308
  */
298
- function copyHoursAndMinutesFromDatesWithTimezoneNormal(input, copyFrom, timezone) {
309
+ function copyHoursAndMinutesFromDateWithTimezoneNormal(input, copyFrom, timezone) {
299
310
  const timezoneInstance = dateTimezoneUtcNormal(timezone);
300
311
  const inputInSystemTimezone = timezoneInstance.systemDateToTargetDate(input);
301
312
  const copyFromInSystemTimezone = timezoneInstance.systemDateToTargetDate(copyFrom);
@@ -308,5 +319,10 @@ function copyHoursAndMinutesFromDatesWithTimezoneNormal(input, copyFrom, timezon
308
319
  const result = timezoneInstance.targetDateToSystemDate(copiedInSystemTimezone);
309
320
  return result;
310
321
  }
311
- exports.copyHoursAndMinutesFromDatesWithTimezoneNormal = copyHoursAndMinutesFromDatesWithTimezoneNormal;
322
+ exports.copyHoursAndMinutesFromDateWithTimezoneNormal = copyHoursAndMinutesFromDateWithTimezoneNormal;
323
+ // MARK: compat
324
+ /**
325
+ * @deprecated use copyHoursAndMinutesFromDateWithTimezoneNormal() instead.
326
+ */
327
+ exports.copyHoursAndMinutesFromDatesWithTimezoneNormal = copyHoursAndMinutesFromDateWithTimezoneNormal;
312
328
  //# sourceMappingURL=date.timezone.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"date.timezone.js","sourceRoot":"","sources":["../../../../../../packages/date/src/lib/date/date.timezone.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"date.timezone.js","sourceRoot":"","sources":["../../../../../../packages/date/src/lib/date/date.timezone.ts"],"names":[],"mappings":"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"}