@dereekb/date 8.14.0 → 8.15.2

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,23 @@
2
2
 
3
3
  This file was generated using [@jscutlery/semver](https://github.com/jscutlery/semver).
4
4
 
5
+ ## [8.15.2](https://github.com/dereekb/dbx-components/compare/v8.15.1-dev...v8.15.2) (2022-08-11)
6
+
7
+
8
+
9
+ ## [8.15.1](https://github.com/dereekb/dbx-components/compare/v8.15.0-dev...v8.15.1) (2022-08-11)
10
+
11
+
12
+ ### Bug Fixes
13
+
14
+ * fixed infinite loop in expandUniqueDateBlocks() ([7464f2d](https://github.com/dereekb/dbx-components/commit/7464f2d33cb2f424a44cbfd3b8aa4a04a7304af6))
15
+
16
+
17
+
18
+ # [8.15.0](https://github.com/dereekb/dbx-components/compare/v8.14.0-dev...v8.15.0) (2022-08-09)
19
+
20
+
21
+
5
22
  # [8.14.0](https://github.com/dereekb/dbx-components/compare/v8.13.9-dev...v8.14.0) (2022-08-08)
6
23
 
7
24
 
package/package.json CHANGED
@@ -1,13 +1,13 @@
1
1
  {
2
2
  "name": "@dereekb/date",
3
- "version": "8.14.0",
3
+ "version": "8.15.2",
4
4
  "type": "commonjs",
5
5
  "main": "./src/index.js",
6
6
  "typings": "./src/index.d.ts",
7
7
  "dependencies": {},
8
8
  "peerDependencies": {
9
9
  "date-fns": "^2.29.0",
10
- "@dereekb/util": "8.14.0",
10
+ "@dereekb/util": "8.15.2",
11
11
  "make-error": "^1.3.0",
12
12
  "ts-essentials": "^9.1.2",
13
13
  "extra-set": "^2.2.11",
@@ -1,4 +1,4 @@
1
- import { DayOfWeek, RequiredOnKeys, IndexNumber, IndexRange, IndexRef, UniqueModel, FactoryWithRequiredInput, FilterFunction, Milliseconds, MapFunction } from '@dereekb/util';
1
+ import { DayOfWeek, RequiredOnKeys, IndexNumber, IndexRange, IndexRef, UniqueModel, FactoryWithRequiredInput, FilterFunction, Milliseconds, MapFunction, SortCompareFunction } from '@dereekb/util';
2
2
  import { DateRange, DateRangeDayDistanceInput } from './date.range';
3
3
  import { DateDurationSpan } from './date.duration';
4
4
  /**
@@ -158,7 +158,7 @@ export declare function dateBlocksExpansionFactory<B extends DateBlock | DateBlo
158
158
  */
159
159
  export declare type DateBlockIndexRange = IndexRange;
160
160
  export declare function dateBlockRangeToDateBlockIndexRange(range: DateBlockRange): DateBlockIndexRange;
161
- export declare function dateBlockIndexRangeToDateBlockRange(range: DateBlockIndexRange): DateBlockRange;
161
+ export declare function dateBlockIndexRangeToDateBlockRange(range: DateBlockIndexRange): DateBlockRangeWithRange;
162
162
  /**
163
163
  * Generates a DateBlockIndexRange based on the input timing.
164
164
  *
@@ -200,6 +200,21 @@ export declare class DateBlockRange extends DateBlock {
200
200
  * @returns
201
201
  */
202
202
  export declare function dateBlockRange(i: number, to?: number): DateBlockRangeWithRange;
203
+ /**
204
+ * Sorts the input ranges by index and distance (to values).
205
+ *
206
+ * In many cases sortAscendingIndexNumberRefFunction may be preferential since
207
+ *
208
+ * @returns
209
+ */
210
+ export declare function sortDateBlockRangeAndSizeFunction<T extends DateBlockRange>(): SortCompareFunction<T>;
211
+ /**
212
+ * Sorts the input date ranges. This will retain the before/after order while also sorting items by index.
213
+ *
214
+ * @param input
215
+ * @returns
216
+ */
217
+ export declare function sortDateBlockRanges<T extends DateBlockRange>(input: T[]): T[];
203
218
  /**
204
219
  * DateBlockRange that is known to have a to value.
205
220
  */
@@ -250,7 +265,7 @@ export interface UniqueDateBlockRangeGroup<B extends DateBlockRange | UniqueDate
250
265
  blocks: B[];
251
266
  }
252
267
  /**
253
- * Groups all input DateBlockRange or UniqueDateBlock values into a UniqueDateBlockRangeGroup value.
268
+ * Groups all input DateBlockRange or UniqueDateBlock values into a UniqueDateBlockRangeGroup value amd sorts the input.
254
269
  */
255
270
  export declare function groupUniqueDateBlocks<B extends DateBlockRange | UniqueDateBlock>(input: B[]): UniqueDateBlockRangeGroup<B>;
256
271
  /**
@@ -264,7 +279,7 @@ export declare type ExpandUniqueDateBlocksFillOption = 'extend' | 'fill';
264
279
  * - current: keeps the "current" value
265
280
  * - next: the next/new value overwrites the previous one
266
281
  */
267
- export declare type ExpandUniqueDateBlocksOverwriteOption = 'current' | 'next';
282
+ export declare type ExpandUniqueDateBlocksRetainOverlapOption = 'current' | 'next';
268
283
  export interface ExpandUniqueDateBlocksConfig<B extends DateBlockRange | UniqueDateBlock> {
269
284
  /**
270
285
  * The expected start index.
@@ -285,9 +300,16 @@ export interface ExpandUniqueDateBlocksConfig<B extends DateBlockRange | UniqueD
285
300
  /**
286
301
  * (Optional) Determines how to handle overwrites.
287
302
  *
303
+ * - next: will retain the latest value (next) and overwrite the current value.
304
+ * - current: will retain the current value and ignore any future values at that index.
305
+ *
288
306
  * Defaults to next
289
307
  */
290
- overwriteOption?: ExpandUniqueDateBlocksOverwriteOption;
308
+ retainOnOverlap?: ExpandUniqueDateBlocksRetainOverlapOption;
309
+ /**
310
+ * @Deprecated use retainOnOverlap instead. Will be removed in the future.
311
+ */
312
+ overwriteOption?: ExpandUniqueDateBlocksRetainOverlapOption;
291
313
  /**
292
314
  * Used to create new items to fill empty block sets. Required when mode is set to "fill".
293
315
  */
@@ -301,3 +323,7 @@ export interface ExpandUniqueDateBlocksResult<B extends DateBlockRange | UniqueD
301
323
  }
302
324
  export declare type ExpandUniqueDateBlocksFunction<B extends DateBlockRange | UniqueDateBlock> = (input: B[] | UniqueDateBlockRangeGroup<B>) => ExpandUniqueDateBlocksResult<B>;
303
325
  export declare function expandUniqueDateBlocks<B extends DateBlockRange | UniqueDateBlock>(config: ExpandUniqueDateBlocksConfig<B>): ExpandUniqueDateBlocksFunction<B>;
326
+ /**
327
+ * @Deprecated use ExpandUniqueDateBlocksRetainOverlapOption instead
328
+ */
329
+ export declare type ExpandUniqueDateBlocksOverwriteOption = ExpandUniqueDateBlocksRetainOverlapOption;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.expandUniqueDateBlocks = exports.groupUniqueDateBlocks = exports.dateBlockEndIndex = exports.dateBlockRangeHasRange = exports.expandDateBlockRange = exports.groupToDateBlockRanges = exports.dateBlockRange = exports.DateBlockRange = exports.dateBlocksInDateBlockRange = exports.dateBlockIndexRange = exports.dateBlockIndexRangeToDateBlockRange = exports.dateBlockRangeToDateBlockIndexRange = exports.dateBlocksExpansionFactory = exports.expandDateBlocks = exports.expandDateBlockCollection = exports.dateBlockDayOfWeekFactory = exports.isValidDateBlockTiming = exports.dateBlockTiming = exports.DateBlockTiming = exports.getCurrentDateBlockTimingStartDate = exports.getCurrentDateBlockTimingOffset = exports.DateBlock = void 0;
3
+ exports.expandUniqueDateBlocks = exports.groupUniqueDateBlocks = exports.dateBlockEndIndex = exports.dateBlockRangeHasRange = exports.expandDateBlockRange = exports.groupToDateBlockRanges = exports.sortDateBlockRanges = exports.sortDateBlockRangeAndSizeFunction = exports.dateBlockRange = exports.DateBlockRange = exports.dateBlocksInDateBlockRange = exports.dateBlockIndexRange = exports.dateBlockIndexRangeToDateBlockRange = exports.dateBlockRangeToDateBlockIndexRange = exports.dateBlocksExpansionFactory = exports.expandDateBlocks = exports.expandDateBlockCollection = exports.dateBlockDayOfWeekFactory = exports.isValidDateBlockTiming = exports.dateBlockTiming = exports.DateBlockTiming = exports.getCurrentDateBlockTimingStartDate = exports.getCurrentDateBlockTimingOffset = exports.DateBlock = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const util_1 = require("@dereekb/util");
6
6
  const date_range_1 = require("./date.range");
@@ -318,6 +318,27 @@ function dateBlockRange(i, to) {
318
318
  return { i, to: to !== null && to !== void 0 ? to : i };
319
319
  }
320
320
  exports.dateBlockRange = dateBlockRange;
321
+ /**
322
+ * Sorts the input ranges by index and distance (to values).
323
+ *
324
+ * In many cases sortAscendingIndexNumberRefFunction may be preferential since
325
+ *
326
+ * @returns
327
+ */
328
+ function sortDateBlockRangeAndSizeFunction() {
329
+ return (a, b) => { var _a, _b; return a.i - b.i || ((_a = a.to) !== null && _a !== void 0 ? _a : a.i) - ((_b = b.to) !== null && _b !== void 0 ? _b : b.i); };
330
+ }
331
+ exports.sortDateBlockRangeAndSizeFunction = sortDateBlockRangeAndSizeFunction;
332
+ /**
333
+ * Sorts the input date ranges. This will retain the before/after order while also sorting items by index.
334
+ *
335
+ * @param input
336
+ * @returns
337
+ */
338
+ function sortDateBlockRanges(input) {
339
+ return input.sort((0, util_1.sortAscendingIndexNumberRefFunction)());
340
+ }
341
+ exports.sortDateBlockRanges = sortDateBlockRanges;
321
342
  /**
322
343
  * Groups the input values into DateBlockRange values.
323
344
  *
@@ -329,7 +350,7 @@ function groupToDateBlockRanges(input) {
329
350
  return [];
330
351
  }
331
352
  // sort by index in ascending order
332
- const blocks = input.sort((0, util_1.sortAscendingIndexNumberRefFunction)());
353
+ const blocks = sortDateBlockRanges(input);
333
354
  function newBlockFromBlocksIndex(blocksIndex) {
334
355
  const { i, to } = blocks[blocksIndex];
335
356
  return {
@@ -390,11 +411,11 @@ function dateBlockEndIndex(input) {
390
411
  }
391
412
  exports.dateBlockEndIndex = dateBlockEndIndex;
392
413
  /**
393
- * Groups all input DateBlockRange or UniqueDateBlock values into a UniqueDateBlockRangeGroup value.
414
+ * Groups all input DateBlockRange or UniqueDateBlock values into a UniqueDateBlockRangeGroup value amd sorts the input.
394
415
  */
395
416
  function groupUniqueDateBlocks(input) {
396
417
  var _a;
397
- const blocks = [...input].sort((0, util_1.sortAscendingIndexNumberRefFunction)());
418
+ const blocks = sortDateBlockRanges([...input]);
398
419
  const i = 0;
399
420
  let to;
400
421
  if (blocks.length === 0) {
@@ -412,7 +433,9 @@ function groupUniqueDateBlocks(input) {
412
433
  }
413
434
  exports.groupUniqueDateBlocks = groupUniqueDateBlocks;
414
435
  function expandUniqueDateBlocks(config) {
415
- const { startAtIndex = 0, endAtIndex, fillOption: fill, fillFactory: inputFillFactory, overwriteOption = 'next' } = config;
436
+ var _a;
437
+ const { startAtIndex = 0, endAtIndex, fillOption: fill, fillFactory: inputFillFactory, retainOnOverlap: inputRetainOnOverlap, overwriteOption: deprecateOverwriteOption } = config;
438
+ const retainOnOverlap = (_a = inputRetainOnOverlap !== null && inputRetainOnOverlap !== void 0 ? inputRetainOnOverlap : deprecateOverwriteOption) !== null && _a !== void 0 ? _a : 'next';
416
439
  const maxAllowedIndex = endAtIndex !== null && endAtIndex !== void 0 ? endAtIndex : Number.MAX_SAFE_INTEGER;
417
440
  const fillFactory = inputFillFactory;
418
441
  if (!fillFactory && fill === 'fill') {
@@ -437,7 +460,7 @@ function expandUniqueDateBlocks(config) {
437
460
  const gapStartIndex = Math.max(latestTo + 1, startAtIndex);
438
461
  addGapBlock(gapStartIndex, i - 1);
439
462
  }
440
- const to = Math.min(inputTo, maxAllowedIndex);
463
+ const to = Math.min(inputTo, maxAllowedIndex) || 0;
441
464
  const block = Object.assign(Object.assign({}, inputBlock), { i,
442
465
  to });
443
466
  blocks.push(block);
@@ -458,7 +481,7 @@ function expandUniqueDateBlocks(config) {
458
481
  to
459
482
  };
460
483
  const block = fillFactory(dateBlockRange);
461
- addBlockWithRange(block, i, to);
484
+ addBlockWithRange(block, i, to !== null && to !== void 0 ? to : i);
462
485
  }
463
486
  else if (blocks.length > 0) {
464
487
  // do not extend if no blocks have been pushed.
@@ -515,7 +538,7 @@ function expandUniqueDateBlocks(config) {
515
538
  // if next has the same range as current, then look at the tie-breaker
516
539
  if (nextEndIndex === currentEndIndex) {
517
540
  // if they're both on the same index, then take the one based on the overwrite value
518
- if (overwriteOption === 'current') {
541
+ if (retainOnOverlap === 'current') {
519
542
  // add current
520
543
  addBlockWithRange(current, currentNextIndex, nextEndIndex);
521
544
  // discard and skip the "next" value
@@ -535,12 +558,27 @@ function expandUniqueDateBlocks(config) {
535
558
  // change next to start at the next range
536
559
  continueToNext(Object.assign(Object.assign({}, next), { i: currentEndIndex + 1, to: nextEndIndex }));
537
560
  }
561
+ else {
562
+ // the next item ends before the current item.
563
+ if (retainOnOverlap === 'current') {
564
+ // discard the next value.
565
+ discard(next);
566
+ // continue with the current value
567
+ continueToNext(current);
568
+ }
569
+ else {
570
+ // add the next item first since it overwrites the current
571
+ addBlockWithRange(next, nextStartIndex, nextEndIndex);
572
+ // continue with the current item as next.
573
+ continueToNext(Object.assign(Object.assign({}, current), { i: nextEndIndex + 1, to: currentEndIndex }));
574
+ }
575
+ }
538
576
  }
539
577
  else {
540
578
  // Check for any overlap
541
- if (currentEndIndex > nextStartIndex) {
579
+ if (currentEndIndex >= nextStartIndex) {
542
580
  // handle overlap
543
- if (overwriteOption === 'current') {
581
+ if (retainOnOverlap === 'current') {
544
582
  // add current
545
583
  addBlockWithRange(current, currentNextIndex, currentEndIndex);
546
584
  // change next to start at the next range
@@ -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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"}