sassdoc
Version:
Release the docs!
60 lines (44 loc) • 1.43 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
var _find = require('babel-runtime/core-js/array/find');
var _find2 = _interopRequireDefault(_find);
exports.default = alias;
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function alias(env) {
return {
name: 'alias',
parse: function parse(text) {
return text.trim();
},
resolve: function resolve(data) {
data.forEach(function (item) {
if (item.alias === undefined) {
return;
}
var alias = item.alias;
var name = item.context.name;
var aliasGroup = item.group;
var aliasedItem = (0, _find2.default)(data, function (i) {
return i.context.name === alias;
});
if (aliasedItem === undefined) {
env.logger.warn('Item `' + name + '` is an alias of `' + alias + '` but this item doesn\'t exist.');
delete item.alias;
return;
}
if (!Array.isArray(aliasedItem.aliased)) {
aliasedItem.aliased = [];
}
if (!Array.isArray(aliasedItem.aliasedGroup)) {
aliasedItem.aliasedGroup = [];
}
aliasedItem.aliased.push(name);
aliasedItem.aliasedGroup.push({ group: aliasGroup, name: name });
});
},
allowedOn: ['function', 'mixin', 'variable'],
multiple: false
};
}