1 | ;
|
2 |
|
3 | Object.defineProperty(exports, "__esModule", {
|
4 | value: true
|
5 | });
|
6 | exports.isSpecifierStringAbsolute = isSpecifierStringAbsolute;
|
7 | exports.isSpecifierObjectAbsolute = isSpecifierObjectAbsolute;
|
8 | exports.serializeSpecifier = serializeSpecifier;
|
9 | exports.serializeSpecifierPath = serializeSpecifierPath;
|
10 | exports.deserializeSpecifier = deserializeSpecifier;
|
11 | function isSpecifierStringAbsolute(specifier) {
|
12 | let split = specifier.split(':');
|
13 | let type = split[0];
|
14 | let path = split[1];
|
15 | return !!(type && path && path.indexOf('/') === 0 && path.split('/').length > 3);
|
16 | }
|
17 | function isSpecifierObjectAbsolute(specifier) {
|
18 | return specifier.rootName !== undefined && specifier.collection !== undefined && specifier.name !== undefined && specifier.type !== undefined;
|
19 | }
|
20 | function serializeSpecifier(specifier) {
|
21 | let type = specifier.type;
|
22 | let path = serializeSpecifierPath(specifier);
|
23 | if (path) {
|
24 | return type + ':' + path;
|
25 | } else {
|
26 | return type;
|
27 | }
|
28 | }
|
29 | function serializeSpecifierPath(specifier) {
|
30 | let path = [];
|
31 | if (specifier.rootName) {
|
32 | path.push(specifier.rootName);
|
33 | }
|
34 | if (specifier.collection) {
|
35 | path.push(specifier.collection);
|
36 | }
|
37 | if (specifier.namespace) {
|
38 | path.push(specifier.namespace);
|
39 | }
|
40 | if (specifier.name) {
|
41 | path.push(specifier.name);
|
42 | }
|
43 | if (path.length > 0) {
|
44 | let fullPath = path.join('/');
|
45 | if (isSpecifierObjectAbsolute(specifier)) {
|
46 | fullPath = '/' + fullPath;
|
47 | }
|
48 | return fullPath;
|
49 | }
|
50 | }
|
51 | function deserializeSpecifier(specifier) {
|
52 | let obj = {};
|
53 | if (specifier.indexOf(':') > -1) {
|
54 | let split = specifier.split(':');
|
55 | let type = split[0];
|
56 | let path = split[1];
|
57 | obj.type = type;
|
58 | let pathSegments;
|
59 | if (path.indexOf('/') === 0) {
|
60 | pathSegments = path.substr(1).split('/');
|
61 | if (path.substr(1).startsWith('@')) {
|
62 | obj.rootName = pathSegments.shift() + '/' + pathSegments.shift();
|
63 | } else {
|
64 | obj.rootName = pathSegments.shift();
|
65 | }
|
66 | obj.collection = pathSegments.shift();
|
67 | } else {
|
68 | pathSegments = path.split('/');
|
69 | }
|
70 | if (pathSegments.length > 0) {
|
71 | obj.name = pathSegments.pop();
|
72 | if (pathSegments.length > 0) {
|
73 | obj.namespace = pathSegments.join('/');
|
74 | }
|
75 | }
|
76 | } else {
|
77 | obj.type = specifier;
|
78 | }
|
79 | return obj;
|
80 | }
|
81 | //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNwZWNpZmllci5qcyJdLCJuYW1lcyI6WyJpc1NwZWNpZmllclN0cmluZ0Fic29sdXRlIiwiaXNTcGVjaWZpZXJPYmplY3RBYnNvbHV0ZSIsInNlcmlhbGl6ZVNwZWNpZmllciIsInNlcmlhbGl6ZVNwZWNpZmllclBhdGgiLCJkZXNlcmlhbGl6ZVNwZWNpZmllciIsInNwZWNpZmllciIsInNwbGl0IiwidHlwZSIsInBhdGgiLCJpbmRleE9mIiwibGVuZ3RoIiwicm9vdE5hbWUiLCJ1bmRlZmluZWQiLCJjb2xsZWN0aW9uIiwibmFtZSIsInB1c2giLCJuYW1lc3BhY2UiLCJmdWxsUGF0aCIsImpvaW4iLCJvYmoiLCJwYXRoU2VnbWVudHMiLCJzdWJzdHIiLCJzdGFydHNXaXRoIiwic2hpZnQiLCJwb3AiXSwibWFwcGluZ3MiOiI7Ozs7O1FBQWdCQSx5QixHQUFBQSx5QjtRQU1BQyx5QixHQUFBQSx5QjtRQUdBQyxrQixHQUFBQSxrQjtRQVNBQyxzQixHQUFBQSxzQjtRQXNCQUMsb0IsR0FBQUEsb0I7QUF4Q1QsU0FBU0oseUJBQVQsQ0FBbUNLLFNBQW5DLEVBQThDO0FBQ2pELFFBQUlDLFFBQVFELFVBQVVDLEtBQVYsQ0FBZ0IsR0FBaEIsQ0FBWjtBQUNBLFFBQUlDLE9BQU9ELE1BQU0sQ0FBTixDQUFYO0FBQ0EsUUFBSUUsT0FBT0YsTUFBTSxDQUFOLENBQVg7QUFDQSxXQUFPLENBQUMsRUFBRUMsUUFBUUMsSUFBUixJQUFnQkEsS0FBS0MsT0FBTCxDQUFhLEdBQWIsTUFBc0IsQ0FBdEMsSUFBMkNELEtBQUtGLEtBQUwsQ0FBVyxHQUFYLEVBQWdCSSxNQUFoQixHQUF5QixDQUF0RSxDQUFSO0FBQ0g7QUFDTSxTQUFTVCx5QkFBVCxDQUFtQ0ksU0FBbkMsRUFBOEM7QUFDakQsV0FBT0EsVUFBVU0sUUFBVixLQUF1QkMsU0FBdkIsSUFBb0NQLFVBQVVRLFVBQVYsS0FBeUJELFNBQTdELElBQTBFUCxVQUFVUyxJQUFWLEtBQW1CRixTQUE3RixJQUEwR1AsVUFBVUUsSUFBVixLQUFtQkssU0FBcEk7QUFDSDtBQUNNLFNBQVNWLGtCQUFULENBQTRCRyxTQUE1QixFQUF1QztBQUMxQyxRQUFJRSxPQUFPRixVQUFVRSxJQUFyQjtBQUNBLFFBQUlDLE9BQU9MLHVCQUF1QkUsU0FBdkIsQ0FBWDtBQUNBLFFBQUlHLElBQUosRUFBVTtBQUNOLGVBQU9ELE9BQU8sR0FBUCxHQUFhQyxJQUFwQjtBQUNILEtBRkQsTUFFTztBQUNILGVBQU9ELElBQVA7QUFDSDtBQUNKO0FBQ00sU0FBU0osc0JBQVQsQ0FBZ0NFLFNBQWhDLEVBQTJDO0FBQzlDLFFBQUlHLE9BQU8sRUFBWDtBQUNBLFFBQUlILFVBQVVNLFFBQWQsRUFBd0I7QUFDcEJILGFBQUtPLElBQUwsQ0FBVVYsVUFBVU0sUUFBcEI7QUFDSDtBQUNELFFBQUlOLFVBQVVRLFVBQWQsRUFBMEI7QUFDdEJMLGFBQUtPLElBQUwsQ0FBVVYsVUFBVVEsVUFBcEI7QUFDSDtBQUNELFFBQUlSLFVBQVVXLFNBQWQsRUFBeUI7QUFDckJSLGFBQUtPLElBQUwsQ0FBVVYsVUFBVVcsU0FBcEI7QUFDSDtBQUNELFFBQUlYLFVBQVVTLElBQWQsRUFBb0I7QUFDaEJOLGFBQUtPLElBQUwsQ0FBVVYsVUFBVVMsSUFBcEI7QUFDSDtBQUNELFFBQUlOLEtBQUtFLE1BQUwsR0FBYyxDQUFsQixFQUFxQjtBQUNqQixZQUFJTyxXQUFXVCxLQUFLVSxJQUFMLENBQVUsR0FBVixDQUFmO0FBQ0EsWUFBSWpCLDBCQUEwQkksU0FBMUIsQ0FBSixFQUEwQztBQUN0Q1ksdUJBQVcsTUFBTUEsUUFBakI7QUFDSDtBQUNELGVBQU9BLFFBQVA7QUFDSDtBQUNKO0FBQ00sU0FBU2Isb0JBQVQsQ0FBOEJDLFNBQTlCLEVBQXlDO0FBQzVDLFFBQUljLE1BQU0sRUFBVjtBQUNBLFFBQUlkLFVBQVVJLE9BQVYsQ0FBa0IsR0FBbEIsSUFBeUIsQ0FBQyxDQUE5QixFQUFpQztBQUM3QixZQUFJSCxRQUFRRCxVQUFVQyxLQUFWLENBQWdCLEdBQWhCLENBQVo7QUFDQSxZQUFJQyxPQUFPRCxNQUFNLENBQU4sQ0FBWDtBQUNBLFlBQUlFLE9BQU9GLE1BQU0sQ0FBTixDQUFYO0FBQ0FhLFlBQUlaLElBQUosR0FBV0EsSUFBWDtBQUNBLFlBQUlhLFlBQUo7QUFDQSxZQUFJWixLQUFLQyxPQUFMLENBQWEsR0FBYixNQUFzQixDQUExQixFQUE2QjtBQUN6QlcsMkJBQWVaLEtBQUthLE1BQUwsQ0FBWSxDQUFaLEVBQWVmLEtBQWYsQ0FBcUIsR0FBckIsQ0FBZjtBQUNBLGdCQUFJRSxLQUFLYSxNQUFMLENBQVksQ0FBWixFQUFlQyxVQUFmLENBQTBCLEdBQTFCLENBQUosRUFBb0M7QUFDaENILG9CQUFJUixRQUFKLEdBQWVTLGFBQWFHLEtBQWIsS0FBdUIsR0FBdkIsR0FBNkJILGFBQWFHLEtBQWIsRUFBNUM7QUFDSCxhQUZELE1BRU87QUFDSEosb0JBQUlSLFFBQUosR0FBZVMsYUFBYUcsS0FBYixFQUFmO0FBQ0g7QUFDREosZ0JBQUlOLFVBQUosR0FBaUJPLGFBQWFHLEtBQWIsRUFBakI7QUFDSCxTQVJELE1BUU87QUFDSEgsMkJBQWVaLEtBQUtGLEtBQUwsQ0FBVyxHQUFYLENBQWY7QUFDSDtBQUNELFlBQUljLGFBQWFWLE1BQWIsR0FBc0IsQ0FBMUIsRUFBNkI7QUFDekJTLGdCQUFJTCxJQUFKLEdBQVdNLGFBQWFJLEdBQWIsRUFBWDtBQUNBLGdCQUFJSixhQUFhVixNQUFiLEdBQXNCLENBQTFCLEVBQTZCO0FBQ3pCUyxvQkFBSUgsU0FBSixHQUFnQkksYUFBYUYsSUFBYixDQUFrQixHQUFsQixDQUFoQjtBQUNIO0FBQ0o7QUFDSixLQXZCRCxNQXVCTztBQUNIQyxZQUFJWixJQUFKLEdBQVdGLFNBQVg7QUFDSDtBQUNELFdBQU9jLEdBQVA7QUFDSCIsImZpbGUiOiJzcGVjaWZpZXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZnVuY3Rpb24gaXNTcGVjaWZpZXJTdHJpbmdBYnNvbHV0ZShzcGVjaWZpZXIpIHtcbiAgICBsZXQgc3BsaXQgPSBzcGVjaWZpZXIuc3BsaXQoJzonKTtcbiAgICBsZXQgdHlwZSA9IHNwbGl0WzBdO1xuICAgIGxldCBwYXRoID0gc3BsaXRbMV07XG4gICAgcmV0dXJuICEhKHR5cGUgJiYgcGF0aCAmJiBwYXRoLmluZGV4T2YoJy8nKSA9PT0gMCAmJiBwYXRoLnNwbGl0KCcvJykubGVuZ3RoID4gMyk7XG59XG5leHBvcnQgZnVuY3Rpb24gaXNTcGVjaWZpZXJPYmplY3RBYnNvbHV0ZShzcGVjaWZpZXIpIHtcbiAgICByZXR1cm4gc3BlY2lmaWVyLnJvb3ROYW1lICE9PSB1bmRlZmluZWQgJiYgc3BlY2lmaWVyLmNvbGxlY3Rpb24gIT09IHVuZGVmaW5lZCAmJiBzcGVjaWZpZXIubmFtZSAhPT0gdW5kZWZpbmVkICYmIHNwZWNpZmllci50eXBlICE9PSB1bmRlZmluZWQ7XG59XG5leHBvcnQgZnVuY3Rpb24gc2VyaWFsaXplU3BlY2lmaWVyKHNwZWNpZmllcikge1xuICAgIGxldCB0eXBlID0gc3BlY2lmaWVyLnR5cGU7XG4gICAgbGV0IHBhdGggPSBzZXJpYWxpemVTcGVjaWZpZXJQYXRoKHNwZWNpZmllcik7XG4gICAgaWYgKHBhdGgpIHtcbiAgICAgICAgcmV0dXJuIHR5cGUgKyAnOicgKyBwYXRoO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiB0eXBlO1xuICAgIH1cbn1cbmV4cG9ydCBmdW5jdGlvbiBzZXJpYWxpemVTcGVjaWZpZXJQYXRoKHNwZWNpZmllcikge1xuICAgIGxldCBwYXRoID0gW107XG4gICAgaWYgKHNwZWNpZmllci5yb290TmFtZSkge1xuICAgICAgICBwYXRoLnB1c2goc3BlY2lmaWVyLnJvb3ROYW1lKTtcbiAgICB9XG4gICAgaWYgKHNwZWNpZmllci5jb2xsZWN0aW9uKSB7XG4gICAgICAgIHBhdGgucHVzaChzcGVjaWZpZXIuY29sbGVjdGlvbik7XG4gICAgfVxuICAgIGlmIChzcGVjaWZpZXIubmFtZXNwYWNlKSB7XG4gICAgICAgIHBhdGgucHVzaChzcGVjaWZpZXIubmFtZXNwYWNlKTtcbiAgICB9XG4gICAgaWYgKHNwZWNpZmllci5uYW1lKSB7XG4gICAgICAgIHBhdGgucHVzaChzcGVjaWZpZXIubmFtZSk7XG4gICAgfVxuICAgIGlmIChwYXRoLmxlbmd0aCA+IDApIHtcbiAgICAgICAgbGV0IGZ1bGxQYXRoID0gcGF0aC5qb2luKCcvJyk7XG4gICAgICAgIGlmIChpc1NwZWNpZmllck9iamVjdEFic29sdXRlKHNwZWNpZmllcikpIHtcbiAgICAgICAgICAgIGZ1bGxQYXRoID0gJy8nICsgZnVsbFBhdGg7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGZ1bGxQYXRoO1xuICAgIH1cbn1cbmV4cG9ydCBmdW5jdGlvbiBkZXNlcmlhbGl6ZVNwZWNpZmllcihzcGVjaWZpZXIpIHtcbiAgICBsZXQgb2JqID0ge307XG4gICAgaWYgKHNwZWNpZmllci5pbmRleE9mKCc6JykgPiAtMSkge1xuICAgICAgICBsZXQgc3BsaXQgPSBzcGVjaWZpZXIuc3BsaXQoJzonKTtcbiAgICAgICAgbGV0IHR5cGUgPSBzcGxpdFswXTtcbiAgICAgICAgbGV0IHBhdGggPSBzcGxpdFsxXTtcbiAgICAgICAgb2JqLnR5cGUgPSB0eXBlO1xuICAgICAgICBsZXQgcGF0aFNlZ21lbnRzO1xuICAgICAgICBpZiAocGF0aC5pbmRleE9mKCcvJykgPT09IDApIHtcbiAgICAgICAgICAgIHBhdGhTZWdtZW50cyA9IHBhdGguc3Vic3RyKDEpLnNwbGl0KCcvJyk7XG4gICAgICAgICAgICBpZiAocGF0aC5zdWJzdHIoMSkuc3RhcnRzV2l0aCgnQCcpKSB7XG4gICAgICAgICAgICAgICAgb2JqLnJvb3ROYW1lID0gcGF0aFNlZ21lbnRzLnNoaWZ0KCkgKyAnLycgKyBwYXRoU2VnbWVudHMuc2hpZnQoKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgb2JqLnJvb3ROYW1lID0gcGF0aFNlZ21lbnRzLnNoaWZ0KCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBvYmouY29sbGVjdGlvbiA9IHBhdGhTZWdtZW50cy5zaGlmdCgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcGF0aFNlZ21lbnRzID0gcGF0aC5zcGxpdCgnLycpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChwYXRoU2VnbWVudHMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgb2JqLm5hbWUgPSBwYXRoU2VnbWVudHMucG9wKCk7XG4gICAgICAgICAgICBpZiAocGF0aFNlZ21lbnRzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICBvYmoubmFtZXNwYWNlID0gcGF0aFNlZ21lbnRzLmpvaW4oJy8nKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICAgIG9iai50eXBlID0gc3BlY2lmaWVyO1xuICAgIH1cbiAgICByZXR1cm4gb2JqO1xufSJdfQ== |
\ | No newline at end of file |