ember-introjs
Version:
An Ember Component for intro.js
79 lines (76 loc) • 8.78 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.isSpecifierStringAbsolute = isSpecifierStringAbsolute;
exports.isSpecifierObjectAbsolute = isSpecifierObjectAbsolute;
exports.serializeSpecifier = serializeSpecifier;
exports.serializeSpecifierPath = serializeSpecifierPath;
exports.deserializeSpecifier = deserializeSpecifier;
function isSpecifierStringAbsolute(specifier) {
var _specifier$split = specifier.split(':'),
type = _specifier$split[0],
path = _specifier$split[1];
return !!(type && path && path.indexOf('/') === 0 && path.split('/').length > 3);
}
function isSpecifierObjectAbsolute(specifier) {
return specifier.rootName !== undefined && specifier.collection !== undefined && specifier.name !== undefined && specifier.type !== undefined;
}
function serializeSpecifier(specifier) {
var type = specifier.type;
var path = serializeSpecifierPath(specifier);
if (path) {
return type + ':' + path;
} else {
return type;
}
}
function serializeSpecifierPath(specifier) {
var path = [];
if (specifier.rootName) {
path.push(specifier.rootName);
}
if (specifier.collection) {
path.push(specifier.collection);
}
if (specifier.namespace) {
path.push(specifier.namespace);
}
if (specifier.name) {
path.push(specifier.name);
}
if (path.length > 0) {
var fullPath = path.join('/');
if (isSpecifierObjectAbsolute(specifier)) {
fullPath = '/' + fullPath;
}
return fullPath;
}
}
function deserializeSpecifier(specifier) {
var obj = {};
if (specifier.indexOf(':') > -1) {
var _specifier$split2 = specifier.split(':'),
type = _specifier$split2[0],
path = _specifier$split2[1];
obj.type = type;
var pathSegments = void 0;
if (path.indexOf('/') === 0) {
pathSegments = path.substr(1).split('/');
obj.rootName = pathSegments.shift();
obj.collection = pathSegments.shift();
} else {
pathSegments = path.split('/');
}
if (pathSegments.length > 0) {
obj.name = pathSegments.pop();
if (pathSegments.length > 0) {
obj.namespace = pathSegments.join('/');
}
}
} else {
obj.type = specifier;
}
return obj;
}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BlY2lmaWVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsic3JjL3NwZWNpZmllci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O21DQVEwQyxBQUFpQixXQUN6RCxBQUFJOzJCQUFlLEFBQVMsVUFBQyxBQUFLLE1BQUMsQUFBRyxBQUFDLEFBQUM7UUFBbkMsQUFBSTtRQUFFLEFBQUksQUFBQyx3QkFDaEIsQUFBTTs7V0FBQyxDQUFDLEFBQUMsRUFBQyxBQUFJLFFBQUksQUFBSSxRQUFJLEFBQUksS0FBQyxBQUFPLFFBQUMsQUFBRyxBQUFDLFNBQUssQUFBQyxLQUFJLEFBQUksS0FBQyxBQUFLLE1BQUMsQUFBRyxBQUFDLEtBQUMsQUFBTSxTQUFHLEFBQUMsQUFBQyxBQUFDLEFBQ25GLEFBQUM7QUFFRCxBQUFNO21DQUFvQyxBQUFvQixXQUM1RCxBQUFNO1dBQUMsQUFBUyxVQUFDLEFBQVEsYUFBSyxBQUFTLGFBQ2hDLEFBQVMsVUFBQyxBQUFVLGVBQUssQUFBUyxhQUNsQyxBQUFTLFVBQUMsQUFBSSxTQUFLLEFBQVMsYUFDNUIsQUFBUyxVQUFDLEFBQUksU0FBSyxBQUFTLEFBQUMsQUFDdEMsQUFBQztBQUVELEFBQU07NEJBQTZCLEFBQW9CLFdBQ3JEO1FBQUksQUFBSSxPQUFHLEFBQVMsVUFBQyxBQUFJLEFBQUMsQUFDMUI7UUFBSSxBQUFJLE9BQUcsQUFBc0IsdUJBQUMsQUFBUyxBQUFDLEFBQUMsQUFFN0MsQUFBRSxBQUFDO1FBQUMsQUFBSSxBQUFDLE1BQUMsQUFBQyxBQUNULEFBQU07ZUFBQyxBQUFJLE9BQUcsQUFBRyxNQUFHLEFBQUksQUFBQyxBQUMzQixBQUFDLEFBQUMsQUFBSTtXQUFDLEFBQUMsQUFDTixBQUFNO2VBQUMsQUFBSSxBQUFDLEFBQ2QsQUFBQyxBQUNIO0FBQUM7QUFFRCxBQUFNO2dDQUFpQyxBQUFvQixXQUN6RDtRQUFJLEFBQUksT0FBRyxBQUFFLEFBQUMsQUFDZCxBQUFFLEFBQUM7UUFBQyxBQUFTLFVBQUMsQUFBUSxBQUFDLFVBQUMsQUFBQyxBQUN2QixBQUFJO2FBQUMsQUFBSSxLQUFDLEFBQVMsVUFBQyxBQUFRLEFBQUMsQUFBQyxBQUNoQyxBQUFDO0FBQ0QsQUFBRSxBQUFDO1FBQUMsQUFBUyxVQUFDLEFBQVUsQUFBQyxZQUFDLEFBQUMsQUFDekIsQUFBSTthQUFDLEFBQUksS0FBQyxBQUFTLFVBQUMsQUFBVSxBQUFDLEFBQUMsQUFDbEMsQUFBQztBQUNELEFBQUUsQUFBQztRQUFDLEFBQVMsVUFBQyxBQUFTLEFBQUMsV0FBQyxBQUFDLEFBQ3hCLEFBQUk7YUFBQyxBQUFJLEtBQUMsQUFBUyxVQUFDLEFBQVMsQUFBQyxBQUFDLEFBQ2pDLEFBQUM7QUFDRCxBQUFFLEFBQUM7UUFBQyxBQUFTLFVBQUMsQUFBSSxBQUFDLE1BQUMsQUFBQyxBQUNuQixBQUFJO2FBQUMsQUFBSSxLQUFDLEFBQVMsVUFBQyxBQUFJLEFBQUMsQUFBQyxBQUM1QixBQUFDO0FBRUQsQUFBRSxBQUFDO1FBQUMsQUFBSSxLQUFDLEFBQU0sU0FBRyxBQUFDLEFBQUMsR0FBQyxBQUFDLEFBQ3BCO1lBQUksQUFBUSxXQUFHLEFBQUksS0FBQyxBQUFJLEtBQUMsQUFBRyxBQUFDLEFBQUMsQUFDOUIsQUFBRSxBQUFDO1lBQUMsQUFBeUIsMEJBQUMsQUFBUyxBQUFDLEFBQUMsWUFBQyxBQUFDLEFBQ3pDLEFBQVE7dUJBQUcsQUFBRyxNQUFHLEFBQVEsQUFBQyxBQUM1QixBQUFDO0FBQ0QsQUFBTTtlQUFDLEFBQVEsQUFBQyxBQUNsQixBQUFDLEFBQ0g7QUFBQztBQUVELEFBQU07OEJBQStCLEFBQWlCLFdBQ3BEO1FBQUksQUFBRyxNQUFjLEFBQUUsQUFBQyxBQUV4QixBQUFFLEFBQUM7UUFBQyxBQUFTLFVBQUMsQUFBTyxRQUFDLEFBQUcsQUFBQyxPQUFHLENBQUMsQUFBQyxBQUFDLEdBQUMsQUFBQyxBQUNoQyxBQUFJO2dDQUFlLEFBQVMsVUFBQyxBQUFLLE1BQUMsQUFBRyxBQUFDLEFBQUM7WUFBbkMsQUFBSTtZQUFFLEFBQUksQUFBQyx5QkFDaEIsQUFBRzs7WUFBQyxBQUFJLE9BQUcsQUFBSSxBQUFDLEFBRWhCO1lBQUksQUFBWSxBQUFDLG9CQUVqQixBQUFFLEFBQUM7WUFBQyxBQUFJLEtBQUMsQUFBTyxRQUFDLEFBQUcsQUFBQyxTQUFLLEFBQUMsQUFBQyxHQUFDLEFBQUMsQUFDNUIsQUFBWTsyQkFBRyxBQUFJLEtBQUMsQUFBTSxPQUFDLEFBQUMsQUFBQyxHQUFDLEFBQUssTUFBQyxBQUFHLEFBQUMsQUFBQyxBQUN6QyxBQUFHO2dCQUFDLEFBQVEsV0FBRyxBQUFZLGFBQUMsQUFBSyxBQUFFLEFBQUMsQUFDcEMsQUFBRztnQkFBQyxBQUFVLGFBQUcsQUFBWSxhQUFDLEFBQUssQUFBRSxBQUFDLEFBQ3hDLEFBQUMsQUFBQyxBQUFJO2VBQUMsQUFBQyxBQUNOLEFBQVk7MkJBQUcsQUFBSSxLQUFDLEFBQUssTUFBQyxBQUFHLEFBQUMsQUFBQyxBQUNqQyxBQUFDO0FBRUQsQUFBRSxBQUFDO1lBQUMsQUFBWSxhQUFDLEFBQU0sU0FBRyxBQUFDLEFBQUMsR0FBQyxBQUFDLEFBQzVCLEFBQUc7Z0JBQUMsQUFBSSxPQUFHLEFBQVksYUFBQyxBQUFHLEFBQUUsQUFBQyxBQUU5QixBQUFFLEFBQUM7Z0JBQUMsQUFBWSxhQUFDLEFBQU0sU0FBRyxBQUFDLEFBQUMsR0FBQyxBQUFDLEFBQzVCLEFBQUc7b0JBQUMsQUFBUyxZQUFHLEFBQVksYUFBQyxBQUFJLEtBQUMsQUFBRyxBQUFDLEFBQUMsQUFDekMsQUFBQyxBQUNIO0FBQUMsQUFFSDtBQUFDLEFBQUMsQUFBSTtXQUFDLEFBQUMsQUFDTixBQUFHO1lBQUMsQUFBSSxPQUFHLEFBQVMsQUFBQyxBQUN2QixBQUFDO0FBRUQsQUFBTTtXQUFDLEFBQUcsQUFBQyxBQUNiLEFBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIFNwZWNpZmllciB7XG4gIHJvb3ROYW1lPzogc3RyaW5nO1xuICBjb2xsZWN0aW9uPzogc3RyaW5nO1xuICBuYW1lc3BhY2U/OiBzdHJpbmc7XG4gIG5hbWU/OiBzdHJpbmc7XG4gIHR5cGU/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1NwZWNpZmllclN0cmluZ0Fic29sdXRlKHNwZWNpZmllcjogc3RyaW5nKTogYm9vbGVhbiB7XG4gIGxldCBbdHlwZSwgcGF0aF0gPSBzcGVjaWZpZXIuc3BsaXQoJzonKTtcbiAgcmV0dXJuICEhKHR5cGUgJiYgcGF0aCAmJiBwYXRoLmluZGV4T2YoJy8nKSA9PT0gMCAmJiBwYXRoLnNwbGl0KCcvJykubGVuZ3RoID4gMyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1NwZWNpZmllck9iamVjdEFic29sdXRlKHNwZWNpZmllcjogU3BlY2lmaWVyKTogYm9vbGVhbiB7XG4gIHJldHVybiBzcGVjaWZpZXIucm9vdE5hbWUgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgICAgc3BlY2lmaWVyLmNvbGxlY3Rpb24gIT09IHVuZGVmaW5lZCAmJlxuICAgICAgICAgc3BlY2lmaWVyLm5hbWUgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgICAgc3BlY2lmaWVyLnR5cGUgIT09IHVuZGVmaW5lZDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNlcmlhbGl6ZVNwZWNpZmllcihzcGVjaWZpZXI6IFNwZWNpZmllcik6IHN0cmluZyB7XG4gIGxldCB0eXBlID0gc3BlY2lmaWVyLnR5cGU7XG4gIGxldCBwYXRoID0gc2VyaWFsaXplU3BlY2lmaWVyUGF0aChzcGVjaWZpZXIpO1xuXG4gIGlmIChwYXRoKSB7XG4gICAgcmV0dXJuIHR5cGUgKyAnOicgKyBwYXRoO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiB0eXBlO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzZXJpYWxpemVTcGVjaWZpZXJQYXRoKHNwZWNpZmllcjogU3BlY2lmaWVyKTogc3RyaW5nIHtcbiAgbGV0IHBhdGggPSBbXTtcbiAgaWYgKHNwZWNpZmllci5yb290TmFtZSkge1xuICAgIHBhdGgucHVzaChzcGVjaWZpZXIucm9vdE5hbWUpO1xuICB9XG4gIGlmIChzcGVjaWZpZXIuY29sbGVjdGlvbikge1xuICAgIHBhdGgucHVzaChzcGVjaWZpZXIuY29sbGVjdGlvbik7XG4gIH1cbiAgaWYgKHNwZWNpZmllci5uYW1lc3BhY2UpIHtcbiAgICBwYXRoLnB1c2goc3BlY2lmaWVyLm5hbWVzcGFjZSk7XG4gIH1cbiAgaWYgKHNwZWNpZmllci5uYW1lKSB7XG4gICAgcGF0aC5wdXNoKHNwZWNpZmllci5uYW1lKTtcbiAgfVxuXG4gIGlmIChwYXRoLmxlbmd0aCA+IDApIHtcbiAgICBsZXQgZnVsbFBhdGggPSBwYXRoLmpvaW4oJy8nKTtcbiAgICBpZiAoaXNTcGVjaWZpZXJPYmplY3RBYnNvbHV0ZShzcGVjaWZpZXIpKSB7XG4gICAgICBmdWxsUGF0aCA9ICcvJyArIGZ1bGxQYXRoO1xuICAgIH1cbiAgICByZXR1cm4gZnVsbFBhdGg7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRlc2VyaWFsaXplU3BlY2lmaWVyKHNwZWNpZmllcjogc3RyaW5nKTogU3BlY2lmaWVyIHtcbiAgbGV0IG9iajogU3BlY2lmaWVyID0ge307XG5cbiAgaWYgKHNwZWNpZmllci5pbmRleE9mKCc6JykgPiAtMSkge1xuICAgIGxldCBbdHlwZSwgcGF0aF0gPSBzcGVjaWZpZXIuc3BsaXQoJzonKTtcbiAgICBvYmoudHlwZSA9IHR5cGU7XG5cbiAgICBsZXQgcGF0aFNlZ21lbnRzO1xuXG4gICAgaWYgKHBhdGguaW5kZXhPZignLycpID09PSAwKSB7XG4gICAgICBwYXRoU2VnbWVudHMgPSBwYXRoLnN1YnN0cigxKS5zcGxpdCgnLycpO1xuICAgICAgb2JqLnJvb3ROYW1lID0gcGF0aFNlZ21lbnRzLnNoaWZ0KCk7XG4gICAgICBvYmouY29sbGVjdGlvbiA9IHBhdGhTZWdtZW50cy5zaGlmdCgpO1xuICAgIH0gZWxzZSB7XG4gICAgICBwYXRoU2VnbWVudHMgPSBwYXRoLnNwbGl0KCcvJyk7XG4gICAgfVxuXG4gICAgaWYgKHBhdGhTZWdtZW50cy5sZW5ndGggPiAwKSB7XG4gICAgICBvYmoubmFtZSA9IHBhdGhTZWdtZW50cy5wb3AoKTtcblxuICAgICAgaWYgKHBhdGhTZWdtZW50cy5sZW5ndGggPiAwKSB7XG4gICAgICAgIG9iai5uYW1lc3BhY2UgPSBwYXRoU2VnbWVudHMuam9pbignLycpO1xuICAgICAgfVxuICAgIH1cblxuICB9IGVsc2Uge1xuICAgIG9iai50eXBlID0gc3BlY2lmaWVyO1xuICB9XG5cbiAgcmV0dXJuIG9iajtcbn1cbiJdfQ==