UNPKG

@devmn/cloud-cli

Version:

CLI tool for Intelligo Cloud.

68 lines 2.59 kB
"use strict"; 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