@devmn/cloud-cli
Version:
CLI tool for Intelligo Cloud.
68 lines • 2.59 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const url = require("url");
const Constants_1 = require("./Constants");
// const ADMIN_DOMAIN = Constants.ADMIN_DOMAIN
const util = {
extendCommonKeys(keys) {
return Object.assign({}, Constants_1.default.COMMON_KEYS, keys);
},
copyObject(obj) {
return JSON.parse(JSON.stringify(obj));
},
generateUuidV4() {
return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {
const r = (Math.random() * 16) | 0;
const v = c === 'x' ? r : (r & 0x3) | 0x8;
return v.toString(16);
});
},
getAnsiColorRegex() {
const pattern = [
'[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:[a-zA-Z\\d]*(?:;[a-zA-Z\\d]*)*)?\\u0007)',
'(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))'
].join('|');
return new RegExp(pattern, 'g');
},
cleanDomain(urlInput) {
if (!urlInput || !urlInput.length) {
return undefined;
}
try {
let u = url.parse(urlInput);
if (!u.protocol) {
u = url.parse(`//${urlInput}`, false, true);
}
return u.hostname;
}
catch (e) {
return undefined;
}
},
cleanAdminDomainUrl(urlInput, https) {
if (!urlInput || !urlInput.length) {
return undefined;
}
const http = urlInput.toLowerCase().startsWith('http://'); // If no protocol, defaults to https
const cleanedUrl = util.cleanDomain(urlInput);
if (!cleanedUrl) {
return undefined;
}
// if (!cleanedUrl.startsWith(`${ADMIN_DOMAIN}.`)) {
// cleanedUrl = `${ADMIN_DOMAIN}.${cleanedUrl}`
// }
return ((https || (https === undefined && !http) ? 'https://' : 'http://') +
cleanedUrl);
},
isIpAddress(ipaddress) {
// tslint:disable-next-line: max-line-length
return /^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/.test(ipaddress);
},
isValidEmail(email) {
// tslint:disable-next-line: max-line-length
const re = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
return re.test(String(email).toLowerCase());
}
};
exports.default = util;
//# sourceMappingURL=Utils.js.map