date-vir 5.0.0 → 5.1.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.
@@ -0,0 +1,13 @@
1
+ const {baseConfig} = require('virmator/base-configs/base-cspell.js');
2
+
3
+ module.exports = {
4
+ ...baseConfig,
5
+ ignorePaths: [
6
+ ...baseConfig.ignorePaths,
7
+ ],
8
+ words: [
9
+ ...baseConfig.words,
10
+ 'datetime',
11
+ 'longterm',
12
+ ],
13
+ };
@@ -2,22 +2,23 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.isDateAfter = exports.diffDates = exports.DiffType = void 0;
4
4
  const common_1 = require("@augment-vir/common");
5
- const duration_1 = require("../duration");
5
+ const duration_unit_1 = require("../duration/duration-unit");
6
+ const duration_utils_1 = require("../duration/duration-utils");
6
7
  const luxon_date_time_conversion_1 = require("../full-date/luxon-date-time-conversion");
7
8
  const accuracyPriority = {
8
9
  longterm: 1,
9
10
  casual: 0,
10
11
  };
11
12
  const conversionAccuracies = {
12
- [duration_1.DurationUnit.Years]: 'longterm',
13
- [duration_1.DurationUnit.Quarters]: 'longterm',
14
- [duration_1.DurationUnit.Months]: 'longterm',
15
- [duration_1.DurationUnit.Weeks]: 'casual',
16
- [duration_1.DurationUnit.Days]: 'casual',
17
- [duration_1.DurationUnit.Hours]: 'casual',
18
- [duration_1.DurationUnit.Minutes]: 'casual',
19
- [duration_1.DurationUnit.Seconds]: 'casual',
20
- [duration_1.DurationUnit.Milliseconds]: 'casual',
13
+ [duration_unit_1.DurationUnit.Years]: 'longterm',
14
+ [duration_unit_1.DurationUnit.Quarters]: 'longterm',
15
+ [duration_unit_1.DurationUnit.Months]: 'longterm',
16
+ [duration_unit_1.DurationUnit.Weeks]: 'casual',
17
+ [duration_unit_1.DurationUnit.Days]: 'casual',
18
+ [duration_unit_1.DurationUnit.Hours]: 'casual',
19
+ [duration_unit_1.DurationUnit.Minutes]: 'casual',
20
+ [duration_unit_1.DurationUnit.Seconds]: 'casual',
21
+ [duration_unit_1.DurationUnit.Milliseconds]: 'casual',
21
22
  };
22
23
  function getHighestPriorityConversionAccuracy(units) {
23
24
  const currentConversionAccuracies = units.map((unit) => conversionAccuracies[unit]);
@@ -66,7 +67,7 @@ function diffDates({ start, end, units: unitsInput, unit: unitInput, diffType: d
66
67
  conversionAccuracy,
67
68
  })
68
69
  .toObject();
69
- return (0, duration_1.roundDuration)(additiveDiff, decimalCount);
70
+ return (0, duration_utils_1.roundDuration)(additiveDiff, decimalCount);
70
71
  }
