// Helper function to parse memory strings (e.g., "512MB", "2GB") export function parseMemoryString(memStr: string): number { const units = { KB: 1024, MB: 1024 * 1024, GB: 1024 * 1024 * 1024, }; const match = memStr.toUpperCase().match(/^(\d+(?:\.\d+)?)\s*(KB|MB|GB)?$/); if (!match) { throw new Error( `Invalid memory format: ${memStr}. Use format like "512MB" or "2GB"`, ); } const value = parseFloat(match[1]); const unit = (match[2] || 'MB') as keyof typeof units; return Math.floor(value * units[unit]); } // Helper function to format memory for display export function formatMemory(bytes: number): string { if (bytes >= 1024 * 1024 * 1024) { return `${(bytes / (1024 * 1024 * 1024)).toFixed(1)} GB`; } else if (bytes >= 1024 * 1024) { return `${(bytes / (1024 * 1024)).toFixed(1)} MB`; } else if (bytes >= 1024) { return `${(bytes / 1024).toFixed(1)} KB`; } else { return `${bytes} B`; } }