UNPKG

572 BJavaScriptView Raw
1'use strict';
2
3var check = require('check-more-types');
4
5function isScopedName(str) {
6 return str[0] === '@' && str.indexOf('/') !== -1;
7}
8
9function parseScopedName(str) {
10 var parsed = moduleName(str.substr(1));
11 parsed.name = '@' + parsed.name;
12 return parsed;
13}
14
15function moduleName(str) {
16 check.verify.string(str, 'expected string module name');
17
18 if (isScopedName(str)) {
19 return parseScopedName(str);
20 }
21
22 var parts = str.split('@');
23 return {
24 name: parts[0],
25 version: parts[1]
26 };
27}
28
29module.exports = moduleName;