UNPKG

sculptui-vscode

Version:

Visually edit your React component code from the browser

29 lines (28 loc) 1.08 kB
export function getPorts( ports: string | undefined, defaultPorts?: { port: number; stopPort?: number }, ): { port: number; stopPort?: number } | undefined { if (ports) { const portParts = ports.split('-', 2); if (portParts.length > 1) { const parsedStart = Number(portParts[0]); const parsedStop = Number(portParts[1]); if (parsedStart && Number.isInteger(parsedStart) && parsedStop && Number.isInteger(parsedStop)) { return { port: parsedStart, stopPort: parsedStop }; } else { throw new Error( `'${ports}' is not a valid specification for a port range. To define a port range use a form like '5000-5100'.`, ); } } const parsedPort = Number(ports); if (parsedPort && Number.isInteger(parsedPort)) { return { port: parsedPort }; } else { throw new Error( `'${ports}' is not a valid specification for a port or port range. Must define a single port like '9999' or a port range like '5000-5100'.`, ); } } return defaultPorts; }