mirror of
https://github.com/Graylog2/graylog2-server.git
synced 2026-03-13 09:32:21 +08:00
Add formatDecimalBytes method and update bytes conversion utilities (#25297)
Co-authored-by: Ousmane SAMBA <ousmane@graylog.com>
This commit is contained in:
committed by
GitHub
parent
df530c9d65
commit
1c2aea8f84
@@ -21,6 +21,7 @@ type NumberInput = number | string;
|
||||
const NumberUtils = {
|
||||
JAVA_INTEGER_MIN_VALUE: 2 ** 31 * -1,
|
||||
JAVA_INTEGER_MAX_VALUE: 2 ** 31 - 1,
|
||||
BYTES_PER_GB: 1_000_000_000 as const,
|
||||
normalizeNumber(number: NumberInput): number {
|
||||
switch (number) {
|
||||
case 'NaN':
|
||||
@@ -72,6 +73,27 @@ const NumberUtils = {
|
||||
|
||||
return formattedNumber;
|
||||
},
|
||||
formatDecimalBytes(number: NumberInput): string {
|
||||
numeral.zeroFormat('0B');
|
||||
|
||||
let formattedNumber: string;
|
||||
|
||||
try {
|
||||
formattedNumber = numeral(this.normalizeNumber(number)).format('0.0b');
|
||||
} catch (_e) {
|
||||
formattedNumber = String(number);
|
||||
}
|
||||
|
||||
numeral.zeroFormat(null);
|
||||
|
||||
return formattedNumber;
|
||||
},
|
||||
bytesToGb(bytes: number): number {
|
||||
return parseFloat((bytes / this.BYTES_PER_GB).toFixed(2));
|
||||
},
|
||||
gbToBytes(gb: number): number {
|
||||
return Math.round(gb * this.BYTES_PER_GB);
|
||||
},
|
||||
isNumber(possibleNumber: unknown): boolean {
|
||||
return possibleNumber !== '' && !Number.isNaN(Number(possibleNumber));
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user