UNPKG

sassdoc

Version:
80 lines (57 loc) 1.95 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck'); var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); var _createClass2 = require('babel-runtime/helpers/createClass'); var _createClass3 = _interopRequireDefault(_createClass2); var _annotations = require('./annotations'); var _annotations2 = _interopRequireDefault(_annotations); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var AnnotationsApi = function () { function AnnotationsApi(env) { (0, _classCallCheck3.default)(this, AnnotationsApi); this.env = env; this.list = { _: { alias: {} } }; this.addAnnotations(_annotations2.default); } /** * Add a single annotation by name * @param {String} name - Name of the annotation * @param {Object} annotation - Annotation object */ (0, _createClass3.default)(AnnotationsApi, [{ key: 'addAnnotation', value: function addAnnotation(name, annotation) { var _this = this; annotation = annotation(this.env); this.list._.alias[name] = name; if (Array.isArray(annotation.alias)) { annotation.alias.forEach(function (aliasName) { _this.list._.alias[aliasName] = name; }); } this.list[name] = annotation; } /** * Add an array of annotations. The name of the annotations must be * in the `name` key of the annotation. * @param {Array} annotations - Annotation objects */ }, { key: 'addAnnotations', value: function addAnnotations(annotations) { var _this2 = this; if (annotations !== undefined) { annotations.forEach(function (annotation) { _this2.addAnnotation(annotation().name, annotation); }); } } }]); return AnnotationsApi; }(); exports.default = AnnotationsApi;