hyper/lib/utils/url-command.js

32 lines
753 B
JavaScript
Raw Normal View History

2016-07-13 12:44:24 -08:00
import * as regex from './url-regex';
export const domainRegex = /([0-9]+[:.]*)+|([a-zA-Z0-9.]+[.][a-zA-Z0-9]+([:][0-9]+)*){1}/;
2016-07-14 15:40:15 -08:00
export default function isUrlCommand(shell, data) {
const matcher = regex[shell]; // eslint-disable-line import/namespace
if (undefined === matcher || !data) {
return null;
}
2016-07-14 15:40:15 -08:00
const match = data.match(matcher);
if (!match) {
return null;
}
const protocol = match[1];
const path = match[2];
2016-07-14 15:40:15 -08:00
if (path) {
if (protocol) {
return `${protocol}${path}`;
}
// extract the domain portion from the url
const domain = path.split('/')[0];
if (domainRegex.test(domain)) {
2016-10-29 03:13:53 -08:00
const result = path.match(domainRegex)[0];
return `http://${result}`;
2016-07-13 12:44:24 -08:00
}
}
2016-07-14 15:40:15 -08:00
return null;
2016-07-13 12:44:24 -08:00
}