improve readability

This commit is contained in:
Thijs van Loef
2025-06-09 13:18:22 +02:00
parent f2e461a1ee
commit 96151de814

View File

@@ -1,11 +1,21 @@
export function parseDataSize(sizeStr: string): number {
if (!sizeStr) return 0;
const match = sizeStr.trim().toUpperCase().match(/^([\d.]+)\s*([KMGT]?B)$/);
if (typeof sizeStr !== 'string') return 0;
const match = /^\s*([\d.]+)\s*([KMGT]?B)\s*$/i.exec(sizeStr);
if (!match) return 0;
const [, numStr, unit] = match;
const num = parseFloat(numStr) || 0;
const multipliers: Record<string, number> = {
B: 1, KB: 1024, MB: 1024**2, GB: 1024**3, TB: 1024**4,
};
return num * (multipliers[unit] || 1);
const [ , numStr, unitRaw ] = match;
const num = parseFloat(numStr);
if (isNaN(num)) return 0;
const unit = unitRaw.toUpperCase();
const multipliers = {
B: 1,
KB: 1024,
MB: 1024 ** 2,
GB: 1024 ** 3,
TB: 1024 ** 4,
} as const;
return num * (multipliers[unit as keyof typeof multipliers] ?? 1);
}