2018-06-09 02:25:45 -06:00

26 lines
556 B
JavaScript

const parseNet = /^tcp:\/\/([^\/:]+)(?::(\d+))?\/?$/i;
const parsePrinter = /^printer:([^\/]+)(?:\/([\w-]*))?$/i;
function getInterface(uri) {
if (typeof uri === "object") {
return uri;
}
const net = parseNet.exec(uri);
if (net) {
const Mod = require('./net');
return new Mod(net[1], net[2]);
}
const printer = parsePrinter.exec(uri);
if (printer) {
const Mod = require('./printer');
return new Mod(printer[1], printer[2]);
}
const Mod = require('./file');
return new Mod(uri);
}
module.exports = getInterface;