@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
@@ -1,8 +1,9 @@
1
1
  "use strict";
2
2
  /* Just export filters from this file, they will be included to the template renderer automatically */
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.humanizeDeclarationName = exports.variablePresentation = exports.typeAliasPresentation = exports.notEmptyAssets = exports.noLineBreaks = exports.methodPresentation = exports.marked = exports.filterByStatic = exports.filterByScope = exports.extractSelectors = exports.extractSeeDocs = exports.extractParameterDocs = exports.extractDocs = exports.displayType = void 0;
4
+ exports.humanizeDeclarationName = exports.variablePresentation = exports.typeAliasPresentation = exports.sortByNodesName = exports.notEmptyAssets = exports.noLineBreaks = exports.noEmpty = exports.methodPresentation = exports.marked = exports.getPropertyChain = exports.getOverriddenProperty = exports.getOverriddenMethod = exports.getMethodChain = exports.getInterfaceProperties = exports.getInterfaceMethods = exports.getImplementedProperty = exports.getImplementedMethod = exports.getClassProperties = exports.getClassMethods = exports.functionPresentation = exports.firstNodeWithComment = exports.filterByStatic = exports.filterByScope = exports.extractSelectors = exports.extractSeeDocs = exports.extractParameterDocs = exports.extractDocs = exports.displayType = exports.constructorPresentation = void 0;
5
5
  var helpers_1 = require("../helpers");
6
+ Object.defineProperty(exports, "constructorPresentation", { enumerable: true, get: function () { return helpers_1.constructorPresentation; } });
6
7
  Object.defineProperty(exports, "displayType", { enumerable: true, get: function () { return helpers_1.displayType; } });
7
8
  Object.defineProperty(exports, "extractDocs", { enumerable: true, get: function () { return helpers_1.extractDocs; } });
8
9
  Object.defineProperty(exports, "extractParameterDocs", { enumerable: true, get: function () { return helpers_1.extractParameterDocs; } });
