@my-devkit/core 1.0.111 → 1.0.113

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.
@@ -2,6 +2,7 @@ export declare class DateHelper {
2
2
  static getUTCTimestamp(): number;
3
3
  static getElapsedTime(startDate: Date, endDate?: Date): number;
4
4
  static getReadableElapsedTime(startDate: Date, endDate?: Date, short?: boolean): string;
5
+ static getReadableDuration(durationInMiliseconds: number, short?: boolean): string;
5
6
  static format(date: Date, format: DateHelper.Format): string;
6
7
  static getFormat(formatedDate: string): DateHelper.Format;
7
8
  static getAverage(...dates: Date[]): Date;
@@ -11,13 +11,22 @@ class DateHelper {
11
11
  return Math.abs(endDate.getTime() - startDate.getTime());
12
12
  }
13
13
  static getReadableElapsedTime(startDate, endDate = new Date(), short = false) {
14
- let elapsedTime = this.getElapsedTime(startDate, endDate);
15
- const hours = Math.floor(elapsedTime / (60 * 60 * 1000));
16
- elapsedTime = elapsedTime - (60 * 60 * 1000) * hours;
17
- const minutes = Math.floor(elapsedTime / (60 * 1000));
18
- elapsedTime = elapsedTime - (60 * 1000) * minutes;
19
- const seconds = Math.floor(elapsedTime / 1000);
20
- const miliseconds = elapsedTime - 1000 * seconds;
14
+ const elapsedTime = this.getElapsedTime(startDate, endDate);
15
+ return this.getReadableDuration(elapsedTime, short);
16
+ }
17
+ static getReadableDuration(durationInMiliseconds, short = false) {
18
+ const days = Math.floor(durationInMiliseconds / (24 * 60 * 60 * 1000));
19
+ durationInMiliseconds -= (24 * 60 * 60 * 1000) * days;
20
+ const hours = Math.floor(durationInMiliseconds / (60 * 60 * 1000));
21
+ durationInMiliseconds -= (60 * 60 * 1000) * hours;
22
+ const minutes = Math.floor(durationInMiliseconds / (60 * 1000));
23
+ durationInMiliseconds -= (60 * 1000) * minutes;
24
+ const seconds = Math.floor(durationInMiliseconds / 1000);
25
+ const miliseconds = durationInMiliseconds - 1000 * seconds;
26
+ const daysUnit = days > 1 ? 'days' : 'day';
27
+ if (days) {
28
+ return short ? `${days} ${daysUnit}` : `${days} ${daysUnit} ${hours} h ${minutes} min ${seconds} sec ${miliseconds} ms`;
29
+ }
21
30
  if (hours) {
22
31
  return short ? `${hours} h` : `${hours} h ${minutes} min ${seconds} sec ${miliseconds} ms`;
23
32
  }
@@ -1 +1 @@
1
- {"version":3,"file":"date-helper.js","sourceRoot":"","sources":["../src/date-helper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"date-helper.js","sourceRoot":"","sources":["../src/date-helper.ts"],"names":[],"mappings":"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"}
@@ -20,7 +20,7 @@ class JsonHelper {
20
20
  }
21
21
  }
22
22
  static stringify(value) {
23
- return JSON.stringify(value);
23
+ return JSON.stringify(value, null, 4);
24
24
  }
25
25
  static dateParser(_key, value) {
26
26
  if (typeof value === 'string' && JsonHelper.isISODateString(value)) {
@@ -1 +1 @@
1
- {"version":3,"file":"json-helper.js","sourceRoot":"","sources":["../src/json-helper.ts"],"names":[],"mappings":";;;AAAA,MAAa,UAAU;IACZ,MAAM,CAAC,MAAM,CAAC,IAAY;QAC7B,IAAI,CAAC;YACD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACjB,OAAO,IAAI,CAAC;QAChB,CAAC;QAAC,WAAM,CAAC;YACL,OAAO,KAAK,CAAC;QACjB,CAAC;IACL,CAAC;IAEM,MAAM,CAAC,KAAK,CAAI,IAAY;QAC/B,IAAI,CAAC;YACD,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC9D,CAAC;QAAC,WAAM,CAAC;YACL,OAAO,IAAI,CAAC;QAChB,CAAC;IACL,CAAC;IAEM,MAAM,CAAC,SAAS,CAAI,KAAQ;QAC/B,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC;IAEO,MAAM,CAAC,UAAU,CAAC,IAAY,EAAE,KAAU;QAC9C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,UAAU,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC;YACjE,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAEO,MAAM,CAAC,eAAe,CAAC,IAAY;QACvC,OAAO,wGAAwG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/H,CAAC;CACJ;AAhCD,gCAgCC"}
1
+ {"version":3,"file":"json-helper.js","sourceRoot":"","sources":["../src/json-helper.ts"],"names":[],"mappings":";;;AAAA,MAAa,UAAU;IACZ,MAAM,CAAC,MAAM,CAAC,IAAY;QAC7B,IAAI,CAAC;YACD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACjB,OAAO,IAAI,CAAC;QAChB,CAAC;QAAC,WAAM,CAAC;YACL,OAAO,KAAK,CAAC;QACjB,CAAC;IACL,CAAC;IAEM,MAAM,CAAC,KAAK,CAAI,IAAY;QAC/B,IAAI,CAAC;YACD,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC9D,CAAC;QAAC,WAAM,CAAC;YACL,OAAO,IAAI,CAAC;QAChB,CAAC;IACL,CAAC;IAEM,MAAM,CAAC,SAAS,CAAI,KAAQ;QAC/B,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAC1C,CAAC;IAEO,MAAM,CAAC,UAAU,CAAC,IAAY,EAAE,KAAU;QAC9C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,UAAU,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC;YACjE,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAEO,MAAM,CAAC,eAAe,CAAC,IAAY;QACvC,OAAO,wGAAwG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/H,CAAC;CACJ;AAhCD,gCAgCC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@my-devkit/core",
3
- "version": "1.0.111",
3
+ "version": "1.0.113",
4
4
  "description": "My Devkit: common tools",
5
5
  "main": "dist/index.js",
6
6
  "typings": "dist/index.d.ts",
@@ -12,14 +12,25 @@ export class DateHelper {
12
12
  }
13
13
 
14
14
  public static getReadableElapsedTime(startDate: Date, endDate = new Date(), short = false): string {
15
- let elapsedTime = this.getElapsedTime(startDate, endDate);
15
+ const elapsedTime = this.getElapsedTime(startDate, endDate);
16
+ return this.getReadableDuration(elapsedTime, short);
17
+ }
18
+
19
+ public static getReadableDuration(durationInMiliseconds: number, short = false): string {
20
+ const days = Math.floor(durationInMiliseconds / (24 * 60 * 60 * 1000));
21
+ durationInMiliseconds -= (24 * 60 * 60 * 1000) * days;
22
+ const hours = Math.floor(durationInMiliseconds / (60 * 60 * 1000));
23
+ durationInMiliseconds -= (60 * 60 * 1000) * hours;
24
+ const minutes = Math.floor(durationInMiliseconds / (60 * 1000));
25
+ durationInMiliseconds -= (60 * 1000) * minutes;
26
+ const seconds = Math.floor(durationInMiliseconds / 1000);
27
+ const miliseconds = durationInMiliseconds - 1000 * seconds;
16
28
 
17
- const hours = Math.floor(elapsedTime / (60 * 60 * 1000));
18
- elapsedTime = elapsedTime - (60 * 60 * 1000) * hours;
19
- const minutes = Math.floor(elapsedTime / (60 * 1000));
20
- elapsedTime = elapsedTime - (60 * 1000) * minutes;
21
- const seconds = Math.floor(elapsedTime / 1000);
22
- const miliseconds = elapsedTime - 1000 * seconds;
29
+ const daysUnit = days > 1 ? 'days' : 'day';
30
+
31
+ if (days) {
32
+ return short ? `${days} ${daysUnit}` : `${days} ${daysUnit} ${hours} h ${minutes} min ${seconds} sec ${miliseconds} ms`;
33
+ }
23
34
 
24
35
  if (hours) {
25
36
  return short ? `${hours} h` : `${hours} h ${minutes} min ${seconds} sec ${miliseconds} ms`;
@@ -32,6 +43,7 @@ export class DateHelper {
32
43
  if (seconds) {
33
44
  return short ? `${seconds} sec` : `${seconds} sec ${miliseconds} ms`;
34
45
  }
46
+
35
47
  return `${miliseconds} ms`;
36
48
  }
37
49
 
@@ -17,7 +17,7 @@ export class JsonHelper {
17
17
  }
18
18
 
19
19
  public static stringify<T>(value: T): string {
20
- return JSON.stringify(value);
20
+ return JSON.stringify(value, null, 4);
21
21
  }
22
22
 
23
23
  private static dateParser(_key: string, value: any) {