@ng-doc/builder 15.0.0-beta.27 → 15.0.0-beta.29

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (229) hide show
  1. package/engine/.cache/libs/app/components/api-list/api-list.component.js +7 -7
  2. package/engine/.cache/libs/app/components/code/code.component.js +12 -16
  3. package/engine/.cache/libs/app/components/demo/demo.component.js +8 -10
  4. package/engine/.cache/libs/app/components/navbar/navbar.component.js +1 -1
  5. package/engine/.cache/libs/app/components/page/page.module.js +1 -0
  6. package/engine/.cache/libs/app/components/page-map/page-map.component.js +1 -2
  7. package/engine/.cache/libs/app/components/playground/playground.component.js +5 -10
  8. package/engine/.cache/libs/app/components/playground-demo/playground-demo.component.js +8 -9
  9. package/engine/.cache/libs/app/components/playground-properties/playground-properties.component.js +1 -2
  10. package/engine/.cache/libs/app/components/playground-property/playground-property.component.js +9 -10
  11. package/engine/.cache/libs/app/components/root/root.component.js +2 -3
  12. package/engine/.cache/libs/app/components/sidebar/sidebar-category/sidebar-category.component.js +3 -5
  13. package/engine/.cache/libs/app/components/sidebar/sidebar.component.js +1 -2
  14. package/engine/.cache/libs/app/directives/code-highlighter/code-highlighter.directive.js +1 -2
  15. package/engine/.cache/libs/app/helpers/generate-page-map/generate-page-map.js +1 -2
  16. package/engine/.cache/libs/app/modules/root/ng-doc.module.js +3 -3
  17. package/engine/.cache/libs/app/pipes/filter-by-text/filter-by-text.pipe.js +1 -2
  18. package/engine/.cache/libs/app/processors/code-processor/code-processor.directive.js +2 -5
  19. package/engine/.cache/libs/app/processors/html-processor/html-processor.directive.js +1 -2
  20. package/engine/.cache/libs/app/processors/icon-processor/icon-processor.directive.js +2 -3
  21. package/engine/.cache/libs/app/processors/index.js +1 -0
  22. package/engine/.cache/libs/app/processors/playground-processor/playground-processor.directive.js +2 -3
  23. package/engine/.cache/libs/app/processors/tooltip-processor/index.js +6 -0
  24. package/engine/.cache/libs/app/processors/tooltip-processor/tooltip-processor.directive.js +30 -0
  25. package/engine/.cache/libs/app/processors/tooltip-processor/tooltip-processor.module.js +18 -0
  26. package/engine/.cache/libs/app/processors/tooltip-processor/tooltip-wrapper.component.js +30 -0
  27. package/engine/.cache/libs/app/services/theme/theme.service.js +1 -2
  28. package/engine/.cache/libs/builder/engine/actions/demo.action.js +1 -2
  29. package/engine/.cache/libs/builder/engine/actions/playground.action.js +3 -4
  30. package/engine/.cache/libs/builder/engine/actions.js +1 -2
  31. package/engine/.cache/libs/builder/engine/builder.js +2 -2
  32. package/engine/.cache/libs/builder/engine/entities/abstractions/entity.js +2 -3
  33. package/engine/.cache/libs/builder/engine/entities/abstractions/file.entity.js +7 -2
  34. package/engine/.cache/libs/builder/engine/entities/abstractions/module.entity.js +1 -2
  35. package/engine/.cache/libs/builder/engine/entities/abstractions/route.entity.js +1 -2
  36. package/engine/.cache/libs/builder/engine/entities/abstractions/source-file.entity.js +3 -3
  37. package/engine/.cache/libs/builder/engine/entities/api-page.entity.js +4 -4
  38. package/engine/.cache/libs/builder/engine/entities/api-scope.entity.js +1 -2
  39. package/engine/.cache/libs/builder/engine/entities/api.entity.js +9 -16
  40. package/engine/.cache/libs/builder/engine/entities/category.entity.js +6 -12
  41. package/engine/.cache/libs/builder/engine/entities/dependencies.entity.js +20 -9
  42. package/engine/.cache/libs/builder/engine/entities/page.entity.js +13 -20
  43. package/engine/.cache/libs/builder/engine/entities/playground.entity.js +4 -3
  44. package/engine/.cache/libs/builder/engine/entity-store.js +3 -5
  45. package/engine/.cache/libs/builder/engine/functions/build-candidates.js +1 -2
  46. package/engine/.cache/libs/builder/engine/post-processors/html-plugins/keywords-processor.js +19 -16
  47. package/engine/.cache/libs/builder/engine/post-processors/html-post-processor.js +5 -2
  48. package/engine/.cache/libs/builder/engine/renderer.js +10 -7
  49. package/engine/.cache/libs/builder/engine/template-filters.js +16 -1
  50. package/engine/.cache/libs/builder/engine/watcher.js +1 -1
  51. package/engine/.cache/libs/builder/helpers/build-assets.js +2 -0
  52. package/engine/.cache/libs/builder/helpers/build-global-indexes.js +1 -2
  53. package/engine/.cache/libs/builder/helpers/create-builder-context.js +3 -4
  54. package/engine/.cache/libs/builder/helpers/declaration-to-playground.js +6 -4
  55. package/engine/.cache/libs/builder/helpers/extract-path-anchor.js +2 -3
  56. package/engine/.cache/libs/builder/helpers/extract-selectors.js +2 -3
  57. package/engine/.cache/libs/builder/helpers/format-code.js +3 -6
  58. package/engine/.cache/libs/builder/helpers/generate-api-entities.js +1 -2
  59. package/engine/.cache/libs/builder/helpers/index.js +1 -0
  60. package/engine/.cache/libs/builder/helpers/marked.js +1 -1
  61. package/engine/.cache/libs/builder/helpers/no-empty.js +12 -0
  62. package/engine/.cache/libs/builder/helpers/not-empty-assets.js +1 -1
  63. package/engine/.cache/libs/builder/helpers/presentation.js +76 -5
  64. package/engine/.cache/libs/builder/helpers/typescript/class/find-base-class.js +21 -0
  65. package/engine/.cache/libs/builder/helpers/typescript/class/find-class.js +21 -0
  66. package/engine/.cache/libs/builder/helpers/typescript/class/for-all-classes.js +15 -0
  67. package/engine/.cache/libs/builder/helpers/typescript/class/index.js +6 -0
  68. package/engine/.cache/libs/builder/helpers/typescript/create-project.js +17 -2
  69. package/engine/.cache/libs/builder/helpers/typescript/find-declaration.js +3 -4
  70. package/engine/.cache/libs/builder/helpers/typescript/first-node-with-comment.js +13 -0
  71. package/engine/.cache/libs/builder/helpers/typescript/index.js +6 -0
  72. package/engine/.cache/libs/builder/helpers/typescript/interface/find-interface.js +29 -0
  73. package/engine/.cache/libs/builder/helpers/typescript/interface/for-all-interfaces.js +20 -0
  74. package/engine/.cache/libs/builder/helpers/typescript/interface/index.js +5 -0
  75. package/engine/.cache/libs/builder/helpers/typescript/method/get-class-methods.js +22 -0
  76. package/engine/.cache/libs/builder/helpers/typescript/method/get-implemented-method.js +44 -0
  77. package/engine/.cache/libs/builder/helpers/typescript/method/get-interface-methods.js +22 -0
  78. package/engine/.cache/libs/builder/helpers/typescript/method/get-method-chain.js +32 -0
  79. package/engine/.cache/libs/builder/helpers/typescript/method/get-overridden-method.js +26 -0
  80. package/engine/.cache/libs/builder/helpers/typescript/method/index.js +8 -0
  81. package/engine/.cache/libs/builder/helpers/typescript/node/index.js +4 -0
  82. package/engine/.cache/libs/builder/helpers/typescript/node/sort-by-nodes-name.js +11 -0
  83. package/engine/.cache/libs/builder/helpers/typescript/property/get-class-properties.js +22 -0
  84. package/engine/.cache/libs/builder/helpers/typescript/property/get-implemented-property.js +44 -0
  85. package/engine/.cache/libs/builder/helpers/typescript/property/get-interface-properties.js +22 -0
  86. package/engine/.cache/libs/builder/helpers/typescript/property/get-overridden-property.js +26 -0
  87. package/engine/.cache/libs/builder/helpers/typescript/property/get-property-chain.js +33 -0
  88. package/engine/.cache/libs/builder/helpers/typescript/property/index.js +8 -0
  89. package/engine/.cache/libs/builder/resolvers/common/get-property-assignment.js +1 -2
  90. package/engine/.cache/libs/builder/schematics/api/index.js +1 -1
  91. package/engine/.cache/libs/builder/schematics/category/index.js +1 -1
  92. package/engine/.cache/libs/builder/schematics/dependencies/index.js +2 -3
  93. package/engine/.cache/libs/builder/schematics/page/index.js +7 -1
  94. package/engine/.cache/libs/builder/templates-env/code.env.js +2 -0
  95. package/engine/.cache/libs/builder/templates-env/index.js +1 -0
  96. package/engine/.cache/libs/core/helpers/extract-value.js +1 -1
  97. package/engine/.cache/libs/core/helpers/kebab-case.js +4 -3
  98. package/engine/.cache/libs/ui-kit/cdk/combobox-host/combobox-host.component.js +8 -11
  99. package/engine/.cache/libs/ui-kit/components/clear-control/clear-control.component.js +3 -6
  100. package/engine/.cache/libs/ui-kit/components/dropdown/dropdown.component.js +27 -17
  101. package/engine/.cache/libs/ui-kit/components/input-wrapper/input-wrapper.component.js +3 -6
  102. package/engine/.cache/libs/ui-kit/components/list/list.component.js +7 -10
  103. package/engine/.cache/libs/ui-kit/components/option/option.component.js +2 -4
  104. package/engine/.cache/libs/ui-kit/components/overlay-container/overlay-container.component.js +5 -9
  105. package/engine/.cache/libs/ui-kit/components/selection/selection-host.directive.js +1 -2
  106. package/engine/.cache/libs/ui-kit/components/tab-group/tab-group.component.js +1 -2
  107. package/engine/.cache/libs/ui-kit/components/toggle/toggle.component.js +2 -3
  108. package/engine/.cache/libs/ui-kit/directives/media-query/media-query.directive.js +1 -2
  109. package/engine/.cache/libs/ui-kit/directives/tooltip/tooltip.directive.js +14 -7
  110. package/engine/.cache/libs/ui-kit/helpers/merge-overlay-configs.js +5 -3
  111. package/engine/.cache/libs/ui-kit/modules/root/root.module.js +1 -2
  112. package/engine/.cache/libs/ui-kit/services/notify/notify.service.js +2 -2
  113. package/engine/.cache/libs/ui-kit/services/overlay/overlay.service.js +2 -3
  114. package/engine/.cache/libs/ui-kit/services/overlay-strategy/overlay-strategy.js +4 -7
  115. package/engine/.cache/libs/ui-kit/utils/overlay-utils.js +1 -1
  116. package/engine/entities/api-page.entity.d.ts +1 -1
  117. package/engine/entities/dependencies.entity.js +14 -4
  118. package/engine/entities/dependencies.entity.js.map +1 -1
  119. package/engine/post-processors/html-plugins/keywords-processor.js +18 -15
  120. package/engine/post-processors/html-plugins/keywords-processor.js.map +1 -1
  121. package/engine/renderer.d.ts +1 -0
  122. package/engine/renderer.js +4 -1
  123. package/engine/renderer.js.map +1 -1
  124. package/engine/template-filters.d.ts +1 -1
  125. package/engine/template-filters.js +16 -1
  126. package/engine/template-filters.js.map +1 -1
  127. package/helpers/build-assets.js +2 -0
  128. package/helpers/build-assets.js.map +1 -1
  129. package/helpers/format-code.js +3 -6
  130. package/helpers/format-code.js.map +1 -1
  131. package/helpers/index.d.ts +1 -0
  132. package/helpers/index.js +1 -0
  133. package/helpers/index.js.map +1 -1
  134. package/helpers/no-empty.d.ts +5 -0
  135. package/helpers/no-empty.js +13 -0
  136. package/helpers/no-empty.js.map +1 -0
  137. package/helpers/not-empty-assets.js +1 -1
  138. package/helpers/not-empty-assets.js.map +1 -1
  139. package/helpers/presentation.d.ts +11 -1
  140. package/helpers/presentation.js +77 -4
  141. package/helpers/presentation.js.map +1 -1
  142. package/helpers/typescript/class/find-base-class.d.ts +7 -0
  143. package/helpers/typescript/class/find-base-class.js +22 -0
  144. package/helpers/typescript/class/find-base-class.js.map +1 -0
  145. package/helpers/typescript/class/find-class.d.ts +7 -0
  146. package/helpers/typescript/class/find-class.js +22 -0
  147. package/helpers/typescript/class/find-class.js.map +1 -0
  148. package/helpers/typescript/class/for-all-classes.d.ts +7 -0
  149. package/helpers/typescript/class/for-all-classes.js +16 -0
  150. package/helpers/typescript/class/for-all-classes.js.map +1 -0
  151. package/helpers/typescript/class/index.d.ts +3 -0
  152. package/helpers/typescript/class/index.js +7 -0
  153. package/helpers/typescript/class/index.js.map +1 -0
  154. package/helpers/typescript/first-node-with-comment.d.ts +8 -0
  155. package/helpers/typescript/first-node-with-comment.js +15 -0
  156. package/helpers/typescript/first-node-with-comment.js.map +1 -0
  157. package/helpers/typescript/index.d.ts +6 -0
  158. package/helpers/typescript/index.js +6 -0
  159. package/helpers/typescript/index.js.map +1 -1
  160. package/helpers/typescript/interface/find-interface.d.ts +7 -0
  161. package/helpers/typescript/interface/find-interface.js +30 -0
  162. package/helpers/typescript/interface/find-interface.js.map +1 -0
  163. package/helpers/typescript/interface/for-all-interfaces.d.ts +7 -0
  164. package/helpers/typescript/interface/for-all-interfaces.js +21 -0
  165. package/helpers/typescript/interface/for-all-interfaces.js.map +1 -0
  166. package/helpers/typescript/interface/index.d.ts +2 -0
  167. package/helpers/typescript/interface/index.js +6 -0
  168. package/helpers/typescript/interface/index.js.map +1 -0
  169. package/helpers/typescript/method/get-class-methods.d.ts +6 -0
  170. package/helpers/typescript/method/get-class-methods.js +23 -0
  171. package/helpers/typescript/method/get-class-methods.js.map +1 -0
  172. package/helpers/typescript/method/get-implemented-method.d.ts +7 -0
  173. package/helpers/typescript/method/get-implemented-method.js +46 -0
  174. package/helpers/typescript/method/get-implemented-method.js.map +1 -0
  175. package/helpers/typescript/method/get-interface-methods.d.ts +6 -0
  176. package/helpers/typescript/method/get-interface-methods.js +23 -0
  177. package/helpers/typescript/method/get-interface-methods.js.map +1 -0
  178. package/helpers/typescript/method/get-method-chain.d.ts +6 -0
  179. package/helpers/typescript/method/get-method-chain.js +33 -0
  180. package/helpers/typescript/method/get-method-chain.js.map +1 -0
  181. package/helpers/typescript/method/get-overridden-method.d.ts +7 -0
  182. package/helpers/typescript/method/get-overridden-method.js +28 -0
  183. package/helpers/typescript/method/get-overridden-method.js.map +1 -0
  184. package/helpers/typescript/method/index.d.ts +5 -0
  185. package/helpers/typescript/method/index.js +9 -0
  186. package/helpers/typescript/method/index.js.map +1 -0
  187. package/helpers/typescript/node/index.d.ts +1 -0
  188. package/helpers/typescript/node/index.js +5 -0
  189. package/helpers/typescript/node/index.js.map +1 -0
  190. package/helpers/typescript/node/sort-by-nodes-name.d.ts +6 -0
  191. package/helpers/typescript/node/sort-by-nodes-name.js +12 -0
  192. package/helpers/typescript/node/sort-by-nodes-name.js.map +1 -0
  193. package/helpers/typescript/property/get-class-properties.d.ts +6 -0
  194. package/helpers/typescript/property/get-class-properties.js +23 -0
  195. package/helpers/typescript/property/get-class-properties.js.map +1 -0
  196. package/helpers/typescript/property/get-implemented-property.d.ts +7 -0
  197. package/helpers/typescript/property/get-implemented-property.js +46 -0
  198. package/helpers/typescript/property/get-implemented-property.js.map +1 -0
  199. package/helpers/typescript/property/get-interface-properties.d.ts +6 -0
  200. package/helpers/typescript/property/get-interface-properties.js +23 -0
  201. package/helpers/typescript/property/get-interface-properties.js.map +1 -0
  202. package/helpers/typescript/property/get-overridden-property.d.ts +7 -0
  203. package/helpers/typescript/property/get-overridden-property.js +28 -0
  204. package/helpers/typescript/property/get-overridden-property.js.map +1 -0
  205. package/helpers/typescript/property/get-property-chain.d.ts +6 -0
  206. package/helpers/typescript/property/get-property-chain.js +34 -0
  207. package/helpers/typescript/property/get-property-chain.js.map +1 -0
  208. package/helpers/typescript/property/index.d.ts +5 -0
  209. package/helpers/typescript/property/index.js +9 -0
  210. package/helpers/typescript/property/index.js.map +1 -0
  211. package/interfaces/asset.d.ts +1 -0
  212. package/package.json +2 -2
  213. package/templates/api/class.html.nunj +22 -8
  214. package/templates/api/function.html.nunj +1 -1
  215. package/templates/api/interface.html.nunj +4 -4
  216. package/templates/code.html.nunj +3 -0
  217. package/templates/helpers/code.html.nunj +1 -1
  218. package/templates/helpers/constructor.html.nunj +34 -0
  219. package/templates/helpers/declaration-modifiers.html.nunj +5 -8
  220. package/templates/helpers/method.html.nunj +19 -4
  221. package/templates/helpers/methods.html.nunj +2 -2
  222. package/templates/helpers/parameters.html.nunj +2 -1
  223. package/templates/helpers/properties.html.nunj +19 -2
  224. package/templates-env/code.env.d.ts +4 -0
  225. package/templates-env/code.env.js +3 -0
  226. package/templates-env/code.env.js.map +1 -0
  227. package/templates-env/index.d.ts +1 -0
  228. package/templates-env/index.js +1 -0
  229. package/templates-env/index.js.map +1 -1
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./get-class-methods"), exports);
5
+ tslib_1.__exportStar(require("./get-implemented-method"), exports);
6
+ tslib_1.__exportStar(require("./get-interface-methods"), exports);
7
+ tslib_1.__exportStar(require("./get-method-chain"), exports);
8
+ tslib_1.__exportStar(require("./get-overridden-method"), exports);
9
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../libs/builder/helpers/typescript/method/index.ts"],"names":[],"mappings":";;;AAAA,8DAAoC;AACpC,mEAAyC;AACzC,kEAAwC;AACxC,6DAAmC;AACnC,kEAAwC"}
@@ -0,0 +1 @@
1
+ export * from './sort-by-nodes-name';
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./sort-by-nodes-name"), exports);
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../libs/builder/helpers/typescript/node/index.ts"],"names":[],"mappings":";;;AAAA,+DAAqC"}
@@ -0,0 +1,6 @@
1
+ import { NameableNodeSpecific } from 'ts-morph';
2
+ /**
3
+ *
4
+ * @param nodes
5
+ */
6
+ export declare function sortByNodesName<T extends NameableNodeSpecific>(nodes: T[]): T[];
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.sortByNodesName = void 0;
4
+ /**
5
+ *
6
+ * @param nodes
7
+ */
8
+ function sortByNodesName(nodes) {
9
+ return nodes.sort((a, b) => { var _a, _b; return ((_a = a.getName()) !== null && _a !== void 0 ? _a : '').localeCompare((_b = b.getName()) !== null && _b !== void 0 ? _b : ''); });
10
+ }
11
+ exports.sortByNodesName = sortByNodesName;
12
+ //# sourceMappingURL=sort-by-nodes-name.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sort-by-nodes-name.js","sourceRoot":"","sources":["../../../../../../libs/builder/helpers/typescript/node/sort-by-nodes-name.ts"],"names":[],"mappings":";;;AAEA;;;GAGG;AACH,SAAgB,eAAe,CAAiC,KAAU;IACzE,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,CAAI,EAAE,CAAI,EAAE,EAAE,eAAC,OAAA,CAAC,MAAA,CAAC,CAAC,OAAO,EAAE,mCAAI,EAAE,CAAC,CAAC,aAAa,CAAC,MAAA,CAAC,CAAC,OAAO,EAAE,mCAAI,EAAE,CAAC,CAAA,EAAA,CAAC,CAAC;AACzF,CAAC;AAFD,0CAEC"}
@@ -0,0 +1,6 @@
1
+ import { ClassDeclaration, PropertyDeclaration } from 'ts-morph';
2
+ /**
3
+ *
4
+ * @param cls
5
+ */
6
+ export declare function getClassProperties(cls: ClassDeclaration): PropertyDeclaration[];
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getClassProperties = void 0;
4
+ const core_1 = require("@ng-doc/core");
5
+ const class_1 = require("../class");
6
+ /**
7
+ *
8
+ * @param cls
9
+ */
10
+ function getClassProperties(cls) {
11
+ const properties = new Map();
12
+ (0, class_1.forAllClasses)(cls, (baseClass) => {
13
+ baseClass.getProperties().forEach((property) => {
14
+ const name = property.getName();
15
+ if (!properties.get(name) && (!property.isAbstract() || (property.isAbstract() && cls === baseClass))) {
16
+ properties.set(name, property);
17
+ }
18
+ });
19
+ });
20
+ return (0, core_1.asArray)(properties.values());
21
+ }
22
+ exports.getClassProperties = getClassProperties;
23
+ //# sourceMappingURL=get-class-properties.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-class-properties.js","sourceRoot":"","sources":["../../../../../../libs/builder/helpers/typescript/property/get-class-properties.ts"],"names":[],"mappings":";;;AAAA,uCAAqC;AAGrC,oCAAuC;AAEvC;;;GAGG;AACH,SAAgB,kBAAkB,CAAC,GAAqB;IACvD,MAAM,UAAU,GAAqC,IAAI,GAAG,EAA+B,CAAC;IAE5F,IAAA,qBAAa,EAAC,GAAG,EAAE,CAAC,SAA2B,EAAE,EAAE;QAClD,SAAS,CAAC,aAAa,EAAE,CAAC,OAAO,CAAC,CAAC,QAA6B,EAAE,EAAE;YACnE,MAAM,IAAI,GAAW,QAAQ,CAAC,OAAO,EAAE,CAAC;YAExC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,IAAI,GAAG,KAAK,SAAS,CAAC,CAAC,EAAE;gBACtG,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;aAC/B;QACF,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,OAAO,IAAA,cAAO,EAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;AACrC,CAAC;AAdD,gDAcC"}
@@ -0,0 +1,7 @@
1
+ import { PropertyDeclaration, PropertySignature } from 'ts-morph';
2
+ /**
3
+ * Returns property that was implemented by the provided one
4
+ *
5
+ * @param property - Target property
6
+ */
7
+ export declare function getImplementedProperty(property: PropertyDeclaration | PropertySignature): PropertyDeclaration | PropertySignature | undefined;
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getImplementedProperty = void 0;
4
+ const core_1 = require("@ng-doc/core");
5
+ const ts_morph_1 = require("ts-morph");
6
+ const class_1 = require("../class");
7
+ const find_interface_1 = require("../interface/find-interface");
8
+ /**
9
+ * Returns property that was implemented by the provided one
10
+ *
11
+ * @param property - Target property
12
+ */
13
+ function getImplementedProperty(property) {
14
+ var _a, _b, _c;
15
+ const parent = property.getParent();
16
+ const name = property.getName();
17
+ if (ts_morph_1.Node.isClassDeclaration(parent)) {
18
+ const prop = (_a = (0, class_1.findBaseClass)(parent, (cls) => !!cls.getProperty(name))) === null || _a === void 0 ? void 0 : _a.getProperty(name);
19
+ if (prop === null || prop === void 0 ? void 0 : prop.isAbstract) {
20
+ return prop;
21
+ }
22
+ const nodes = parent
23
+ .getImplements()
24
+ .map((expr) => { var _a; return (_a = expr.getType().getSymbol()) === null || _a === void 0 ? void 0 : _a.getDeclarations()[0]; })
25
+ .filter(core_1.isPresent)
26
+ // Reverse implements because the latest one overrides previous one
27
+ .reverse();
28
+ for (const node of nodes) {
29
+ if (ts_morph_1.Node.isClassDeclaration(node)) {
30
+ const prop = (_b = (0, class_1.findClass)(node, (cls) => !!cls.getProperty(name))) === null || _b === void 0 ? void 0 : _b.getProperty(name);
31
+ if (prop === null || prop === void 0 ? void 0 : prop.isAbstract) {
32
+ return prop;
33
+ }
34
+ }
35
+ if (ts_morph_1.Node.isInterfaceDeclaration(node)) {
36
+ const prop = (_c = (0, find_interface_1.findInterface)(node, (int) => !!int.getProperty(name))) === null || _c === void 0 ? void 0 : _c.getProperty(name);
37
+ if (prop) {
38
+ return prop;
39
+ }
40
+ }
41
+ }
42
+ }
43
+ return undefined;
44
+ }
45
+ exports.getImplementedProperty = getImplementedProperty;
46
+ //# sourceMappingURL=get-implemented-property.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-implemented-property.js","sourceRoot":"","sources":["../../../../../../libs/builder/helpers/typescript/property/get-implemented-property.ts"],"names":[],"mappings":";;;AAAA,uCAAuC;AACvC,uCAOkB;AAElB,oCAAkD;AAClD,gEAA0D;AAE1D;;;;GAIG;AACH,SAAgB,sBAAsB,CACrC,QAAiD;;IAEjD,MAAM,MAAM,GAAqB,QAAQ,CAAC,SAAS,EAAE,CAAC;IACtD,MAAM,IAAI,GAAW,QAAQ,CAAC,OAAO,EAAE,CAAC;IAExC,IAAI,eAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,EAAE;QACpC,MAAM,IAAI,GAAoC,MAAA,IAAA,qBAAa,EAC1D,MAAM,EACN,CAAC,GAAqB,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,CAClD,0CAAE,WAAW,CAAC,IAAI,CAAC,CAAC;QAErB,IAAI,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,UAAU,EAAE;YACrB,OAAO,IAAI,CAAC;SACZ;QAED,MAAM,KAAK,GAAW,MAAM;aAC1B,aAAa,EAAE;aACf,GAAG,CAAC,CAAC,IAAiC,EAAE,EAAE,WAAC,OAAA,MAAA,IAAI,CAAC,OAAO,EAAE,CAAC,SAAS,EAAE,0CAAE,eAAe,GAAG,CAAC,CAAC,CAAA,EAAA,CAAC;aAC5F,MAAM,CAAC,gBAAS,CAAC;YAClB,mEAAmE;aAClE,OAAO,EAAE,CAAC;QAEZ,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;YACzB,IAAI,eAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE;gBAClC,MAAM,IAAI,GAAoC,MAAA,IAAA,iBAAS,EACtD,IAAI,EACJ,CAAC,GAAqB,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,CAClD,0CAAE,WAAW,CAAC,IAAI,CAAC,CAAC;gBAErB,IAAI,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,UAAU,EAAE;oBACrB,OAAO,IAAI,CAAC;iBACZ;aACD;YAED,IAAI,eAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,EAAE;gBACtC,MAAM,IAAI,GAAkC,MAAA,IAAA,8BAAa,EACxD,IAAI,EACJ,CAAC,GAAyB,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,CACtD,0CAAE,WAAW,CAAC,IAAI,CAAC,CAAC;gBAErB,IAAI,IAAI,EAAE;oBACT,OAAO,IAAI,CAAC;iBACZ;aACD;SACD;KACD;IAED,OAAO,SAAS,CAAC;AAClB,CAAC;AAjDD,wDAiDC"}
@@ -0,0 +1,6 @@
1
+ import { InterfaceDeclaration, PropertySignature } from 'ts-morph';
2
+ /**
3
+ *
4
+ * @param int
5
+ */
6
+ export declare function getInterfaceProperties(int: InterfaceDeclaration): PropertySignature[];
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getInterfaceProperties = void 0;
4
+ const core_1 = require("@ng-doc/core");
5
+ const interface_1 = require("../interface");
6
+ /**
7
+ *
8
+ * @param int
9
+ */
10
+ function getInterfaceProperties(int) {
11
+ const properties = new Map();
12
+ (0, interface_1.forAllInterfaces)(int, (i) => {
13
+ i.getProperties().forEach((property) => {
14
+ const name = property.getName();
15
+ if (!properties.get(name)) {
16
+ properties.set(name, property);
17
+ }
18
+ });
19
+ });
20
+ return (0, core_1.asArray)(properties.values());
21
+ }
22
+ exports.getInterfaceProperties = getInterfaceProperties;
23
+ //# sourceMappingURL=get-interface-properties.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-interface-properties.js","sourceRoot":"","sources":["../../../../../../libs/builder/helpers/typescript/property/get-interface-properties.ts"],"names":[],"mappings":";;;AAAA,uCAAqC;AAGrC,4CAA8C;AAE9C;;;GAGG;AACH,SAAgB,sBAAsB,CAAC,GAAyB;IAC/D,MAAM,UAAU,GAAmC,IAAI,GAAG,EAA6B,CAAC;IAExF,IAAA,4BAAgB,EAAC,GAAG,EAAE,CAAC,CAAuB,EAAE,EAAE;QACjD,CAAC,CAAC,aAAa,EAAE,CAAC,OAAO,CAAC,CAAC,QAA2B,EAAE,EAAE;YACzD,MAAM,IAAI,GAAW,QAAQ,CAAC,OAAO,EAAE,CAAC;YAExC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;gBAC1B,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;aAC/B;QACF,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,OAAO,IAAA,cAAO,EAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;AACrC,CAAC;AAdD,wDAcC"}
@@ -0,0 +1,7 @@
1
+ import { PropertyDeclaration, PropertySignature } from 'ts-morph';
2
+ /**
3
+ * Returns property that was overridden by the provided one
4
+ *
5
+ * @param property - Target method
6
+ */
7
+ export declare function getOverriddenProperty(property: PropertyDeclaration | PropertySignature): PropertyDeclaration | PropertySignature | undefined;
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getOverriddenProperty = void 0;
4
+ const ts_morph_1 = require("ts-morph");
5
+ const class_1 = require("../class");
6
+ const interface_1 = require("../interface");
7
+ /**
8
+ * Returns property that was overridden by the provided one
9
+ *
10
+ * @param property - Target method
11
+ */
12
+ function getOverriddenProperty(property) {
13
+ var _a, _b;
14
+ const parent = property.getParent();
15
+ const name = property.getName();
16
+ if (ts_morph_1.Node.isClassDeclaration(parent)) {
17
+ return (_a = (0, class_1.findBaseClass)(parent, (cls) => {
18
+ const prop = cls.getProperty(name);
19
+ return !!prop && !prop.isAbstract();
20
+ })) === null || _a === void 0 ? void 0 : _a.getProperty(name);
21
+ }
22
+ if (ts_morph_1.Node.isInterfaceDeclaration(parent)) {
23
+ return (_b = (0, interface_1.findInterface)(parent, (int) => int !== parent && !!int.getProperty(name))) === null || _b === void 0 ? void 0 : _b.getProperty(name);
24
+ }
25
+ return undefined;
26
+ }
27
+ exports.getOverriddenProperty = getOverriddenProperty;
28
+ //# sourceMappingURL=get-overridden-property.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-overridden-property.js","sourceRoot":"","sources":["../../../../../../libs/builder/helpers/typescript/property/get-overridden-property.ts"],"names":[],"mappings":";;;AAAA,uCAOkB;AAElB,oCAAuC;AACvC,4CAA2C;AAE3C;;;;GAIG;AACH,SAAgB,qBAAqB,CACpC,QAAiD;;IAEjD,MAAM,MAAM,GAAqB,QAAQ,CAAC,SAAS,EAAE,CAAC;IACtD,MAAM,IAAI,GAAW,QAAQ,CAAC,OAAO,EAAE,CAAC;IAExC,IAAI,eAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,EAAE;QACpC,OAAO,MAAA,IAAA,qBAAa,EAAC,MAAM,EAAE,CAAC,GAAqB,EAAE,EAAE;YACtD,MAAM,IAAI,GAAoC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YAEpE,OAAO,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;QACrC,CAAC,CAAC,0CAAE,WAAW,CAAC,IAAI,CAAC,CAAC;KACtB;IAED,IAAI,eAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,EAAE;QACxC,OAAO,MAAA,IAAA,yBAAa,EACnB,MAAM,EACN,CAAC,GAAyB,EAAE,EAAE,CAAC,GAAG,KAAK,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,CACxE,0CAAE,WAAW,CAAC,IAAI,CAAC,CAAC;KACrB;IAED,OAAO,SAAS,CAAC;AAClB,CAAC;AAtBD,sDAsBC"}
@@ -0,0 +1,6 @@
1
+ import { PropertyDeclaration, PropertySignature } from 'ts-morph';
2
+ /**
3
+ *
4
+ * @param property
5
+ */
6
+ export declare function getPropertyChain(property: PropertyDeclaration | PropertySignature): Array<PropertyDeclaration | PropertySignature>;
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getPropertyChain = void 0;
4
+ const ts_morph_1 = require("ts-morph");
5
+ const class_1 = require("../class");
6
+ const interface_1 = require("../interface");
7
+ /**
8
+ *
9
+ * @param property
10
+ */
11
+ function getPropertyChain(property) {
12
+ const parent = property.getParent();
13
+ const name = property.getName();
14
+ const properties = [];
15
+ if (ts_morph_1.Node.isClassDeclaration(parent)) {
16
+ (0, class_1.forAllClasses)(parent, (cls) => {
17
+ const prop = cls.getProperty(name);
18
+ if (prop) {
19
+ properties.push(prop);
20
+ }
21
+ });
22
+ }
23
+ if (ts_morph_1.Node.isInterfaceDeclaration(parent)) {
24
+ (0, interface_1.forAllInterfaces)(parent, (int) => {
25
+ const prop = int.getProperty(name);
26
+ if (prop) {
27
+ properties.push(prop);
28
+ }
29
+ });
30
+ }
31
+ return properties;
32
+ }
33
+ exports.getPropertyChain = getPropertyChain;
34
+ //# sourceMappingURL=get-property-chain.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-property-chain.js","sourceRoot":"","sources":["../../../../../../libs/builder/helpers/typescript/property/get-property-chain.ts"],"names":[],"mappings":";;;AAAA,uCAA8G;AAE9G,oCAAuC;AACvC,4CAA8C;AAE9C;;;GAGG;AACH,SAAgB,gBAAgB,CAC/B,QAAiD;IAEjD,MAAM,MAAM,GAAqB,QAAQ,CAAC,SAAS,EAAE,CAAC;IACtD,MAAM,IAAI,GAAW,QAAQ,CAAC,OAAO,EAAE,CAAC;IACxC,MAAM,UAAU,GAAmD,EAAE,CAAC;IAEtE,IAAI,eAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,EAAE;QACpC,IAAA,qBAAa,EAAC,MAAM,EAAE,CAAC,GAAqB,EAAE,EAAE;YAC/C,MAAM,IAAI,GAAoC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YAEpE,IAAI,IAAI,EAAE;gBACT,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACtB;QACF,CAAC,CAAC,CAAC;KACH;IAED,IAAI,eAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,EAAE;QACxC,IAAA,4BAAgB,EAAC,MAAM,EAAE,CAAC,GAAyB,EAAE,EAAE;YACtD,MAAM,IAAI,GAAkC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YAElE,IAAI,IAAI,EAAE;gBACT,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACtB;QACF,CAAC,CAAC,CAAC;KACH;IAED,OAAO,UAAU,CAAC;AACnB,CAAC;AA5BD,4CA4BC"}
@@ -0,0 +1,5 @@
1
+ export * from './get-class-properties';
2
+ export * from './get-implemented-property';
3
+ export * from './get-interface-properties';
4
+ export * from './get-overridden-property';
5
+ export * from './get-property-chain';
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./get-class-properties"), exports);
5
+ tslib_1.__exportStar(require("./get-implemented-property"), exports);
6
+ tslib_1.__exportStar(require("./get-interface-properties"), exports);
7
+ tslib_1.__exportStar(require("./get-overridden-property"), exports);
8
+ tslib_1.__exportStar(require("./get-property-chain"), exports);
9
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../libs/builder/helpers/typescript/property/index.ts"],"names":[],"mappings":";;;AAAA,iEAAuC;AACvC,qEAA2C;AAC3C,qEAA2C;AAC3C,oEAA0C;AAC1C,+DAAqC"}
@@ -3,6 +3,7 @@ export interface NgDocAsset {
3
3
  originalPath: string;
4
4
  outputPath: string;
5
5
  name: string;
6
+ code: string;
6
7
  output: string;
7
8
  title: string;
8
9
  type: NgDocCodeType;
package/package.json CHANGED
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "name": "@ng-doc/builder",
3
- "version": "15.0.0-beta.27",
3
+ "version": "15.0.0-beta.29",
4
4
  "type": "commonjs",
5
5
  "builders": "./builders.json",
6
6
  "schematics": "./schematics/collection.json",
7
7
  "dependencies": {
8
- "@ng-doc/core": "15.0.0-beta.27",
8
+ "@ng-doc/core": "15.0.0-beta.29",
9
9
  "@angular-devkit/architect": ">=0.1500.0",
10
10
  "chokidar": "^3.5.3",
11
11
  "minimatch": "^5.1.0",
@@ -1,6 +1,7 @@
1
1
  {% extends "api/base.html.nunj" %}
2
2
 
3
3
  {% import "helpers/type.html.nunj" as typeMacro %}
4
+ {% import "helpers/constructor.html.nunj" as constructorMacro %}
4
5
  {% import "helpers/methods.html.nunj" as methodsMacro %}
5
6
  {% import "helpers/properties.html.nunj" as propertiesMacro %}
6
7
  {% import "helpers/tag.html.nunj" as tagMacro %}
@@ -31,36 +32,49 @@
31
32
  {% endblock %}
32
33
 
33
34
  {% block overview %}
34
- {%- set staticProperties = declaration.getProperties() | filterByStatic(true) | filterByScope("public") -%}
35
- {%- set staticMethods = declaration.getMethods() | filterByStatic(true) | filterByScope("public") -%}
36
- {%- set properties = declaration.getProperties() | filterByStatic(false) | filterByScope("public") -%}
37
- {%- set methods = declaration.getMethods() | filterByStatic(false) | filterByScope("public") -%}
35
+ {%- set constructors = declaration.getConstructors() | filterByScope("public") -%}
36
+ {%- set allProperties = declaration | getClassProperties | filterByScope(["public", "protected"]) | sortByNodesName -%}
37
+ {%- set allMethods = declaration | getClassMethods | filterByScope(["public", "protected"]) | sortByNodesName -%}
38
+
39
+ {%- set staticProperties = allProperties | filterByStatic(true) -%}
40
+ {%- set staticGetAccessors = declaration.getGetAccessors() | filterByStatic(true) | filterByScope("public") -%}
41
+ {%- set staticMethods = allMethods | filterByStatic(true) | filterByScope("public") -%}
42
+ {%- set properties = allProperties | filterByStatic(false) -%}
43
+ {%- set getAccessors = declaration.getGetAccessors() | filterByStatic(false) -%}
44
+ {%- set methods = allMethods | filterByStatic(false) -%}
45
+
46
+ {% if constructors.length -%}
47
+ <section>
48
+ <h2>Constructor</h2>
49
+ {{ constructorMacro.render(constructors[0]) }}
50
+ </section>
51
+ {%- endif %}
38
52
 
39
53
  {% if staticProperties.length -%}
40
54
  <section>
41
55
  <h2>Static Properties</h2>
42
- {{ propertiesMacro.render(staticProperties) }}
56
+ {{ propertiesMacro.render(staticProperties, declaration) }}
43
57
  </section>
44
58
  {%- endif %}
45
59
 
46
60
  {% if properties.length -%}
47
61
  <section>
48
62
  <h2>Properties</h2>
49
- {{ propertiesMacro.render(properties) }}
63
+ {{ propertiesMacro.render(properties, declaration) }}
50
64
  </section>
51
65
  {%- endif %}
52
66
 
53
67
  {% if staticMethods.length -%}
54
68
  <section>
55
69
  <h2>Static Methods</h2>
56
- {{ methodsMacro.render(staticMethods) }}
70
+ {{ methodsMacro.render(staticMethods, declaration) }}
57
71
  </section>
58
72
  {%- endif %}
59
73
 
60
74
  {% if methods.length -%}
61
75
  <section>
62
76
  <h2>Methods</h2>
63
- {{ methodsMacro.render(methods) }}
77
+ {{ methodsMacro.render(methods, declaration) }}
64
78
  </section>
65
79
  {%- endif %}
66
80
  {% endblock %}
@@ -8,7 +8,7 @@
8
8
 
9
9
  <section>
10
10
  <h2>Presentation</h2>
11
- {{ codeMacro.render(declaration | methodPresentation, "typescript", false) }}
11
+ {{ codeMacro.render(declaration | functionPresentation, "typescript", false) }}
12
12
  </section>
13
13
 
14
14
  {% if parameters.length -%}
@@ -19,20 +19,20 @@
19
19
  {% endblock %}
20
20
 
21
21
  {% block overview %}
22
- {%- set properties = declaration.getProperties() -%}
23
- {%- set methods = declaration.getMethods() -%}
22
+ {%- set properties = declaration | getInterfaceProperties | sortByNodesName -%}
23
+ {%- set methods = declaration | getInterfaceMethods | sortByNodesName -%}
24
24
 
25
25
  {% if properties.length -%}
26
26
  <section>
27
27
  <h2>Properties</h2>
28
- {{ propertiesMacro.render(properties) }}
28
+ {{ propertiesMacro.render(properties, declaration) }}
29
29
  </section>
30
30
  {%- endif %}
31
31
 
32
32
  {% if methods.length -%}
33
33
  <section>
34
34
  <h2>Methods</h2>
35
- {{ methodsMacro.render(methods) }}
35
+ {{ methodsMacro.render(methods, declaration) }}
36
36
  </section>
37
37
  {%- endif %}
38
38
  {% endblock %}
@@ -0,0 +1,3 @@
1
+ {% import "helpers/code.html.nunj" as codeMacro -%}
2
+
3
+ {{ codeMacro.render(code, lang) }}
@@ -1,3 +1,3 @@
1
1
  {% macro render(code, language = "typescript", copyButton = true) -%}
2
- <pre><code lang="{{ language }}" class="language-{{ language }}">{{ code | escape }}</code></pre>
2
+ <pre><code lang="{{ language | lower }}" class="language-{{ language | lower }}">{{ code | escape }}</code></pre>
3
3
  {%- endmacro %}
@@ -0,0 +1,34 @@
1
+ {% import "helpers/code.html.nunj" as codeMacro %}
2
+ {% import "helpers/parameters.html.nunj" as parametersMacro %}
3
+ {% import "helpers/no-content.html.nunj" as noContentMacro %}
4
+
5
+ {% macro render(constructor) %}
6
+ {% set parameters = constructor.getParameters() %}
7
+ <div class="ng-doc-table-wrapper">
8
+ <table class="ng-doc-method-table">
9
+ <tbody>
10
+ <tr>
11
+ <td>
12
+ {% set description = constructor | extractDocs %}
13
+
14
+ {{ description if description else noContentMacro.render('No documentation has been provided.') }}
15
+ </td>
16
+ </tr>
17
+ <tr>
18
+ <td>
19
+ <h5 class="no-anchor">Presentation</h5>
20
+ {{ codeMacro.render(constructor | constructorPresentation, "typescript", false) }}
21
+ </td>
22
+ </tr>
23
+ <tr>
24
+ <td>
25
+ {%- if parameters.length %}
26
+ <h5 class="no-anchor">Parameters</h5>
27
+ {{ parametersMacro.render(parameters, constructor) }}
28
+ {%- endif %}
29
+ </td>
30
+ </tr>
31
+ </tbody>
32
+ </table>
33
+ </div>
34
+ {% endmacro %}
@@ -7,36 +7,33 @@
7
7
  {% set isStatic = declaration.isStatic and declaration.isStatic() %}
8
8
  {% set isAsync = declaration.isAsync and declaration.isAsync() %}
9
9
  {% set isReadonly = declaration.isReadonly and declaration.isReadonly() %}
10
- {% set isOverriden = declaration.hasOverrideKeyword and declaration.hasOverrideKeyword() %}
10
+ {% set tooltip = ["Abstract" if isAbstract, 'Static' if isStatic, 'Async' if isAsync, 'Readonly' if isReadonly] | noEmpty | join(', ') %}
11
11
 
12
12
  {%- if type == 'badge' %}
13
- {%- if isAbstract or isStatic or isAsync or isOverriden or isReadonly %}
14
- <span class="ng-doc-badge-wrapper">
13
+ {%- if isAbstract or isStatic or isAsync or isReadonly %}
14
+ <span class="ng-doc-badge-wrapper" ngDocTooltip="{{ tooltip }}">
15
15
  {{ badgeMacro.render("Abstract") if isAbstract }}
16
16
  {{ badgeMacro.render("Static") if isStatic }}
17
17
  {{ badgeMacro.render("Async") if isAsync }}
18
- {{ badgeMacro.render("Overriden") if isOverriden }}
19
18
  {{ badgeMacro.render("Readonly") if isReadonly }}
20
19
  </span>
21
20
  {%- endif %}
22
21
 
23
22
  {%- elseif type == 'modifier' %}
24
- {%- if isAbstract or isStatic or isAsync or isOverriden or isReadonly %}
23
+ {%- if isAbstract or isStatic or isAsync or isReadonly %}
25
24
  <div class="ng-doc-modifiers-wrapper">
26
25
  {{ modifierMacro.render("Abstract") if isAbstract }}
27
26
  {{ modifierMacro.render("Static") if isStatic }}
28
27
  {{ modifierMacro.render("Async") if isAsync }}
29
- {{ modifierMacro.render("Overriden") if isOverriden }}
30
28
  {{ modifierMacro.render("Readonly") if isReadonly }}
31
29
  </div>
32
30
  {%- endif %}
33
31
  {%- else %}
34
- {%- if isAbstract or isStatic or isAsync or isOverriden or isReadonly %}
32
+ {%- if isAbstract or isStatic or isAsync or isReadonly %}
35
33
  <span class="ng-doc-tags-wrapper">
36
34
  {{ tagMacro.render("abstract") if isAbstract }}
37
35
  {{ tagMacro.render("static") if isStatic }}
38
36
  {{ tagMacro.render("async") if isAsync }}
39
- {{ tagMacro.render("overriden") if isOverriden }}
40
37
  {{ tagMacro.render("readonly") if isReadonly }}
41
38
  </span>
42
39
  {%- endif %}
@@ -5,23 +5,38 @@
5
5
  {% import "helpers/decorators.html.nunj" as decoratorsMacro %}
6
6
  {% import "helpers/no-content.html.nunj" as noContentMacro %}
7
7
 
8
- {% macro render(method) %}
8
+ {% macro render(method, originalParent) %}
9
9
  {% set parameters = method.getParameters() %}
10
+ {% set methodChain = method | getMethodChain %}
11
+ {% set inheritedFrom = method.getParent() if method.getParent() !== originalParent %}
12
+ {% set overriddenMethod = method | getOverriddenMethod %}
13
+ {% set implementedMethod = method | getImplementedMethod %}
14
+ {% set docNode = methodChain | firstNodeWithComment %}
15
+
10
16
  <div class="ng-doc-table-wrapper">
11
17
  <table class="ng-doc-method-table">
12
18
  <thead>
13
19
  <tr>
14
20
  <th>
15
21
  {{ decoratorsMacro.render(method.getDecorators()) if method.getDecorators }}
16
- <h3>{{ method.getName() }}</h3>
17
22
  {{ tagsMacro.render(method, 'modifier') }}
23
+ <h3>{{ method.getName() }}</h3>
24
+ <div class="ng-doc-node-details">
25
+ {%- if inheritedFrom %}
26
+ inherited from <code>{{ inheritedFrom.getName() }}</code>
27
+ {%- elseif overriddenMethod %}
28
+ overrides <code>{{ overriddenMethod.getParent().getName() }}</code>
29
+ {%- elseif implementedMethod %}
30
+ implements <code>{{ implementedMethod.getParent().getName() }}</code>
31
+ {%- endif %}
32
+ </div>
18
33
  </th>
19
34
  </tr>
20
35
  </thead>
21
36
  <tbody>
22
37
  <tr>
23
38
  <td>
24
- {% set description = method | extractDocs %}
39
+ {% set description = docNode | extractDocs %}
25
40
 
26
41
  {{ description if description else noContentMacro.render('No documentation has been provided.') }}
27
42
  </td>
@@ -36,7 +51,7 @@
36
51
  <td>
37
52
  {%- if parameters.length %}
38
53
  <h5 class="no-anchor">Parameters</h5>
39
- {{ parametersMacro.render(parameters, method) }}
54
+ {{ parametersMacro.render(parameters, docNode) }}
40
55
  {%- endif %}
41
56
  <h5 class="no-anchor">Returns</h5>
42
57
  <p>
@@ -1,7 +1,7 @@
1
1
  {% import "helpers/method.html.nunj" as method %}
2
2
 
3
- {% macro render(methods) %}
3
+ {% macro render(methods, originalParent) %}
4
4
  {%- for m in methods %}
5
- {{ method.render(m) }}
5
+ {{ method.render(m, originalParent) }}
6
6
  {% endfor -%}
7
7
  {% endmacro %}
@@ -1,4 +1,5 @@
1
1
  {% import "helpers/type.html.nunj" as typeMacro %}
2
+ {% import "helpers/declaration-modifiers.html.nunj" as tagsMacro %}
2
3
 
3
4
  {% macro render(parameters, origin) %}
4
5
  <div class="ng-doc-table-wrapper">
@@ -13,7 +14,7 @@
13
14
  <tbody>
14
15
  {%- for param in parameters %}
15
16
  <tr>
16
- <td>{{ param.getName() }}</td>
17
+ <td>{{ tagsMacro.render(param, "badge") }}{{ param.getName() }}</td>
17
18
  <td>{{ typeMacro.render(param.getType()) }}</td>
18
19
  <td>{{ origin | extractParameterDocs(param.getName()) }}</td>
19
20
  </tr>
@@ -2,7 +2,7 @@
2
2
  {% import "helpers/declaration-modifiers.html.nunj" as tagsMacro %}
3
3
  {% import "helpers/decorators.html.nunj" as decoratorsMacro %}
4
4
 
5
- {% macro render(properties) %}
5
+ {% macro render(properties, originalParent) %}
6
6
  <div class="ng-doc-table-wrapper">
7
7
  <table class="ng-doc-properties-table">
8
8
  <thead>
@@ -14,13 +14,30 @@
14
14
  </thead>
15
15
  <tbody>
16
16
  {%- for property in properties %}
17
+ {% set propertyChain = property | getPropertyChain %}
18
+ {% set inheritedFrom = property.getParent() if property.getParent() !== originalParent %}
19
+ {% set overriddenProperty = property | getOverriddenProperty %}
20
+ {% set implementedProperty = property | getImplementedProperty %}
21
+ {% set docNode = propertyChain | firstNodeWithComment %}
22
+
17
23
  <tr>
18
24
  <td>
19
25
  {{ decoratorsMacro.render(property.getDecorators(), true) if property.getDecorators }}
20
26
  {{ tagsMacro.render(property, "badge") }}{{ property.getName() }}
27
+ <div class="ng-doc-node-details">
28
+ {%- if inheritedFrom %}
29
+ inherited from <code>{{ inheritedFrom.getName() }}</code>
30
+ {%- elseif overriddenProperty %}
31
+ overrides
32
+ <code>{{ overriddenProperty.getParent().getName() }}</code>
33
+ {%- elseif implementedProperty %}
34
+ implements
35
+ <code>{{ implementedProperty.getParent().getName() }}</code>
36
+ {%- endif %}
37
+ </div>
21
38
  </td>
22
39
  <td>{{ typeMacro.render(property.getType()) }}</td>
23
- <td>{{ property | extractDocs }}</td>
40
+ <td>{{ docNode | extractDocs }}</td>
24
41
  </tr>
25
42
  {%- endfor %}
26
43
  </tbody>