@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.
- package/engine/.cache/libs/app/components/api-list/api-list.component.js +7 -7
- package/engine/.cache/libs/app/components/code/code.component.js +12 -16
- package/engine/.cache/libs/app/components/demo/demo.component.js +8 -10
- package/engine/.cache/libs/app/components/navbar/navbar.component.js +1 -1
- package/engine/.cache/libs/app/components/page/page.module.js +1 -0
- package/engine/.cache/libs/app/components/page-map/page-map.component.js +1 -2
- package/engine/.cache/libs/app/components/playground/playground.component.js +5 -10
- package/engine/.cache/libs/app/components/playground-demo/playground-demo.component.js +8 -9
- package/engine/.cache/libs/app/components/playground-properties/playground-properties.component.js +1 -2
- package/engine/.cache/libs/app/components/playground-property/playground-property.component.js +9 -10
- package/engine/.cache/libs/app/components/root/root.component.js +2 -3
- package/engine/.cache/libs/app/components/sidebar/sidebar-category/sidebar-category.component.js +3 -5
- package/engine/.cache/libs/app/components/sidebar/sidebar.component.js +1 -2
- package/engine/.cache/libs/app/directives/code-highlighter/code-highlighter.directive.js +1 -2
- package/engine/.cache/libs/app/helpers/generate-page-map/generate-page-map.js +1 -2
- package/engine/.cache/libs/app/modules/root/ng-doc.module.js +3 -3
- package/engine/.cache/libs/app/pipes/filter-by-text/filter-by-text.pipe.js +1 -2
- package/engine/.cache/libs/app/processors/code-processor/code-processor.directive.js +2 -5
- package/engine/.cache/libs/app/processors/html-processor/html-processor.directive.js +1 -2
- package/engine/.cache/libs/app/processors/icon-processor/icon-processor.directive.js +2 -3
- package/engine/.cache/libs/app/processors/index.js +1 -0
- package/engine/.cache/libs/app/processors/playground-processor/playground-processor.directive.js +2 -3
- package/engine/.cache/libs/app/processors/tooltip-processor/index.js +6 -0
- package/engine/.cache/libs/app/processors/tooltip-processor/tooltip-processor.directive.js +30 -0
- package/engine/.cache/libs/app/processors/tooltip-processor/tooltip-processor.module.js +18 -0
- package/engine/.cache/libs/app/processors/tooltip-processor/tooltip-wrapper.component.js +30 -0
- package/engine/.cache/libs/app/services/theme/theme.service.js +1 -2
- package/engine/.cache/libs/builder/engine/actions/demo.action.js +1 -2
- package/engine/.cache/libs/builder/engine/actions/playground.action.js +3 -4
- package/engine/.cache/libs/builder/engine/actions.js +1 -2
- package/engine/.cache/libs/builder/engine/builder.js +2 -2
- package/engine/.cache/libs/builder/engine/entities/abstractions/entity.js +2 -3
- package/engine/.cache/libs/builder/engine/entities/abstractions/file.entity.js +7 -2
- package/engine/.cache/libs/builder/engine/entities/abstractions/module.entity.js +1 -2
- package/engine/.cache/libs/builder/engine/entities/abstractions/route.entity.js +1 -2
- package/engine/.cache/libs/builder/engine/entities/abstractions/source-file.entity.js +3 -3
- package/engine/.cache/libs/builder/engine/entities/api-page.entity.js +4 -4
- package/engine/.cache/libs/builder/engine/entities/api-scope.entity.js +1 -2
- package/engine/.cache/libs/builder/engine/entities/api.entity.js +9 -16
- package/engine/.cache/libs/builder/engine/entities/category.entity.js +6 -12
- package/engine/.cache/libs/builder/engine/entities/dependencies.entity.js +20 -9
- package/engine/.cache/libs/builder/engine/entities/page.entity.js +13 -20
- package/engine/.cache/libs/builder/engine/entities/playground.entity.js +4 -3
- package/engine/.cache/libs/builder/engine/entity-store.js +3 -5
- package/engine/.cache/libs/builder/engine/functions/build-candidates.js +1 -2
- package/engine/.cache/libs/builder/engine/post-processors/html-plugins/keywords-processor.js +19 -16
- package/engine/.cache/libs/builder/engine/post-processors/html-post-processor.js +5 -2
- package/engine/.cache/libs/builder/engine/renderer.js +10 -7
- package/engine/.cache/libs/builder/engine/template-filters.js +16 -1
- package/engine/.cache/libs/builder/engine/watcher.js +1 -1
- package/engine/.cache/libs/builder/helpers/build-assets.js +2 -0
- package/engine/.cache/libs/builder/helpers/build-global-indexes.js +1 -2
- package/engine/.cache/libs/builder/helpers/create-builder-context.js +3 -4
- package/engine/.cache/libs/builder/helpers/declaration-to-playground.js +6 -4
- package/engine/.cache/libs/builder/helpers/extract-path-anchor.js +2 -3
- package/engine/.cache/libs/builder/helpers/extract-selectors.js +2 -3
- package/engine/.cache/libs/builder/helpers/format-code.js +3 -6
- package/engine/.cache/libs/builder/helpers/generate-api-entities.js +1 -2
- package/engine/.cache/libs/builder/helpers/index.js +1 -0
- package/engine/.cache/libs/builder/helpers/marked.js +1 -1
- package/engine/.cache/libs/builder/helpers/no-empty.js +12 -0
- package/engine/.cache/libs/builder/helpers/not-empty-assets.js +1 -1
- package/engine/.cache/libs/builder/helpers/presentation.js +76 -5
- package/engine/.cache/libs/builder/helpers/typescript/class/find-base-class.js +21 -0
- package/engine/.cache/libs/builder/helpers/typescript/class/find-class.js +21 -0
- package/engine/.cache/libs/builder/helpers/typescript/class/for-all-classes.js +15 -0
- package/engine/.cache/libs/builder/helpers/typescript/class/index.js +6 -0
- package/engine/.cache/libs/builder/helpers/typescript/create-project.js +17 -2
- package/engine/.cache/libs/builder/helpers/typescript/find-declaration.js +3 -4
- package/engine/.cache/libs/builder/helpers/typescript/first-node-with-comment.js +13 -0
- package/engine/.cache/libs/builder/helpers/typescript/index.js +6 -0
- package/engine/.cache/libs/builder/helpers/typescript/interface/find-interface.js +29 -0
- package/engine/.cache/libs/builder/helpers/typescript/interface/for-all-interfaces.js +20 -0
- package/engine/.cache/libs/builder/helpers/typescript/interface/index.js +5 -0
- package/engine/.cache/libs/builder/helpers/typescript/method/get-class-methods.js +22 -0
- package/engine/.cache/libs/builder/helpers/typescript/method/get-implemented-method.js +44 -0
- package/engine/.cache/libs/builder/helpers/typescript/method/get-interface-methods.js +22 -0
- package/engine/.cache/libs/builder/helpers/typescript/method/get-method-chain.js +32 -0
- package/engine/.cache/libs/builder/helpers/typescript/method/get-overridden-method.js +26 -0
- package/engine/.cache/libs/builder/helpers/typescript/method/index.js +8 -0
- package/engine/.cache/libs/builder/helpers/typescript/node/index.js +4 -0
- package/engine/.cache/libs/builder/helpers/typescript/node/sort-by-nodes-name.js +11 -0
- package/engine/.cache/libs/builder/helpers/typescript/property/get-class-properties.js +22 -0
- package/engine/.cache/libs/builder/helpers/typescript/property/get-implemented-property.js +44 -0
- package/engine/.cache/libs/builder/helpers/typescript/property/get-interface-properties.js +22 -0
- package/engine/.cache/libs/builder/helpers/typescript/property/get-overridden-property.js +26 -0
- package/engine/.cache/libs/builder/helpers/typescript/property/get-property-chain.js +33 -0
- package/engine/.cache/libs/builder/helpers/typescript/property/index.js +8 -0
- package/engine/.cache/libs/builder/resolvers/common/get-property-assignment.js +1 -2
- package/engine/.cache/libs/builder/schematics/api/index.js +1 -1
- package/engine/.cache/libs/builder/schematics/category/index.js +1 -1
- package/engine/.cache/libs/builder/schematics/dependencies/index.js +2 -3
- package/engine/.cache/libs/builder/schematics/page/index.js +7 -1
- package/engine/.cache/libs/builder/templates-env/code.env.js +2 -0
- package/engine/.cache/libs/builder/templates-env/index.js +1 -0
- package/engine/.cache/libs/core/helpers/extract-value.js +1 -1
- package/engine/.cache/libs/core/helpers/kebab-case.js +4 -3
- package/engine/.cache/libs/ui-kit/cdk/combobox-host/combobox-host.component.js +8 -11
- package/engine/.cache/libs/ui-kit/components/clear-control/clear-control.component.js +3 -6
- package/engine/.cache/libs/ui-kit/components/dropdown/dropdown.component.js +27 -17
- package/engine/.cache/libs/ui-kit/components/input-wrapper/input-wrapper.component.js +3 -6
- package/engine/.cache/libs/ui-kit/components/list/list.component.js +7 -10
- package/engine/.cache/libs/ui-kit/components/option/option.component.js +2 -4
- package/engine/.cache/libs/ui-kit/components/overlay-container/overlay-container.component.js +5 -9
- package/engine/.cache/libs/ui-kit/components/selection/selection-host.directive.js +1 -2
- package/engine/.cache/libs/ui-kit/components/tab-group/tab-group.component.js +1 -2
- package/engine/.cache/libs/ui-kit/components/toggle/toggle.component.js +2 -3
- package/engine/.cache/libs/ui-kit/directives/media-query/media-query.directive.js +1 -2
- package/engine/.cache/libs/ui-kit/directives/tooltip/tooltip.directive.js +14 -7
- package/engine/.cache/libs/ui-kit/helpers/merge-overlay-configs.js +5 -3
- package/engine/.cache/libs/ui-kit/modules/root/root.module.js +1 -2
- package/engine/.cache/libs/ui-kit/services/notify/notify.service.js +2 -2
- package/engine/.cache/libs/ui-kit/services/overlay/overlay.service.js +2 -3
- package/engine/.cache/libs/ui-kit/services/overlay-strategy/overlay-strategy.js +4 -7
- package/engine/.cache/libs/ui-kit/utils/overlay-utils.js +1 -1
- package/engine/entities/api-page.entity.d.ts +1 -1
- package/engine/entities/dependencies.entity.js +14 -4
- package/engine/entities/dependencies.entity.js.map +1 -1
- package/engine/post-processors/html-plugins/keywords-processor.js +18 -15
- package/engine/post-processors/html-plugins/keywords-processor.js.map +1 -1
- package/engine/renderer.d.ts +1 -0
- package/engine/renderer.js +4 -1
- package/engine/renderer.js.map +1 -1
- package/engine/template-filters.d.ts +1 -1
- package/engine/template-filters.js +16 -1
- package/engine/template-filters.js.map +1 -1
- package/helpers/build-assets.js +2 -0
- package/helpers/build-assets.js.map +1 -1
- package/helpers/format-code.js +3 -6
- package/helpers/format-code.js.map +1 -1
- package/helpers/index.d.ts +1 -0
- package/helpers/index.js +1 -0
- package/helpers/index.js.map +1 -1
- package/helpers/no-empty.d.ts +5 -0
- package/helpers/no-empty.js +13 -0
- package/helpers/no-empty.js.map +1 -0
- package/helpers/not-empty-assets.js +1 -1
- package/helpers/not-empty-assets.js.map +1 -1
- package/helpers/presentation.d.ts +11 -1
- package/helpers/presentation.js +77 -4
- package/helpers/presentation.js.map +1 -1
- package/helpers/typescript/class/find-base-class.d.ts +7 -0
- package/helpers/typescript/class/find-base-class.js +22 -0
- package/helpers/typescript/class/find-base-class.js.map +1 -0
- package/helpers/typescript/class/find-class.d.ts +7 -0
- package/helpers/typescript/class/find-class.js +22 -0
- package/helpers/typescript/class/find-class.js.map +1 -0
- package/helpers/typescript/class/for-all-classes.d.ts +7 -0
- package/helpers/typescript/class/for-all-classes.js +16 -0
- package/helpers/typescript/class/for-all-classes.js.map +1 -0
- package/helpers/typescript/class/index.d.ts +3 -0
- package/helpers/typescript/class/index.js +7 -0
- package/helpers/typescript/class/index.js.map +1 -0
- package/helpers/typescript/first-node-with-comment.d.ts +8 -0
- package/helpers/typescript/first-node-with-comment.js +15 -0
- package/helpers/typescript/first-node-with-comment.js.map +1 -0
- package/helpers/typescript/index.d.ts +6 -0
- package/helpers/typescript/index.js +6 -0
- package/helpers/typescript/index.js.map +1 -1
- package/helpers/typescript/interface/find-interface.d.ts +7 -0
- package/helpers/typescript/interface/find-interface.js +30 -0
- package/helpers/typescript/interface/find-interface.js.map +1 -0
- package/helpers/typescript/interface/for-all-interfaces.d.ts +7 -0
- package/helpers/typescript/interface/for-all-interfaces.js +21 -0
- package/helpers/typescript/interface/for-all-interfaces.js.map +1 -0
- package/helpers/typescript/interface/index.d.ts +2 -0
- package/helpers/typescript/interface/index.js +6 -0
- package/helpers/typescript/interface/index.js.map +1 -0
- package/helpers/typescript/method/get-class-methods.d.ts +6 -0
- package/helpers/typescript/method/get-class-methods.js +23 -0
- package/helpers/typescript/method/get-class-methods.js.map +1 -0
- package/helpers/typescript/method/get-implemented-method.d.ts +7 -0
- package/helpers/typescript/method/get-implemented-method.js +46 -0
- package/helpers/typescript/method/get-implemented-method.js.map +1 -0
- package/helpers/typescript/method/get-interface-methods.d.ts +6 -0
- package/helpers/typescript/method/get-interface-methods.js +23 -0
- package/helpers/typescript/method/get-interface-methods.js.map +1 -0
- package/helpers/typescript/method/get-method-chain.d.ts +6 -0
- package/helpers/typescript/method/get-method-chain.js +33 -0
- package/helpers/typescript/method/get-method-chain.js.map +1 -0
- package/helpers/typescript/method/get-overridden-method.d.ts +7 -0
- package/helpers/typescript/method/get-overridden-method.js +28 -0
- package/helpers/typescript/method/get-overridden-method.js.map +1 -0
- package/helpers/typescript/method/index.d.ts +5 -0
- package/helpers/typescript/method/index.js +9 -0
- package/helpers/typescript/method/index.js.map +1 -0
- package/helpers/typescript/node/index.d.ts +1 -0
- package/helpers/typescript/node/index.js +5 -0
- package/helpers/typescript/node/index.js.map +1 -0
- package/helpers/typescript/node/sort-by-nodes-name.d.ts +6 -0
- package/helpers/typescript/node/sort-by-nodes-name.js +12 -0
- package/helpers/typescript/node/sort-by-nodes-name.js.map +1 -0
- package/helpers/typescript/property/get-class-properties.d.ts +6 -0
- package/helpers/typescript/property/get-class-properties.js +23 -0
- package/helpers/typescript/property/get-class-properties.js.map +1 -0
- package/helpers/typescript/property/get-implemented-property.d.ts +7 -0
- package/helpers/typescript/property/get-implemented-property.js +46 -0
- package/helpers/typescript/property/get-implemented-property.js.map +1 -0
- package/helpers/typescript/property/get-interface-properties.d.ts +6 -0
- package/helpers/typescript/property/get-interface-properties.js +23 -0
- package/helpers/typescript/property/get-interface-properties.js.map +1 -0
- package/helpers/typescript/property/get-overridden-property.d.ts +7 -0
- package/helpers/typescript/property/get-overridden-property.js +28 -0
- package/helpers/typescript/property/get-overridden-property.js.map +1 -0
- package/helpers/typescript/property/get-property-chain.d.ts +6 -0
- package/helpers/typescript/property/get-property-chain.js +34 -0
- package/helpers/typescript/property/get-property-chain.js.map +1 -0
- package/helpers/typescript/property/index.d.ts +5 -0
- package/helpers/typescript/property/index.js +9 -0
- package/helpers/typescript/property/index.js.map +1 -0
- package/interfaces/asset.d.ts +1 -0
- package/package.json +2 -2
- package/templates/api/class.html.nunj +22 -8
- package/templates/api/function.html.nunj +1 -1
- package/templates/api/interface.html.nunj +4 -4
- package/templates/code.html.nunj +3 -0
- package/templates/helpers/code.html.nunj +1 -1
- package/templates/helpers/constructor.html.nunj +34 -0
- package/templates/helpers/declaration-modifiers.html.nunj +5 -8
- package/templates/helpers/method.html.nunj +19 -4
- package/templates/helpers/methods.html.nunj +2 -2
- package/templates/helpers/parameters.html.nunj +2 -1
- package/templates/helpers/properties.html.nunj +19 -2
- package/templates-env/code.env.d.ts +4 -0
- package/templates-env/code.env.js +3 -0
- package/templates-env/code.env.js.map +1 -0
- package/templates-env/index.d.ts +1 -0
- package/templates-env/index.js +1 -0
- 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
|
|
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)(
|
|
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
|
-
|
|
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:
|
|
21
|
-
pagesPaths:
|
|
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
|
-
|
|
15
|
-
|
|
16
|
-
|
|
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:
|
|
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:
|
|
15
|
-
anchor:
|
|
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 =
|
|
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 = (
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
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
|
|
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;
|
|
@@ -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
|
|
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
|
-
|
|
28
|
-
|
|
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
|
|
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(
|
|
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,
|
|
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
|
-
|
|
23
|
-
const sourceFile =
|
|
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
|
|
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,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;
|