export function parseDataSize(sizeStr: string): number { if (typeof sizeStr !== 'string') return 0; const match = /^\s*([\d.]+)\s*([KMGT]?B)\s*$/i.exec(sizeStr); if (!match) return 0; 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); }