UNPKG

trm-core

Version:

TRM (Transport Request Manager) Core

53 lines (52 loc) 1.56 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.parsePackageName = parsePackageName; const validateOrganizationName_1 = require("./validateOrganizationName"); function parsePackageName(args) { var result; if (args.fullName) { try { const match = args.fullName.match(/^@(.*)\/(.*)$/); result = { fullName: match[0], organization: match[1], name: match[2] }; } catch (e) { result = { fullName: args.fullName, name: args.fullName }; } } else if (args.name) { var fullName; if (args.organization) { fullName = `@${args.organization}/${args.name}`; } else { fullName = args.name; } result = { fullName, organization: args.organization, name: args.name }; } else { throw new Error('Package name not specified.'); } result.fullName = result.fullName.toLowerCase(); result.name = result.name.toLowerCase(); if (!result.name.match(/^[a-z\-0-9\.]*$/)) { throw new Error('Invalid package name.'); } if (result.organization) { result.organization = (0, validateOrganizationName_1.validateOrganizationName)(result.organization); } if (result.fullName.length > 42) { throw new Error('Package name cannot exceede 42 characters limit.'); } return result; }