mirror of
https://github.com/reduxjs/redux-devtools.git
synced 2025-03-11 14:25:47 +03:00
32 lines
646 B
TypeScript
32 lines
646 B
TypeScript
|
export function formatMs(milliseconds: number): string {
|
||
|
if (!Number.isFinite(milliseconds)) {
|
||
|
return 'NaN';
|
||
|
}
|
||
|
|
||
|
const absInput = Math.abs(Math.round(milliseconds));
|
||
|
let millis = (absInput % 1000).toString();
|
||
|
|
||
|
if (millis.length < 3) {
|
||
|
if (millis.length === 2) {
|
||
|
millis = '0' + millis;
|
||
|
} else {
|
||
|
millis = '00' + millis;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
const seconds = Math.floor(absInput / 1_000) % 60;
|
||
|
const minutes = Math.floor(absInput / 60_000);
|
||
|
|
||
|
let output = `${seconds}.${millis}s`;
|
||
|
|
||
|
if (minutes > 0) {
|
||
|
output = `${minutes}m${output}`;
|
||
|
}
|
||
|
|
||
|
if (milliseconds < 0) {
|
||
|
output = `-${output}`;
|
||
|
}
|
||
|
|
||
|
return output;
|
||
|
}
|