import { isString, MAC } from "../types"; export function normalizeString(str: string): string { return isString(str) ? str.trim().replace(/\s+/g, " ") : str; } export function normalizeMac(mac: MAC): MAC { // parts only contains values at odd indexes const parts = mac .toUpperCase() .replace(/[-:]/g, "") .split(/([A-F0-9]{2})/); const macParts = []; for (let i = 1; i < parts.length; i += 2) { macParts.push(parts[i]); } return macParts.join(":") as MAC; } export function parseInteger(str: string): number { const parsed = parseInt(str, 10); if (parsed.toString() === str) { return parsed; } else { throw new SyntaxError( `String does not represent a valid integer: "${str}"` ); } }