systemquery/src/lib/parse/peer_name.mjs

19 lines
430 B
JavaScript
Raw Normal View History

"use strict";
export default function(peer_name) {
let parts = peer_name.split(":", 2);
if(parts.length < 2)
throw new Error(`Error: The peer name '${peer_name}' doesn't seem to contain a colon.`);
let address = parts[0].replace(/^\[|\]$/, "");
let port = parseInt(parts[1]);
if(isNaN(port))
throw new Error(`Error: Failed to parse port number '${parts[1]}' as a port number.`);
return {
address,
port
};
}