import { Flag } from './flag'; import { Hop, Process } from './process'; export class Tracert extends Process { constructor(ipVersion = '') { const args = ['-d']; const ipFlag = Flag.getIpFlag(ipVersion); if (ipFlag) { args.push(ipFlag); } super('tracert', args); } public parseDestination(data: string): string | null { const regex = /^Tracing\sroute\sto\s([a-zA-Z0-9:.]+)\s(?:\[([a-zA-Z0-9:.]+)\])?/; const parsedData = new RegExp(regex, '').exec(data); let result = null; if (parsedData !== null) { if (parsedData[2] !== undefined) { result = parsedData[2]; } else { result = parsedData[1]; } } return result; } public parseHop(hopData: string): Hop | null { const regex = /^\s*(\d*)\s*(