@@ -28,6 +28,8 @@ module.exports = function categorizer() {
2828    classDoc . methods . forEach ( doc  =>  decorateMethodDoc ( doc ) ) ; 
2929    classDoc . properties . forEach ( doc  =>  decoratePropertyDoc ( doc ) ) ; 
3030
31+     decoratePublicDoc ( classDoc ) ; 
32+     
3133    // Categorize the current visited classDoc into its Angular type. 
3234    if  ( isDirective ( classDoc ) )  { 
3335      classDoc . isDirective  =  true ; 
@@ -45,6 +47,7 @@ module.exports = function categorizer() {
4547   */ 
4648  function  decorateMethodDoc ( methodDoc )  { 
4749    normalizeMethodParameters ( methodDoc ) ; 
50+     decoratePublicDoc ( methodDoc ) ; 
4851
4952    // Mark methods with a `void` return type so we can omit show the return type in the docs. 
5053    methodDoc . showReturns  =  methodDoc . returnType  &&  methodDoc . returnType  !=  'void' ; 
@@ -55,12 +58,22 @@ module.exports = function categorizer() {
5558   * outputs will be marked. Aliases for the inputs or outputs will be stored as well. 
5659   */ 
5760  function  decoratePropertyDoc ( propertyDoc )  { 
61+     decoratePublicDoc ( propertyDoc ) ; 
62+ 
5863    propertyDoc . isDirectiveInput  =  isDirectiveInput ( propertyDoc ) ; 
5964    propertyDoc . directiveInputAlias  =  getDirectiveInputAlias ( propertyDoc ) ; 
6065
6166    propertyDoc . isDirectiveOutput  =  isDirectiveOutput ( propertyDoc ) ; 
6267    propertyDoc . directiveOutputAlias  =  getDirectiveOutputAlias ( propertyDoc ) ; 
6368  } 
69+ 
70+   /** 
71+    * Decorates public exposed docs. Creates a property on the doc that indicates whether 
72+    * the item is deprecated or not. 
73+    **/ 
74+   function  decoratePublicDoc ( doc )  { 
75+     doc . isDeprecated  =  isDeprecatedDoc ( doc ) ; 
76+   } 
6477} ; 
6578
6679/** Function that walks through all inherited docs and collects public methods. */ 
@@ -146,6 +159,10 @@ function isDirectiveInput(doc) {
146159  return  hasMemberDecorator ( doc ,  'Input' ) ; 
147160} 
148161
162+ function  isDeprecatedDoc ( doc )  { 
163+   return  ( doc . tags  &&  doc . tags . tags  ||  [ ] ) . some ( tag  =>  tag . tagName  ===  'deprecated' ) ; 
164+ } 
165+ 
149166function  getDirectiveInputAlias ( doc )  { 
150167  return  isDirectiveInput ( doc )  ? doc . decorators . find ( d  =>  d . name  ==  'Input' ) . arguments [ 0 ]  : '' ; 
151168} 
0 commit comments