@naturalcycles/js-lib 14.188.0 → 14.188.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.
@@ -58,7 +58,7 @@ export declare class LocalDate {
58
58
  *
59
59
  * Third argument allows to override "today".
60
60
  */
61
- isOlderThan(n: number, unit: LocalDateUnitStrict, today?: LocalDateInput): boolean;
61
+ isOlderThan(n: number, unit: LocalDateUnit, today?: LocalDateInput): boolean;
62
62
  /**
63
63
  * Checks if this localDate is younger than "today" by X units.
64
64
  *
@@ -68,7 +68,7 @@ export declare class LocalDate {
68
68
  *
69
69
  * Third argument allows to override "today".
70
70
  */
71
- isYoungerThan(n: number, unit: LocalDateUnitStrict, today?: LocalDateInput): boolean;
71
+ isYoungerThan(n: number, unit: LocalDateUnit, today?: LocalDateInput): boolean;
72
72
  /**
73
73
  * Returns 1 if this > d
74
74
  * returns 0 if they are equal
@@ -91,6 +91,10 @@ export declare class LocalDate {
91
91
  * Alias to subtract
92
92
  */
93
93
  minus(num: number, unit: LocalDateUnit, mutate?: boolean): LocalDate;
94
+ /**
95
+ * Alias to add
96
+ */
97
+ plus(num: number, unit: LocalDateUnit, mutate?: boolean): LocalDate;
94
98
  startOf(unit: LocalDateUnitStrict): LocalDate;
95
99
  endOf(unit: LocalDateUnitStrict): LocalDate;
96
100
  static getYearLength(year: number): number;
@@ -358,6 +358,12 @@ class LocalDate {
358
358
  minus(num, unit, mutate = false) {
359
359
  return this.add(-num, unit, mutate);
360
360
  }
361
+ /**
362
+ * Alias to add
363
+ */
364
+ plus(num, unit, mutate = false) {
365
+ return this.add(num, unit, mutate);
366
+ }
361
367
  startOf(unit) {
362
368
  if (unit === 'day')
363
369
  return this;
@@ -76,6 +76,10 @@ export declare class LocalTime {
76
76
  * Alias to subtract.
77
77
  */
78
78
  minus(num: number, unit: LocalTimeUnit, mutate?: boolean): LocalTime;
79
+ /**
80
+ * Alias to add.
81
+ */
82
+ plus(num: number, unit: LocalTimeUnit, mutate?: boolean): LocalTime;
79
83
  absDiff(other: LocalTimeInput, unit: LocalTimeUnit): number;
80
84
  diff(other: LocalTimeInput, unit: LocalTimeUnit): number;
81
85
  startOf(unit: LocalTimeUnit, mutate?: boolean): LocalTime;
@@ -220,6 +220,12 @@ class LocalTime {
220
220
  minus(num, unit, mutate = false) {
221
221
  return this.add(num * -1, unit, mutate);
222
222
  }
223
+ /**
224
+ * Alias to add.
225
+ */
226
+ plus(num, unit, mutate = false) {
227
+ return this.add(num, unit, mutate);
228
+ }
223
229
  absDiff(other, unit) {
224
230
  return Math.abs(this.diff(other, unit));
225
231
  }
@@ -2,15 +2,15 @@ import type { NumberEnum, StringEnum } from './types';
2
2
  /**
3
3
  * Returns all String keys of a number-enum.
4
4
  */
5
- export declare function _numberEnumKeys(en: NumberEnum): string[];
5
+ export declare function _numberEnumKeys<T extends NumberEnum>(en: T): (keyof T)[];
6
6
  /**
7
7
  * Returns all Number values of a number-enum.
8
8
  */
9
- export declare function _numberEnumValues(en: NumberEnum): number[];
9
+ export declare function _numberEnumValues<T extends NumberEnum>(en: T): T[keyof T][];
10
10
  /**
11
11
  * Returns all String keys of a string-enum.
12
12
  */
13
- export declare function _stringEnumKeys(en: StringEnum): string[];
13
+ export declare function _stringEnumKeys<T extends StringEnum>(en: T): (keyof T)[];
14
14
  /**
15
15
  * Returns all String values of a string-enum.
16
16
  */
@@ -21,22 +21,22 @@ export declare function _stringEnumValues<T extends StringEnum>(en: T): T[keyof
21
21
  *
22
22
  * Doesn't work on String-enums!
23
23
  */
24
- export declare function _numberEnumEntries<T extends NumberEnum>(en: T): [k: string, v: T[keyof T]][];
24
+ export declare function _numberEnumEntries<T extends NumberEnum>(en: T): [k: keyof T, v: T[keyof T]][];
25
25
  /**
26
26
  * Like _numberEnumEntries, but reversed.
27
27
  * So, keys are Numbers, values are Strings.
28
28
  */
29
- export declare function _numberEnumEntriesReversed<T extends NumberEnum>(en: T): [k: number, v: keyof T][];
29
+ export declare function _numberEnumEntriesReversed<T extends NumberEnum>(en: T): [k: T[keyof T], v: keyof T][];
30
30
  /**
31
31
  * Like _numberEnumEntries, but as a Map.
32
32
  * Keys are Strings, values are Numbers.
33
33
  */
34
- export declare function _numberEnumAsMap<T extends NumberEnum>(en: T): Map<string, T[keyof T]>;
34
+ export declare function _numberEnumAsMap<T extends NumberEnum>(en: T): Map<keyof T, T[keyof T]>;
35
35
  /**
36
36
  * Like _numberEnumEntriesReversed, but as a Map.
37
37
  * Keys are Numbers (actual Numbers, because it's a Map, not an Object), values are Strings.
38
38
  */
39
- export declare function _numberEnumAsMapReversed<T extends NumberEnum>(en: T): Map<number, keyof T>;
39
+ export declare function _numberEnumAsMapReversed<T extends NumberEnum>(en: T): Map<T[keyof T], keyof T>;
40
40
  /**
41
41
  * Returns all string-enum "entries", where entry is a tuple of [key, value],
42
42
  * where key is a String key, value is a String value, typed as Enum itself.
@@ -355,6 +355,12 @@ export class LocalDate {
355
355
  minus(num, unit, mutate = false) {
356
356
  return this.add(-num, unit, mutate);
357
357
  }
358
+ /**
359
+ * Alias to add
360
+ */
361
+ plus(num, unit, mutate = false) {
362
+ return this.add(num, unit, mutate);
363
+ }
358
364
  startOf(unit) {
359
365
  if (unit === 'day')
360
366
  return this;
@@ -218,6 +218,12 @@ export class LocalTime {
218
218
  minus(num, unit, mutate = false) {
219
219
  return this.add(num * -1, unit, mutate);
220
220
  }
221
+ /**
222
+ * Alias to add.
223
+ */
224
+ plus(num, unit, mutate = false) {
225
+ return this.add(num, unit, mutate);
226
+ }
221
227
  absDiff(other, unit) {
222
228
  return Math.abs(this.diff(other, unit));
223
229
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@naturalcycles/js-lib",
3
- "version": "14.188.0",
3
+ "version": "14.188.2",
4
4
  "scripts": {
5
5
  "prepare": "husky install",
6
6
  "build-prod": "build-prod-esm-cjs",
@@ -249,7 +249,7 @@ export class LocalDate {
249
249
  *
250
250
  * Third argument allows to override "today".
251
251
  */
252
- isOlderThan(n: number, unit: LocalDateUnitStrict, today?: LocalDateInput): boolean {
252
+ isOlderThan(n: number, unit: LocalDateUnit, today?: LocalDateInput): boolean {
253
253
  return this.isBefore(LocalDate.of(today || new Date()).add(-n, unit))
254
254
  }
255
255
 
@@ -262,7 +262,7 @@ export class LocalDate {
262
262
  *
263
263
  * Third argument allows to override "today".
264
264
  */
265
- isYoungerThan(n: number, unit: LocalDateUnitStrict, today?: LocalDateInput): boolean {
265
+ isYoungerThan(n: number, unit: LocalDateUnit, today?: LocalDateInput): boolean {
266
266
  return !this.isOlderThan(n, unit, today)
267
267
  }
268
268
 
@@ -439,6 +439,13 @@ export class LocalDate {
439
439
  return this.add(-num, unit, mutate)
440
440
  }
441
441
 
442
+ /**
443
+ * Alias to add
444
+ */
445
+ plus(num: number, unit: LocalDateUnit, mutate = false): LocalDate {
446
+ return this.add(num, unit, mutate)
447
+ }
448
+
442
449
  startOf(unit: LocalDateUnitStrict): LocalDate {
443
450
  if (unit === 'day') return this
444
451
  if (unit === 'month') return LocalDate.create(this.$year, this.$month, 1)
@@ -291,6 +291,13 @@ export class LocalTime {
291
291
  return this.add(num * -1, unit, mutate)
292
292
  }
293
293
 
294
+ /**
295
+ * Alias to add.
296
+ */
297
+ plus(num: number, unit: LocalTimeUnit, mutate = false): LocalTime {
298
+ return this.add(num, unit, mutate)
299
+ }
300
+
294
301
  absDiff(other: LocalTimeInput, unit: LocalTimeUnit): number {
295
302
  return Math.abs(this.diff(other, unit))
296
303
  }
package/src/enum.util.ts CHANGED
@@ -3,21 +3,21 @@ import type { NumberEnum, StringEnum } from './types'
3
3
  /**
4
4
  * Returns all String keys of a number-enum.
5
5
  */
6
- export function _numberEnumKeys(en: NumberEnum): string[] {
6
+ export function _numberEnumKeys<T extends NumberEnum>(en: T): (keyof T)[] {
7
7
  return Object.values(en).filter(k => typeof k === 'string') as string[]
8
8
  }
9
9
 
10
10
  /**
11
11
  * Returns all Number values of a number-enum.
12
12
  */
13
- export function _numberEnumValues(en: NumberEnum): number[] {
14
- return Object.values(en).filter(k => typeof k === 'number') as number[]
13
+ export function _numberEnumValues<T extends NumberEnum>(en: T): T[keyof T][] {
14
+ return Object.values(en).filter(k => typeof k === 'number') as any[]
15
15
  }
16
16
 
17
17
  /**
18
18
  * Returns all String keys of a string-enum.
19
19
  */
20
- export function _stringEnumKeys(en: StringEnum): string[] {
20
+ export function _stringEnumKeys<T extends StringEnum>(en: T): (keyof T)[] {
21
21
  return Object.keys(en)
22
22
  }
23
23
 
@@ -35,7 +35,7 @@ export function _stringEnumValues<T extends StringEnum>(en: T): T[keyof T][] {
35
35
  *
36
36
  * Doesn't work on String-enums!
37
37
  */
38
- export function _numberEnumEntries<T extends NumberEnum>(en: T): [k: string, v: T[keyof T]][] {
38
+ export function _numberEnumEntries<T extends NumberEnum>(en: T): [k: keyof T, v: T[keyof T]][] {
39
39
  return Object.values(en)
40
40
  .filter(k => typeof k === 'string')
41
41
  .map(k => [k, en[k]]) as any
@@ -45,7 +45,9 @@ export function _numberEnumEntries<T extends NumberEnum>(en: T): [k: string, v:
45
45
  * Like _numberEnumEntries, but reversed.
46
46
  * So, keys are Numbers, values are Strings.
47
47
  */
48
- export function _numberEnumEntriesReversed<T extends NumberEnum>(en: T): [k: number, v: keyof T][] {
48
+ export function _numberEnumEntriesReversed<T extends NumberEnum>(
49
+ en: T,
50
+ ): [k: T[keyof T], v: keyof T][] {
49
51
  return Object.values(en)
50
52
  .filter(k => typeof k === 'string')
51
53
  .map(k => [en[k], k]) as any
@@ -55,7 +57,7 @@ export function _numberEnumEntriesReversed<T extends NumberEnum>(en: T): [k: num
55
57
  * Like _numberEnumEntries, but as a Map.
56
58
  * Keys are Strings, values are Numbers.
57
59
  */
58
- export function _numberEnumAsMap<T extends NumberEnum>(en: T): Map<string, T[keyof T]> {
60
+ export function _numberEnumAsMap<T extends NumberEnum>(en: T): Map<keyof T, T[keyof T]> {
59
61
  return new Map(
60
62
  Object.values(en)
61
63
  .filter(k => typeof k === 'string')
@@ -67,7 +69,7 @@ export function _numberEnumAsMap<T extends NumberEnum>(en: T): Map<string, T[key
67
69
  * Like _numberEnumEntriesReversed, but as a Map.
68
70
  * Keys are Numbers (actual Numbers, because it's a Map, not an Object), values are Strings.
69
71
  */
70
- export function _numberEnumAsMapReversed<T extends NumberEnum>(en: T): Map<number, keyof T> {
72
+ export function _numberEnumAsMapReversed<T extends NumberEnum>(en: T): Map<T[keyof T], keyof T> {
71
73
  return new Map(
72
74
  Object.values(en)
73
75
  .filter(k => typeof k === 'string')