@@ -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