@@ -6,7 +6,7 @@ module.exports = function mergeDecoratorDocs() {
6
6
$runBefore : [ 'docs-processed' ] ,
7
7
docsToMergeInfo : [
8
8
{ nameTemplate : _ . template ( '${name}Decorator' ) , decoratorProperty : 'decoratorInterfaceDoc' } ,
9
- { nameTemplate : _ . template ( '${name}Metadata' ) , decoratorProperty : 'metadataDoc' } ,
9
+ { nameTemplate : _ . template ( '${name}Metadata' ) , decoratorProperty : 'metadataDoc' , useFields : [ 'howToUse' , 'whatItDoes' ] } ,
10
10
{ nameTemplate : _ . template ( '${name}MetadataType' ) , decoratorProperty : 'metadataInterfaceDoc' } ,
11
11
{ nameTemplate : _ . template ( '${name}MetadataFactory' ) , decoratorProperty : 'metadataFactoryDoc' }
12
12
] ,
@@ -21,7 +21,10 @@ module.exports = function mergeDecoratorDocs() {
21
21
var makeDecorator = getMakeDecoratorCall ( doc ) ;
22
22
if ( makeDecorator ) {
23
23
doc . docType = 'decorator' ;
24
+ // get the type of the decorator metadata
24
25
doc . decoratorType = makeDecorator . arguments [ 0 ] . text ;
26
+ // clear the symbol type named (e.g. ComponentMetadataFactory) since it is not needed
27
+ doc . symbolTypeName = undefined ;
25
28
26
29
// keep track of the docs that need to be merged into this decorator doc
27
30
docsToMergeInfo . forEach ( function ( info ) {
@@ -35,13 +38,22 @@ module.exports = function mergeDecoratorDocs() {
35
38
if ( docsToMerge [ doc . name ] ) {
36
39
var decoratorDoc = docsToMerge [ doc . name ] . decoratorDoc ;
37
40
var property = docsToMerge [ doc . name ] . property ;
41
+ var useFields = docsToMerge [ doc . name ] . useFields ;
38
42
39
43
// attach this document to its decorator
40
44
decoratorDoc [ property ] = doc ;
41
45
46
+ // Copy over fields from the merged doc if specified
47
+ if ( useFields ) {
48
+ useFields . forEach ( function ( field ) {
49
+ decoratorDoc [ field ] = doc [ field ] ;
50
+ } ) ;
51
+ }
52
+
42
53
// remove doc from its module doc's exports
43
54
doc . moduleDoc . exports = doc . moduleDoc . exports . filter ( function ( exportDoc ) { return exportDoc !== doc ; } ) ;
44
55
56
+
45
57
// remove from the overall list of docs to be rendered
46
58
return false ;
47
59
}
0 commit comments