@bundle-stats/utils 4.0.7 → 4.1.0-beta.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.
- package/lib/utils/format.js +76 -42
- package/lib/utils/format.js.map +1 -1
- package/lib-esm/utils/format.js +76 -19
- package/lib-esm/utils/format.js.map +1 -1
- package/package.json +4 -5
- package/src/utils/format.ts +91 -0
- package/types/utils/format.d.ts +5 -5
- package/src/utils/format.js +0 -33
package/lib/utils/format.js
CHANGED
|
@@ -1,57 +1,91 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
2
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
4
|
};
|
|
28
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
6
|
exports.formatPercentage = exports.formatCommit = exports.formatNumber = exports.formatDuration = exports.formatFileSize = void 0;
|
|
30
|
-
const convert_units_1 = __importStar(require("convert-units"));
|
|
31
7
|
const round_1 = __importDefault(require("lodash/round"));
|
|
32
|
-
const
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
8
|
+
const FILE_SIZE = {
|
|
9
|
+
BYTE: {
|
|
10
|
+
symbol: 'B',
|
|
11
|
+
multiplier: 1,
|
|
12
|
+
},
|
|
13
|
+
KILO: {
|
|
14
|
+
symbol: 'KiB',
|
|
15
|
+
multiplier: 1024,
|
|
16
|
+
},
|
|
17
|
+
MEGA: {
|
|
18
|
+
symbol: 'MiB',
|
|
19
|
+
multiplier: 1024 * 1024,
|
|
20
|
+
},
|
|
21
|
+
};
|
|
22
|
+
const DURATION = {
|
|
23
|
+
MILISECOND: {
|
|
24
|
+
symbol: 'ms',
|
|
25
|
+
multiplier: 1,
|
|
26
|
+
},
|
|
27
|
+
SECOND: {
|
|
28
|
+
symbol: 's',
|
|
29
|
+
multiplier: 1000,
|
|
30
|
+
},
|
|
31
|
+
MINUTE: {
|
|
32
|
+
symbol: 'min',
|
|
33
|
+
multiplier: 60 * 1000,
|
|
34
|
+
},
|
|
41
35
|
};
|
|
36
|
+
function formatFileSize(val) {
|
|
37
|
+
let unit = FILE_SIZE.BYTE;
|
|
38
|
+
if (typeof val !== 'number') {
|
|
39
|
+
return `0${unit.symbol}`;
|
|
40
|
+
}
|
|
41
|
+
if (val < FILE_SIZE.KILO.multiplier) {
|
|
42
|
+
unit = FILE_SIZE.BYTE;
|
|
43
|
+
}
|
|
44
|
+
else if (val < FILE_SIZE.MEGA.multiplier) {
|
|
45
|
+
unit = FILE_SIZE.KILO;
|
|
46
|
+
}
|
|
47
|
+
else {
|
|
48
|
+
unit = FILE_SIZE.MEGA;
|
|
49
|
+
}
|
|
50
|
+
return `${(0, round_1.default)(val / unit.multiplier, 2)}${unit.symbol}`;
|
|
51
|
+
}
|
|
42
52
|
exports.formatFileSize = formatFileSize;
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
if (
|
|
46
|
-
return
|
|
53
|
+
function formatDuration(val) {
|
|
54
|
+
let unit = DURATION.MILISECOND;
|
|
55
|
+
if (typeof val !== 'number') {
|
|
56
|
+
return `0${unit.symbol}`;
|
|
47
57
|
}
|
|
48
|
-
|
|
49
|
-
|
|
58
|
+
if (val < DURATION.SECOND.multiplier) {
|
|
59
|
+
unit = DURATION.MILISECOND;
|
|
60
|
+
}
|
|
61
|
+
else if (val < DURATION.MINUTE.multiplier) {
|
|
62
|
+
unit = DURATION.SECOND;
|
|
63
|
+
}
|
|
64
|
+
else {
|
|
65
|
+
unit = DURATION.MINUTE;
|
|
66
|
+
}
|
|
67
|
+
return `${(0, round_1.default)(val / unit.multiplier, 1)}${unit.symbol}`;
|
|
68
|
+
}
|
|
50
69
|
exports.formatDuration = formatDuration;
|
|
51
|
-
|
|
70
|
+
function formatNumber(val) {
|
|
71
|
+
if (typeof val !== 'number') {
|
|
72
|
+
return '0';
|
|
73
|
+
}
|
|
74
|
+
return val.toString();
|
|
75
|
+
}
|
|
52
76
|
exports.formatNumber = formatNumber;
|
|
53
|
-
|
|
77
|
+
function formatCommit(commitSha) {
|
|
78
|
+
if (!commitSha) {
|
|
79
|
+
return '';
|
|
80
|
+
}
|
|
81
|
+
return commitSha.substr(0, 7);
|
|
82
|
+
}
|
|
54
83
|
exports.formatCommit = formatCommit;
|
|
55
|
-
|
|
84
|
+
function formatPercentage(val) {
|
|
85
|
+
if (typeof val !== 'number') {
|
|
86
|
+
return '0%';
|
|
87
|
+
}
|
|
88
|
+
return `${val}%`;
|
|
89
|
+
}
|
|
56
90
|
exports.formatPercentage = formatPercentage;
|
|
57
91
|
//# sourceMappingURL=format.js.map
|
package/lib/utils/format.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"format.js","sourceRoot":"","sources":["../../src/utils/format.
|
|
1
|
+
{"version":3,"file":"format.js","sourceRoot":"","sources":["../../src/utils/format.ts"],"names":[],"mappings":";;;;;;AAAA,yDAAiC;AAEjC,MAAM,SAAS,GAAG;IAChB,IAAI,EAAE;QACJ,MAAM,EAAE,GAAG;QACX,UAAU,EAAE,CAAC;KACd;IACD,IAAI,EAAE;QACJ,MAAM,EAAE,KAAK;QACb,UAAU,EAAE,IAAI;KACjB;IACD,IAAI,EAAE;QACJ,MAAM,EAAE,KAAK;QACb,UAAU,EAAE,IAAI,GAAG,IAAI;KACxB;CACF,CAAC;AAEF,MAAM,QAAQ,GAAG;IACf,UAAU,EAAE;QACV,MAAM,EAAE,IAAI;QACZ,UAAU,EAAE,CAAC;KACd;IACD,MAAM,EAAE;QACN,MAAM,EAAE,GAAG;QACX,UAAU,EAAE,IAAI;KACjB;IACD,MAAM,EAAE;QACN,MAAM,EAAE,KAAK;QACb,UAAU,EAAE,EAAE,GAAG,IAAI;KACtB;CACF,CAAC;AAEF,SAAgB,cAAc,CAAC,GAAmB;IAChD,IAAI,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC;IAE1B,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;QAC3B,OAAO,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;KAC1B;IAED,IAAI,GAAG,GAAG,SAAS,CAAC,IAAI,CAAC,UAAU,EAAE;QACnC,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC;KACvB;SAAM,IAAI,GAAG,GAAG,SAAS,CAAC,IAAI,CAAC,UAAU,EAAE;QAC1C,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC;KACvB;SAAM;QACL,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC;KACvB;IAED,OAAO,GAAG,IAAA,eAAK,EAAC,GAAG,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;AAC5D,CAAC;AAhBD,wCAgBC;AAED,SAAgB,cAAc,CAAC,GAAmB;IAChD,IAAI,IAAI,GAAG,QAAQ,CAAC,UAAU,CAAC;IAE/B,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;QAC3B,OAAO,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;KAC1B;IAED,IAAI,GAAG,GAAG,QAAQ,CAAC,MAAM,CAAC,UAAU,EAAE;QACpC,IAAI,GAAG,QAAQ,CAAC,UAAU,CAAC;KAC5B;SAAM,IAAI,GAAG,GAAG,QAAQ,CAAC,MAAM,CAAC,UAAU,EAAE;QAC3C,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC;KACxB;SAAM;QACL,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC;KACxB;IAED,OAAO,GAAG,IAAA,eAAK,EAAC,GAAG,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;AAC5D,CAAC;AAhBD,wCAgBC;AAED,SAAgB,YAAY,CAAC,GAAmB;IAC9C,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;QAC3B,OAAO,GAAG,CAAC;KACZ;IAED,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAC;AACxB,CAAC;AAND,oCAMC;AAED,SAAgB,YAAY,CAAC,SAAkB;IAC7C,IAAI,CAAC,SAAS,EAAE;QACd,OAAO,EAAE,CAAC;KACX;IAED,OAAO,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAChC,CAAC;AAND,oCAMC;AAED,SAAgB,gBAAgB,CAAC,GAAmB;IAClD,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;QAC3B,OAAO,IAAI,CAAC;KACb;IAED,OAAO,GAAG,GAAG,GAAG,CAAC;AACnB,CAAC;AAND,4CAMC"}
|
package/lib-esm/utils/format.js
CHANGED
|
@@ -1,23 +1,80 @@
|
|
|
1
|
-
import configureMeasurements, { digital, time } from 'convert-units';
|
|
2
1
|
import round from 'lodash/round';
|
|
3
|
-
const
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
2
|
+
const FILE_SIZE = {
|
|
3
|
+
BYTE: {
|
|
4
|
+
symbol: 'B',
|
|
5
|
+
multiplier: 1,
|
|
6
|
+
},
|
|
7
|
+
KILO: {
|
|
8
|
+
symbol: 'KiB',
|
|
9
|
+
multiplier: 1024,
|
|
10
|
+
},
|
|
11
|
+
MEGA: {
|
|
12
|
+
symbol: 'MiB',
|
|
13
|
+
multiplier: 1024 * 1024,
|
|
14
|
+
},
|
|
12
15
|
};
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
}
|
|
18
|
-
|
|
16
|
+
const DURATION = {
|
|
17
|
+
MILISECOND: {
|
|
18
|
+
symbol: 'ms',
|
|
19
|
+
multiplier: 1,
|
|
20
|
+
},
|
|
21
|
+
SECOND: {
|
|
22
|
+
symbol: 's',
|
|
23
|
+
multiplier: 1000,
|
|
24
|
+
},
|
|
25
|
+
MINUTE: {
|
|
26
|
+
symbol: 'min',
|
|
27
|
+
multiplier: 60 * 1000,
|
|
28
|
+
},
|
|
19
29
|
};
|
|
20
|
-
export
|
|
21
|
-
|
|
22
|
-
|
|
30
|
+
export function formatFileSize(val) {
|
|
31
|
+
let unit = FILE_SIZE.BYTE;
|
|
32
|
+
if (typeof val !== 'number') {
|
|
33
|
+
return `0${unit.symbol}`;
|
|
34
|
+
}
|
|
35
|
+
if (val < FILE_SIZE.KILO.multiplier) {
|
|
36
|
+
unit = FILE_SIZE.BYTE;
|
|
37
|
+
}
|
|
38
|
+
else if (val < FILE_SIZE.MEGA.multiplier) {
|
|
39
|
+
unit = FILE_SIZE.KILO;
|
|
40
|
+
}
|
|
41
|
+
else {
|
|
42
|
+
unit = FILE_SIZE.MEGA;
|
|
43
|
+
}
|
|
44
|
+
return `${round(val / unit.multiplier, 2)}${unit.symbol}`;
|
|
45
|
+
}
|
|
46
|
+
export function formatDuration(val) {
|
|
47
|
+
let unit = DURATION.MILISECOND;
|
|
48
|
+
if (typeof val !== 'number') {
|
|
49
|
+
return `0${unit.symbol}`;
|
|
50
|
+
}
|
|
51
|
+
if (val < DURATION.SECOND.multiplier) {
|
|
52
|
+
unit = DURATION.MILISECOND;
|
|
53
|
+
}
|
|
54
|
+
else if (val < DURATION.MINUTE.multiplier) {
|
|
55
|
+
unit = DURATION.SECOND;
|
|
56
|
+
}
|
|
57
|
+
else {
|
|
58
|
+
unit = DURATION.MINUTE;
|
|
59
|
+
}
|
|
60
|
+
return `${round(val / unit.multiplier, 1)}${unit.symbol}`;
|
|
61
|
+
}
|
|
62
|
+
export function formatNumber(val) {
|
|
63
|
+
if (typeof val !== 'number') {
|
|
64
|
+
return '0';
|
|
65
|
+
}
|
|
66
|
+
return val.toString();
|
|
67
|
+
}
|
|
68
|
+
export function formatCommit(commitSha) {
|
|
69
|
+
if (!commitSha) {
|
|
70
|
+
return '';
|
|
71
|
+
}
|
|
72
|
+
return commitSha.substr(0, 7);
|
|
73
|
+
}
|
|
74
|
+
export function formatPercentage(val) {
|
|
75
|
+
if (typeof val !== 'number') {
|
|
76
|
+
return '0%';
|
|
77
|
+
}
|
|
78
|
+
return `${val}%`;
|
|
79
|
+
}
|
|
23
80
|
//# sourceMappingURL=format.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"format.js","sourceRoot":"","sources":["../../src/utils/format.
|
|
1
|
+
{"version":3,"file":"format.js","sourceRoot":"","sources":["../../src/utils/format.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,cAAc,CAAC;AAEjC,MAAM,SAAS,GAAG;IAChB,IAAI,EAAE;QACJ,MAAM,EAAE,GAAG;QACX,UAAU,EAAE,CAAC;KACd;IACD,IAAI,EAAE;QACJ,MAAM,EAAE,KAAK;QACb,UAAU,EAAE,IAAI;KACjB;IACD,IAAI,EAAE;QACJ,MAAM,EAAE,KAAK;QACb,UAAU,EAAE,IAAI,GAAG,IAAI;KACxB;CACF,CAAC;AAEF,MAAM,QAAQ,GAAG;IACf,UAAU,EAAE;QACV,MAAM,EAAE,IAAI;QACZ,UAAU,EAAE,CAAC;KACd;IACD,MAAM,EAAE;QACN,MAAM,EAAE,GAAG;QACX,UAAU,EAAE,IAAI;KACjB;IACD,MAAM,EAAE;QACN,MAAM,EAAE,KAAK;QACb,UAAU,EAAE,EAAE,GAAG,IAAI;KACtB;CACF,CAAC;AAEF,MAAM,UAAU,cAAc,CAAC,GAAmB;IAChD,IAAI,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC;IAE1B,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;QAC3B,OAAO,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;KAC1B;IAED,IAAI,GAAG,GAAG,SAAS,CAAC,IAAI,CAAC,UAAU,EAAE;QACnC,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC;KACvB;SAAM,IAAI,GAAG,GAAG,SAAS,CAAC,IAAI,CAAC,UAAU,EAAE;QAC1C,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC;KACvB;SAAM;QACL,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC;KACvB;IAED,OAAO,GAAG,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;AAC5D,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,GAAmB;IAChD,IAAI,IAAI,GAAG,QAAQ,CAAC,UAAU,CAAC;IAE/B,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;QAC3B,OAAO,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;KAC1B;IAED,IAAI,GAAG,GAAG,QAAQ,CAAC,MAAM,CAAC,UAAU,EAAE;QACpC,IAAI,GAAG,QAAQ,CAAC,UAAU,CAAC;KAC5B;SAAM,IAAI,GAAG,GAAG,QAAQ,CAAC,MAAM,CAAC,UAAU,EAAE;QAC3C,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC;KACxB;SAAM;QACL,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC;KACxB;IAED,OAAO,GAAG,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;AAC5D,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,GAAmB;IAC9C,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;QAC3B,OAAO,GAAG,CAAC;KACZ;IAED,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAC;AACxB,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,SAAkB;IAC7C,IAAI,CAAC,SAAS,EAAE;QACd,OAAO,EAAE,CAAC;KACX;IAED,OAAO,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAChC,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,GAAmB;IAClD,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;QAC3B,OAAO,IAAI,CAAC;KACb;IAED,OAAO,GAAG,GAAG,GAAG,CAAC;AACnB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bundle-stats/utils",
|
|
3
|
-
"version": "4.0.
|
|
3
|
+
"version": "4.1.0-beta.0",
|
|
4
4
|
"description": "BundleStats utils",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"module": "lib-esm/index.js",
|
|
@@ -35,9 +35,8 @@
|
|
|
35
35
|
},
|
|
36
36
|
"homepage": "https://github.com/relative-ci/bundle-stats/blob/master/packages/utils#readme",
|
|
37
37
|
"dependencies": {
|
|
38
|
-
"@bundle-stats/plugin-webpack-filter": "^4.0.
|
|
39
|
-
"@bundle-stats/plugin-webpack-validate": "^4.0.
|
|
40
|
-
"convert-units": "3.0.0-beta.5",
|
|
38
|
+
"@bundle-stats/plugin-webpack-filter": "^4.1.0-beta.0",
|
|
39
|
+
"@bundle-stats/plugin-webpack-validate": "^4.1.0-beta.0",
|
|
41
40
|
"query-string": "^7.1.0",
|
|
42
41
|
"serialize-query-params": "^2.0.1"
|
|
43
42
|
},
|
|
@@ -58,5 +57,5 @@
|
|
|
58
57
|
"core-js": "^3.0.0",
|
|
59
58
|
"lodash": "^4.0.0"
|
|
60
59
|
},
|
|
61
|
-
"gitHead": "
|
|
60
|
+
"gitHead": "25f9c3e5c4f4b728336c558e8783192a64339091"
|
|
62
61
|
}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import round from 'lodash/round';
|
|
2
|
+
|
|
3
|
+
const FILE_SIZE = {
|
|
4
|
+
BYTE: {
|
|
5
|
+
symbol: 'B',
|
|
6
|
+
multiplier: 1,
|
|
7
|
+
},
|
|
8
|
+
KILO: {
|
|
9
|
+
symbol: 'KiB',
|
|
10
|
+
multiplier: 1024,
|
|
11
|
+
},
|
|
12
|
+
MEGA: {
|
|
13
|
+
symbol: 'MiB',
|
|
14
|
+
multiplier: 1024 * 1024,
|
|
15
|
+
},
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
const DURATION = {
|
|
19
|
+
MILISECOND: {
|
|
20
|
+
symbol: 'ms',
|
|
21
|
+
multiplier: 1,
|
|
22
|
+
},
|
|
23
|
+
SECOND: {
|
|
24
|
+
symbol: 's',
|
|
25
|
+
multiplier: 1000,
|
|
26
|
+
},
|
|
27
|
+
MINUTE: {
|
|
28
|
+
symbol: 'min',
|
|
29
|
+
multiplier: 60 * 1000,
|
|
30
|
+
},
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
export function formatFileSize(val?: number | null): string {
|
|
34
|
+
let unit = FILE_SIZE.BYTE;
|
|
35
|
+
|
|
36
|
+
if (typeof val !== 'number') {
|
|
37
|
+
return `0${unit.symbol}`;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
if (val < FILE_SIZE.KILO.multiplier) {
|
|
41
|
+
unit = FILE_SIZE.BYTE;
|
|
42
|
+
} else if (val < FILE_SIZE.MEGA.multiplier) {
|
|
43
|
+
unit = FILE_SIZE.KILO;
|
|
44
|
+
} else {
|
|
45
|
+
unit = FILE_SIZE.MEGA;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
return `${round(val / unit.multiplier, 2)}${unit.symbol}`;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
export function formatDuration(val?: number | null): string {
|
|
52
|
+
let unit = DURATION.MILISECOND;
|
|
53
|
+
|
|
54
|
+
if (typeof val !== 'number') {
|
|
55
|
+
return `0${unit.symbol}`;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
if (val < DURATION.SECOND.multiplier) {
|
|
59
|
+
unit = DURATION.MILISECOND;
|
|
60
|
+
} else if (val < DURATION.MINUTE.multiplier) {
|
|
61
|
+
unit = DURATION.SECOND;
|
|
62
|
+
} else {
|
|
63
|
+
unit = DURATION.MINUTE;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
return `${round(val / unit.multiplier, 1)}${unit.symbol}`;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
export function formatNumber(val?: number | null): string {
|
|
70
|
+
if (typeof val !== 'number') {
|
|
71
|
+
return '0';
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
return val.toString();
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
export function formatCommit(commitSha?: string): string {
|
|
78
|
+
if (!commitSha) {
|
|
79
|
+
return '';
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
return commitSha.substr(0, 7);
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
export function formatPercentage(val?: number | null):string {
|
|
86
|
+
if (typeof val !== 'number') {
|
|
87
|
+
return '0%';
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
return `${val}%`;
|
|
91
|
+
}
|
package/types/utils/format.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export function formatFileSize(val
|
|
2
|
-
export function formatDuration(val
|
|
3
|
-
export function formatNumber(val
|
|
4
|
-
export function formatCommit(commitSha
|
|
5
|
-
export function formatPercentage(val
|
|
1
|
+
export declare function formatFileSize(val?: number | null): string;
|
|
2
|
+
export declare function formatDuration(val?: number | null): string;
|
|
3
|
+
export declare function formatNumber(val?: number | null): string;
|
|
4
|
+
export declare function formatCommit(commitSha?: string): string;
|
|
5
|
+
export declare function formatPercentage(val?: number | null): string;
|
package/src/utils/format.js
DELETED
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import configureMeasurements, { digital, time } from 'convert-units';
|
|
2
|
-
import round from 'lodash/round';
|
|
3
|
-
|
|
4
|
-
const convert = configureMeasurements({ digital, time });
|
|
5
|
-
|
|
6
|
-
const FILE_SIZE_UNIT = 'B';
|
|
7
|
-
const DURATION_UNIT = 'ms';
|
|
8
|
-
|
|
9
|
-
export const formatFileSize = (val) => {
|
|
10
|
-
const res = convert(val).from(FILE_SIZE_UNIT).toBest();
|
|
11
|
-
|
|
12
|
-
if (res) {
|
|
13
|
-
return `${round(res.val, 2)}${res.unit}`;
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
return `${round(val || 0, 2)}${FILE_SIZE_UNIT}`;
|
|
17
|
-
};
|
|
18
|
-
|
|
19
|
-
export const formatDuration = (val) => {
|
|
20
|
-
const res = convert(val).from(DURATION_UNIT).toBest();
|
|
21
|
-
|
|
22
|
-
if (res) {
|
|
23
|
-
return `${round(res.val, 4)}${res.unit}`;
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
return `${round(val || 0, 4)}${DURATION_UNIT}`;
|
|
27
|
-
};
|
|
28
|
-
|
|
29
|
-
export const formatNumber = (val) => `${val}`;
|
|
30
|
-
|
|
31
|
-
export const formatCommit = (commitSha) => (commitSha && commitSha.substr(0, 7)) || '';
|
|
32
|
-
|
|
33
|
-
export const formatPercentage = (val) => `${val}%`;
|