30 lines
806 B
JavaScript
30 lines
806 B
JavaScript
var _ = require('lodash');
|
|
|
|
module.exports = function extractDecoratedClassesProcessor(EXPORT_DOC_TYPES) {
|
|
|
|
// Add the "directive" docType into those that can be exported from a module
|
|
EXPORT_DOC_TYPES.push('directive', 'pipe');
|
|
|
|
return {
|
|
$runAfter: ['processing-docs'],
|
|
$runBefore: ['docs-processed'],
|
|
decoratorTypes: ['Directive', 'Component', 'Pipe'],
|
|
$process: function(docs) {
|
|
var decoratorTypes = this.decoratorTypes;
|
|
|
|
_.forEach(docs, function(doc) {
|
|
|
|
_.forEach(doc.decorators, function(decorator) {
|
|
|
|
if (decoratorTypes.indexOf(decorator.name) !== -1) {
|
|
doc.docType = decorator.name.toLowerCase();
|
|
doc[doc.docType + 'Options'] = decorator.argumentInfo[0];
|
|
}
|
|
});
|
|
});
|
|
|
|
return docs;
|
|
}
|
|
};
|
|
};
|