@zajno/common 2.2.13 → 2.2.15

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.
@@ -1,17 +1,13 @@
1
- import { ConstantGranularity, Granularity } from './types';
1
+ import { Granularity } from './types';
2
2
  type DateFields<T> = {
3
3
  [P in keyof T]: T[P] extends Date ? P : never;
4
4
  }[keyof T];
5
5
  export declare function ensureDates<T>(obj: T, ...fields: DateFields<T>[]): void;
6
6
  export declare function isNetworkDay(n: number): boolean;
7
7
  export declare function isNetworkDate(d: Date): boolean;
8
- export declare function convert(amount: number, g: ConstantGranularity, to: ConstantGranularity): number;
9
8
  export declare function unix(d: Date | number): number;
10
9
  export declare function unixDayIndex(d: Date | number): number;
11
10
  export declare function dateFromUnixDayIndex(d: number): Date;
12
- export declare function decompose(date: number | Date, local: boolean, ...grans: (Granularity & DecomposeGranularity)[]): Partial<Record<DecomposeGranularity, number>>;
13
- type DecomposeGranularity = 'week' | 'day' | 'hour' | 'minute' | 'second';
14
- export declare function decomposeMs<K extends Granularity & DecomposeGranularity>(ms: number, ...grans: K[]): Record<K, number>;
15
11
  export declare function decomposeDate<K extends Granularity>(d: Date, local: boolean, ...grans: K[]): Record<K, number>;
16
12
  export declare function splitDatesByDay(dates: number[]): number[][];
17
13
  export declare function getDiscreteDiff(d1: number | Date, d2: number | Date, granularity: Granularity, local?: boolean, absolute?: boolean): number;