71
72
  else if (diffType === DiffType.EquivalentUnits) {
72
73
  const allUnitDiffEntries = units.map((durationUnit) => {
@@ -87,7 +88,7 @@ function diffDates({ start, end, units: unitsInput, unit: unitInput, diffType: d
87
88
  ];
88
89
  });
89
90
  const equivalentDiff = (0, common_1.typedObjectFromEntries)(allUnitDiffEntries);
90
- return (0, duration_1.roundDuration)(equivalentDiff, decimalCount);
91
+ return (0, duration_utils_1.roundDuration)(equivalentDiff, decimalCount);
91
92
  }
92
93
  else {
93
94
  throw new Error(`Failed to diff dates: provided diffType is invalid: '${diffType}'`);
@@ -98,7 +99,7 @@ function isDateAfter({ relativeTo, fullDate, }) {
98
99
  return (diffDates({
99
100
  start: relativeTo,
100
101
  end: fullDate,
101
- unit: duration_1.DurationUnit.Milliseconds,
102
+ unit: duration_unit_1.DurationUnit.Milliseconds,
102
103
  }).milliseconds >= 0);
103
104
  }
104
105
  exports.isDateAfter = isDateAfter;
@@ -1,8 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.roundDuration = exports.orderedDurationUnits = exports.singularDurationUnitNames = exports.DurationUnit = void 0;
4
- const common_1 = require("@augment-vir/common");
5
- const run_time_assertions_1 = require("run-time-assertions");
3
+ exports.orderedDurationUnits = exports.singularDurationUnitNames = exports.DurationUnit = void 0;
6
4
  var DurationUnit;
7
5
  (function (DurationUnit) {
8
6
  DurationUnit["Years"] = "years";
@@ -41,14 +39,3 @@ exports.orderedDurationUnits = [
41
39
  DurationUnit.Quarters,
42
40
  DurationUnit.Years,
43
41
  ];
44
- function roundDuration(duration, decimalCount) {
45
- return (0, common_1.mapObjectValues)(duration, (key, value) => {
46
- if (decimalCount == undefined || !(0, run_time_assertions_1.isRunTimeType)(value, 'number')) {
47
- return value;
48
- }
49
- else {
50
- return (0, common_1.round)({ number: value, digits: decimalCount });
51
- }
52
- });
53
- }
54
- exports.roundDuration = roundDuration;
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.convertDuration = exports.roundDuration = void 0;
4
+ const common_1 = require("@augment-vir/common");
5
+ const luxon_1 = require("luxon");
6
+ const run_time_assertions_1 = require("run-time-assertions");
7
+ /** Round every unit in a given duration to the given number of decimal points. */
8
+ function roundDuration(duration,
9
+ /**
10
+ * How many decimals to round to. Leave undefined to skip rounding. (Though if you skip
11
+ * rounding, why are you using this function?)
12
+ */
13
+ decimalCount) {
14
+ return (0, common_1.mapObjectValues)(duration, (key, value) => {
15
+ if (decimalCount == undefined || !(0, run_time_assertions_1.isRunTimeType)(value, 'number')) {
16
+ return value;
17
+ }
18
+ else {
19
+ return (0, common_1.round)({ number: value, digits: decimalCount });
20
+ }
21
+ });
22
+ }
23
+ exports.roundDuration = roundDuration;
24
+ /** Convert a duration from any combination of units into a single unit. */
25
+ function convertDuration(inputDuration, requiredUnit) {
26
+ const luxonDuration = luxon_1.Duration.fromObject(inputDuration);
27
+ const newUnitValue = luxonDuration.as(requiredUnit);
28
+ return { [requiredUnit]: newUnitValue };
29
+ }
30
+ exports.convertDuration = convertDuration;
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.clearParts = exports.clearTime = exports.zeroTime = exports.zeroDate = void 0;
3
+ exports.clearParts = exports.clearTime = exports.zeroTime = exports.emptyDate = exports.zeroDate = void 0;
4
4
  const common_1 = require("@augment-vir/common");
5
5
  const full_date_shape_1 = require("../full-date/full-date-shape");
6
6
  const date_transforms_1 = require("./date-transforms");
@@ -13,6 +13,7 @@ exports.zeroDate = {
13
13
  second: 0,
14
14
  millisecond: 0,
15
15
  };
16
+ exports.emptyDate = exports.zeroDate;
16
17
  exports.zeroTime = (0, common_1.pickObjectKeys)(exports.zeroDate, full_date_shape_1.timeFullDateKeys);
17
18
  function clearTime(inputFullDate) {
18
19
  return clearParts(inputFullDate, full_date_shape_1.timeFullDateKeys);
@@ -3,24 +3,24 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.toRelativeString = void 0;
4
4
  const common_1 = require("@augment-vir/common");
5
5
  const diff_dates_1 = require("../date-operations/diff-dates");
6
- const duration_1 = require("../duration");
6
+ const duration_unit_1 = require("../duration/duration-unit");
7
7
  const maxDurations = {
8
- [duration_1.DurationUnit.Milliseconds]: 1000,
9
- [duration_1.DurationUnit.Seconds]: 60,
10
- [duration_1.DurationUnit.Minutes]: 60,
11
- [duration_1.DurationUnit.Hours]: 24,
12
- [duration_1.DurationUnit.Days]: 30,
13
- [duration_1.DurationUnit.Weeks]: 4,
14
- [duration_1.DurationUnit.Months]: 12,
15
- [duration_1.DurationUnit.Quarters]: 4,
16
- [duration_1.DurationUnit.Years]: Infinity,
8
+ [duration_unit_1.DurationUnit.Milliseconds]: 1000,
9
+ [duration_unit_1.DurationUnit.Seconds]: 60,
10
+ [duration_unit_1.DurationUnit.Minutes]: 60,
11
+ [duration_unit_1.DurationUnit.Hours]: 24,
12
+ [duration_unit_1.DurationUnit.Days]: 30,
13
+ [duration_unit_1.DurationUnit.Weeks]: 4,
14
+ [duration_unit_1.DurationUnit.Months]: 12,
15
+ [duration_unit_1.DurationUnit.Quarters]: 4,
16
+ [duration_unit_1.DurationUnit.Years]: Infinity,
17
17
  };
18
18
  function toRelativeString({ fullDate, relativeTo, options = {}, }) {
19
19
  const roundingDigits = options.decimalDigitCount || 0;
20
20
  const allUnitDiffs = (0, diff_dates_1.diffDates)({
21
21
  start: fullDate,
22
22
  end: relativeTo,
23
- units: duration_1.orderedDurationUnits,
23
+ units: duration_unit_1.orderedDurationUnits,
24
24
  diffType: diff_dates_1.DiffType.EquivalentUnits,
25
25
  });
26
26
  const unitsWithinBounds = (0, common_1.mapObjectValues)(allUnitDiffs, (durationUnit, duration) => {
@@ -31,7 +31,7 @@ function toRelativeString({ fullDate, relativeTo, options = {}, }) {
31
31
  : true;
32
32
  return isAboveZero && isBelowMax;
33
33
  });
34
- const unitToUse = duration_1.orderedDurationUnits.reduce((chosenUnit, currentUnit) => {
34
+ const unitToUse = duration_unit_1.orderedDurationUnits.reduce((chosenUnit, currentUnit) => {
35
35
  const isUnitAllowed = !options.blockedRelativeUnits?.includes(currentUnit);
36
36
  if (isUnitAllowed && unitsWithinBounds[currentUnit]) {
37
37
  return currentUnit;
@@ -43,9 +43,9 @@ function toRelativeString({ fullDate, relativeTo, options = {}, }) {
43
43
  const shouldUseJustNow = options.blockJustNow
44
44
  ? false
45
45
  : (0, common_1.areJsonEqual)(fullDate, relativeTo) ||
46
- (unitToUse === duration_1.DurationUnit.Minutes && allUnitDiffs.minutes < 2) ||
47
- (unitToUse === duration_1.DurationUnit.Seconds && allUnitDiffs.seconds < 11) ||
48
- (unitToUse === duration_1.DurationUnit.Milliseconds && allUnitDiffs.milliseconds < 710);
46
+ (unitToUse === duration_unit_1.DurationUnit.Minutes && allUnitDiffs.minutes < 2) ||
47
+ (unitToUse === duration_unit_1.DurationUnit.Seconds && allUnitDiffs.seconds < 11) ||
48
+ (unitToUse === duration_unit_1.DurationUnit.Milliseconds && allUnitDiffs.milliseconds < 710);
49
49
  /** Some short circuits. */
50
50
  if (shouldUseJustNow) {
51
51
  return 'just now';
@@ -57,7 +57,7 @@ function toRelativeString({ fullDate, relativeTo, options = {}, }) {
57
57
  const roundedAbsoluteDuration = Math.abs((0, common_1.round)({ digits: roundingDigits, number: duration }));
58
58
  const isDurationSingular = roundedAbsoluteDuration === 1;
59
59
  const unitName = [
60
- duration_1.singularDurationUnitNames[unitToUse],
60
+ duration_unit_1.singularDurationUnitNames[unitToUse],
61
61
  isDurationSingular ? '' : 's',
62
62
  ].join('');
63
63
  const value = isDurationSingular ? 'a' : roundedAbsoluteDuration;
package/dist/cjs/index.js CHANGED
@@ -17,7 +17,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./date-operations/calculate-relative-date"), exports);
18
18
  __exportStar(require("./date-operations/combine-dates"), exports);
19
19
  __exportStar(require("./date-operations/diff-dates"), exports);
20
- __exportStar(require("./duration"), exports);
20
+ __exportStar(require("./duration/duration"), exports);
21
+ __exportStar(require("./duration/duration-unit"), exports);
22
+ __exportStar(require("./duration/duration-utils"), exports);
21
23
  __exportStar(require("./extra-utils/date-transforms"), exports);
22
24
  __exportStar(require("./extra-utils/has-date-props"), exports);
23
25
  __exportStar(require("./extra-utils/js-date-conversion"), exports);
@@ -1,4 +1,4 @@
1
- import { AnyDuration } from '../duration';
1
+ import { AnyDuration } from '../duration/duration';
2
2
  import { FullDate } from '../full-date/full-date-shape';
3
3
  /**
4
4
  * Calculates a new date starting at the given fullDate and adding the given offsets. Offsets can be
@@ -1,5 +1,6 @@
1
1
  import { ArrayElement } from '@augment-vir/common';
2
- import { Duration, DurationUnit } from '../duration';
2
+ import { Duration } from '../duration/duration';
3
+ import { DurationUnit } from '../duration/duration-unit';
3
4
  import { FullDate } from '../full-date/full-date-shape';
4
5
  export declare enum DiffType {
5
6
  /**
@@ -1,5 +1,6 @@
1
1
  import { makeWritable, typedObjectFromEntries } from '@augment-vir/common';
2
- import { DurationUnit, roundDuration } from '../duration';
2
+ import { DurationUnit } from '../duration/duration-unit';
3
+ import { roundDuration } from '../duration/duration-utils';
3
4
  import { toLuxonDateTime } from '../full-date/luxon-date-time-conversion';
4
5
  const accuracyPriority = {
5
6
  longterm: 1,
@@ -0,0 +1,27 @@
1
+ export declare enum DurationUnit {
2
+ Years = "years",
3
+ Quarters = "quarters",
4
+ Months = "months",
5
+ Weeks = "weeks",
6
+ Days = "days",
7
+ Hours = "hours",
8
+ Minutes = "minutes",
9
+ Seconds = "seconds",
10
+ Milliseconds = "milliseconds"
11
+ }
12
+ export declare const singularDurationUnitNames: {
13
+ readonly milliseconds: "millisecond";
14
+ readonly seconds: "second";
15
+ readonly minutes: "minute";
16
+ readonly hours: "hour";
17
+ readonly days: "day";
18
+ readonly weeks: "week";
19
+ readonly months: "month";
20
+ readonly quarters: "quarter";
21
+ readonly years: "year";
22
+ };
23
+ /**
24
+ * Array of DurationUnit values: from smallest unit (milliseconds at index 0) to longest unit
25
+ * (years).
26
+ */
27
+ export declare const orderedDurationUnits: readonly [DurationUnit.Milliseconds, DurationUnit.Seconds, DurationUnit.Minutes, DurationUnit.Hours, DurationUnit.Days, DurationUnit.Weeks, DurationUnit.Months, DurationUnit.Quarters, DurationUnit.Years];
@@ -1,5 +1,3 @@
1
- import { mapObjectValues, round } from '@augment-vir/common';
2
- import { isRunTimeType } from 'run-time-assertions';
3
1
  export var DurationUnit;
4
2
  (function (DurationUnit) {
5
3
  DurationUnit["Years"] = "years";
@@ -38,13 +36,3 @@ export const orderedDurationUnits = [
38
36
  DurationUnit.Quarters,
39
37
  DurationUnit.Years,
40
38
  ];
41
- export function roundDuration(duration, decimalCount) {
42
- return mapObjectValues(duration, (key, value) => {
43
- if (decimalCount == undefined || !isRunTimeType(value, 'number')) {
44
- return value;
45
- }
46
- else {
47
- return round({ number: value, digits: decimalCount });
48
- }
49
- });
50
- }
@@ -0,0 +1,11 @@
1
+ import { AnyDuration, Duration } from './duration';
2
+ import { DurationUnit } from './duration-unit';
3
+ /** Round every unit in a given duration to the given number of decimal points. */
4
+ export declare function roundDuration<InputDuration extends AnyDuration>(duration: Readonly<InputDuration>,
5
+ /**
6
+ * How many decimals to round to. Leave undefined to skip rounding. (Though if you skip
7
+ * rounding, why are you using this function?)
8
+ */
9
+ decimalCount: number | undefined): InputDuration;
10
+ /** Convert a duration from any combination of units into a single unit. */
11
+ export declare function convertDuration<RequiredDurationUnit extends DurationUnit>(inputDuration: AnyDuration, requiredUnit: RequiredDurationUnit): Duration<RequiredDurationUnit>;
@@ -0,0 +1,25 @@
1
+ import { mapObjectValues, round } from '@augment-vir/common';
2
+ import { Duration as LuxonDuration } from 'luxon';
3
+ import { isRunTimeType } from 'run-time-assertions';
4
+ /** Round every unit in a given duration to the given number of decimal points. */
5
+ export function roundDuration(duration,
6
+ /**
7
+ * How many decimals to round to. Leave undefined to skip rounding. (Though if you skip
8
+ * rounding, why are you using this function?)
9
+ */
10
+ decimalCount) {
11
+ return mapObjectValues(duration, (key, value) => {
12
+ if (decimalCount == undefined || !isRunTimeType(value, 'number')) {
13
+ return value;
14
+ }
15
+ else {
16
+ return round({ number: value, digits: decimalCount });
17
+ }
18
+ });
19
+ }
20
+ /** Convert a duration from any combination of units into a single unit. */
21
+ export function convertDuration(inputDuration, requiredUnit) {
22
+ const luxonDuration = LuxonDuration.fromObject(inputDuration);
23
+ const newUnitValue = luxonDuration.as(requiredUnit);
24
+ return { [requiredUnit]: newUnitValue };
25
+ }
@@ -1,32 +1,6 @@
1
1
  import { RequiredAndNotNull } from '@augment-vir/common';
2
- import { IsUnknown, UnionToIntersection } from 'type-fest';
3
- export declare enum DurationUnit {
4
- Years = "years",
5
- Quarters = "quarters",
6
- Months = "months",
7
- Weeks = "weeks",
8
- Days = "days",
9
- Hours = "hours",
10
- Minutes = "minutes",
11
- Seconds = "seconds",
12
- Milliseconds = "milliseconds"
13
- }
14
- export declare const singularDurationUnitNames: {
15
- readonly milliseconds: "millisecond";
16
- readonly seconds: "second";
17
- readonly minutes: "minute";
18
- readonly hours: "hour";
19
- readonly days: "day";
20
- readonly weeks: "week";
21
- readonly months: "month";
22
- readonly quarters: "quarter";
23
- readonly years: "year";
24
- };
25
- /**
26
- * Array of DurationUnit values: from smallest unit (milliseconds at index 0) to longest unit
27
- * (years).
28
- */
29
- export declare const orderedDurationUnits: readonly [DurationUnit.Milliseconds, DurationUnit.Seconds, DurationUnit.Minutes, DurationUnit.Hours, DurationUnit.Days, DurationUnit.Weeks, DurationUnit.Months, DurationUnit.Quarters, DurationUnit.Years];
2
+ import { IsUnknown, RequireAtLeastOne, UnionToIntersection } from 'type-fest';
3
+ import { DurationUnit } from './duration-unit';
30
4
  /**
31
5
  * All possible options for the more strict Duration type. Matches the DurationObjectUnits type from
32
6
  * the luxon package.
@@ -42,6 +16,8 @@ export type AnyDuration = {
42
16
  seconds?: number | undefined;
43
17
  milliseconds?: number | undefined;
44
18
  };
19
+ /** Requires at least one duration unit to be set. */
20
+ export type AtLeastOneDuration = RequireAtLeastOne<RequiredAndNotNull<AnyDuration>>;
45
21
  /**
46
22
  * All possible duration units at once. Whether these duration units should be added together to
47
23
  * form the whole picture or whether each duration is the same value but calculated in different
@@ -54,4 +30,3 @@ export type AllDurations = RequiredAndNotNull<AnyDuration>;
54
30
  * property is set on this at any given time.
55
31
  */
56
32
  export type Duration<DurationKeys extends DurationUnit | unknown> = UnionToIntersection<IsUnknown<DurationKeys> extends true ? AnyDuration : DurationKeys extends DurationUnit ? Pick<AllDurations, `${DurationKeys}`> : never>;
57
- export declare function roundDuration<InputDuration extends AnyDuration>(duration: Readonly<InputDuration>, decimalCount: number | undefined): InputDuration;
@@ -0,0 +1 @@
1
+ export {};
@@ -8,6 +8,15 @@ export declare const zeroDate: {
8
8
  readonly second: 0;
9
9
  readonly millisecond: 0;
10
10
  };
11
+ export declare const emptyDate: {
12
+ readonly year: 0;
13
+ readonly month: 1;
14
+ readonly day: 1;
15
+ readonly hour: 0;
16
+ readonly minute: 0;
17
+ readonly second: 0;
18
+ readonly millisecond: 0;
19
+ };
11
20
  export declare const zeroTime: Pick<{
12
21
  year: 0;
13
22
  month: 1;
@@ -10,6 +10,7 @@ export const zeroDate = {
10
10
  second: 0,
11
11
  millisecond: 0,
12
12
  };
13
+ export const emptyDate = zeroDate;
13
14
  export const zeroTime = pickObjectKeys(zeroDate, timeFullDateKeys);
14
15
  export function clearTime(inputFullDate) {
15
16
  return clearParts(inputFullDate, timeFullDateKeys);
@@ -1,5 +1,5 @@
1
1
  import { PartialAndUndefined } from '@augment-vir/common';
2
- import { DurationUnit } from '../duration';
2
+ import { DurationUnit } from '../duration/duration-unit';
3
3
  import { FullDate } from '../full-date/full-date-shape';
4
4
  export type RelativeStringOptions = {
5
5
  /**
@@ -1,6 +1,6 @@
1
1
  import { areJsonEqual, mapObjectValues, round } from '@augment-vir/common';
2
2
  import { DiffType, diffDates } from '../date-operations/diff-dates';
3
- import { DurationUnit, orderedDurationUnits, singularDurationUnitNames } from '../duration';
3
+ import { DurationUnit, orderedDurationUnits, singularDurationUnitNames, } from '../duration/duration-unit';
4
4
  const maxDurations = {
5
5
  [DurationUnit.Milliseconds]: 1000,
6
6
  [DurationUnit.Seconds]: 60,
@@ -1,7 +1,9 @@
1
1
  export * from './date-operations/calculate-relative-date';
2
2
  export * from './date-operations/combine-dates';
3
3
  export * from './date-operations/diff-dates';
4
- export * from './duration';
4
+ export * from './duration/duration';
5
+ export * from './duration/duration-unit';
6
+ export * from './duration/duration-utils';
5
7
  export * from './extra-utils/date-transforms';
6
8
  export * from './extra-utils/has-date-props';
7
9
  export * from './extra-utils/js-date-conversion';
package/dist/esm/index.js CHANGED
@@ -1,7 +1,9 @@
1
1
  export * from './date-operations/calculate-relative-date';
2
2
  export * from './date-operations/combine-dates';
3
3
  export * from './date-operations/diff-dates';
4
- export * from './duration';
4
+ export * from './duration/duration';
5
+ export * from './duration/duration-unit';
6
+ export * from './duration/duration-utils';
5
7
  export * from './extra-utils/date-transforms';
6
8
  export * from './extra-utils/has-date-props';
7
9
  export * from './extra-utils/js-date-conversion';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "date-vir",
3
- "version": "5.0.0",
3
+ "version": "5.1.0",
4
4
  "description": "Easy and explicit dates and times",
5
5
  "keywords": [
6
6
  "date",
@@ -41,15 +41,15 @@
41
41
  "test:watch": "web-test-runner --watch --color --config configs/web-test-runner.config.mjs"
42
42
  },
43
43
  "dependencies": {
44
- "@augment-vir/common": "^22.1.0",
45
- "@types/luxon": "^3.3.6",
44
+ "@augment-vir/common": "^22.4.0",
45
+ "@types/luxon": "^3.4.1",
46
46
  "luxon": "^3.4.4",
47
- "object-shape-tester": "^1.0.2",
48
- "type-fest": "^4.8.2"
47
+ "object-shape-tester": "^1.0.3",
48
+ "type-fest": "^4.9.0"
49
49
  },
50
50
  "devDependencies": {
51
- "@augment-vir/browser": "^22.1.0",
52
- "@augment-vir/browser-testing": "^22.1.0",
51
+ "@augment-vir/browser": "^22.4.0",
52
+ "@augment-vir/browser-testing": "^22.4.0",
53
53
  "@open-wc/testing": "^4.0.0",
54
54
  "@types/chai": "^4.3.11",
55
55
  "@types/mocha": "^10.0.6",
@@ -58,24 +58,24 @@
58
58
  "@web/test-runner-commands": "^0.9.0",
59
59
  "@web/test-runner-playwright": "^0.11.0",
60
60
  "@web/test-runner-visual-regression": "^0.9.0",
61
- "cspell": "^8.1.0",
62
- "dependency-cruiser": "^15.5.0",
63
- "element-vir": "^17.0.3",
64
- "esbuild": "^0.19.8",
61
+ "cspell": "^8.3.2",
62
+ "dependency-cruiser": "^16.0.0",
63
+ "element-vir": "^20.0.6",
64
+ "esbuild": "^0.19.11",
65
65
  "istanbul-smart-text-reporter": "^1.1.3",
66
66
  "markdown-code-example-inserter": "^0.3.3",
67
67
  "npm-check-updates": "~16.12.3",
68
- "prettier": "^3.1.0",
68
+ "prettier": "3.2.2",
69
69
  "prettier-plugin-interpolated-html-tags": "^1.0.3",
70
- "prettier-plugin-jsdoc": "^1.1.1",
70
+ "prettier-plugin-jsdoc": "^1.3.0",
71
71
  "prettier-plugin-multiline-arrays": "^3.0.1",
72
72
  "prettier-plugin-organize-imports": "^3.2.4",
73
- "prettier-plugin-packagejson": "^2.4.6",
73
+ "prettier-plugin-packagejson": "^2.4.9",
74
74
  "prettier-plugin-sort-json": "^3.1.0",
75
75
  "prettier-plugin-toml": "^2.0.1",
76
- "run-time-assertions": "^0.2.1",
77
- "typedoc": "^0.25.4",
78
- "typescript": "^5.3.2",
79
- "virmator": "^11.1.4"
76
+ "run-time-assertions": "^0.3.0",
77
+ "typedoc": "^0.25.7",
78
+ "typescript": "^5.3.3",
79
+ "virmator": "^11.3.1"
80
80
  }
81
81
  }