@@ -10,10 +11,24 @@ Object.defineProperty(exports, "extractSeeDocs", { enumerable: true, get: functi
10
11
  Object.defineProperty(exports, "extractSelectors", { enumerable: true, get: function () { return helpers_1.extractSelectors; } });
11
12
  Object.defineProperty(exports, "filterByScope", { enumerable: true, get: function () { return helpers_1.filterByScope; } });
12
13
  Object.defineProperty(exports, "filterByStatic", { enumerable: true, get: function () { return helpers_1.filterByStatic; } });
14
+ Object.defineProperty(exports, "firstNodeWithComment", { enumerable: true, get: function () { return helpers_1.firstNodeWithComment; } });
15
+ Object.defineProperty(exports, "functionPresentation", { enumerable: true, get: function () { return helpers_1.functionPresentation; } });
16
+ Object.defineProperty(exports, "getClassMethods", { enumerable: true, get: function () { return helpers_1.getClassMethods; } });
17
+ Object.defineProperty(exports, "getClassProperties", { enumerable: true, get: function () { return helpers_1.getClassProperties; } });
18
+ Object.defineProperty(exports, "getImplementedMethod", { enumerable: true, get: function () { return helpers_1.getImplementedMethod; } });
19
+ Object.defineProperty(exports, "getImplementedProperty", { enumerable: true, get: function () { return helpers_1.getImplementedProperty; } });
20
+ Object.defineProperty(exports, "getInterfaceMethods", { enumerable: true, get: function () { return helpers_1.getInterfaceMethods; } });
21
+ Object.defineProperty(exports, "getInterfaceProperties", { enumerable: true, get: function () { return helpers_1.getInterfaceProperties; } });
22
+ Object.defineProperty(exports, "getMethodChain", { enumerable: true, get: function () { return helpers_1.getMethodChain; } });
23
+ Object.defineProperty(exports, "getOverriddenMethod", { enumerable: true, get: function () { return helpers_1.getOverriddenMethod; } });
24
+ Object.defineProperty(exports, "getOverriddenProperty", { enumerable: true, get: function () { return helpers_1.getOverriddenProperty; } });
25
+ Object.defineProperty(exports, "getPropertyChain", { enumerable: true, get: function () { return helpers_1.getPropertyChain; } });
13
26
  Object.defineProperty(exports, "marked", { enumerable: true, get: function () { return helpers_1.marked; } });
14
27
  Object.defineProperty(exports, "methodPresentation", { enumerable: true, get: function () { return helpers_1.methodPresentation; } });
28
+ Object.defineProperty(exports, "noEmpty", { enumerable: true, get: function () { return helpers_1.noEmpty; } });
15
29
  Object.defineProperty(exports, "noLineBreaks", { enumerable: true, get: function () { return helpers_1.noLineBreaks; } });
16
30
  Object.defineProperty(exports, "notEmptyAssets", { enumerable: true, get: function () { return helpers_1.notEmptyAssets; } });
31
+ Object.defineProperty(exports, "sortByNodesName", { enumerable: true, get: function () { return helpers_1.sortByNodesName; } });
17
32
  Object.defineProperty(exports, "typeAliasPresentation", { enumerable: true, get: function () { return helpers_1.typeAliasPresentation; } });
18
33
  Object.defineProperty(exports, "variablePresentation", { enumerable: true, get: function () { return helpers_1.variablePresentation; } });
19
34
  var core_1 = require("@ng-doc/core");
@@ -11,7 +11,7 @@ class NgDocWatcher {
11
11
  this.add$ = new rxjs_1.Subject();
12
12
  this.unlink$ = new rxjs_1.Subject();
13
13
  this.ready$ = new rxjs_1.Subject();
14
- this.watcher = chokidar.watch(files !== null && files !== void 0 ? files : [], {
14
+ this.watcher = chokidar.watch(files ?? [], {
15
15
  /* `useFsEvents` causes problems on Mac when chokidar doesn't fire `unlink` event if the file has been moved */
16
16
  useFsEvents: false,
17
17
  });
@@ -22,6 +22,7 @@ function buildAssets(filePath, styleType) {
22
22
  title: snippet.name,
23
23
  name: (0, unique_name_1.uniqueName)('Asset'),
24
24
  originalPath: filePath,
25
+ code: snippet.content,
25
26
  output: snippet.content,
26
27
  type: snippet.type === 'styles'
27
28
  ? ['CSS', 'SCSS', 'SASS', 'LESS'].includes(codeType)
@@ -36,6 +37,7 @@ function buildAssets(filePath, styleType) {
36
37
  title: codeType,
37
38
  name: (0, unique_name_1.uniqueName)('Asset'),
38
39
  originalPath: filePath,
40
+ code: fileContent,
39
41
  output: fileContent,
40
42
  type: codeType,
41
43
  },
@@ -160,9 +160,8 @@ function isParagraph(node) {
160
160
  * @param entity
161
161
  */
162
162
  function getKindFromEntity(entity) {
163
- var _a, _b;
164
163
  if (entity instanceof entities_1.NgDocApiPageEntity) {
165
- return (0, core_1.humanizeDeclarationName)((_b = (_a = entity.declaration) === null || _a === void 0 ? void 0 : _a.getKindName()) !== null && _b !== void 0 ? _b : '');
164
+ return (0, core_1.humanizeDeclarationName)(entity.declaration?.getKindName() ?? '');
166
165
  }
167
166
  return undefined;
168
167
  }
@@ -11,14 +11,13 @@ const path = require("path");
11
11
  * @param project
12
12
  */
13
13
  function createBuilderContext(targetOptions, options, context) {
14
- var _a, _b, _c, _d, _e, _f;
15
- const buildPath = path.join(context.workspaceRoot, '.ng-doc', (_b = (_a = context.target) === null || _a === void 0 ? void 0 : _a.project) !== null && _b !== void 0 ? _b : 'app');
14
+ const buildPath = path.join(context.workspaceRoot, '.ng-doc', context.target?.project ?? 'app');
16
15
  return {
17
16
  tsConfig: String(targetOptions['tsConfig']),
18
17
  options,
19
18
  context,
20
- inlineStyleLanguage: (_c = targetOptions === null || targetOptions === void 0 ? void 0 : targetOptions['inlineStyleLanguage']) !== null && _c !== void 0 ? _c : 'CSS',
21
- pagesPaths: ((_e = (_d = options.ngDoc) === null || _d === void 0 ? void 0 : _d.pages) === null || _e === void 0 ? void 0 : _e.length) ? (0, core_1.asArray)((_f = options.ngDoc) === null || _f === void 0 ? void 0 : _f.pages) : [path.dirname(options.main)],
19
+ inlineStyleLanguage: targetOptions?.['inlineStyleLanguage'] ?? 'CSS',
20
+ pagesPaths: options.ngDoc?.pages?.length ? (0, core_1.asArray)(options.ngDoc?.pages) : [path.dirname(options.main)],
22
21
  assetsPath: path.join(buildPath, 'assets'),
23
22
  buildPath,
24
23
  apiPath: path.join(buildPath, 'api'),
@@ -11,13 +11,15 @@ function declarationToPlayground(declaration) {
11
11
  .getProperties()
12
12
  .filter((property) => !!property.getDecorator('Input'))
13
13
  .reduce((properties, property) => {
14
- var _a, _b, _c, _d;
15
- const inputName = (_c = (_b = (_a = property
16
- .getDecorator('Input')) === null || _a === void 0 ? void 0 : _a.getArguments()[0]) === null || _b === void 0 ? void 0 : _b.getText().replace(/^["']|['"]$/g, '')) !== null && _c !== void 0 ? _c : property.getName();
14
+ const inputName = property
15
+ .getDecorator('Input')
16
+ ?.getArguments()[0]
17
+ ?.getText()
18
+ .replace(/^["']|['"]$/g, '') ?? property.getName();
17
19
  properties[inputName] = {
18
20
  name: property.getName(),
19
21
  type: (0, typescript_1.displayType)(property.getType()),
20
- default: (_d = property.getInitializer()) === null || _d === void 0 ? void 0 : _d.getText(),
22
+ default: property.getInitializer()?.getText(),
21
23
  description: property
22
24
  .getJsDocs()
23
25
  .reduce((comment, doc) => `${comment}\n${doc.getCommentText()}`.trim(), ''),
@@ -8,11 +8,10 @@ exports.extractPathAnchor = void 0;
8
8
  * @returns {NgDocPathAnchor} The extracted anchor
9
9
  */
10
10
  function extractPathAnchor(path) {
11
- var _a, _b;
12
11
  const pathParts = path.split('#');
13
12
  return {
14
- path: (_a = pathParts[0]) !== null && _a !== void 0 ? _a : '',
15
- anchor: (_b = pathParts[1]) !== null && _b !== void 0 ? _b : '',
13
+ path: pathParts[0] ?? '',
14
+ anchor: pathParts[1] ?? '',
16
15
  };
17
16
  }
18
17
  exports.extractPathAnchor = extractPathAnchor;
@@ -8,13 +8,12 @@ const component_decorator_resolver_1 = require("../resolvers/component-decorator
8
8
  * @param declaration
9
9
  */
10
10
  function extractSelectors(declaration) {
11
- var _a, _b;
12
11
  if (ts_morph_1.Node.isClassDeclaration(declaration)) {
13
- const decorator = (_a = declaration.getDecorator('Component')) !== null && _a !== void 0 ? _a : declaration.getDecorator('Directive');
12
+ const decorator = declaration.getDecorator('Component') ?? declaration.getDecorator('Directive');
14
13
  if (decorator) {
15
14
  const expression = decorator.getArguments()[0];
16
15
  if (ts_morph_1.Node.isObjectLiteralExpression(expression)) {
17
- const selector = (_b = (0, component_decorator_resolver_1.componentDecoratorResolver)(expression).selector) !== null && _b !== void 0 ? _b : '';
16
+ const selector = (0, component_decorator_resolver_1.componentDecoratorResolver)(expression).selector ?? '';
18
17
  return selector.split(',').map((s) => s.trim());
19
18
  }
20
19
  }
@@ -10,7 +10,8 @@ exports.formatCode = void 0;
10
10
  */
11
11
  function formatCode(code, codeType) {
12
12
  try {
13
- return require('prettier').format(code, { parser: getPrettierParserFromCodeType(codeType) });
13
+ const parser = getPrettierParserFromCodeType(codeType);
14
+ return require('prettier').format(code, parser ? { parser } : {});
14
15
  }
15
16
  catch (e) {
16
17
  return code;
@@ -25,16 +26,12 @@ exports.formatCode = formatCode;
25
26
  */
26
27
  function getPrettierParserFromCodeType(codeType) {
27
28
  switch (codeType) {
28
- case 'TypeScript':
29
- return 'typescript';
30
- case 'HTML':
31
- return 'html';
32
29
  case 'CSS':
33
30
  case 'LESS':
34
31
  case 'SCSS':
35
32
  case 'SASS':
36
33
  return 'css';
37
34
  default:
38
- return 'typescript';
35
+ return codeType.toLowerCase();
39
36
  }
40
37
  }
@@ -12,9 +12,8 @@ const is_supported_declaration_1 = require("./is-supported-declaration");
12
12
  * @param apiRootEntity
13
13
  */
14
14
  function generateApiEntities(apiRootEntity) {
15
- var _a;
16
15
  const result = [];
17
- (_a = apiRootEntity.target) === null || _a === void 0 ? void 0 : _a.scopes.forEach((scope) => {
16
+ apiRootEntity.target?.scopes.forEach((scope) => {
18
17
  const scopeEntity = new engine_1.NgDocApiScopeEntity(apiRootEntity.builder, apiRootEntity.sourceFile, apiRootEntity.context, apiRootEntity, scope);
19
18
  result.push(scopeEntity);
20
19
  (0, core_1.asArray)(scope.include).forEach((include) => (0, core_1.asArray)(new Set(apiRootEntity.sourceFile
@@ -18,6 +18,7 @@ tslib_1.__exportStar(require("./get-entity-constructor"), exports);
18
18
  tslib_1.__exportStar(require("./is-not-excluded-path"), exports);
19
19
  tslib_1.__exportStar(require("./is-supported-declaration"), exports);
20
20
  tslib_1.__exportStar(require("./marked"), exports);
21
+ tslib_1.__exportStar(require("./no-empty"), exports);
21
22
  tslib_1.__exportStar(require("./no-line-breaks"), exports);
22
23
  tslib_1.__exportStar(require("./not-empty-assets"), exports);
23
24
  tslib_1.__exportStar(require("./presentation"), exports);
@@ -13,7 +13,7 @@ const WARNING_ANCHOR = '<p><strong>Warning</strong>';
13
13
  function marked(markdown) {
14
14
  const renderer = {
15
15
  code(code, language) {
16
- const lang = language !== null && language !== void 0 ? language : 'typescript';
16
+ const lang = language ?? 'typescript';
17
17
  return `<pre><code class="language-${lang}" lang="${lang}">${(0, core_1.escapeHtml)(code)}</code></pre>`;
18
18
  },
19
19
  blockquote(quote) {
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.noEmpty = void 0;
4
+ const core_1 = require("@ng-doc/core");
5
+ /**
6
+ *
7
+ * @param arr
8
+ */
9
+ function noEmpty(arr) {
10
+ return arr.filter(core_1.isPresent);
11
+ }
12
+ exports.noEmpty = noEmpty;
@@ -6,6 +6,6 @@ exports.notEmptyAssets = void 0;
6
6
  * @param assets
7
7
  */
8
8
  function notEmptyAssets(assets) {
9
- return assets.filter((assets) => !!assets.output.trim());
9
+ return assets.filter((assets) => !!assets.code.trim());
10
10
  }
11
11
  exports.notEmptyAssets = notEmptyAssets;
@@ -1,16 +1,48 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.variablePresentation = exports.typeAliasPresentation = exports.methodPresentation = void 0;
3
+ exports.variablePresentation = exports.typeAliasPresentation = exports.functionPresentation = exports.methodPresentation = exports.constructorPresentation = void 0;
4
+ const core_1 = require("@ng-doc/core");
5
+ const ts_morph_1 = require("ts-morph");
6
+ const format_code_1 = require("./format-code");
4
7
  const typescript_1 = require("./typescript");
8
+ /**
9
+ *
10
+ * @param constructor
11
+ */
12
+ function constructorPresentation(constructor) {
13
+ const parameters = constructor.getParameters().map(parameterPresentation).join(', \n ');
14
+ const presentation = [
15
+ scopePresentation(constructor),
16
+ `constructor(\n ${parameters}\n):`,
17
+ (0, typescript_1.displayType)(constructor.getReturnType()),
18
+ ]
19
+ .filter(core_1.isPresent)
20
+ .join(' ');
21
+ return (0, format_code_1.formatCode)(presentation, 'TypeScript');
22
+ }
23
+ exports.constructorPresentation = constructorPresentation;
5
24
  /**
6
25
  *
7
26
  * @param method
8
27
  */
9
28
  function methodPresentation(method) {
10
29
  const parameters = method.getParameters().map(parameterPresentation).join(', ');
11
- return `function ${method.getName()}(${parameters}): ${(0, typescript_1.displayType)(method.getReturnType())};`;
30
+ return [scopePresentation(method), `${method.getName()}(${parameters}):`, `${(0, typescript_1.displayType)(method.getReturnType())};`]
31
+ .filter(core_1.isPresent)
32
+ .join(' ');
12
33
  }
13
34
  exports.methodPresentation = methodPresentation;
35
+ /**
36
+ *
37
+ * @param fnc
38
+ */
39
+ function functionPresentation(fnc) {
40
+ const parameters = fnc.getParameters().map(parameterPresentation).join(', ');
41
+ return ['function', `${fnc.getName()}(${parameters}):`, `${(0, typescript_1.displayType)(fnc.getReturnType())};`]
42
+ .filter(core_1.isPresent)
43
+ .join(' ');
44
+ }
45
+ exports.functionPresentation = functionPresentation;
14
46
  /**
15
47
  *
16
48
  * @param typeAlias
@@ -24,8 +56,13 @@ exports.typeAliasPresentation = typeAliasPresentation;
24
56
  * @param variable
25
57
  */
26
58
  function variablePresentation(variable) {
27
- var _a, _b;
28
- return `${(_b = (_a = variable.getVariableStatement()) === null || _a === void 0 ? void 0 : _a.getDeclarationKind()) !== null && _b !== void 0 ? _b : 'const'} ${variable.getName()}: ${(0, typescript_1.displayType)(variable.getType())};`;
59
+ return [
60
+ variable.getVariableStatement()?.getDeclarationKind() ?? 'const',
61
+ `${variable.getName()}:`,
62
+ `${(0, typescript_1.displayType)(variable.getType())};`,
63
+ ]
64
+ .filter(core_1.isPresent)
65
+ .join(' ');
29
66
  }
30
67
  exports.variablePresentation = variablePresentation;
31
68
  /**
@@ -33,5 +70,39 @@ exports.variablePresentation = variablePresentation;
33
70
  * @param parameter
34
71
  */
35
72
  function parameterPresentation(parameter) {
36
- return `${parameter.getName()}${parameter.hasQuestionToken() ? '?' : ''}: ${(0, typescript_1.displayType)(parameter.getType())}${parameter.getInitializer() ? ` = ${parameter.getInitializer()}` : ''}`.trim();
73
+ return [
74
+ parameter.hasOverrideKeyword() ? 'override' : '',
75
+ decoratorsPresentation(parameter),
76
+ scopePresentation(parameter),
77
+ modPresentation(parameter),
78
+ parameter.getName() + (parameter.hasQuestionToken() ? '?' : '') + ':',
79
+ (0, typescript_1.displayType)(parameter.getType()),
80
+ parameter.getInitializer() ? `= ${parameter.getInitializer()}` : '',
81
+ ]
82
+ .filter(core_1.isPresent)
83
+ .join(' ');
84
+ }
85
+ /**
86
+ *
87
+ * @param node
88
+ */
89
+ function scopePresentation(node) {
90
+ return (node.getScope && node.getScope()?.replace(ts_morph_1.Scope.Public, '')) ?? '';
91
+ }
92
+ /**
93
+ *
94
+ * @param node
95
+ */
96
+ function modPresentation(node) {
97
+ return (node.isReadonly && node.isReadonly() && 'readonly') || '';
98
+ }
99
+ /**
100
+ *
101
+ * @param node
102
+ */
103
+ function decoratorsPresentation(node) {
104
+ return node
105
+ .getDecorators()
106
+ .map((d) => `@${d.getName()}()`)
107
+ .join(' ');
37
108
  }
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.findBaseClass = void 0;
4
+ const for_all_classes_1 = require("./for-all-classes");
5
+ /**
6
+ *
7
+ * @param cls
8
+ * @param condition
9
+ */
10
+ function findBaseClass(cls, condition) {
11
+ let baseClass;
12
+ (0, for_all_classes_1.forAllClasses)(cls, (c) => {
13
+ if (c !== cls && condition(c)) {
14
+ baseClass = c;
15
+ return true;
16
+ }
17
+ return false;
18
+ });
19
+ return baseClass;
20
+ }
21
+ exports.findBaseClass = findBaseClass;
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.findClass = void 0;
4
+ const for_all_classes_1 = require("./for-all-classes");
5
+ /**
6
+ *
7
+ * @param cls
8
+ * @param condition
9
+ */
10
+ function findClass(cls, condition) {
11
+ let baseClass;
12
+ (0, for_all_classes_1.forAllClasses)(cls, (c) => {
13
+ if (condition(c)) {
14
+ baseClass = c;
15
+ return true;
16
+ }
17
+ return false;
18
+ });
19
+ return baseClass;
20
+ }
21
+ exports.findClass = findClass;
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.forAllClasses = void 0;
4
+ /**
5
+ *
6
+ * @param cls
7
+ * @param fn
8
+ */
9
+ function forAllClasses(cls, fn) {
10
+ let baseClass = cls;
11
+ while (baseClass && !fn(baseClass)) {
12
+ baseClass = baseClass.getBaseClass();
13
+ }
14
+ }
15
+ exports.forAllClasses = forAllClasses;
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./find-base-class"), exports);
5
+ tslib_1.__exportStar(require("./find-class"), exports);
6
+ tslib_1.__exportStar(require("./for-all-classes"), exports);
@@ -11,11 +11,26 @@ const variables_1 = require("../../engine/variables");
11
11
  * @returns {Project} - The project
12
12
  */
13
13
  function createProject(options) {
14
- return new ts_morph_1.Project(Object.assign(Object.assign({}, options), { compilerOptions: Object.assign({ module: ts_morph_1.ModuleKind.CommonJS, sourceMap: false, incremental: true, declaration: false, skipLibCheck: true, tsBuildInfoFile: path.join(variables_1.CACHE_PATH, 'ng-doc.buildinfo.json'), moduleResolution: ts_morph_1.ModuleResolutionKind.NodeJs,
14
+ return new ts_morph_1.Project({
15
+ ...options,
16
+ compilerOptions: {
17
+ module: ts_morph_1.ModuleKind.CommonJS,
18
+ sourceMap: false,
19
+ incremental: true,
20
+ declaration: false,
21
+ skipLibCheck: true,
22
+ tsBuildInfoFile: path.join(variables_1.CACHE_PATH, 'ng-doc.buildinfo.json'),
23
+ moduleResolution: ts_morph_1.ModuleResolutionKind.NodeJs,
15
24
  /*
16
25
  true value increases the speed, but thn it's not possible to resolve imports,
17
26
  TODO: maybe as a workaround it's possible to add all source files that we need to the Project
18
27
  */
19
- noResolve: false, isolatedModules: true, types: [] }, options === null || options === void 0 ? void 0 : options.compilerOptions), skipAddingFilesFromTsConfig: true }));
28
+ noResolve: false,
29
+ isolatedModules: true,
30
+ types: [],
31
+ ...options?.compilerOptions,
32
+ },
33
+ skipAddingFilesFromTsConfig: true,
34
+ });
20
35
  }
21
36
  exports.createProject = createProject;
@@ -13,16 +13,15 @@ const extract_path_anchor_1 = require("../extract-path-anchor");
13
13
  * @returns {Node} The declaration node
14
14
  */
15
15
  function findDeclaration(project, scope, sourcePath) {
16
- var _a, _b;
17
16
  const anchor = (0, extract_path_anchor_1.extractPathAnchor)(sourcePath);
18
17
  const filePath = path.join(scope, anchor.path);
19
18
  if (!fs.existsSync(filePath)) {
20
19
  throw new Error(`File ${filePath} does not exist, please check your path to the file, or change the scope property in your page definition.`);
21
20
  }
22
- (_a = project.getSourceFile(filePath)) === null || _a === void 0 ? void 0 : _a.refreshFromFileSystemSync();
23
- const sourceFile = (_b = project.getSourceFile(filePath)) !== null && _b !== void 0 ? _b : project.addSourceFileAtPath(filePath);
21
+ project.getSourceFile(filePath)?.refreshFromFileSystemSync();
22
+ const sourceFile = project.getSourceFile(filePath) ?? project.addSourceFileAtPath(filePath);
24
23
  const symbol = sourceFile.getLocal(anchor.anchor);
25
- const declaration = symbol === null || symbol === void 0 ? void 0 : symbol.getDeclarations()[0];
24
+ const declaration = symbol?.getDeclarations()[0];
26
25
  if (!declaration) {
27
26
  throw new Error(`Declaration for name ${anchor.anchor} does not exist in ${filePath}`);
28
27
  }
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.firstNodeWithComment = void 0;
4
+ /**
5
+ * Returns first node that has JSDoc comment, will return first node, if there are no comment nodes
6
+ *
7
+ *
8
+ * @param nodes
9
+ */
10
+ function firstNodeWithComment(nodes) {
11
+ return nodes.find((n) => n.getJsDocs().length) ?? nodes[0];
12
+ }
13
+ exports.firstNodeWithComment = firstNodeWithComment;
@@ -1,8 +1,14 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./class"), exports);
4
5
  tslib_1.__exportStar(require("./create-project"), exports);
5
6
  tslib_1.__exportStar(require("./display-type"), exports);
6
7
  tslib_1.__exportStar(require("./filter-by-scope"), exports);
7
8
  tslib_1.__exportStar(require("./filter-by-static"), exports);
8
9
  tslib_1.__exportStar(require("./find-declaration"), exports);
10
+ tslib_1.__exportStar(require("./first-node-with-comment"), exports);
11
+ tslib_1.__exportStar(require("./interface"), exports);
12
+ tslib_1.__exportStar(require("./method"), exports);
13
+ tslib_1.__exportStar(require("./node"), exports);
14
+ tslib_1.__exportStar(require("./property"), exports);
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.findInterface = void 0;
4
+ const ts_morph_1 = require("ts-morph");
5
+ /**
6
+ *
7
+ * @param int
8
+ * @param fn
9
+ */
10
+ function findInterface(int, fn) {
11
+ const baseInterface = int;
12
+ if (fn(baseInterface)) {
13
+ return baseInterface;
14
+ }
15
+ const ext = baseInterface
16
+ .getExtends()
17
+ .map((expr) => expr.getType().getSymbol()?.getDeclarations()[0])
18
+ .filter((node) => ts_morph_1.Node.isInterfaceDeclaration(node))
19
+ // Reverse interfaces because the latest one overrides previous one
20
+ .reverse();
21
+ for (const i of ext) {
22
+ const deepResult = findInterface(i, fn);
23
+ if (deepResult) {
24
+ return i;
25
+ }
26
+ }
27
+ return undefined;
28
+ }
29
+ exports.findInterface = findInterface;
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.forAllInterfaces = void 0;
4
+ const ts_morph_1 = require("ts-morph");
5
+ /**
6
+ *
7
+ * @param int
8
+ * @param fn
9
+ */
10
+ function forAllInterfaces(int, fn) {
11
+ const baseInterface = int;
12
+ if (!fn(baseInterface)) {
13
+ baseInterface
14
+ .getExtends()
15
+ .map((expr) => expr.getType().getSymbol()?.getDeclarations()[0])
16
+ .reverse()
17
+ .forEach((node) => ts_morph_1.Node.isInterfaceDeclaration(node) && forAllInterfaces(node, fn));
18
+ }
19
+ }
20
+ exports.forAllInterfaces = forAllInterfaces;
@@ -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("./find-interface"), exports);
5
+ tslib_1.__exportStar(require("./for-all-interfaces"), exports);
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getClassMethods = void 0;
4
+ const core_1 = require("@ng-doc/core");
5
+ const class_1 = require("../class");
6
+ /**
7
+ *
8
+ * @param cls
9
+ */
10
+ function getClassMethods(cls) {
11
+ const methods = new Map();
12
+ (0, class_1.forAllClasses)(cls, (baseClass) => {
13
+ baseClass.getMethods().forEach((method) => {
14
+ const name = method.getName();
15
+ if (!methods.get(name) && (!method.isAbstract() || (method.isAbstract() && cls === baseClass))) {
16
+ methods.set(name, method);
17
+ }
18
+ });
19
+ });
20
+ return (0, core_1.asArray)(methods.values());
21
+ }
22
+ exports.getClassMethods = getClassMethods;
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getImplementedMethod = 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 method that was implemented by the provided one
10
+ *
11
+ * @param method - Target method
12
+ */
13
+ function getImplementedMethod(method) {
14
+ const parent = method.getParent();
15
+ const name = method.getName();
16
+ if (ts_morph_1.Node.isClassDeclaration(parent)) {
17
+ const mtd = (0, class_1.findBaseClass)(parent, (cls) => !!cls.getMethod(name))?.getMethod(name);
18
+ if (mtd?.isAbstract) {
19
+ return mtd;
20
+ }
21
+ const nodes = parent
22
+ .getImplements()
23
+ .map((expr) => expr.getType().getSymbol()?.getDeclarations()[0])
24
+ .filter(core_1.isPresent)
25
+ // Reverse implements because the latest one overrides previous one
26
+ .reverse();
27
+ for (const node of nodes) {
28
+ if (ts_morph_1.Node.isClassDeclaration(node)) {
29
+ const mtd = (0, class_1.findClass)(node, (cls) => !!cls.getMethod(name))?.getMethod(name);
30
+ if (mtd?.isAbstract) {
31
+ return mtd;
32
+ }
33
+ }
34
+ if (ts_morph_1.Node.isInterfaceDeclaration(node)) {
35
+ const mtd = (0, find_interface_1.findInterface)(node, (int) => !!int.getMethod(name))?.getMethod(name);
36
+ if (mtd) {
37
+ return mtd;
38
+ }
39
+ }
40
+ }
41
+ }
42
+ return undefined;
43
+ }
44
+ exports.getImplementedMethod = getImplementedMethod;
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getInterfaceMethods = void 0;
4
+ const core_1 = require("@ng-doc/core");
5
+ const interface_1 = require("../interface");
6
+ /**
7
+ *
8
+ * @param int
9
+ */
10
+ function getInterfaceMethods(int) {
11
+ const methods = new Map();
12
+ (0, interface_1.forAllInterfaces)(int, (i) => {
13
+ i.getMethods().forEach((method) => {
14
+ const name = method.getName();
15
+ if (!methods.get(name)) {
16
+ methods.set(name, method);
17
+ }
18
+ });
19
+ });
20
+ return (0, core_1.asArray)(methods.values());
21
+ }
22
+ exports.getInterfaceMethods = getInterfaceMethods;