@zendesk/zcli-core
Version:
ZCLI core libraries and services
32 lines (31 loc) • 1.17 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.getProfileFromAccount = exports.getAccount = exports.parseSubdomain = void 0;
/**
* Parse a subdomain.
*
* If someone mistakenly provides full hostname or Url instead of a subdomain
* then strip out domain name from it.
*
* @param {string} subdomain - The subdomain.
* @return {string} The parsed subdomain.
*/
const parseSubdomain = (subdomain) => {
subdomain = subdomain.trim().toLowerCase();
const regex = /(?:http[s]*:\/\/)*(.*?)\.zendesk.com[/]?$/i;
const result = regex.exec(subdomain);
return result !== null ? result[1] : subdomain;
};
exports.parseSubdomain = parseSubdomain;
const getAccount = (subdomain, domain) => {
return domain ? `${subdomain}.${domain}` : subdomain;
};
exports.getAccount = getAccount;
const getProfileFromAccount = (account) => {
const firstDotIndex = account.indexOf('.');
if (firstDotIndex === -1) {
return { subdomain: account };
}
return { subdomain: account.substring(0, firstDotIndex), domain: account.substring(firstDotIndex + 1) };
};
exports.getProfileFromAccount = getProfileFromAccount;