@trapi/metadata 0.1.3 → 0.1.7
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/dist/cache/driver.d.ts +1 -1
- package/dist/cache/driver.d.ts.map +1 -1
- package/dist/cache/driver.js +3 -6
- package/dist/cache/driver.js.map +1 -1
- package/dist/cache/type.d.ts +1 -1
- package/dist/cache/type.d.ts.map +1 -1
- package/dist/cache/utils.d.ts +1 -1
- package/dist/cache/utils.d.ts.map +1 -1
- package/dist/cache/utils.js +14 -14
- package/dist/cache/utils.js.map +1 -1
- package/dist/config/path.js.map +1 -1
- package/dist/decorator/functions.d.ts.map +1 -1
- package/dist/decorator/functions.js +9 -13
- package/dist/decorator/functions.js.map +1 -1
- package/dist/decorator/index.d.ts +1 -1
- package/dist/decorator/index.d.ts.map +1 -1
- package/dist/decorator/index.js +1 -3
- package/dist/decorator/index.js.map +1 -1
- package/dist/decorator/mapper/index.d.ts +3 -3
- package/dist/decorator/mapper/index.d.ts.map +1 -1
- package/dist/decorator/mapper/index.js +6 -11
- package/dist/decorator/mapper/index.js.map +1 -1
- package/dist/decorator/mapper/maps/decorators-express.d.ts +1 -1
- package/dist/decorator/mapper/maps/decorators-express.d.ts.map +1 -1
- package/dist/decorator/mapper/maps/decorators-express.js +33 -33
- package/dist/decorator/mapper/maps/internal.d.ts +1 -1
- package/dist/decorator/mapper/maps/internal.d.ts.map +1 -1
- package/dist/decorator/mapper/maps/internal.js +31 -27
- package/dist/decorator/mapper/maps/internal.js.map +1 -1
- package/dist/decorator/mapper/maps/typescript-rest.d.ts +1 -1
- package/dist/decorator/mapper/maps/typescript-rest.d.ts.map +1 -1
- package/dist/decorator/mapper/maps/typescript-rest.js +38 -38
- package/dist/decorator/mapper/maps/typescript-rest.js.map +1 -1
- package/dist/decorator/mapper/utils.d.ts +1 -1
- package/dist/decorator/mapper/utils.d.ts.map +1 -1
- package/dist/decorator/mapper/utils.js +1 -1
- package/dist/decorator/mapper/utils.js.map +1 -1
- package/dist/decorator/representation/index.d.ts +1 -1
- package/dist/decorator/representation/index.d.ts.map +1 -1
- package/dist/decorator/representation/index.js +2 -4
- package/dist/decorator/representation/index.js.map +1 -1
- package/dist/decorator/representation/property/utils.d.ts +1 -1
- package/dist/decorator/representation/property/utils.d.ts.map +1 -1
- package/dist/decorator/representation/property/utils.js +7 -6
- package/dist/decorator/representation/property/utils.js.map +1 -1
- package/dist/decorator/type.d.ts.map +1 -1
- package/dist/decorator/utils/node.d.ts +1 -1
- package/dist/decorator/utils/node.d.ts.map +1 -1
- package/dist/decorator/utils/node.js +4 -6
- package/dist/decorator/utils/node.js.map +1 -1
- package/dist/decorator/utils/validator.d.ts +2 -2
- package/dist/decorator/utils/validator.d.ts.map +1 -1
- package/dist/decorator/utils/validator.js +8 -8
- package/dist/decorator/utils/validator.js.map +1 -1
- package/dist/generator/controller.d.ts +1 -1
- package/dist/generator/controller.d.ts.map +1 -1
- package/dist/generator/controller.js +1 -1
- package/dist/generator/controller.js.map +1 -1
- package/dist/generator/endpoint.d.ts +2 -2
- package/dist/generator/endpoint.d.ts.map +1 -1
- package/dist/generator/endpoint.js +14 -19
- package/dist/generator/endpoint.js.map +1 -1
- package/dist/generator/index.d.ts +5 -33
- package/dist/generator/index.d.ts.map +1 -1
- package/dist/generator/index.js +15 -151
- package/dist/generator/index.js.map +1 -1
- package/dist/generator/method.d.ts +1 -1
- package/dist/generator/method.d.ts.map +1 -1
- package/dist/generator/method.js +10 -12
- package/dist/generator/method.js.map +1 -1
- package/dist/generator/module.d.ts +41 -0
- package/dist/generator/module.d.ts.map +1 -0
- package/dist/generator/module.js +166 -0
- package/dist/generator/module.js.map +1 -0
- package/dist/generator/parameter.d.ts +1 -1
- package/dist/generator/parameter.d.ts.map +1 -1
- package/dist/generator/parameter.js +26 -35
- package/dist/generator/parameter.js.map +1 -1
- package/dist/resolver/type-node.d.ts +1 -1
- package/dist/resolver/type-node.d.ts.map +1 -1
- package/dist/resolver/type-node.js +124 -189
- package/dist/resolver/type-node.js.map +1 -1
- package/dist/resolver/type.d.ts +1 -1
- package/dist/resolver/type.d.ts.map +1 -1
- package/dist/resolver/utils/initializer.d.ts +1 -1
- package/dist/resolver/utils/initializer.d.ts.map +1 -1
- package/dist/resolver/utils/initializer.js +11 -12
- package/dist/resolver/utils/initializer.js.map +1 -1
- package/dist/resolver/utils/validator.d.ts +1 -1
- package/dist/resolver/utils/validator.d.ts.map +1 -1
- package/dist/resolver/utils/validator.js +8 -11
- package/dist/resolver/utils/validator.js.map +1 -1
- package/dist/type.d.ts +8 -3
- package/dist/type.d.ts.map +1 -1
- package/dist/utils/generator.d.ts +2 -2
- package/dist/utils/generator.d.ts.map +1 -1
- package/dist/utils/generator.js +2 -2
- package/dist/utils/generator.js.map +1 -1
- package/dist/utils/js-doc.d.ts.map +1 -1
- package/dist/utils/js-doc.js +7 -11
- package/dist/utils/js-doc.js.map +1 -1
- package/dist/utils/validator.d.ts +2 -2
- package/dist/utils/validator.d.ts.map +1 -1
- package/dist/utils/validator.js +2 -2
- package/dist/utils/validator.js.map +1 -1
- package/package.json +19 -13
- package/src/cache/driver.ts +0 -97
- package/src/cache/index.ts +0 -10
- package/src/cache/type.ts +0 -43
- package/src/cache/utils.ts +0 -49
- package/src/config/index.ts +0 -8
- package/src/config/path.ts +0 -29
- package/src/decorator/functions.ts +0 -142
- package/src/decorator/index.ts +0 -13
- package/src/decorator/mapper/index.ts +0 -153
- package/src/decorator/mapper/maps/decorators-express.ts +0 -117
- package/src/decorator/mapper/maps/internal.ts +0 -95
- package/src/decorator/mapper/maps/typescript-rest.ts +0 -150
- package/src/decorator/mapper/utils.ts +0 -88
- package/src/decorator/representation/index.ts +0 -82
- package/src/decorator/representation/property/utils.ts +0 -146
- package/src/decorator/type.ts +0 -235
- package/src/decorator/utils/index.ts +0 -9
- package/src/decorator/utils/node.ts +0 -59
- package/src/decorator/utils/validator.ts +0 -104
- package/src/generator/controller.ts +0 -65
- package/src/generator/endpoint.ts +0 -212
- package/src/generator/index.ts +0 -219
- package/src/generator/method.ts +0 -198
- package/src/generator/parameter.ts +0 -392
- package/src/index.ts +0 -13
- package/src/resolver/error.ts +0 -38
- package/src/resolver/index.ts +0 -11
- package/src/resolver/type-node.ts +0 -1287
- package/src/resolver/type.ts +0 -257
- package/src/resolver/utils/index.ts +0 -9
- package/src/resolver/utils/initializer.ts +0 -81
- package/src/resolver/utils/validator.ts +0 -144
- package/src/type.ts +0 -185
- package/src/utils/generator.ts +0 -42
- package/src/utils/index.ts +0 -10
- package/src/utils/js-doc.ts +0 -125
- package/src/utils/validator.ts +0 -43
- package/test/data/library/@decorators-express/decorators.ts +0 -7
- package/test/data/library/self/api.ts +0 -37
- package/test/data/library/type.ts +0 -138
- package/test/data/library/typescript-rest/api.ts +0 -366
- package/test/data/library/typescript-rest/decorators/index.ts +0 -10
- package/test/data/library/typescript-rest/decorators/methods.ts +0 -34
- package/test/data/library/typescript-rest/decorators/parameters.ts +0 -62
- package/test/data/library/typescript-rest/decorators/services.ts +0 -47
- package/test/data/library/typescript-rest/return-types.ts +0 -94
- package/test/data/library/utils.ts +0 -7
- package/test/jest.config.js +0 -49
- package/test/unit/cache.spec.ts +0 -48
- package/test/unit/decorator/mapper/index.spec.ts +0 -83
- package/test/unit/decorator/representation/index.spec.ts +0 -102
- package/test/unit/decorator/utils/node.spec.ts +0 -47
- package/test/unit/library/typescript-rest.spec.ts +0 -342
- package/test/unit/resolver/type.spec.ts +0 -134
- package/test/unit/utils/generator.spec.ts +0 -41
- package/test/unit/utils/js-doc.spec.ts +0 -104
- package/tsconfig.build.json +0 -11
- package/tsconfig.json +0 -9
- package/writable/.gitignore +0 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validator.js","sourceRoot":"","sources":["../../../src/decorator/utils/validator.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,
|
|
1
|
+
{"version":3,"file":"validator.js","sourceRoot":"","sources":["../../../src/decorator/utils/validator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ClassDeclaration } from 'typescript';
|
|
2
2
|
import { EndpointGenerator } from './endpoint';
|
|
3
3
|
import { MetadataGenerator } from './index';
|
|
4
|
-
import { Controller } from
|
|
4
|
+
import { Controller } from '../type';
|
|
5
5
|
export declare class ControllerGenerator extends EndpointGenerator<ClassDeclaration> {
|
|
6
6
|
private genMethods;
|
|
7
7
|
constructor(node: ClassDeclaration, current: MetadataGenerator);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"controller.d.ts","sourceRoot":"","sources":["../../src/generator/controller.ts"],"names":[],"mappings":"AAOA,OAAO,
|
|
1
|
+
{"version":3,"file":"controller.d.ts","sourceRoot":"","sources":["../../src/generator/controller.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,gBAAgB,EAAiC,MAAM,YAAY,CAAC;AAC7E,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAE5C,OAAO,EAAE,UAAU,EAAU,MAAM,SAAS,CAAC;AAE7C,qBAAa,mBAAoB,SAAQ,iBAAiB,CAAC,gBAAgB,CAAC;IACxE,OAAO,CAAC,UAAU,CAAkC;gBAIxC,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,iBAAiB;IAMvD,OAAO;IAIP,QAAQ,IAAI,UAAU;IAmB7B,SAAS,CAAC,kBAAkB,IAAI,MAAM;IAItC,OAAO,CAAC,YAAY;CAcvB"}
|
|
@@ -11,10 +11,10 @@ const typescript_1 = require("typescript");
|
|
|
11
11
|
const endpoint_1 = require("./endpoint");
|
|
12
12
|
const method_1 = require("./method");
|
|
13
13
|
class ControllerGenerator extends endpoint_1.EndpointGenerator {
|
|
14
|
-
genMethods = new Set();
|
|
15
14
|
// --------------------------------------------------------------------
|
|
16
15
|
constructor(node, current) {
|
|
17
16
|
super(node, current);
|
|
17
|
+
this.genMethods = new Set();
|
|
18
18
|
this.generatePath('CLASS_PATH');
|
|
19
19
|
}
|
|
20
20
|
isValid() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"controller.js","sourceRoot":"","sources":["../../src/generator/controller.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,
|
|
1
|
+
{"version":3,"file":"controller.js","sourceRoot":"","sources":["../../src/generator/controller.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,2CAA6E;AAC7E,yCAA+C;AAE/C,qCAA2C;AAG3C,MAAa,mBAAoB,SAAQ,4BAAmC;IAGxE,uEAAuE;IAEvE,YAAY,IAAsB,EAAE,OAA0B;QAC1D,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QALjB,eAAU,GAAgB,IAAI,GAAG,EAAU,CAAC;QAOhD,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;IACpC,CAAC;IAEM,OAAO;QACV,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,EAAE,CAAC;IAC3C,CAAC;IAEM,QAAQ;QACX,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAC;SAAE;QACxG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;SAAE;QAExF,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;QAEpD,OAAO;YACH,QAAQ,EAAE,IAAI,CAAC,WAAW,EAAE;YAC5B,QAAQ,EAAE,UAAU,CAAC,QAAQ;YAC7B,OAAO,EAAE,IAAI,CAAC,YAAY,EAAE;YAC5B,IAAI,EAAE,IAAI,CAAC,kBAAkB,EAAE;YAC/B,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,EAAE;YACrB,QAAQ,EAAE,IAAI,CAAC,WAAW,EAAE;YAC5B,SAAS,EAAE,IAAI,CAAC,YAAY,EAAE;YAC9B,QAAQ,EAAE,IAAI,CAAC,WAAW,EAAE;YAC5B,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE;SACvB,CAAC;IACN,CAAC;IAES,kBAAkB;QACxB,OAAQ,IAAI,CAAC,IAAyB,CAAC,IAAI,CAAC,IAAI,CAAC;IACrD,CAAC;IAEO,YAAY;QAChB,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO;aACnB,MAAM,CAAC,CAAC,MAA0B,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,KAAK,uBAAU,CAAC,iBAAiB,CAAC,CAAC;aACtF,MAAM,CAAC,CAAC,MAAyB,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;aAC7D,GAAG,CAAC,CAAC,MAAyB,EAAE,EAAE,CAAC,IAAI,wBAAe,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;aAC9F,MAAM,CAAC,CAAC,SAA0B,EAAE,EAAE;YACnC,IAAI,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC,EAAE;gBACxE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC,CAAC;gBAC/C,OAAO,IAAI,CAAC;aACf;YACD,OAAO,KAAK,CAAC;QACjB,CAAC,CAAC;aACD,GAAG,CAAC,CAAC,SAA0B,EAAE,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;IACnE,CAAC;CACJ;AApDD,kDAoDC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ArrayLiteralExpression, Node } from 'typescript';
|
|
2
|
-
import { Decorator } from
|
|
2
|
+
import { Decorator } from '../decorator';
|
|
3
3
|
import { MetadataGenerator } from './index';
|
|
4
|
-
import { Response } from
|
|
4
|
+
import { Response } from '../type';
|
|
5
5
|
export declare abstract class EndpointGenerator<T extends Node> {
|
|
6
6
|
protected current: MetadataGenerator;
|
|
7
7
|
protected path: string | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"endpoint.d.ts","sourceRoot":"","sources":["../../src/generator/endpoint.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"endpoint.d.ts","sourceRoot":"","sources":["../../src/generator/endpoint.ts"],"names":[],"mappings":"AAOA,OAAO,EACH,sBAAsB,EAAE,IAAI,EAC/B,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,SAAS,EAAqB,MAAM,cAAc,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAG5C,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAEnC,8BAAsB,iBAAiB,CAAC,CAAC,SAAS,IAAI;IAOnB,SAAS,CAAC,OAAO,EAAE,iBAAiB;IANnE,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IAEnC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;IAIlB,SAAS,aAAa,IAAI,EAAE,CAAC,EAAY,OAAO,EAAE,iBAAiB;IAMnE,SAAS,CAAC,YAAY,CAClB,GAAG,EAAE,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,YAAY,GAAG,aAAa,CAAC,GAC1D,IAAI;IAgBR,SAAS,CAAC,kBAAkB,CAAC,aAAa,EAAE,MAAM,EAAE,cAAc,UAAQ,GAAI,GAAG,EAAE;IAuBnF,SAAS,CAAC,WAAW;;;;IAcrB,SAAS,CAAC,gBAAgB,CAAC,QAAQ,EAAE,sBAAsB,GAAG,MAAM,EAAE;IAUtE,SAAS,CAAC,gBAAgB,CAAC,QAAQ,EAAE,GAAG,GAAI,OAAO,EAAE;IAoBrD,SAAS,CAAC,YAAY,IAAI,QAAQ,EAAE;IA+B7B,WAAW,IAAK,MAAM,EAAE;IAcxB,WAAW,IAAK,MAAM,EAAE;IAgBxB,OAAO,IAAK,MAAM,EAAE;IAkB3B,SAAS,CAAC,QAAQ,CAAC,kBAAkB,IAAI,MAAM;IAIxC,QAAQ,CAAC,IAAI,EAAE,IAAI,GAAI,OAAO;IAI9B,YAAY,CAAC,IAAI,EAAE,IAAI,GAAI,OAAO;CAO5C"}
|
|
@@ -1,21 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
1
2
|
/*
|
|
2
3
|
* Copyright (c) 2021.
|
|
3
4
|
* Author Peter Placzek (tada5hi)
|
|
4
5
|
* For the full copyright and license information,
|
|
5
6
|
* view the LICENSE file that was distributed with this source code.
|
|
6
7
|
*/
|
|
7
|
-
'use strict';
|
|
8
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
9
|
exports.EndpointGenerator = void 0;
|
|
10
10
|
const typescript_1 = require("typescript");
|
|
11
11
|
const metadata_utils_1 = require("@trapi/metadata-utils");
|
|
12
|
+
const decorator_1 = require("../decorator");
|
|
12
13
|
const resolver_1 = require("../resolver");
|
|
13
14
|
const utils_1 = require("../utils");
|
|
14
|
-
const decorator_1 = require("../decorator");
|
|
15
15
|
class EndpointGenerator {
|
|
16
|
-
current;
|
|
17
|
-
path;
|
|
18
|
-
node;
|
|
19
16
|
// -------------------------------------------
|
|
20
17
|
constructor(node, current) {
|
|
21
18
|
this.current = current;
|
|
@@ -35,7 +32,7 @@ class EndpointGenerator {
|
|
|
35
32
|
}
|
|
36
33
|
// --------------------------------------------------------------------
|
|
37
34
|
getDecoratorValues(decoratorName, acceptMultiple = false) {
|
|
38
|
-
const decorators = (0, decorator_1.getNodeDecorators)(this.node, decorator => decorator.text === decoratorName);
|
|
35
|
+
const decorators = (0, decorator_1.getNodeDecorators)(this.node, (decorator) => decorator.text === decoratorName);
|
|
39
36
|
if (!decorators || !decorators.length) {
|
|
40
37
|
return [];
|
|
41
38
|
}
|
|
@@ -44,7 +41,7 @@ class EndpointGenerator {
|
|
|
44
41
|
}
|
|
45
42
|
let result;
|
|
46
43
|
if (acceptMultiple) {
|
|
47
|
-
result = decorators.map(d => d.arguments);
|
|
44
|
+
result = decorators.map((d) => d.arguments);
|
|
48
45
|
}
|
|
49
46
|
else {
|
|
50
47
|
const d = decorators[0];
|
|
@@ -58,22 +55,20 @@ class EndpointGenerator {
|
|
|
58
55
|
if (!securities || !securities.length) {
|
|
59
56
|
return undefined;
|
|
60
57
|
}
|
|
61
|
-
return securities.map(security => {
|
|
58
|
+
return securities.map((security) => {
|
|
62
59
|
const rolesArray = security[0] ? this.handleRolesArray(security[0]) : [];
|
|
63
60
|
return {
|
|
64
61
|
name: security[1] ? security[1] : 'default',
|
|
65
|
-
scopes: rolesArray
|
|
62
|
+
scopes: rolesArray,
|
|
66
63
|
};
|
|
67
64
|
});
|
|
68
65
|
}
|
|
69
66
|
handleRolesArray(argument) {
|
|
70
67
|
if ((0, typescript_1.isArrayLiteralExpression)(argument)) {
|
|
71
|
-
return argument.elements.map(value => value.getText())
|
|
72
|
-
.map(val => (val && val.startsWith('\'') && val.endsWith('\'')) ? val.slice(1, -1) : val);
|
|
73
|
-
}
|
|
74
|
-
else {
|
|
75
|
-
return argument;
|
|
68
|
+
return argument.elements.map((value) => value.getText())
|
|
69
|
+
.map((val) => ((val && val.startsWith('\'') && val.endsWith('\'')) ? val.slice(1, -1) : val));
|
|
76
70
|
}
|
|
71
|
+
return argument;
|
|
77
72
|
}
|
|
78
73
|
// -------------------------------------------
|
|
79
74
|
getExamplesValue(argument) {
|
|
@@ -101,14 +96,14 @@ class EndpointGenerator {
|
|
|
101
96
|
for (let i = 0; i < representation.decorators.length; i++) {
|
|
102
97
|
const description = representation.getPropertyValue('DESCRIPTION', i) || 'Ok';
|
|
103
98
|
const status = representation.getPropertyValue('STATUS_CODE', i) || '200';
|
|
104
|
-
|
|
99
|
+
const examples = representation.getPropertyValue('PAYLOAD', i);
|
|
105
100
|
const type = representation.getPropertyValue('TYPE');
|
|
106
101
|
const response = {
|
|
107
|
-
description
|
|
108
|
-
examples
|
|
102
|
+
description,
|
|
103
|
+
examples,
|
|
109
104
|
schema: type ? new resolver_1.TypeNodeResolver(type, this.current).resolve() : undefined,
|
|
110
105
|
status: status,
|
|
111
|
-
name: status
|
|
106
|
+
name: status,
|
|
112
107
|
};
|
|
113
108
|
responses.push(response);
|
|
114
109
|
}
|
|
@@ -155,7 +150,7 @@ class EndpointGenerator {
|
|
|
155
150
|
return typeof this.current.decoratorMapper.match('HIDDEN', node) !== 'undefined';
|
|
156
151
|
}
|
|
157
152
|
isDeprecated(node) {
|
|
158
|
-
if ((0, utils_1.isExistJSDocTag)(node, tag => tag.tagName.text === 'deprecated')) {
|
|
153
|
+
if ((0, utils_1.isExistJSDocTag)(node, (tag) => tag.tagName.text === 'deprecated')) {
|
|
159
154
|
return true;
|
|
160
155
|
}
|
|
161
156
|
return typeof this.current.decoratorMapper.match('DEPRECATED', node) !== 'undefined';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"endpoint.js","sourceRoot":"","sources":["../../src/generator/endpoint.ts"],"names":[],"mappings":"AAAA;;;;;GAKG
|
|
1
|
+
{"version":3,"file":"endpoint.js","sourceRoot":"","sources":["../../src/generator/endpoint.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,34 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
export
|
|
6
|
-
readonly nodes: Node[];
|
|
7
|
-
readonly typeChecker: TypeChecker;
|
|
8
|
-
readonly decoratorMapper: DecoratorMapper;
|
|
9
|
-
readonly config: Config;
|
|
10
|
-
private readonly program;
|
|
11
|
-
private cache;
|
|
12
|
-
private controllers;
|
|
13
|
-
private referenceTypes;
|
|
14
|
-
private circularDependencyResolvers;
|
|
15
|
-
constructor(config: Config, compilerOptions: CompilerOptions);
|
|
16
|
-
generate(): GeneratorOutput;
|
|
17
|
-
protected buildNodesFromSourceFiles(): number;
|
|
18
|
-
/**
|
|
19
|
-
* Check if the source file path is in the ignored path list.
|
|
20
|
-
*
|
|
21
|
-
* @param filePath
|
|
22
|
-
* @protected
|
|
23
|
-
*/
|
|
24
|
-
protected isIgnoredPath(filePath: string): boolean;
|
|
25
|
-
isExportedNode(node: Node): boolean;
|
|
26
|
-
addReferenceType(referenceType: Resolver.ReferenceType): void;
|
|
27
|
-
getReferenceType(refName: string): Resolver.ReferenceType;
|
|
28
|
-
registerDependencyResolver(callback: Resolver.DependencyResolver): void;
|
|
29
|
-
getClassDeclaration(className: string): Node;
|
|
30
|
-
getInterfaceDeclaration(className: string): Node;
|
|
31
|
-
private scanSourceFiles;
|
|
32
|
-
private buildControllers;
|
|
33
|
-
}
|
|
1
|
+
export * from './controller';
|
|
2
|
+
export * from './endpoint';
|
|
3
|
+
export * from './method';
|
|
4
|
+
export * from './module';
|
|
5
|
+
export * from './parameter';
|
|
34
6
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/generator/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/generator/index.ts"],"names":[],"mappings":"AAOA,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC"}
|
package/dist/generator/index.js
CHANGED
|
@@ -5,156 +5,20 @@
|
|
|
5
5
|
* For the full copyright and license information,
|
|
6
6
|
* view the LICENSE file that was distributed with this source code.
|
|
7
7
|
*/
|
|
8
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
9
|
+
if (k2 === undefined) k2 = k;
|
|
10
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
11
|
+
}) : (function(o, m, k, k2) {
|
|
12
|
+
if (k2 === undefined) k2 = k;
|
|
13
|
+
o[k2] = m[k];
|
|
14
|
+
}));
|
|
15
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
16
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
17
|
+
};
|
|
8
18
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
-
exports
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
const resolver_1 = require("../resolver");
|
|
15
|
-
const driver_1 = require("../cache/driver");
|
|
16
|
-
const minimatch = require("minimatch");
|
|
17
|
-
class MetadataGenerator {
|
|
18
|
-
nodes = new Array();
|
|
19
|
-
typeChecker;
|
|
20
|
-
decoratorMapper;
|
|
21
|
-
config;
|
|
22
|
-
program;
|
|
23
|
-
cache;
|
|
24
|
-
controllers;
|
|
25
|
-
referenceTypes = {};
|
|
26
|
-
circularDependencyResolvers = new Array();
|
|
27
|
-
// -------------------------------------------------------------------------
|
|
28
|
-
constructor(config, compilerOptions) {
|
|
29
|
-
this.config = config;
|
|
30
|
-
this.cache = new driver_1.CacheDriver(config.cache);
|
|
31
|
-
this.decoratorMapper = new mapper_1.DecoratorMapper(config.decorator);
|
|
32
|
-
resolver_1.TypeNodeResolver.clearCache();
|
|
33
|
-
const sourceFiles = this.scanSourceFiles(config.entryFile);
|
|
34
|
-
this.program = (0, typescript_1.createProgram)(sourceFiles, compilerOptions);
|
|
35
|
-
this.typeChecker = this.program.getTypeChecker();
|
|
36
|
-
}
|
|
37
|
-
// -------------------------------------------------------------------------
|
|
38
|
-
generate() {
|
|
39
|
-
const sourceFileSize = this.buildNodesFromSourceFiles();
|
|
40
|
-
let cache = this.cache.get(sourceFileSize);
|
|
41
|
-
if (!cache) {
|
|
42
|
-
this.buildControllers();
|
|
43
|
-
this.circularDependencyResolvers.forEach(resolve => resolve(this.referenceTypes));
|
|
44
|
-
cache = {
|
|
45
|
-
controllers: this.controllers,
|
|
46
|
-
referenceTypes: this.referenceTypes,
|
|
47
|
-
sourceFilesSize: sourceFileSize
|
|
48
|
-
};
|
|
49
|
-
this.cache.save(cache);
|
|
50
|
-
}
|
|
51
|
-
return {
|
|
52
|
-
controllers: cache.controllers,
|
|
53
|
-
referenceTypes: cache.referenceTypes
|
|
54
|
-
};
|
|
55
|
-
}
|
|
56
|
-
buildNodesFromSourceFiles() {
|
|
57
|
-
let endSize = 0;
|
|
58
|
-
this.program.getSourceFiles().forEach((sf) => {
|
|
59
|
-
const isIgnored = this.isIgnoredPath(sf.fileName);
|
|
60
|
-
if (isIgnored) {
|
|
61
|
-
return;
|
|
62
|
-
}
|
|
63
|
-
endSize += sf.end;
|
|
64
|
-
(0, typescript_1.forEachChild)(sf, (node) => {
|
|
65
|
-
if ((0, typescript_1.isModuleDeclaration)(node)) {
|
|
66
|
-
/**
|
|
67
|
-
* For some reason unknown to me, TS resolves both `declare module` and `namespace` to
|
|
68
|
-
* the same kind (`ModuleDeclaration`). In order to figure out whether it's one or the other,
|
|
69
|
-
* we check the node flags. They tell us whether it is a namespace or not.
|
|
70
|
-
*/
|
|
71
|
-
// tslint:disable-next-line:no-bitwise
|
|
72
|
-
if ((node.flags & typescript_1.NodeFlags.Namespace) === 0 && node.body && (0, typescript_1.isModuleBlock)(node.body)) {
|
|
73
|
-
node.body.statements.forEach(statement => {
|
|
74
|
-
this.nodes.push(statement);
|
|
75
|
-
});
|
|
76
|
-
return;
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
this.nodes.push(node);
|
|
80
|
-
});
|
|
81
|
-
});
|
|
82
|
-
return endSize;
|
|
83
|
-
}
|
|
84
|
-
// -------------------------------------------------------------------------
|
|
85
|
-
/**
|
|
86
|
-
* Check if the source file path is in the ignored path list.
|
|
87
|
-
*
|
|
88
|
-
* @param filePath
|
|
89
|
-
* @protected
|
|
90
|
-
*/
|
|
91
|
-
isIgnoredPath(filePath) {
|
|
92
|
-
if (typeof this.config.ignore === 'undefined') {
|
|
93
|
-
return false;
|
|
94
|
-
}
|
|
95
|
-
return this.config.ignore.some(item => minimatch(filePath, item));
|
|
96
|
-
}
|
|
97
|
-
// -------------------------------------------------------------------------
|
|
98
|
-
isExportedNode(node) {
|
|
99
|
-
return true;
|
|
100
|
-
}
|
|
101
|
-
// -------------------------------------------------------------------------
|
|
102
|
-
addReferenceType(referenceType) {
|
|
103
|
-
if (!referenceType.refName) {
|
|
104
|
-
return;
|
|
105
|
-
}
|
|
106
|
-
this.referenceTypes[referenceType.refName] = referenceType;
|
|
107
|
-
}
|
|
108
|
-
getReferenceType(refName) {
|
|
109
|
-
return this.referenceTypes[refName];
|
|
110
|
-
}
|
|
111
|
-
registerDependencyResolver(callback) {
|
|
112
|
-
this.circularDependencyResolvers.push(callback);
|
|
113
|
-
}
|
|
114
|
-
getClassDeclaration(className) {
|
|
115
|
-
const found = this.nodes
|
|
116
|
-
.filter(node => {
|
|
117
|
-
const classDeclaration = node;
|
|
118
|
-
return (node.kind === typescript_1.SyntaxKind.ClassDeclaration && classDeclaration.name && classDeclaration.name.text === className);
|
|
119
|
-
});
|
|
120
|
-
if (found && found.length) {
|
|
121
|
-
return found[0];
|
|
122
|
-
}
|
|
123
|
-
return undefined;
|
|
124
|
-
}
|
|
125
|
-
getInterfaceDeclaration(className) {
|
|
126
|
-
const found = this.nodes
|
|
127
|
-
.filter(node => {
|
|
128
|
-
const interfaceDeclaration = node;
|
|
129
|
-
return (node.kind === typescript_1.SyntaxKind.InterfaceDeclaration && interfaceDeclaration.name && interfaceDeclaration.name.text === className);
|
|
130
|
-
});
|
|
131
|
-
if (found && found.length) {
|
|
132
|
-
return found[0];
|
|
133
|
-
}
|
|
134
|
-
return undefined;
|
|
135
|
-
}
|
|
136
|
-
scanSourceFiles(sourceFiles) {
|
|
137
|
-
const sourceFilesExpressions = Array.isArray(sourceFiles) ? sourceFiles : [sourceFiles];
|
|
138
|
-
const result = new Set();
|
|
139
|
-
const options = { cwd: process.cwd() };
|
|
140
|
-
sourceFilesExpressions.forEach(pattern => {
|
|
141
|
-
const matches = (0, glob_1.sync)(pattern, options);
|
|
142
|
-
matches.forEach(file => { result.add(file); });
|
|
143
|
-
});
|
|
144
|
-
return Array.from(result);
|
|
145
|
-
}
|
|
146
|
-
buildControllers() {
|
|
147
|
-
this.controllers = this.nodes
|
|
148
|
-
.filter(node => node.kind === typescript_1.SyntaxKind.ClassDeclaration)
|
|
149
|
-
.filter(node => {
|
|
150
|
-
const isHidden = this.decoratorMapper.match('HIDDEN', node);
|
|
151
|
-
return typeof isHidden === 'undefined';
|
|
152
|
-
})
|
|
153
|
-
.filter(node => typeof this.decoratorMapper.match('CLASS_PATH', node) !== 'undefined')
|
|
154
|
-
.map((classDeclaration) => new controller_1.ControllerGenerator(classDeclaration, this))
|
|
155
|
-
.filter(generator => generator.isValid())
|
|
156
|
-
.map(generator => generator.generate());
|
|
157
|
-
}
|
|
158
|
-
}
|
|
159
|
-
exports.MetadataGenerator = MetadataGenerator;
|
|
19
|
+
__exportStar(require("./controller"), exports);
|
|
20
|
+
__exportStar(require("./endpoint"), exports);
|
|
21
|
+
__exportStar(require("./method"), exports);
|
|
22
|
+
__exportStar(require("./module"), exports);
|
|
23
|
+
__exportStar(require("./parameter"), exports);
|
|
160
24
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/generator/index.ts"],"names":[],"mappings":";AAAA;;;;;GAKG
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/generator/index.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;;;;;;;AAEH,+CAA6B;AAC7B,6CAA2B;AAC3B,2CAAyB;AACzB,2CAAyB;AACzB,8CAA4B"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as ts from 'typescript';
|
|
2
2
|
import { EndpointGenerator } from './endpoint';
|
|
3
3
|
import { MetadataGenerator } from './index';
|
|
4
|
-
import { Method } from
|
|
4
|
+
import { Method } from '../type';
|
|
5
5
|
export declare class MethodGenerator extends EndpointGenerator<ts.MethodDeclaration> {
|
|
6
6
|
private readonly controllerPath;
|
|
7
7
|
private method;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"method.d.ts","sourceRoot":"","sources":["../../src/generator/method.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"method.d.ts","sourceRoot":"","sources":["../../src/generator/method.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AAGjC,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAG5C,OAAO,EACH,MAAM,EACT,MAAM,SAAS,CAAC;AAIjB,qBAAa,eAAgB,SAAQ,iBAAiB,CAAC,EAAE,CAAC,iBAAiB,CAAC;IAQpE,OAAO,CAAC,QAAQ,CAAC,cAAc;IAPnC,OAAO,CAAC,MAAM,CAAa;gBAKvB,IAAI,EAAE,EAAE,CAAC,iBAAiB,EAC1B,OAAO,EAAE,iBAAiB,EACT,cAAc,EAAE,MAAM;IAQpC,OAAO;IAIP,aAAa;IAKb,QAAQ,IAAI,MAAM;IAkCzB,SAAS,CAAC,kBAAkB;IAM5B,OAAO,CAAC,eAAe;IA4BvB,OAAO,CAAC,uBAAuB;IAc/B,OAAO,CAAC,wBAAwB;IAYhC,OAAO,CAAC,4BAA4B;IAuBpC,OAAO,CAAC,wBAAwB;IAchC,OAAO,CAAC,cAAc;IAiBtB,OAAO,CAAC,kBAAkB;CAG7B"}
|
package/dist/generator/method.js
CHANGED
|
@@ -28,15 +28,13 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
28
28
|
exports.MethodGenerator = void 0;
|
|
29
29
|
const pathUtil = __importStar(require("path"));
|
|
30
30
|
const ts = __importStar(require("typescript"));
|
|
31
|
+
const metadata_utils_1 = require("@trapi/metadata-utils");
|
|
32
|
+
const decorator_1 = require("../decorator");
|
|
31
33
|
const endpoint_1 = require("./endpoint");
|
|
32
34
|
const parameter_1 = require("./parameter");
|
|
33
35
|
const resolver_1 = require("../resolver");
|
|
34
|
-
const metadata_utils_1 = require("@trapi/metadata-utils");
|
|
35
36
|
const utils_1 = require("../utils");
|
|
36
|
-
const decorator_1 = require("../decorator");
|
|
37
37
|
class MethodGenerator extends endpoint_1.EndpointGenerator {
|
|
38
|
-
controllerPath;
|
|
39
|
-
method;
|
|
40
38
|
// --------------------------------------------------------------------
|
|
41
39
|
constructor(node, current, controllerPath) {
|
|
42
40
|
super(node, current);
|
|
@@ -57,7 +55,7 @@ class MethodGenerator extends endpoint_1.EndpointGenerator {
|
|
|
57
55
|
}
|
|
58
56
|
let nodeType = this.node.type;
|
|
59
57
|
if (!nodeType) {
|
|
60
|
-
const typeChecker = this.current
|
|
58
|
+
const { typeChecker } = this.current;
|
|
61
59
|
const signature = typeChecker.getSignatureFromDeclaration(this.node);
|
|
62
60
|
const implicitType = typeChecker.getReturnTypeOfSignature(signature);
|
|
63
61
|
nodeType = typeChecker.typeToTypeNode(implicitType, undefined, ts.NodeBuilderFlags.NoTruncation);
|
|
@@ -76,11 +74,11 @@ class MethodGenerator extends endpoint_1.EndpointGenerator {
|
|
|
76
74
|
parameters: this.buildParameters(),
|
|
77
75
|
path: this.path,
|
|
78
76
|
produces: this.getProduces(),
|
|
79
|
-
responses
|
|
77
|
+
responses,
|
|
80
78
|
security: this.getSecurity(),
|
|
81
79
|
summary: (0, utils_1.getJSDocTagComment)(this.node, 'summary'),
|
|
82
80
|
tags: this.getTags(),
|
|
83
|
-
type
|
|
81
|
+
type,
|
|
84
82
|
};
|
|
85
83
|
}
|
|
86
84
|
getCurrentLocation() {
|
|
@@ -112,12 +110,12 @@ class MethodGenerator extends endpoint_1.EndpointGenerator {
|
|
|
112
110
|
return parameters;
|
|
113
111
|
}
|
|
114
112
|
processMethodDecorators() {
|
|
115
|
-
const httpMethodDecorators = (0, decorator_1.getNodeDecorators)(this.node, decorator => this.supportsPathMethod(decorator.text));
|
|
113
|
+
const httpMethodDecorators = (0, decorator_1.getNodeDecorators)(this.node, (decorator) => this.supportsPathMethod(decorator.text));
|
|
116
114
|
if (!httpMethodDecorators || !httpMethodDecorators.length) {
|
|
117
115
|
return;
|
|
118
116
|
}
|
|
119
117
|
if (httpMethodDecorators.length > 1) {
|
|
120
|
-
throw new Error(`Only one HTTP Method decorator in '${this.getCurrentLocation}' method is acceptable, Found: ${httpMethodDecorators.map(d => d.text).join(', ')}`);
|
|
118
|
+
throw new Error(`Only one HTTP Method decorator in '${this.getCurrentLocation}' method is acceptable, Found: ${httpMethodDecorators.map((d) => d.text).join(', ')}`);
|
|
121
119
|
}
|
|
122
120
|
const methodDecorator = httpMethodDecorators[0];
|
|
123
121
|
this.method = methodDecorator.text.toLowerCase();
|
|
@@ -130,7 +128,7 @@ class MethodGenerator extends endpoint_1.EndpointGenerator {
|
|
|
130
128
|
examples: this.getMethodSuccessExamples(),
|
|
131
129
|
schema: type,
|
|
132
130
|
status: resolver_1.Resolver.isVoidType(type) ? '204' : '200',
|
|
133
|
-
name: resolver_1.Resolver.isVoidType(type) ? '204' : '200'
|
|
131
|
+
name: resolver_1.Resolver.isVoidType(type) ? '204' : '200',
|
|
134
132
|
};
|
|
135
133
|
}
|
|
136
134
|
getMethodSuccessResponseType(type) {
|
|
@@ -154,7 +152,7 @@ class MethodGenerator extends endpoint_1.EndpointGenerator {
|
|
|
154
152
|
if (typeof representation === 'undefined') {
|
|
155
153
|
return [];
|
|
156
154
|
}
|
|
157
|
-
|
|
155
|
+
const value = representation.getPropertyValue('PAYLOAD');
|
|
158
156
|
if (typeof value === 'undefined') {
|
|
159
157
|
return [];
|
|
160
158
|
}
|
|
@@ -176,7 +174,7 @@ class MethodGenerator extends endpoint_1.EndpointGenerator {
|
|
|
176
174
|
return responses;
|
|
177
175
|
}
|
|
178
176
|
supportsPathMethod(method) {
|
|
179
|
-
return ['ALL', 'GET', 'POST', 'PATCH', 'DELETE', 'PUT', 'OPTIONS', 'HEAD'].some(m => m.toLowerCase() === method.toLowerCase());
|
|
177
|
+
return ['ALL', 'GET', 'POST', 'PATCH', 'DELETE', 'PUT', 'OPTIONS', 'HEAD'].some((m) => m.toLowerCase() === method.toLowerCase());
|
|
180
178
|
}
|
|
181
179
|
}
|
|
182
180
|
exports.MethodGenerator = MethodGenerator;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"method.js","sourceRoot":"","sources":["../../src/generator/method.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;;;;;;;;;;;;;;;;;AAEH,+CAAiC;AACjC,+CAAiC;
|
|
1
|
+
{"version":3,"file":"method.js","sourceRoot":"","sources":["../../src/generator/method.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { CompilerOptions, Node, TypeChecker } from 'typescript';
|
|
2
|
+
import { Config, GeneratorOutput } from '../type';
|
|
3
|
+
import { DecoratorMapper } from '../decorator';
|
|
4
|
+
import { Resolver } from '../resolver';
|
|
5
|
+
export declare class MetadataGenerator {
|
|
6
|
+
readonly nodes: Node[];
|
|
7
|
+
readonly typeChecker: TypeChecker;
|
|
8
|
+
readonly decoratorMapper: DecoratorMapper;
|
|
9
|
+
readonly config: Config;
|
|
10
|
+
private readonly program;
|
|
11
|
+
private cache;
|
|
12
|
+
private controllers;
|
|
13
|
+
private referenceTypes;
|
|
14
|
+
private circularDependencyResolvers;
|
|
15
|
+
constructor(config: Config, compilerOptions: CompilerOptions);
|
|
16
|
+
generate(): GeneratorOutput;
|
|
17
|
+
protected buildNodesFromSourceFiles(): number;
|
|
18
|
+
/**
|
|
19
|
+
* Check if the source file path is in the ignored path list.
|
|
20
|
+
*
|
|
21
|
+
* @param filePath
|
|
22
|
+
* @protected
|
|
23
|
+
*/
|
|
24
|
+
protected isIgnoredPath(filePath: string): boolean;
|
|
25
|
+
/**
|
|
26
|
+
* Check if the source file path is in the ignored path list.
|
|
27
|
+
*
|
|
28
|
+
* @param filePath
|
|
29
|
+
* @protected
|
|
30
|
+
*/
|
|
31
|
+
protected isAllowedPath(filePath: string): boolean;
|
|
32
|
+
isExportedNode(node: Node): boolean;
|
|
33
|
+
addReferenceType(referenceType: Resolver.ReferenceType): void;
|
|
34
|
+
getReferenceType(refName: string): Resolver.ReferenceType;
|
|
35
|
+
registerDependencyResolver(callback: Resolver.DependencyResolver): void;
|
|
36
|
+
getClassDeclaration(className: string): Node;
|
|
37
|
+
getInterfaceDeclaration(className: string): Node;
|
|
38
|
+
private scanSourceFiles;
|
|
39
|
+
private buildControllers;
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=module.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../src/generator/module.ts"],"names":[],"mappings":"AAQA,OAAO,EAEH,eAAe,EAEf,IAAI,EAKJ,WAAW,EAKd,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,MAAM,EAAc,eAAe,EAAE,MAAM,SAAS,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/C,OAAO,EAAE,QAAQ,EAAoB,MAAM,aAAa,CAAC;AAKzD,qBAAa,iBAAiB;IAC1B,SAAgB,KAAK,SAAqB;IAE1C,SAAgB,WAAW,EAAE,WAAW,CAAC;IAEzC,SAAgB,eAAe,EAAE,eAAe,CAAC;IAEjD,SAAgB,MAAM,EAAE,MAAM,CAAC;IAE/B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAU;IAElC,OAAO,CAAC,KAAK,CAAe;IAE5B,OAAO,CAAC,WAAW,CAAe;IAElC,OAAO,CAAC,cAAc,CAA+B;IAErD,OAAO,CAAC,2BAA2B,CAA4C;gBAK3E,MAAM,EAAE,MAAM,EACd,eAAe,EAAE,eAAe;IAgB7B,QAAQ,IAAI,eAAe;IAyBlC,SAAS,CAAC,yBAAyB,IAAK,MAAM;IAuC9C;;;;;OAKG;IACH,SAAS,CAAC,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAI,OAAO;IAQnD;;;;;OAKG;IACH,SAAS,CAAC,aAAa,CAAC,QAAQ,EAAE,MAAM;IAUjC,cAAc,CAAC,IAAI,EAAE,IAAI;IAMzB,gBAAgB,CAAC,aAAa,EAAE,QAAQ,CAAC,aAAa;IAQtD,gBAAgB,CAAC,OAAO,EAAE,MAAM;IAIhC,0BAA0B,CAAC,QAAQ,EAAE,QAAQ,CAAC,kBAAkB;IAIhE,mBAAmB,CAAC,SAAS,EAAE,MAAM;IAYrC,uBAAuB,CAAC,SAAS,EAAE,MAAM;IAYhD,OAAO,CAAC,eAAe;IAYvB,OAAO,CAAC,gBAAgB;CAa3B"}
|