@@ -1 +1 @@
1
- {"version":3,"file":"convert.d.ts","sourceRoot":"","sources":["../../src/dates/convert.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE3D,KAAK,UAAU,CAAC,CAAC,IAAI;KAChB,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,GAAG,CAAC,GAAG,KAAK;CAChD,CAAC,MAAM,CAAC,CAAC,CAAC;AAEX,wBAAgB,WAAW,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,QAShE;AAED,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM,WAA8B;AACpE,wBAAgB,aAAa,CAAC,CAAC,EAAE,IAAI,WAAyC;AAE9E,wBAAgB,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,mBAAmB,EAAE,EAAE,EAAE,mBAAmB,UAItF;AAED,wBAAgB,IAAI,CAAC,CAAC,EAAE,IAAI,GAAG,MAAM,UAEpC;AAED,wBAAgB,YAAY,CAAC,CAAC,EAAE,IAAI,GAAG,MAAM,UAE5C;AAED,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,MAAM,QAE7C;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,KAAK,EAAE,CAAC,WAAW,GAAG,oBAAoB,CAAC,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,oBAAoB,EAAE,MAAM,CAAC,CAAC,CAM9J;AAED,KAAK,oBAAoB,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAE1E,wBAAgB,WAAW,CAAC,CAAC,SAAS,WAAW,GAAG,oBAAoB,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC,EAAE,GAAG,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAoCtH;AAED,wBAAgB,aAAa,CAAC,CAAC,SAAS,WAAW,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,KAAK,EAAE,CAAC,EAAE,GAAG,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAO9G;AAGD,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,EAAE,CAiC3D;AAED,wBAAgB,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,EAAE,EAAE,EAAE,MAAM,GAAG,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,KAAK,UAAQ,EAAE,QAAQ,UAAO,UAkC7H;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,YAAY,EAAE,OAAO,GAAG,MAAM,CA2B5E"}
1
+ {"version":3,"file":"convert.d.ts","sourceRoot":"","sources":["../../src/dates/convert.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEtC,KAAK,UAAU,CAAC,CAAC,IAAI;KAChB,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,GAAG,CAAC,GAAG,KAAK;CAChD,CAAC,MAAM,CAAC,CAAC,CAAC;AAEX,wBAAgB,WAAW,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,QAShE;AAED,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM,WAA8B;AACpE,wBAAgB,aAAa,CAAC,CAAC,EAAE,IAAI,WAAyC;AAE9E,wBAAgB,IAAI,CAAC,CAAC,EAAE,IAAI,GAAG,MAAM,UAEpC;AAED,wBAAgB,YAAY,CAAC,CAAC,EAAE,IAAI,GAAG,MAAM,UAE5C;AAED,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,MAAM,QAE7C;AAED,wBAAgB,aAAa,CAAC,CAAC,SAAS,WAAW,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,KAAK,EAAE,CAAC,EAAE,GAAG,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAO9G;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,EAAE,CAiC3D;AAED,wBAAgB,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,EAAE,EAAE,EAAE,MAAM,GAAG,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,KAAK,UAAQ,EAAE,QAAQ,UAAO,UAkC7H;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,YAAY,EAAE,OAAO,GAAG,MAAM,CA2B5E"}
package/dates/convert.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getDaysStreak = exports.getDiscreteDiff = exports.splitDatesByDay = exports.decomposeDate = exports.decomposeMs = exports.decompose = exports.dateFromUnixDayIndex = exports.unixDayIndex = exports.unix = exports.convert = exports.isNetworkDate = exports.isNetworkDay = exports.ensureDates = void 0;
3
+ exports.getDaysStreak = exports.getDiscreteDiff = exports.splitDatesByDay = exports.decomposeDate = exports.dateFromUnixDayIndex = exports.unixDayIndex = exports.unix = exports.isNetworkDate = exports.isNetworkDay = exports.ensureDates = void 0;
4
4
  const datex_1 = require("./datex");
5
5
  const parse_1 = require("./parse");
6
6
  const shift_1 = require("./shift");
@@ -20,12 +20,6 @@ function isNetworkDay(n) { return n >= 1 && n <= 5; }
20
20
  exports.isNetworkDay = isNetworkDay;
21
21
  function isNetworkDate(d) { return isNetworkDay(d.getUTCDay()); }
22
22
  exports.isNetworkDate = isNetworkDate;
23
- function convert(amount, g, to) {
24
- const ms = amount * types_1.ConstantGranularity.toMs(g);
25
- const toMs = types_1.ConstantGranularity.toMs(to);
26
- return ms / toMs;
27
- }
28
- exports.convert = convert;
29
23
  function unix(d) {
30
24
  return Math.floor((0, parse_1.getTime)(d) / 1000);
31
25
  }
@@ -38,44 +32,6 @@ function dateFromUnixDayIndex(d) {
38
32
  return new Date(d * 1000 * 3600 * 24);
39
33
  }
40
34
  exports.dateFromUnixDayIndex = dateFromUnixDayIndex;
41
- function decompose(date, local, ...grans) {
42
- const dd = (0, parse_1.getDate)(date);
43
- const offset = local ? dd.getTimezoneOffset() * 60000 : 0;
44
- const ms = dd.getTime() + offset;
45
- return decomposeMs(ms, ...grans);
46
- }
47
- exports.decompose = decompose;
48
- function decomposeMs(ms, ...grans) {
49
- const res = {};
50
- // absolute values
51
- let secs = Math.round(convert(ms, 'millisecond', 'second'));
52
- let mins = convert(secs, 'second', 'minute');
53
- let hrs = convert(mins, 'minute', 'hour');
54
- let days = convert(hrs, 'hour', 'day');
55
- // apply only selected granularity
56
- if (grans.includes('week')) {
57
- // week is 1-based!
58
- res.week = Math.floor(days / 7) + 1;
59
- days = days % 7;
60
- }
61
- if (grans.includes('day')) {
62
- res.day = Math.trunc(days);
63
- hrs = hrs % 24;
64
- }
65
- if (grans.includes('hour')) {
66
- res.hour = Math.trunc(hrs);
67
- mins = mins % 60;
68
- }
69
- if (grans.includes('minute')) {
70
- res.minute = Math.trunc(mins);
71
- secs = secs % 60;
72
- }
73
- if (grans.includes('second')) {
74
- res.second = secs;
75
- }
76
- return res;
77
- }
78
- exports.decomposeMs = decomposeMs;
79
35
  function decomposeDate(d, local, ...grans) {
80
36
  const res = {};
81
37
  grans.forEach(g => {
@@ -133,7 +89,7 @@ function getDiscreteDiff(d1, d2, granularity, local = false, absolute = true) {
133
89
  break;
134
90
  }
135
91
  default: {
136
- const ms = types_1.ConstantGranularity.toMs(granularity);
92
+ const ms = types_1.Granularity.Constant.toMs(granularity);
137
93
  v1 = (0, shift_1.startOf)(d1, granularity, local).getTime() / ms;
138
94
  v2 = (0, shift_1.startOf)(d2, granularity, local).getTime() / ms;
139
95
  break;
@@ -1 +1 @@
1
- {"version":3,"file":"convert.js","sourceRoot":"","sources":["../../src/dates/convert.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"convert.js","sourceRoot":"","sources":["../../src/dates/convert.ts"],"names":[],"mappings":"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"}
package/dates/datex.d.ts CHANGED
@@ -12,4 +12,13 @@ export declare namespace DateX {
12
12
  function set(d: Date, g: 'second', local: boolean, sec: number, ms?: number): number;
13
13
  function set(d: Date, g: 'millisecond', local: boolean, ms: number): number;
14
14
  }
15
+ /**
16
+ * Allows to set day of week, symmetric to Date.getDay()
17
+ * @param d Date representation
18
+ * @param dayOfWeek 0..6 Sunday..Saturday
19
+ * @param future true - only forward or present, false - only backward or present, null - closest
20
+ * @param local whether to use local time
21
+ * @returns Date with the same time as d, but with the updated day of week
22
+ */
23
+ export declare function setDayOfWeek(d: Date | number, dayOfWeek: number, future?: boolean | null, local?: boolean): any;
15
24
  //# sourceMappingURL=datex.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"datex.d.ts","sourceRoot":"","sources":["../../src/dates/datex.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEtC,yBAAiB,KAAK,CAAC;IAEnB,KAAY,eAAe,GAAG,WAAW,GAAG,SAAS,CAAC;IAEtD,SAAgB,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,eAAe,EAAE,KAAK,EAAE,OAAO,OAa9D;IAED,SAAgB,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC7G,SAAgB,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC/F,SAAgB,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IAC9E,SAAgB,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IAC7E,SAAgB,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC;IACpF,SAAgB,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxH,SAAgB,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC1G,SAAgB,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5F,SAAgB,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,aAAa,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;CA2EtF"}
1
+ {"version":3,"file":"datex.d.ts","sourceRoot":"","sources":["../../src/dates/datex.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAItC,yBAAiB,KAAK,CAAC;IAEnB,KAAY,eAAe,GAAG,WAAW,GAAG,SAAS,CAAC;IAEtD,SAAgB,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,eAAe,EAAE,KAAK,EAAE,OAAO,OAa9D;IAED,SAAgB,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC7G,SAAgB,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC/F,SAAgB,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IAC9E,SAAgB,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IAC7E,SAAgB,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC;IACpF,SAAgB,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxH,SAAgB,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC1G,SAAgB,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5F,SAAgB,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,aAAa,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;CA2EtF;AAED;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,IAAI,GAAG,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,GAAE,OAAO,GAAG,IAAW,EAAE,KAAK,UAAQ,OAc7G"}
package/dates/datex.js CHANGED
@@ -1,8 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DateX = void 0;
4
- const convert_1 = require("./convert");
5
- const shift_1 = require("./shift");
3
+ exports.setDayOfWeek = exports.DateX = void 0;
4
+ const types_1 = require("./types");
5
+ const decompose_1 = require("./decompose");
6
+ const parse_1 = require("./parse");
6
7
  var DateX;
7
8
  (function (DateX) {
8
9
  function get(d, g, local) {
@@ -25,7 +26,7 @@ var DateX;
25
26
  return setWeek(d, local, v[0]);
26
27
  }
27
28
  if (g === 'weekDay') {
28
- return (0, shift_1.setDayOfWeek)(d, v[0], null, local);
29
+ return setDayOfWeek(d, v[0], null, local);
29
30
  }
30
31
  /* eslint-disable @typescript-eslint/unbound-method -- it's clearly defined as a function with `this: Date` */
31
32
  const fn = (() => {
@@ -51,7 +52,7 @@ var DateX;
51
52
  set(firstDay, 'hour', local, 0, 0, 0, 0);
52
53
  // we need to find diff between the target date and the first Sunday in the year
53
54
  // next closest Sunday in the future, is considered as the start of the second week
54
- const secondWeekSunday = (0, shift_1.setDayOfWeek)(firstDay, 0, true, local);
55
+ const secondWeekSunday = setDayOfWeek(firstDay, 0, true, local);
55
56
  let offset = 1;
56
57
  const secondWeekSundayT = secondWeekSunday.getTime();
57
58
  if (firstDay.getTime() === secondWeekSundayT) {
@@ -65,15 +66,38 @@ var DateX;
65
66
  }
66
67
  const diff = t - secondWeekSundayT;
67
68
  // the returned value is 1-based
68
- const { week } = (0, convert_1.decomposeMs)(diff, 'week');
69
+ const { week } = (0, decompose_1.decomposeMs)(diff, 'week');
69
70
  // adding offset since counting from 2nd week
70
71
  return week + offset;
71
72
  }
72
73
  function setWeek(d, local, week) {
73
74
  const current = getWeek(d, local);
74
- const res = (0, shift_1.shiftDate)(d, (week - current), 'week', local).getTime();
75
+ const res = types_1.Granularity.Constant.shift(d, (week - current), 'week').getTime();
75
76
  d.setTime(res);
76
77
  return res;
77
78
  }
78
79
  })(DateX || (exports.DateX = DateX = {}));
80
+ /**
81
+ * Allows to set day of week, symmetric to Date.getDay()
82
+ * @param d Date representation
83
+ * @param dayOfWeek 0..6 Sunday..Saturday
84
+ * @param future true - only forward or present, false - only backward or present, null - closest
85
+ * @param local whether to use local time
86
+ * @returns Date with the same time as d, but with the updated day of week
87
+ */
88
+ function setDayOfWeek(d, dayOfWeek, future = null, local = false) {
89
+ const res = (0, parse_1.getDate)(d);
90
+ const currentDayOfWeek = DateX.get(res, 'weekDay', local);
91
+ let diff = dayOfWeek - currentDayOfWeek;
92
+ if (future != null) {
93
+ if (future && diff < 0) {
94
+ diff += 7;
95
+ }
96
+ if (!future && diff > 0) {
97
+ diff -= 7;
98
+ }
99
+ }
100
+ return types_1.Granularity.Constant.shift(res, diff, 'day');
101
+ }
102
+ exports.setDayOfWeek = setDayOfWeek;
79
103
  //# sourceMappingURL=datex.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"datex.js","sourceRoot":"","sources":["../../src/dates/datex.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"datex.js","sourceRoot":"","sources":["../../src/dates/datex.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import { Granularity } from './types';
2
+ export type DecomposeGranularity = 'week' | 'day' | 'hour' | 'minute' | 'second';
3
+ export declare function decomposeMs<K extends Granularity & DecomposeGranularity>(ms: number, ...grans: K[]): Record<K, number>;
4
+ export declare function decompose(date: number | Date, local: boolean, ...grans: (Granularity & DecomposeGranularity)[]): Partial<Record<DecomposeGranularity, number>>;
5
+ //# sourceMappingURL=decompose.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"decompose.d.ts","sourceRoot":"","sources":["../../src/dates/decompose.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEtC,MAAM,MAAM,oBAAoB,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAEjF,wBAAgB,WAAW,CAAC,CAAC,SAAS,WAAW,GAAG,oBAAoB,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC,EAAE,GAAG,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAoCtH;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,KAAK,EAAE,CAAC,WAAW,GAAG,oBAAoB,CAAC,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,oBAAoB,EAAE,MAAM,CAAC,CAAC,CAM9J"}
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.decompose = exports.decomposeMs = void 0;
4
+ const parse_1 = require("./parse");
5
+ const types_1 = require("./types");
6
+ function decomposeMs(ms, ...grans) {
7
+ const res = {};
8
+ // absolute values
9
+ let secs = Math.round(types_1.Granularity.Constant.convert(ms, 'millisecond', 'second'));
10
+ let mins = types_1.Granularity.Constant.convert(secs, 'second', 'minute');
11
+ let hrs = types_1.Granularity.Constant.convert(mins, 'minute', 'hour');
12
+ let days = types_1.Granularity.Constant.convert(hrs, 'hour', 'day');
13
+ // apply only selected granularity
14
+ if (grans.includes('week')) {
15
+ // week is 1-based!
16
+ res.week = Math.floor(days / 7) + 1;
17
+ days = days % 7;
18
+ }
19
+ if (grans.includes('day')) {
20
+ res.day = Math.trunc(days);
21
+ hrs = hrs % 24;
22
+ }
23
+ if (grans.includes('hour')) {
24
+ res.hour = Math.trunc(hrs);
25
+ mins = mins % 60;
26
+ }
27
+ if (grans.includes('minute')) {
28
+ res.minute = Math.trunc(mins);
29
+ secs = secs % 60;
30
+ }
31
+ if (grans.includes('second')) {
32
+ res.second = secs;
33
+ }
34
+ return res;
35
+ }
36
+ exports.decomposeMs = decomposeMs;
37
+ function decompose(date, local, ...grans) {
38
+ const dd = (0, parse_1.getDate)(date);
39
+ const offset = local ? dd.getTimezoneOffset() * 60000 : 0;
40
+ const ms = dd.getTime() + offset;
41
+ return decomposeMs(ms, ...grans);
42
+ }
43
+ exports.decompose = decompose;
44
+ //# sourceMappingURL=decompose.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"decompose.js","sourceRoot":"","sources":["../../src/dates/decompose.ts"],"names":[],"mappings":";;;AAAA,mCAAkC;AAClC,mCAAsC;AAItC,SAAgB,WAAW,CAA+C,EAAU,EAAE,GAAG,KAAU;IAC/F,MAAM,GAAG,GAAyC,EAAE,CAAC;IAErD,kBAAkB;IAClB,IAAI,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,mBAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC,CAAC;IACjF,IAAI,IAAI,GAAG,mBAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAClE,IAAI,GAAG,GAAG,mBAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC/D,IAAI,IAAI,GAAG,mBAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;IAE5D,kCAAkC;IAClC,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAW,CAAC,EAAE,CAAC;QAC9B,mBAAmB;QACnB,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;QACpC,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC;IACpB,CAAC;IAED,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAU,CAAC,EAAE,CAAC;QAC7B,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC3B,GAAG,GAAG,GAAG,GAAG,EAAE,CAAC;IACnB,CAAC;IAED,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAW,CAAC,EAAE,CAAC;QAC9B,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC3B,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC;IACrB,CAAC;IAED,IAAI,KAAK,CAAC,QAAQ,CAAC,QAAa,CAAC,EAAE,CAAC;QAChC,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC9B,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC;IACrB,CAAC;IAED,IAAI,KAAK,CAAC,QAAQ,CAAC,QAAa,CAAC,EAAE,CAAC;QAChC,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC;IACtB,CAAC;IAED,OAAO,GAAwB,CAAC;AACpC,CAAC;AApCD,kCAoCC;AAED,SAAgB,SAAS,CAAC,IAAmB,EAAE,KAAc,EAAE,GAAG,KAA6C;IAC3G,MAAM,EAAE,GAAG,IAAA,eAAO,EAAC,IAAI,CAAC,CAAC;IACzB,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,iBAAiB,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1D,MAAM,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,GAAG,MAAM,CAAC;IAEjC,OAAO,WAAW,CAAC,EAAE,EAAE,GAAG,KAAK,CAAC,CAAC;AACrC,CAAC;AAND,8BAMC"}
@@ -1 +1 @@
1
- {"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../../src/dates/format.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,yBAAiB,MAAM,CAAC;IAEb,MAAM,aAAa,UAAU,CAAC;IAErC,KAAY,OAAO;QACf,iBAAiB,mBAAmB;QACpC,kBAAkB,wBAAwB;KAC7C;IAED,UAAiB,OAAO,CAAC;QAKrB,SAAgB,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,UAAO,sBAgBpD;KACJ;IAED,SAAgB,QAAQ,CAAC,EAAE,EAAE,IAAI,GAAG,MAAM,EAAE,KAAK,UAAQ,GAAG,MAAM,CAgBjE;IAED,mBAAmB;IACnB,SAAgB,YAAY,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,EAAE,KAAK,UAAQ,GAAG,MAAM,GAAG,IAAI,CAK9E;IAED,SAAgB,WAAW,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,CAG9D;IAED,SAAgB,QAAQ,CAAC,EAAE,EAAE,QAAQ,EAAE,KAAK,UAAQ,UAGnD;IAGD,SAAgB,UAAU,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,OAAa,UA6BrD;IAED,UAAiB,OAAO,CAAC;QAErB,6EAA6E;QAC7E,SAAgB,eAAe,QAShB,MAAM,YAKpB;QAGD,SAAgB,MAAM,CAAC,GAAG,EAAE,MAAM,UAEjC;KACJ;CAGJ"}
1
+ {"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../../src/dates/format.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,yBAAiB,MAAM,CAAC;IAEb,MAAM,aAAa,UAAU,CAAC;IAErC,KAAY,OAAO;QACf,iBAAiB,mBAAmB;QACpC,kBAAkB,wBAAwB;KAC7C;IAED,UAAiB,OAAO,CAAC;QAKrB,SAAgB,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,UAAO,sBAgBpD;KACJ;IAED,SAAgB,QAAQ,CAAC,EAAE,EAAE,IAAI,GAAG,MAAM,EAAE,KAAK,UAAQ,GAAG,MAAM,CAgBjE;IAED,mBAAmB;IACnB,SAAgB,YAAY,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,EAAE,KAAK,UAAQ,GAAG,MAAM,GAAG,IAAI,CAK9E;IAED,SAAgB,WAAW,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,CAG9D;IAED,SAAgB,QAAQ,CAAC,EAAE,EAAE,QAAQ,EAAE,KAAK,UAAQ,UAGnD;IAGD,SAAgB,UAAU,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,OAAa,UA6BrD;IAED,UAAiB,OAAO,CAAC;QAErB,6EAA6E;QAC7E,SAAgB,eAAe,QAShB,MAAM,YAKpB;QAGD,SAAgB,MAAM,CAAC,GAAG,EAAE,MAAM,UAEjC;KACJ;CAGJ"}
package/dates/format.js CHANGED
@@ -4,6 +4,7 @@ exports.Format = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const MathX = tslib_1.__importStar(require("../math"));
6
6
  const convert_1 = require("./convert");
7
+ const decompose_1 = require("./decompose");
7
8
  const parse_1 = require("./parse");
8
9
  var Format;
9
10
  (function (Format) {
@@ -36,7 +37,7 @@ var Format;
36
37
  Presets.use = use;
37
38
  })(Presets = Format.Presets || (Format.Presets = {}));
38
39
  function timespan(ms, local = false) {
39
- const decs = (0, convert_1.decompose)((0, parse_1.getTime)(ms), local, 'second', 'minute', 'hour');
40
+ const decs = (0, decompose_1.decompose)((0, parse_1.getTime)(ms), local, 'second', 'minute', 'hour');
40
41
  const parts = [];
41
42
  if (decs.hour) {
42
43
  parts.push(`${decs.hour}h`);
@@ -1 +1 @@
1
- {"version":3,"file":"format.js","sourceRoot":"","sources":["../../src/dates/format.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"format.js","sourceRoot":"","sources":["../../src/dates/format.ts"],"names":[],"mappings":"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"}
package/dates/index.d.ts CHANGED
@@ -7,4 +7,5 @@ export * from './period';
7
7
  export * from './shift';
8
8
  export * from './types';
9
9
  export * from './yearDate';
10
+ export * from './decompose';
10
11
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/dates/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/dates/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC"}
package/dates/index.js CHANGED
@@ -10,4 +10,5 @@ tslib_1.__exportStar(require("./period"), exports);
10
10
  tslib_1.__exportStar(require("./shift"), exports);
11
11
  tslib_1.__exportStar(require("./types"), exports);
12
12
  tslib_1.__exportStar(require("./yearDate"), exports);
13
+ tslib_1.__exportStar(require("./decompose"), exports);
13
14
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/dates/index.ts"],"names":[],"mappings":";;;AAAA,iDAAuB;AACvB,oDAA0B;AAC1B,kDAAwB;AACxB,mDAAyB;AACzB,kDAAwB;AACxB,mDAAyB;AACzB,kDAAwB;AACxB,kDAAwB;AACxB,qDAA2B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/dates/index.ts"],"names":[],"mappings":";;;AAAA,iDAAuB;AACvB,oDAA0B;AAC1B,kDAAwB;AACxB,mDAAyB;AACzB,kDAAwB;AACxB,mDAAyB;AACzB,kDAAwB;AACxB,kDAAwB;AACxB,qDAA2B;AAC3B,sDAA4B"}
package/dates/shift.d.ts CHANGED
@@ -6,13 +6,4 @@ export declare const add: typeof shiftDate;
6
6
  export declare function startOf(d: Date | number, g: Granularity, local?: boolean): Date;
7
7
  export declare function endOf(d: Date | number, g: Granularity, local?: boolean): Date;
8
8
  export declare function isSame(d1: Date | number, d2: Date | number, g: Granularity, local?: boolean): boolean;
9
- /**
10
- * Allows to set day of week, symmetric to Date.getDay()
11
- * @param d Date representation
12
- * @param dayOfWeek 0..6 Sunday..Saturday
13
- * @param future true - only forward or present, false - only backward or present, null - closest
14
- * @param local whether to use local time
15
- * @returns Date with the same time as d, but with the updated day of week
16
- */
17
- export declare function setDayOfWeek(d: Date | number, dayOfWeek: number, future?: boolean | null, local?: boolean): any;
18
9
  //# sourceMappingURL=shift.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"shift.d.ts","sourceRoot":"","sources":["../../src/dates/shift.ts"],"names":[],"mappings":"AAEA,OAAO,EAAuB,WAAW,EAAE,MAAM,SAAS,CAAC;AAE3D,wBAAgB,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE,IAAI,KAAK,OAAO,EAAE,QAAQ,SAAM,QAcnG;AAGD,wBAAgB,SAAS,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,KAAK,UAAQ,GAAG,IAAI,CAmB5G;AAED,gDAAgD;AAChD,eAAO,MAAM,GAAG,kBAAY,CAAC;AAE7B,wBAAgB,OAAO,CAAC,CAAC,EAAE,IAAI,GAAG,MAAM,EAAE,CAAC,EAAE,WAAW,EAAE,KAAK,UAAQ,GAAG,IAAI,CAkC7E;AAED,wBAAgB,KAAK,CAAC,CAAC,EAAE,IAAI,GAAG,MAAM,EAAE,CAAC,EAAE,WAAW,EAAE,KAAK,UAAQ,GAAG,IAAI,CAS3E;AAED,wBAAgB,MAAM,CAAC,EAAE,EAAE,IAAI,GAAG,MAAM,EAAE,EAAE,EAAE,IAAI,GAAG,MAAM,EAAE,CAAC,EAAE,WAAW,EAAE,KAAK,UAAQ,WAIzF;AAED;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,IAAI,GAAG,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,GAAE,OAAO,GAAG,IAAW,EAAE,KAAK,UAAQ,OAc7G"}
1
+ {"version":3,"file":"shift.d.ts","sourceRoot":"","sources":["../../src/dates/shift.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEtC,wBAAgB,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE,IAAI,KAAK,OAAO,EAAE,QAAQ,SAAM,QAcnG;AAGD,wBAAgB,SAAS,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,KAAK,UAAQ,GAAG,IAAI,CAmB5G;AAED,gDAAgD;AAChD,eAAO,MAAM,GAAG,kBAAY,CAAC;AAE7B,wBAAgB,OAAO,CAAC,CAAC,EAAE,IAAI,GAAG,MAAM,EAAE,CAAC,EAAE,WAAW,EAAE,KAAK,UAAQ,GAAG,IAAI,CAkC7E;AAED,wBAAgB,KAAK,CAAC,CAAC,EAAE,IAAI,GAAG,MAAM,EAAE,CAAC,EAAE,WAAW,EAAE,KAAK,UAAQ,GAAG,IAAI,CAS3E;AAED,wBAAgB,MAAM,CAAC,EAAE,EAAE,IAAI,GAAG,MAAM,EAAE,EAAE,EAAE,IAAI,GAAG,MAAM,EAAE,CAAC,EAAE,WAAW,EAAE,KAAK,UAAQ,WAIzF"}
package/dates/shift.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.setDayOfWeek = exports.isSame = exports.endOf = exports.startOf = exports.add = exports.shiftDate = exports.addDays = void 0;
3
+ exports.isSame = exports.endOf = exports.startOf = exports.add = exports.shiftDate = exports.addDays = void 0;
4
4
  const parse_1 = require("./parse");
5
5
  const datex_1 = require("./datex");
6
6
  const types_1 = require("./types");
@@ -34,7 +34,7 @@ function shiftDate(date, amount, granularity, local = false) {
34
34
  return res;
35
35
  }
36
36
  default: {
37
- return new Date(res.getTime() + amount * types_1.ConstantGranularity.toMs(granularity));
37
+ return types_1.Granularity.Constant.shift(res, amount, granularity);
38
38
  }
39
39
  }
40
40
  }
@@ -70,7 +70,7 @@ function startOf(d, g, local = false) {
70
70
  return (0, parse_1.getDate)(d);
71
71
  }
72
72
  default: {
73
- const granMs = types_1.ConstantGranularity.toMs(g);
73
+ const granMs = types_1.Granularity.Constant.toMs(g);
74
74
  const startMs = ms - ms % granMs;
75
75
  return new Date(startMs);
76
76
  }
@@ -93,27 +93,4 @@ function isSame(d1, d2, g, local = false) {
93
93
  return s1.getTime() === s2.getTime();
94
94
  }
95
95
  exports.isSame = isSame;
96
- /**
97
- * Allows to set day of week, symmetric to Date.getDay()
98
- * @param d Date representation
99
- * @param dayOfWeek 0..6 Sunday..Saturday
100
- * @param future true - only forward or present, false - only backward or present, null - closest
101
- * @param local whether to use local time
102
- * @returns Date with the same time as d, but with the updated day of week
103
- */
104
- function setDayOfWeek(d, dayOfWeek, future = null, local = false) {
105
- const res = (0, parse_1.getDate)(d);
106
- const currentDayOfWeek = datex_1.DateX.get(res, 'weekDay', local);
107
- let diff = dayOfWeek - currentDayOfWeek;
108
- if (future != null) {
109
- if (future && diff < 0) {
110
- diff += 7;
111
- }
112
- if (!future && diff > 0) {
113
- diff -= 7;
114
- }
115
- }
116
- return shiftDate(res, diff, 'day', local);
117
- }
118
- exports.setDayOfWeek = setDayOfWeek;
119
96
  //# sourceMappingURL=shift.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"shift.js","sourceRoot":"","sources":["../../src/dates/shift.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shift.js","sourceRoot":"","sources":["../../src/dates/shift.ts"],"names":[],"mappings":"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"}
package/dates/types.d.ts CHANGED
@@ -1,6 +1,10 @@
1
- export type ConstantGranularity = 'millisecond' | 'second' | 'minute' | 'hour' | 'day' | 'week';
2
- export type Granularity = ConstantGranularity | 'month' | 'year';
3
- export declare namespace ConstantGranularity {
4
- function toMs(g: ConstantGranularity): number;
1
+ export type Granularity = Granularity.Constant | 'month' | 'year';
2
+ export declare namespace Granularity {
3
+ type Constant = 'millisecond' | 'second' | 'minute' | 'hour' | 'day' | 'week';
4
+ namespace Constant {
5
+ function toMs(g: Granularity.Constant): number;
6
+ function convert(amount: number, g: Granularity.Constant, to: Granularity.Constant): number;
7
+ function shift(date: Date | number, amount: number, granularity: Granularity.Constant): Date;
8
+ }
5
9
  }
6
10
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/dates/types.ts"],"names":[],"mappings":"AACA,MAAM,MAAM,mBAAmB,GAAG,aAAa,GACzC,QAAQ,GACR,QAAQ,GACR,MAAM,GACN,KAAK,GACL,MAAM,CACX;AACD,MAAM,MAAM,WAAW,GAAG,mBAAmB,GACvC,OAAO,GACP,MAAM,CACX;AAED,yBAAiB,mBAAmB,CAAC;IACjC,SAAgB,IAAI,CAAC,CAAC,EAAE,mBAAmB,GAAG,MAAM,CAwBnD;CACJ"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/dates/types.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,WAAW,GAAG,WAAW,CAAC,QAAQ,GACxC,OAAO,GACP,MAAM,CACX;AAED,yBAAiB,WAAW,CAAC;IAEzB,KAAY,QAAQ,GAAG,aAAa,GAC9B,QAAQ,GACR,QAAQ,GACR,MAAM,GACN,KAAK,GACL,MAAM,CACX;IAED,UAAiB,QAAQ,CAAC;QAEtB,SAAgB,IAAI,CAAC,CAAC,EAAE,WAAW,CAAC,QAAQ,GAAG,MAAM,CAwBpD;QAED,SAAgB,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,WAAW,CAAC,QAAQ,EAAE,EAAE,EAAE,WAAW,CAAC,QAAQ,UAIxF;QAED,SAAgB,KAAK,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,CAAC,QAAQ,GAAG,IAAI,CAOlG;KACJ;CACJ"}
package/dates/types.js CHANGED
@@ -1,33 +1,51 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ConstantGranularity = void 0;
4
- var ConstantGranularity;
5
- (function (ConstantGranularity) {
6
- function toMs(g) {
7
- switch (g) {
8
- case 'millisecond': {
9
- return 1;
3
+ exports.Granularity = void 0;
4
+ const parse_1 = require("./parse");
5
+ var Granularity;
6
+ (function (Granularity) {
7
+ let Constant;
8
+ (function (Constant) {
9
+ function toMs(g) {
10
+ switch (g) {
11
+ case 'millisecond': {
12
+ return 1;
13
+ }
14
+ case 'second': {
15
+ return 1000;
16
+ }
17
+ case 'minute': {
18
+ return 60 * toMs('second');
19
+ }
20
+ case 'hour': {
21
+ return 60 * toMs('minute');
22
+ }
23
+ case 'day': {
24
+ return 24 * toMs('hour');
25
+ }
26
+ case 'week': {
27
+ return 7 * toMs('day');
28
+ }
29
+ default: {
30
+ throw new Error('Unsupported granularity');
31
+ }
10
32
  }
11
- case 'second': {
12
- return 1000;
13
- }
14
- case 'minute': {
15
- return 60 * toMs('second');
16
- }
17
- case 'hour': {
18
- return 60 * toMs('minute');
19
- }
20
- case 'day': {
21
- return 24 * toMs('hour');
22
- }
23
- case 'week': {
24
- return 7 * toMs('day');
25
- }
26
- default: {
27
- throw new Error('Unsupported granularity');
33
+ }
34
+ Constant.toMs = toMs;
35
+ function convert(amount, g, to) {
36
+ const ms = amount * toMs(g);
37
+ const msTo = toMs(to);
38
+ return ms / msTo;
39
+ }
40
+ Constant.convert = convert;
41
+ function shift(date, amount, granularity) {
42
+ const res = (0, parse_1.getDate)(date);
43
+ if (amount === 0) {
44
+ return res;
28
45
  }
46
+ return new Date(res.getTime() + amount * toMs(granularity));
29
47
  }
30
- }
31
- ConstantGranularity.toMs = toMs;
32
- })(ConstantGranularity || (exports.ConstantGranularity = ConstantGranularity = {}));
48
+ Constant.shift = shift;
49
+ })(Constant = Granularity.Constant || (Granularity.Constant = {}));
50
+ })(Granularity || (exports.Granularity = Granularity = {}));
33
51
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/dates/types.ts"],"names":[],"mappings":";;;AAaA,IAAiB,mBAAmB,CA0BnC;AA1BD,WAAiB,mBAAmB;IAChC,SAAgB,IAAI,CAAC,CAAsB;QACvC,QAAQ,CAAC,EAAE,CAAC;YACR,KAAK,aAAa,CAAC,CAAC,CAAC;gBACjB,OAAO,CAAC,CAAC;YACb,CAAC;YACD,KAAK,QAAQ,CAAC,CAAC,CAAC;gBACZ,OAAO,IAAI,CAAC;YAChB,CAAC;YACD,KAAK,QAAQ,CAAC,CAAC,CAAC;gBACZ,OAAO,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC/B,CAAC;YACD,KAAK,MAAM,CAAC,CAAC,CAAC;gBACV,OAAO,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC/B,CAAC;YACD,KAAK,KAAK,CAAC,CAAC,CAAC;gBACT,OAAO,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;YAC7B,CAAC;YACD,KAAK,MAAM,CAAC,CAAC,CAAC;gBACV,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;YAC3B,CAAC;YACD,OAAO,CAAC,CAAC,CAAC;gBACN,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;YAC/C,CAAC;QACL,CAAC;IACL,CAAC;IAxBe,wBAAI,OAwBnB,CAAA;AACL,CAAC,EA1BgB,mBAAmB,mCAAnB,mBAAmB,QA0BnC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/dates/types.ts"],"names":[],"mappings":";;;AAAA,mCAAkC;AAQlC,IAAiB,WAAW,CAqD3B;AArDD,WAAiB,WAAW;IAUxB,IAAiB,QAAQ,CA0CxB;IA1CD,WAAiB,QAAQ;QAErB,SAAgB,IAAI,CAAC,CAAuB;YACxC,QAAQ,CAAC,EAAE,CAAC;gBACR,KAAK,aAAa,CAAC,CAAC,CAAC;oBACjB,OAAO,CAAC,CAAC;gBACb,CAAC;gBACD,KAAK,QAAQ,CAAC,CAAC,CAAC;oBACZ,OAAO,IAAI,CAAC;gBAChB,CAAC;gBACD,KAAK,QAAQ,CAAC,CAAC,CAAC;oBACZ,OAAO,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAC/B,CAAC;gBACD,KAAK,MAAM,CAAC,CAAC,CAAC;oBACV,OAAO,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAC/B,CAAC;gBACD,KAAK,KAAK,CAAC,CAAC,CAAC;oBACT,OAAO,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC7B,CAAC;gBACD,KAAK,MAAM,CAAC,CAAC,CAAC;oBACV,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;gBAC3B,CAAC;gBACD,OAAO,CAAC,CAAC,CAAC;oBACN,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;gBAC/C,CAAC;YACL,CAAC;QACL,CAAC;QAxBe,aAAI,OAwBnB,CAAA;QAED,SAAgB,OAAO,CAAC,MAAc,EAAE,CAAuB,EAAE,EAAwB;YACrF,MAAM,EAAE,GAAG,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YAC5B,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC;YACtB,OAAO,EAAE,GAAG,IAAI,CAAC;QACrB,CAAC;QAJe,gBAAO,UAItB,CAAA;QAED,SAAgB,KAAK,CAAC,IAAmB,EAAE,MAAc,EAAE,WAAiC;YACxF,MAAM,GAAG,GAAG,IAAA,eAAO,EAAC,IAAI,CAAC,CAAC;YAC1B,IAAI,MAAM,KAAK,CAAC,EAAE,CAAC;gBACf,OAAO,GAAG,CAAC;YACf,CAAC;YAED,OAAO,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;QAChE,CAAC;QAPe,cAAK,QAOpB,CAAA;IACL,CAAC,EA1CgB,QAAQ,GAAR,oBAAQ,KAAR,oBAAQ,QA0CxB;AACL,CAAC,EArDgB,WAAW,2BAAX,WAAW,QAqD3B"}
@@ -1 +1 @@
1
- {"version":3,"file":"promise.d.ts","sourceRoot":"","sources":["../../src/lazy/promise.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEhD,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,GAAG;IACrC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;CAChC,CAAC;AAEF,qBAAa,WAAW,CAAC,CAAC,CAAE,YAAW,WAAW,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC;IAQzE,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAP5B,OAAO,CAAC,SAAS,CAA4B;IAC7C,OAAO,CAAC,KAAK,CAAwB;IAErC,OAAO,CAAC,QAAQ,CAA2B;gBAGtB,QAAQ,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAC1B,OAAO,GAAE,CAAC,GAAG,SAAqB;IAKvD,IAAI,IAAI,YAAkC;IAC1C,IAAI,QAAQ,YAAmC;IAE/C,IAAI,OAAO,eAGV;IAED,IAAI,KAAK,mBAGR;IAED,SAAS,CAAC,qBAAqB;IAcxB,WAAW,QAAS,CAAC,GAAG,SAAS,mBAMtC;IAEF,KAAK,aAIH;IAEF,OAAO,aAAsB;CAChC"}
1
+ {"version":3,"file":"promise.d.ts","sourceRoot":"","sources":["../../src/lazy/promise.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEhD,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,GAAG;IACrC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;CAChC,CAAC;AAEF,qBAAa,WAAW,CAAC,CAAC,CAAE,YAAW,WAAW,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC;IAQzE,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAP5B,OAAO,CAAC,SAAS,CAA4B;IAC7C,OAAO,CAAC,KAAK,CAAwB;IAErC,OAAO,CAAC,QAAQ,CAA2B;gBAGtB,QAAQ,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAC1B,OAAO,GAAE,CAAC,GAAG,SAAqB;IAKvD,IAAI,IAAI,YAAkC;IAC1C,IAAI,QAAQ,YAAmC;IAE/C,IAAI,OAAO,eAGV;IAED,IAAI,KAAK,mBAGR;IAED,SAAS,CAAC,qBAAqB;IAcxB,WAAW,QAAS,CAAC,GAAG,SAAS,mBAWtC;IAEF,KAAK,aAIH;IAEF,OAAO,aAAsB;CAChC"}
package/lazy/promise.js CHANGED
@@ -37,8 +37,11 @@ class LazyPromise {
37
37
  }
38
38
  setInstance = (res) => {
39
39
  this._busy = false;
40
+ // refresh promise so it won't keep old callbacks
41
+ // + make sure it's resolved with the freshest value
42
+ // also do this before setting the instance... just in case :)
43
+ this._promise = Promise.resolve(res);
40
44
  this._instance = res;
41
- // keep this._promise to allow to re-use it outside
42
45
  return res;
43
46
  };
44
47
  reset = () => {
@@ -1 +1 @@
1
- {"version":3,"file":"promise.js","sourceRoot":"","sources":["../../src/lazy/promise.ts"],"names":[],"mappings":";;;AAQA,MAAa,WAAW;IAQC;IACA;IAPb,SAAS,GAAkB,SAAS,CAAC;IACrC,KAAK,GAAmB,IAAI,CAAC;IAE7B,QAAQ,GAAsB,IAAI,CAAC;IAE3C,YACqB,QAA0B,EAC1B,UAAyB,SAAS;QADlC,aAAQ,GAAR,QAAQ,CAAkB;QAC1B,YAAO,GAAP,OAAO,CAA2B;QAEnD,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC;IAC7B,CAAC;IAED,IAAI,IAAI,KAAK,OAAO,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC;IAC1C,IAAI,QAAQ,KAAK,OAAO,IAAI,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC;IAE/C,IAAI,OAAO;QACP,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAC,QAAS,CAAC;IAC1B,CAAC;IAED,IAAI,KAAK;QACL,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAC,SAAU,CAAC;IAC3B,CAAC;IAES,qBAAqB;QAC3B,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;YACtB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;YAClB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;gBACrC,oDAAoD;gBACpD,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;oBAC9C,OAAO,IAAI,CAAC,SAAS,CAAC;gBAC1B,CAAC;gBACD,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;gBACpB,OAAO,CAAC,CAAC;YACb,CAAC,CAAC,CAAC;QACP,CAAC;IACL,CAAC;IAEM,WAAW,GAAG,CAAC,GAAkB,EAAE,EAAE;QACxC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC;QACrB,mDAAmD;QAEnD,OAAO,GAAG,CAAC;IACf,CAAC,CAAC;IAEF,KAAK,GAAG,GAAG,EAAE;QACT,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC;QAC9B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;IACzB,CAAC,CAAC;IAEF,OAAO,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;CAChC;AAxDD,kCAwDC"}
1
+ {"version":3,"file":"promise.js","sourceRoot":"","sources":["../../src/lazy/promise.ts"],"names":[],"mappings":";;;AAQA,MAAa,WAAW;IAQC;IACA;IAPb,SAAS,GAAkB,SAAS,CAAC;IACrC,KAAK,GAAmB,IAAI,CAAC;IAE7B,QAAQ,GAAsB,IAAI,CAAC;IAE3C,YACqB,QAA0B,EAC1B,UAAyB,SAAS;QADlC,aAAQ,GAAR,QAAQ,CAAkB;QAC1B,YAAO,GAAP,OAAO,CAA2B;QAEnD,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC;IAC7B,CAAC;IAED,IAAI,IAAI,KAAK,OAAO,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC;IAC1C,IAAI,QAAQ,KAAK,OAAO,IAAI,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC;IAE/C,IAAI,OAAO;QACP,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAC,QAAS,CAAC;IAC1B,CAAC;IAED,IAAI,KAAK;QACL,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAC,SAAU,CAAC;IAC3B,CAAC;IAES,qBAAqB;QAC3B,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;YACtB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;YAClB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;gBACrC,oDAAoD;gBACpD,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;oBAC9C,OAAO,IAAI,CAAC,SAAS,CAAC;gBAC1B,CAAC;gBACD,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;gBACpB,OAAO,CAAC,CAAC;YACb,CAAC,CAAC,CAAC;QACP,CAAC;IACL,CAAC;IAEM,WAAW,GAAG,CAAC,GAAkB,EAAE,EAAE;QACxC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QAEnB,iDAAiD;QACjD,oDAAoD;QACpD,8DAA8D;QAC9D,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,GAAI,CAAC,CAAC;QAEtC,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC;QAErB,OAAO,GAAG,CAAC;IACf,CAAC,CAAC;IAEF,KAAK,GAAG,GAAG,EAAE;QACT,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC;QAC9B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;IACzB,CAAC,CAAC;IAEF,OAAO,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;CAChC;AA7DD,kCA6DC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zajno/common",
3
- "version": "2.2.13",
3
+ "version": "2.2.15",
4
4
  "description": "Zajno's re-usable utilities for JS/TS projects",
5
5
  "private": false,
6
6
  "repository": {
@@ -0,0 +1,63 @@
1
+ import type { Nullable } from '../types/misc';
2
+ /**
3
+ * The idea here is to wrap a promise (or promise getter) so it will never throw natively, but still be able to provide success/fail results:
4
+ * - `onSuccess` for handling successful result: like `then` but to be called only if there was no error
5
+ * - `onError` for handling error: like `catch` but with extended error format
6
+ * - `expectError` adds a specific Error sub-class caster and adds it to the error data; useful when expecting some kind of specific error
7
+ *
8
+ * Important: all methods are chainable however will return the same PromiseExtended instance,
9
+ * while native Promise methods return a new Promise instance on each `then`/`catch`/`finally` call.
10
+ * Internally it just replaces the promise reference.
11
+ *
12
+ * Usage example:
13
+ *
14
+ * ```ts
15
+ * function doWork() {
16
+ * return new PromiseExtended()
17
+ * .run(async () => {
18
+ * // return 42;
19
+ * throw new Error('Some error');
20
+ * });
21
+ * }
22
+ *
23
+ * dowWork()
24
+ * // if no error, will return 42
25
+ * .onSuccess(data => console.log('Success:', data))
26
+ * // if error, will return { error: 'Some error', source: Error }
27
+ * .onError(({ error, source }) => console.error('Error Message:', error, '; original:', source))
28
+ * // this is possible to be called only if handlers throw
29
+ * .catch(err => console.error('Really unexpected error:', err));
30
+ *
31
+ * ```
32
+ *
33
+ * NOTE: regular `then`/`catch` will still work, but they will go after `catch` in the chain,
34
+ * so basically every `then` will be called unless some previous handler throws,
35
+ * and every `catch` will NOT be called unless there was an error in any previous handler.
36
+ *
37
+ * If passed promise resolve is `PromiseExtended` instance, current instance will redirect everything to it.
38
+ *
39
+ */
40
+ export declare class PromiseExtended<T, TCustomErrors extends Record<string, unknown> = Record<never, unknown>> implements Promise<T> {
41
+ protected _error: PromiseExtended.ErrorData | null;
42
+ private _promise;
43
+ private readonly _errorProcessors;
44
+ private constructor();
45
+ static run<T, TErrors extends Record<string, unknown> = Record<never, unknown>>(worker: Promise<T> | (() => Promise<T>)): PromiseExtended<T, TErrors>;
46
+ onError(cb: Nullable<(data: PromiseExtended.ErrorData & TCustomErrors) => void>): this;
47
+ onSuccess(cb: Nullable<(data: T) => void>): this;
48
+ expectError<TName extends string, TError2 extends Error>(name: TName, ErrCtor: new (...args: unknown[]) => TError2): PromiseExtended<T, TCustomErrors & Record<TName, TError2>>;
49
+ then<TResult1 = T, TResult2 = never>(onfulfilled?: ((value: T) => TResult1 | PromiseLike<TResult1>) | null | undefined, onrejected?: ((reason: unknown) => TResult2 | PromiseLike<TResult2>) | null | undefined): PromiseExtended<TResult1 | TResult2, TCustomErrors>;
50
+ catch<TResult = never>(onrejected?: ((reason: unknown) => TResult | PromiseLike<TResult>) | null | undefined): PromiseExtended<T | TResult, TCustomErrors>;
51
+ finally(onfinally?: (() => void) | null | undefined): this;
52
+ get [Symbol.toStringTag](): string;
53
+ private getError;
54
+ private _catch;
55
+ protected onErrorCaught(data: PromiseExtended.ErrorData): void;
56
+ }
57
+ export declare namespace PromiseExtended {
58
+ type ErrorData = {
59
+ error: string;
60
+ source: Error;
61
+ };
62
+ }
63
+ //# sourceMappingURL=promiseExtended.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"promiseExtended.d.ts","sourceRoot":"","sources":["../../src/structures/promiseExtended.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE9C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,qBAAa,eAAe,CAAC,CAAC,EAAE,aAAa,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,CAAE,YAAW,OAAO,CAAC,CAAC,CAAC;IAEzH,SAAS,CAAC,MAAM,EAAE,eAAe,CAAC,SAAS,GAAG,IAAI,CAAQ;IAE1D,OAAO,CAAC,QAAQ,CAAa;IAC7B,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAqD;IAEtF,OAAO;WAIO,GAAG,CAAC,CAAC,EAAE,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,eAAe,CAAC,CAAC,EAAE,OAAO,CAAC;IAYrJ,OAAO,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC,IAAI,EAAE,eAAe,CAAC,SAAS,GAAG,aAAa,KAAK,IAAI,CAAC,GAAG,IAAI;IAYtF,SAAS,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC,GAAG,IAAI;IAYhD,WAAW,CAAC,KAAK,SAAS,MAAM,EAAE,OAAO,SAAS,KAAK,EAC1D,IAAI,EAAE,KAAK,EACX,OAAO,EAAE,KAAK,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,GAC7C,eAAe,CAAC,CAAC,EAAE,aAAa,GAAG,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAY7D,IAAI,CAAC,QAAQ,GAAG,CAAC,EAAE,QAAQ,GAAG,KAAK,EAC/B,WAAW,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,KAAK,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC,GAAG,IAAI,GAAG,SAAS,EACjF,UAAU,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,OAAO,KAAK,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC,GAAG,IAAI,GAAG,SAAS;IAO3F,KAAK,CAAC,OAAO,GAAG,KAAK,EAAE,UAAU,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,OAAO,KAAK,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC,GAAG,IAAI,GAAG,SAAS;IAM5G,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,IAAI,GAAG,SAAS;IAKnD,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,MAAM,CAA8C;IAEhF,OAAO,CAAC,QAAQ;IAWhB,OAAO,CAAC,MAAM,CAWZ;IAEF,SAAS,CAAC,aAAa,CAAC,IAAI,EAAE,eAAe,CAAC,SAAS;CAG1D;AAED,yBAAiB,eAAe,CAAC;IAC7B,KAAY,SAAS,GAAG;QACpB,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,KAAK,CAAC;KACjB,CAAC;CACL"}
@@ -0,0 +1,128 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PromiseExtended = void 0;
4
+ /**
5
+ * The idea here is to wrap a promise (or promise getter) so it will never throw natively, but still be able to provide success/fail results:
6
+ * - `onSuccess` for handling successful result: like `then` but to be called only if there was no error
7
+ * - `onError` for handling error: like `catch` but with extended error format
8
+ * - `expectError` adds a specific Error sub-class caster and adds it to the error data; useful when expecting some kind of specific error
9
+ *
10
+ * Important: all methods are chainable however will return the same PromiseExtended instance,
11
+ * while native Promise methods return a new Promise instance on each `then`/`catch`/`finally` call.
12
+ * Internally it just replaces the promise reference.
13
+ *
14
+ * Usage example:
15
+ *
16
+ * ```ts
17
+ * function doWork() {
18
+ * return new PromiseExtended()
19
+ * .run(async () => {
20
+ * // return 42;
21
+ * throw new Error('Some error');
22
+ * });
23
+ * }
24
+ *
25
+ * dowWork()
26
+ * // if no error, will return 42
27
+ * .onSuccess(data => console.log('Success:', data))
28
+ * // if error, will return { error: 'Some error', source: Error }
29
+ * .onError(({ error, source }) => console.error('Error Message:', error, '; original:', source))
30
+ * // this is possible to be called only if handlers throw
31
+ * .catch(err => console.error('Really unexpected error:', err));
32
+ *
33
+ * ```
34
+ *
35
+ * NOTE: regular `then`/`catch` will still work, but they will go after `catch` in the chain,
36
+ * so basically every `then` will be called unless some previous handler throws,
37
+ * and every `catch` will NOT be called unless there was an error in any previous handler.
38
+ *
39
+ * If passed promise resolve is `PromiseExtended` instance, current instance will redirect everything to it.
40
+ *
41
+ */
42
+ class PromiseExtended {
43
+ _error = null;
44
+ _promise;
45
+ _errorProcessors = [];
46
+ constructor(promise) {
47
+ this._promise = promise.catch(this._catch);
48
+ }
49
+ static run(worker) {
50
+ const promise = typeof worker === 'function'
51
+ ? worker()
52
+ : worker;
53
+ if (promise instanceof PromiseExtended) {
54
+ return promise;
55
+ }
56
+ return new PromiseExtended(promise);
57
+ }
58
+ onError(cb) {
59
+ if (cb != null) {
60
+ this._promise = this._promise.then(data => {
61
+ if (this._error) {
62
+ cb(this.getError());
63
+ }
64
+ return data;
65
+ });
66
+ }
67
+ return this;
68
+ }
69
+ onSuccess(cb) {
70
+ if (cb != null) {
71
+ this._promise = this._promise.then(data => {
72
+ if (!this._error) {
73
+ cb(data);
74
+ }
75
+ return data;
76
+ });
77
+ }
78
+ return this;
79
+ }
80
+ expectError(name, ErrCtor) {
81
+ this._errorProcessors.push(errorData => {
82
+ const src = errorData?.source;
83
+ if (src && src instanceof ErrCtor) {
84
+ Object.assign(errorData, { [name]: errorData.source });
85
+ }
86
+ });
87
+ return this;
88
+ }
89
+ then(onfulfilled, onrejected) {
90
+ const res = this;
91
+ res._promise = this._promise.then(onfulfilled, onrejected);
92
+ return res;
93
+ }
94
+ catch(onrejected) {
95
+ const res = this;
96
+ res._promise = this._promise.catch(onrejected);
97
+ return res;
98
+ }
99
+ finally(onfinally) {
100
+ this._promise = this._promise.finally(onfinally);
101
+ return this;
102
+ }
103
+ get [Symbol.toStringTag]() { return this._promise[Symbol.toStringTag]; }
104
+ getError() {
105
+ const data = {
106
+ error: this._error.error,
107
+ source: this._error.source,
108
+ };
109
+ this._errorProcessors.forEach(p => p(data));
110
+ return data;
111
+ }
112
+ _catch = (err) => {
113
+ let message = '';
114
+ if (Array.isArray(err)) {
115
+ message = err.map(e => e.message).join('\n');
116
+ }
117
+ else {
118
+ message = err.message;
119
+ }
120
+ this.onErrorCaught({ error: message, source: err });
121
+ return undefined;
122
+ };
123
+ onErrorCaught(data) {
124
+ this._error = data;
125
+ }
126
+ }
127
+ exports.PromiseExtended = PromiseExtended;
128
+ //# sourceMappingURL=promiseExtended.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"promiseExtended.js","sourceRoot":"","sources":["../../src/structures/promiseExtended.ts"],"names":[],"mappings":"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"}