@trapi/metadata 0.1.8 → 0.2.1
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/LICENSE +1 -1
- package/README.md +14 -44
- package/dist/generator/controller.d.ts +2 -2
- package/dist/generator/controller.d.ts.map +1 -1
- package/dist/generator/controller.js.map +1 -1
- package/dist/generator/endpoint.d.ts +4 -5
- package/dist/generator/endpoint.d.ts.map +1 -1
- package/dist/generator/endpoint.js +6 -8
- package/dist/generator/endpoint.js.map +1 -1
- package/dist/generator/index.d.ts +1 -0
- package/dist/generator/index.d.ts.map +1 -1
- package/dist/generator/index.js +1 -0
- package/dist/generator/index.js.map +1 -1
- package/dist/generator/method.d.ts +2 -2
- package/dist/generator/method.d.ts.map +1 -1
- package/dist/generator/method.js +11 -13
- package/dist/generator/method.js.map +1 -1
- package/dist/generator/module.d.ts +6 -7
- package/dist/generator/module.d.ts.map +1 -1
- package/dist/generator/module.js +10 -8
- package/dist/generator/module.js.map +1 -1
- package/dist/generator/parameter.d.ts +2 -2
- package/dist/generator/parameter.d.ts.map +1 -1
- package/dist/generator/parameter.js +10 -7
- package/dist/generator/parameter.js.map +1 -1
- package/dist/generator/utils.d.ts +5 -0
- package/dist/generator/utils.d.ts.map +1 -0
- package/dist/generator/utils.js +18 -0
- package/dist/generator/utils.js.map +1 -0
- package/dist/index.d.ts +1 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -2
- package/dist/index.js.map +1 -1
- package/dist/module.d.ts +4 -0
- package/dist/module.d.ts.map +1 -0
- package/dist/module.js +16 -0
- package/dist/module.js.map +1 -0
- package/dist/type.d.ts +8 -23
- package/dist/type.d.ts.map +1 -1
- package/dist/utils/index.d.ts +3 -2
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +3 -2
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/object.d.ts +2 -0
- package/dist/utils/object.d.ts.map +1 -0
- package/dist/utils/object.js +14 -0
- package/dist/utils/object.js.map +1 -0
- package/dist/utils/path.d.ts +2 -0
- package/dist/utils/path.d.ts.map +1 -0
- package/dist/utils/path.js +17 -0
- package/dist/utils/path.js.map +1 -0
- package/dist/utils/typescript.d.ts +8 -0
- package/dist/utils/typescript.d.ts.map +1 -0
- package/dist/utils/typescript.js +41 -0
- package/dist/utils/typescript.js.map +1 -0
- 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 +18 -9
- package/dist/decorator/functions.d.ts +0 -99
- package/dist/decorator/functions.d.ts.map +0 -1
- package/dist/decorator/functions.js +0 -140
- package/dist/decorator/functions.js.map +0 -1
- package/dist/decorator/index.d.ts +0 -7
- package/dist/decorator/index.d.ts.map +0 -1
- package/dist/decorator/index.js +0 -29
- package/dist/decorator/index.js.map +0 -1
- package/dist/decorator/mapper/index.d.ts +0 -25
- package/dist/decorator/mapper/index.d.ts.map +0 -1
- package/dist/decorator/mapper/index.js +0 -115
- package/dist/decorator/mapper/index.js.map +0 -1
- package/dist/decorator/mapper/maps/decorators-express.d.ts +0 -4
- package/dist/decorator/mapper/maps/decorators-express.d.ts.map +0 -1
- package/dist/decorator/mapper/maps/decorators-express.js +0 -115
- package/dist/decorator/mapper/maps/decorators-express.js.map +0 -1
- package/dist/decorator/mapper/maps/internal.d.ts +0 -4
- package/dist/decorator/mapper/maps/internal.d.ts.map +0 -1
- package/dist/decorator/mapper/maps/internal.js +0 -94
- package/dist/decorator/mapper/maps/internal.js.map +0 -1
- package/dist/decorator/mapper/maps/typescript-rest.d.ts +0 -4
- package/dist/decorator/mapper/maps/typescript-rest.d.ts.map +0 -1
- package/dist/decorator/mapper/maps/typescript-rest.js +0 -145
- package/dist/decorator/mapper/maps/typescript-rest.js.map +0 -1
- package/dist/decorator/mapper/utils.d.ts +0 -17
- package/dist/decorator/mapper/utils.d.ts.map +0 -1
- package/dist/decorator/mapper/utils.js +0 -73
- package/dist/decorator/mapper/utils.js.map +0 -1
- package/dist/decorator/representation/index.d.ts +0 -17
- package/dist/decorator/representation/index.d.ts.map +0 -1
- package/dist/decorator/representation/index.js +0 -61
- package/dist/decorator/representation/index.js.map +0 -1
- package/dist/decorator/representation/property/utils.d.ts +0 -6
- package/dist/decorator/representation/property/utils.d.ts.map +0 -1
- package/dist/decorator/representation/property/utils.js +0 -120
- package/dist/decorator/representation/property/utils.js.map +0 -1
- package/dist/decorator/type.d.ts +0 -178
- package/dist/decorator/type.d.ts.map +0 -1
- package/dist/decorator/type.js +0 -9
- package/dist/decorator/type.js.map +0 -1
- package/dist/decorator/utils/index.d.ts +0 -3
- package/dist/decorator/utils/index.d.ts.map +0 -1
- package/dist/decorator/utils/index.js +0 -25
- package/dist/decorator/utils/index.js.map +0 -1
- package/dist/decorator/utils/node.d.ts +0 -10
- package/dist/decorator/utils/node.d.ts.map +0 -1
- package/dist/decorator/utils/node.js +0 -49
- package/dist/decorator/utils/node.js.map +0 -1
- package/dist/decorator/utils/validator.d.ts +0 -4
- package/dist/decorator/utils/validator.d.ts.map +0 -1
- package/dist/decorator/utils/validator.js +0 -86
- package/dist/decorator/utils/validator.js.map +0 -1
- package/dist/resolver/error.d.ts +0 -7
- package/dist/resolver/error.d.ts.map +0 -1
- package/dist/resolver/error.js +0 -40
- package/dist/resolver/error.js.map +0 -1
- package/dist/resolver/index.d.ts +0 -5
- package/dist/resolver/index.d.ts.map +0 -1
- package/dist/resolver/index.js +0 -27
- package/dist/resolver/index.js.map +0 -1
- package/dist/resolver/type-node.d.ts +0 -53
- package/dist/resolver/type-node.d.ts.map +0 -1
- package/dist/resolver/type-node.js +0 -1045
- package/dist/resolver/type-node.js.map +0 -1
- package/dist/resolver/type.d.ts +0 -118
- package/dist/resolver/type.d.ts.map +0 -1
- package/dist/resolver/type.js +0 -57
- package/dist/resolver/type.js.map +0 -1
- package/dist/resolver/utils/index.d.ts +0 -3
- package/dist/resolver/utils/index.d.ts.map +0 -1
- package/dist/resolver/utils/index.js +0 -25
- package/dist/resolver/utils/index.js.map +0 -1
- package/dist/resolver/utils/initializer.d.ts +0 -5
- package/dist/resolver/utils/initializer.d.ts.map +0 -1
- package/dist/resolver/utils/initializer.js +0 -97
- package/dist/resolver/utils/initializer.js.map +0 -1
- package/dist/resolver/utils/validator.d.ts +0 -4
- package/dist/resolver/utils/validator.d.ts.map +0 -1
- package/dist/resolver/utils/validator.js +0 -131
- package/dist/resolver/utils/validator.js.map +0 -1
- package/dist/utils/generator.d.ts +0 -6
- package/dist/utils/generator.d.ts.map +0 -1
- package/dist/utils/generator.js +0 -33
- package/dist/utils/generator.js.map +0 -1
- package/dist/utils/js-doc.d.ts +0 -8
- package/dist/utils/js-doc.d.ts.map +0 -1
- package/dist/utils/js-doc.js +0 -102
- package/dist/utils/js-doc.js.map +0 -1
package/LICENSE
CHANGED
package/README.md
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
# @trapi/metadata 📚
|
|
2
2
|
|
|
3
|
-
[](https://github.com/Tada5hi/trapi/actions/workflows/main.yml)
|
|
4
|
+
[](https://codecov.io/gh/Tada5hi/trapi)
|
|
5
|
+
[](https://snyk.io/test/github/Tada5hi/trapi)
|
|
6
6
|
[](https://badge.fury.io/js/@trapi%2Fmetadata)
|
|
7
7
|
|
|
8
8
|
This package is responsible for generating metadata information by analyzing TypeScript REST decorators (self defined or third-party libraries).
|
|
9
9
|
The metadata can than be used for generating a documentation according to the OpenAPI Specification or to create route schema/handling for libraries like: express, koa, etc.
|
|
10
10
|
|
|
11
|
-
|
|
11
|
+
Inspect the `CHANGELOG.md` in the repository for breaking changes.
|
|
12
12
|
|
|
13
13
|
**Table of Contents**
|
|
14
14
|
|
|
@@ -16,9 +16,9 @@ Please read the `CHANGELOG.md` in the repository for breaking changes.
|
|
|
16
16
|
- [Configuration](#configuration)
|
|
17
17
|
- [Limitations](#limitations)
|
|
18
18
|
- [Usage](#usage)
|
|
19
|
-
- [Decorator(s)](#decorator)
|
|
20
|
-
- [Generator](#generator)
|
|
21
19
|
- [Structure](#structure)
|
|
20
|
+
- [License](#license)
|
|
21
|
+
|
|
22
22
|
## Installation
|
|
23
23
|
|
|
24
24
|
```bash
|
|
@@ -31,7 +31,8 @@ npm install --save @trapi/metadata
|
|
|
31
31
|
The metadata configuration object (Top-Level) is the main configuration object of this library
|
|
32
32
|
and can be defined according the following type scheme:
|
|
33
33
|
```typescript
|
|
34
|
-
import {
|
|
34
|
+
import { Config } from '@trapi/decorator';
|
|
35
|
+
import { Cache } from '@trapi/metadata';
|
|
35
36
|
|
|
36
37
|
export interface Config {
|
|
37
38
|
/**
|
|
@@ -56,7 +57,7 @@ export interface Config {
|
|
|
56
57
|
* map: {}
|
|
57
58
|
* }
|
|
58
59
|
*/
|
|
59
|
-
decorator?:
|
|
60
|
+
decorator?: Config;
|
|
60
61
|
}
|
|
61
62
|
```
|
|
62
63
|
|
|
@@ -99,38 +100,6 @@ export interface Config {
|
|
|
99
100
|
}
|
|
100
101
|
```
|
|
101
102
|
|
|
102
|
-
### Decorator
|
|
103
|
-
The decorator configuration is relative complex and is not described in detail here yet.
|
|
104
|
-
Please read the `source code` and the according `tests` for better understanding.
|
|
105
|
-
|
|
106
|
-
- Tests:
|
|
107
|
-
- `test/unit/decorator/mapper/index.spec.ts`
|
|
108
|
-
- `test/unit/decorator/representation/index.spec.ts`
|
|
109
|
-
- Code:
|
|
110
|
-
- `src/decorator/**/*.ts`
|
|
111
|
-
|
|
112
|
-
If you are the author (or contributor) of a TypeScript Decorator API library and need help to set things up, feel free to open an Issue and ask for help.
|
|
113
|
-
```typescript
|
|
114
|
-
export interface Config {
|
|
115
|
-
/**
|
|
116
|
-
* Use a pre defined third party TypeRepresentationMap in full scope or
|
|
117
|
-
* only use a partial amount of defined type representations.
|
|
118
|
-
*
|
|
119
|
-
* Default: []
|
|
120
|
-
*/
|
|
121
|
-
library?: ConfigLibrary;
|
|
122
|
-
/**
|
|
123
|
-
* Use all internal defined type representations or only use a subset.
|
|
124
|
-
* Default: true
|
|
125
|
-
*/
|
|
126
|
-
internal?: TypeRepresentationConfig;
|
|
127
|
-
/**
|
|
128
|
-
* Set up self defined type representations.
|
|
129
|
-
*/
|
|
130
|
-
map?: Partial<TypeRepresentationMap>;
|
|
131
|
-
}
|
|
132
|
-
```
|
|
133
|
-
|
|
134
103
|
## Limitations
|
|
135
104
|
At the moment only the following TypeScript UtilityTypes are supported:
|
|
136
105
|
* NonNullable
|
|
@@ -173,7 +142,8 @@ console.log(metadata);
|
|
|
173
142
|
|
|
174
143
|
**coming soon**
|
|
175
144
|
|
|
176
|
-
##
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
145
|
+
## License
|
|
146
|
+
|
|
147
|
+
Made with 💚
|
|
148
|
+
|
|
149
|
+
Published under [MIT License](./LICENSE).
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
+
import { MetadataGeneratorInterface } from '@trapi/decorator';
|
|
1
2
|
import { ClassDeclaration } from 'typescript';
|
|
2
3
|
import { EndpointGenerator } from './endpoint';
|
|
3
|
-
import { MetadataGenerator } from './index';
|
|
4
4
|
import { Controller } from '../type';
|
|
5
5
|
export declare class ControllerGenerator extends EndpointGenerator<ClassDeclaration> {
|
|
6
6
|
private genMethods;
|
|
7
|
-
constructor(node: ClassDeclaration, current:
|
|
7
|
+
constructor(node: ClassDeclaration, current: MetadataGeneratorInterface);
|
|
8
8
|
isValid(): boolean;
|
|
9
9
|
generate(): Controller;
|
|
10
10
|
protected getCurrentLocation(): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"controller.d.ts","sourceRoot":"","sources":["../../src/generator/controller.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"controller.d.ts","sourceRoot":"","sources":["../../src/generator/controller.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAiC,MAAM,YAAY,CAAC;AAC7E,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAE/C,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,0BAA0B;IAMhE,OAAO;IAIP,QAAQ,IAAI,UAAU;IAmB7B,SAAS,CAAC,kBAAkB,IAAI,MAAM;IAItC,OAAO,CAAC,YAAY;CAcvB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"controller.js","sourceRoot":"","sources":["../../src/generator/controller.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;
|
|
1
|
+
{"version":3,"file":"controller.js","sourceRoot":"","sources":["../../src/generator/controller.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAGH,2CAA6E;AAC7E,yCAA+C;AAC/C,qCAA2C;AAG3C,MAAa,mBAAoB,SAAQ,4BAAmC;IAGxE,uEAAuE;IAEvE,YAAY,IAAsB,EAAE,OAAmC;QACnE,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,13 +1,12 @@
|
|
|
1
|
+
import { MapperIDProperties, MetadataGeneratorInterface } from '@trapi/decorator';
|
|
1
2
|
import { ArrayLiteralExpression, Node } from 'typescript';
|
|
2
|
-
import { Decorator } from '../decorator';
|
|
3
|
-
import { MetadataGenerator } from './index';
|
|
4
3
|
import { Response } from '../type';
|
|
5
4
|
export declare abstract class EndpointGenerator<T extends Node> {
|
|
6
|
-
protected current:
|
|
5
|
+
protected current: MetadataGeneratorInterface;
|
|
7
6
|
protected path: string | undefined;
|
|
8
7
|
protected node: T;
|
|
9
|
-
protected constructor(node: T, current:
|
|
10
|
-
protected generatePath(key: Extract<
|
|
8
|
+
protected constructor(node: T, current: MetadataGeneratorInterface);
|
|
9
|
+
protected generatePath(key: Extract<keyof MapperIDProperties, 'CLASS_PATH' | 'METHOD_PATH'>): void;
|
|
11
10
|
protected getDecoratorValues(decoratorName: string, acceptMultiple?: boolean): any[];
|
|
12
11
|
protected getSecurity(): {
|
|
13
12
|
name: any;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"endpoint.d.ts","sourceRoot":"","sources":["../../src/generator/endpoint.ts"],"names":[],"mappings":"AAOA,OAAO,EACH,
|
|
1
|
+
{"version":3,"file":"endpoint.d.ts","sourceRoot":"","sources":["../../src/generator/endpoint.ts"],"names":[],"mappings":"AAOA,OAAO,EACH,kBAAkB,EAClB,0BAA0B,EAG7B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACH,sBAAsB,EAAE,IAAI,EAC/B,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAGnC,8BAAsB,iBAAiB,CAAC,CAAC,SAAS,IAAI;IAOnB,SAAS,CAAC,OAAO,EAAE,0BAA0B;IAN5E,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IAEnC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;IAIlB,SAAS,aAAa,IAAI,EAAE,CAAC,EAAY,OAAO,EAAE,0BAA0B;IAM5E,SAAS,CAAC,YAAY,CAClB,GAAG,EAAE,OAAO,CAAC,MAAM,kBAAkB,EAAE,YAAY,GAAG,aAAa,CAAC,GACpE,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"}
|
|
@@ -7,10 +7,8 @@
|
|
|
7
7
|
*/
|
|
8
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
9
|
exports.EndpointGenerator = void 0;
|
|
10
|
+
const decorator_1 = require("@trapi/decorator");
|
|
10
11
|
const typescript_1 = require("typescript");
|
|
11
|
-
const metadata_utils_1 = require("@trapi/metadata-utils");
|
|
12
|
-
const decorator_1 = require("../decorator");
|
|
13
|
-
const resolver_1 = require("../resolver");
|
|
14
12
|
const utils_1 = require("../utils");
|
|
15
13
|
class EndpointGenerator {
|
|
16
14
|
// -------------------------------------------
|
|
@@ -28,7 +26,7 @@ class EndpointGenerator {
|
|
|
28
26
|
values.push(value);
|
|
29
27
|
}
|
|
30
28
|
}
|
|
31
|
-
this.path = (0,
|
|
29
|
+
this.path = (0, utils_1.normalizePath)(values.join('/'));
|
|
32
30
|
}
|
|
33
31
|
// --------------------------------------------------------------------
|
|
34
32
|
getDecoratorValues(decoratorName, acceptMultiple = false) {
|
|
@@ -78,11 +76,11 @@ class EndpointGenerator {
|
|
|
78
76
|
}
|
|
79
77
|
if (argument.properties) {
|
|
80
78
|
argument.properties.forEach((p) => {
|
|
81
|
-
example[p.name.text] = (0,
|
|
79
|
+
example[p.name.text] = (0, decorator_1.getInitializerValue)(p.initializer, this.current.typeChecker);
|
|
82
80
|
});
|
|
83
81
|
}
|
|
84
82
|
else {
|
|
85
|
-
example = (0,
|
|
83
|
+
example = (0, decorator_1.getInitializerValue)(argument, this.current.typeChecker);
|
|
86
84
|
}
|
|
87
85
|
return example;
|
|
88
86
|
}
|
|
@@ -101,7 +99,7 @@ class EndpointGenerator {
|
|
|
101
99
|
const response = {
|
|
102
100
|
description,
|
|
103
101
|
examples,
|
|
104
|
-
schema: type ? new
|
|
102
|
+
schema: type ? new decorator_1.TypeNodeResolver(type, this.current).resolve() : undefined,
|
|
105
103
|
status: status,
|
|
106
104
|
name: status,
|
|
107
105
|
};
|
|
@@ -150,7 +148,7 @@ class EndpointGenerator {
|
|
|
150
148
|
return typeof this.current.decoratorMapper.match('HIDDEN', node) !== 'undefined';
|
|
151
149
|
}
|
|
152
150
|
isDeprecated(node) {
|
|
153
|
-
if ((0,
|
|
151
|
+
if ((0, decorator_1.isExistJSDocTag)(node, (tag) => tag.tagName.text === 'deprecated')) {
|
|
154
152
|
return true;
|
|
155
153
|
}
|
|
156
154
|
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;;;AAEH,
|
|
1
|
+
{"version":3,"file":"endpoint.js","sourceRoot":"","sources":["../../src/generator/endpoint.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,gDAK0B;AAC1B,2CAEoB;AAGpB,oCAAyC;AAEzC,MAAsB,iBAAiB;IAKnC,8CAA8C;IAE9C,YAAsB,IAAO,EAAY,OAAmC;QAAnC,YAAO,GAAP,OAAO,CAA4B;QACxE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACrB,CAAC;IAED,uEAAuE;IAE7D,YAAY,CAClB,GAAoE;QAEpE,MAAM,MAAM,GAAc,EAAE,CAAC;QAE7B,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1E,IAAI,OAAO,cAAc,KAAK,WAAW,EAAE;YACvC,MAAM,KAAK,GAAG,cAAc,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;YACzD,IAAI,OAAO,KAAK,KAAK,WAAW,EAAE;gBAC9B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aACtB;SACJ;QAED,IAAI,CAAC,IAAI,GAAG,IAAA,qBAAa,EAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IAChD,CAAC;IAED,uEAAuE;IAE7D,kBAAkB,CAAC,aAAqB,EAAE,cAAc,GAAG,KAAK;QACtE,MAAM,UAAU,GAAG,IAAA,6BAAiB,EAAC,IAAI,CAAC,IAAI,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC;QAEjG,IAAI,CAAC,UAAU,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE;YAAE,OAAO,EAAE,CAAC;SAAE;QAErD,IAAI,CAAC,cAAc,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;YAC1C,MAAM,IAAI,KAAK,CAAC,YAAY,aAAa,yBAAyB,IAAI,CAAC,kBAAkB,EAAE,GAAG,CAAC,CAAC;SACnG;QAED,IAAI,MAAa,CAAC;QAElB,IAAI,cAAc,EAAE;YAChB,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;SAC/C;aAAM;YACH,MAAM,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;YACxB,MAAM,GAAG,CAAC,CAAC,SAAS,CAAC;SACxB;QAED,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,8CAA8C;IAEpC,WAAW;QACjB,MAAM,UAAU,GAAG,IAAI,CAAC,kBAAkB,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QAC7D,IAAI,CAAC,UAAU,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE;YAAE,OAAO,SAAS,CAAC;SAAE;QAE5D,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE;YAC/B,MAAM,UAAU,GAAc,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAEpF,OAAO;gBACH,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;gBAC3C,MAAM,EAAE,UAAU;aACrB,CAAC;QACN,CAAC,CAAC,CAAC;IACP,CAAC;IAES,gBAAgB,CAAC,QAAgC;QACvD,IAAI,IAAA,qCAAwB,EAAC,QAAQ,CAAC,EAAE;YACpC,OAAO,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;iBACnD,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;SACrG;QACD,OAAO,QAAQ,CAAC;IACpB,CAAC;IAED,8CAA8C;IAEpC,gBAAgB,CAAC,QAAa;QACpC,IAAI,OAAO,GAAQ,EAAE,CAAC;QAEtB,IAAI,OAAO,QAAQ,KAAK,WAAW,EAAE;YACjC,OAAO,OAAO,CAAC;SAClB;QAED,IAAI,QAAQ,CAAC,UAAU,EAAE;YACrB,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAM,EAAE,EAAE;gBACnC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAA,+BAAmB,EAAC,CAAC,CAAC,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;YACxF,CAAC,CAAC,CAAC;SACN;aAAM;YACH,OAAO,GAAG,IAAA,+BAAmB,EAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;SACrE;QAED,OAAO,OAAO,CAAC;IACnB,CAAC;IAED,8CAA8C;IAEpC,YAAY;QAClB,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,KAAK,CAAC,sBAAsB,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7F,IAAI,OAAO,cAAc,KAAK,WAAW,EAAE;YACvC,OAAO,EAAE,CAAC;SACb;QAED,MAAM,SAAS,GAAgB,EAAE,CAAC;QAElC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACvD,MAAM,WAAW,GAAG,cAAc,CAAC,gBAAgB,CAAC,aAAa,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC;YAC9E,MAAM,MAAM,GAAG,cAAc,CAAC,gBAAgB,CAAC,aAAa,EAAE,CAAC,CAAC,IAAI,KAAK,CAAC;YAC1E,MAAM,QAAQ,GAAyB,cAAc,CAAC,gBAAgB,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;YAErF,MAAM,IAAI,GAAG,cAAc,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;YAErD,MAAM,QAAQ,GAAc;gBACxB,WAAW;gBACX,QAAQ;gBACR,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,4BAAgB,CAAC,IAAgB,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,SAAS;gBACzF,MAAM,EAAE,MAAgB;gBACxB,IAAI,EAAE,MAAgB;aACzB,CAAC;YAEF,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;SAC5B;QAED,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,8CAA8C;IAEvC,WAAW;QACd,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,KAAK,CAAC,mBAAmB,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1F,IAAI,OAAO,cAAc,KAAK,WAAW,EAAE;YACvC,OAAO,EAAE,CAAC;SACb;QAED,MAAM,KAAK,GAAc,cAAc,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;QACpE,IAAI,OAAO,KAAK,KAAK,WAAW,EAAE;YAC9B,OAAO,EAAE,CAAC;SACb;QAED,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAClD,CAAC;IAEM,WAAW;QACd,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,KAAK,CAAC,kBAAkB,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QACzF,IAAI,OAAO,cAAc,KAAK,WAAW,EAAE;YACvC,OAAO,EAAE,CAAC;SACb;QAED,IAAI,KAAK,GAAc,cAAc,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;QAClE,IAAI,OAAO,KAAK,KAAK,WAAW,EAAE;YAC9B,OAAO,EAAE,CAAC;SACb;QAED,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QAE/C,OAAO,KAAK,CAAC;IACjB,CAAC;IAEM,OAAO;QACV,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,KAAK,CAAC,cAAc,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QACrF,IAAI,OAAO,cAAc,KAAK,WAAW,EAAE;YACvC,OAAO,EAAE,CAAC;SACb;QAED,IAAI,KAAK,GAAc,cAAc,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;QAClE,IAAI,OAAO,KAAK,KAAK,WAAW,EAAE;YAC9B,OAAO,EAAE,CAAC;SACb;QAED,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QAE/C,OAAO,KAAK,CAAC;IACjB,CAAC;IAMD,8CAA8C;IAEvC,QAAQ,CAAC,IAAU;QACtB,OAAO,OAAO,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,WAAW,CAAC;IACrF,CAAC;IAEM,YAAY,CAAC,IAAU;QAC1B,IAAI,IAAA,2BAAe,EAAC,IAAI,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,YAAY,CAAC,EAAE;YACnE,OAAO,IAAI,CAAC;SACf;QAED,OAAO,OAAO,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,KAAK,CAAC,YAAY,EAAE,IAAI,CAAC,KAAK,WAAW,CAAC;IACzF,CAAC;CACJ;AAhMD,8CAgMC"}
|
|
@@ -1 +1 @@
|
|
|
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"}
|
|
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;AAC5B,cAAc,SAAS,CAAC"}
|
package/dist/generator/index.js
CHANGED
|
@@ -25,4 +25,5 @@ __exportStar(require("./endpoint"), exports);
|
|
|
25
25
|
__exportStar(require("./method"), exports);
|
|
26
26
|
__exportStar(require("./module"), exports);
|
|
27
27
|
__exportStar(require("./parameter"), exports);
|
|
28
|
+
__exportStar(require("./utils"), exports);
|
|
28
29
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
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
|
+
{"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;AAC5B,0CAAwB"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
+
import { MetadataGeneratorInterface } from '@trapi/decorator';
|
|
1
2
|
import * as ts from 'typescript';
|
|
2
3
|
import { EndpointGenerator } from './endpoint';
|
|
3
|
-
import { MetadataGenerator } from './index';
|
|
4
4
|
import { Method } from '../type';
|
|
5
5
|
export declare class MethodGenerator extends EndpointGenerator<ts.MethodDeclaration> {
|
|
6
6
|
private readonly controllerPath;
|
|
7
7
|
private method;
|
|
8
|
-
constructor(node: ts.MethodDeclaration, current:
|
|
8
|
+
constructor(node: ts.MethodDeclaration, current: MetadataGeneratorInterface, controllerPath: string);
|
|
9
9
|
isValid(): boolean;
|
|
10
10
|
getMethodName(): string;
|
|
11
11
|
generate(): Method;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"method.d.ts","sourceRoot":"","sources":["../../src/generator/method.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"method.d.ts","sourceRoot":"","sources":["../../src/generator/method.ts"],"names":[],"mappings":"AAOA,OAAO,EAEH,0BAA0B,EAM7B,MAAM,kBAAkB,CAAC;AAE1B,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AAEjC,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAE/C,OAAO,EACH,MAAM,EACT,MAAM,SAAS,CAAC;AAEjB,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,0BAA0B,EAClB,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
|
@@ -30,14 +30,12 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
30
30
|
};
|
|
31
31
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
32
32
|
exports.MethodGenerator = void 0;
|
|
33
|
+
const decorator_1 = require("@trapi/decorator");
|
|
33
34
|
const pathUtil = __importStar(require("path"));
|
|
34
35
|
const ts = __importStar(require("typescript"));
|
|
35
|
-
const
|
|
36
|
-
const decorator_1 = require("../decorator");
|
|
36
|
+
const utils_1 = require("../utils");
|
|
37
37
|
const endpoint_1 = require("./endpoint");
|
|
38
38
|
const parameter_1 = require("./parameter");
|
|
39
|
-
const resolver_1 = require("../resolver");
|
|
40
|
-
const utils_1 = require("../utils");
|
|
41
39
|
class MethodGenerator extends endpoint_1.EndpointGenerator {
|
|
42
40
|
// --------------------------------------------------------------------
|
|
43
41
|
constructor(node, current, controllerPath) {
|
|
@@ -64,13 +62,13 @@ class MethodGenerator extends endpoint_1.EndpointGenerator {
|
|
|
64
62
|
const implicitType = typeChecker.getReturnTypeOfSignature(signature);
|
|
65
63
|
nodeType = typeChecker.typeToTypeNode(implicitType, undefined, ts.NodeBuilderFlags.NoTruncation);
|
|
66
64
|
}
|
|
67
|
-
const type = new
|
|
65
|
+
const type = new decorator_1.TypeNodeResolver(nodeType, this.current).resolve();
|
|
68
66
|
const responses = this.mergeResponses(this.getResponses(), this.getMethodSuccessResponse(type));
|
|
69
67
|
return {
|
|
70
68
|
// todo: implement extensions
|
|
71
69
|
consumes: this.getConsumes(),
|
|
72
70
|
deprecated: this.isDeprecated(this.node),
|
|
73
|
-
description: (0,
|
|
71
|
+
description: (0, decorator_1.getJSDocDescription)(this.node),
|
|
74
72
|
extensions: [],
|
|
75
73
|
hidden: this.isHidden(this.node),
|
|
76
74
|
method: this.method,
|
|
@@ -80,7 +78,7 @@ class MethodGenerator extends endpoint_1.EndpointGenerator {
|
|
|
80
78
|
produces: this.getProduces(),
|
|
81
79
|
responses,
|
|
82
80
|
security: this.getSecurity(),
|
|
83
|
-
summary: (0,
|
|
81
|
+
summary: (0, decorator_1.getJSDocTagComment)(this.node, 'summary'),
|
|
84
82
|
tags: this.getTags(),
|
|
85
83
|
type,
|
|
86
84
|
};
|
|
@@ -128,15 +126,15 @@ class MethodGenerator extends endpoint_1.EndpointGenerator {
|
|
|
128
126
|
getMethodSuccessResponse(type) {
|
|
129
127
|
type = this.getMethodSuccessResponseType(type);
|
|
130
128
|
return {
|
|
131
|
-
description:
|
|
129
|
+
description: (0, decorator_1.isVoidType)(type) ? 'No content' : 'Ok',
|
|
132
130
|
examples: this.getMethodSuccessExamples(),
|
|
133
131
|
schema: type,
|
|
134
|
-
status:
|
|
135
|
-
name:
|
|
132
|
+
status: (0, decorator_1.isVoidType)(type) ? '204' : '200',
|
|
133
|
+
name: (0, decorator_1.isVoidType)(type) ? '204' : '200',
|
|
136
134
|
};
|
|
137
135
|
}
|
|
138
136
|
getMethodSuccessResponseType(type) {
|
|
139
|
-
if (!
|
|
137
|
+
if (!(0, decorator_1.isVoidType)(type)) {
|
|
140
138
|
return type;
|
|
141
139
|
}
|
|
142
140
|
const representation = this.current.decoratorMapper.match('RESPONSE_EXAMPLE', this.node);
|
|
@@ -145,9 +143,9 @@ class MethodGenerator extends endpoint_1.EndpointGenerator {
|
|
|
145
143
|
}
|
|
146
144
|
const value = representation.getPropertyValue('TYPE');
|
|
147
145
|
if (typeof value !== 'undefined' &&
|
|
148
|
-
(0,
|
|
146
|
+
(0, utils_1.hasOwnProperty)(value, 'kind') &&
|
|
149
147
|
ts.isTypeNode(value)) {
|
|
150
|
-
type = new
|
|
148
|
+
type = new decorator_1.TypeNodeResolver(value, this.current).resolve();
|
|
151
149
|
}
|
|
152
150
|
return type;
|
|
153
151
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"method.js","sourceRoot":"","sources":["../../src/generator/method.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,+CAAiC;AACjC,+CAAiC;AACjC,
|
|
1
|
+
{"version":3,"file":"method.js","sourceRoot":"","sources":["../../src/generator/method.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,gDAQ0B;AAC1B,+CAAiC;AACjC,+CAAiC;AACjC,oCAA0C;AAC1C,yCAA+C;AAC/C,2CAAiD;AAKjD,MAAa,eAAgB,SAAQ,4BAAuC;IAGxE,uEAAuE;IAEvE,YACI,IAA0B,EAC1B,OAAmC,EAClB,cAAsB;QAEvC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAFJ,mBAAc,GAAd,cAAc,CAAQ;QAGvC,IAAI,CAAC,uBAAuB,EAAE,CAAC;IACnC,CAAC;IAED,uEAAuE;IAEhE,OAAO;QACV,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;IACzB,CAAC;IAEM,aAAa;QAChB,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,IAAqB,CAAC;QACnD,OAAO,UAAU,CAAC,IAAI,CAAC;IAC3B,CAAC;IAEM,QAAQ;QACX,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;SAAE;QAEnF,IAAI,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;QAC9B,IAAI,CAAC,QAAQ,EAAE;YACX,MAAM,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;YACrC,MAAM,SAAS,GAAG,WAAW,CAAC,2BAA2B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACrE,MAAM,YAAY,GAAG,WAAW,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC;YACrE,QAAQ,GAAG,WAAW,CAAC,cAAc,CAAC,YAAY,EAAE,SAAS,EAAE,EAAE,CAAC,gBAAgB,CAAC,YAAY,CAAgB,CAAC;SACnH;QAED,MAAM,IAAI,GAAG,IAAI,4BAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC;QACpE,MAAM,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC,CAAC;QAEhG,OAAO;YACH,6BAA6B;YAC7B,QAAQ,EAAE,IAAI,CAAC,WAAW,EAAE;YAC5B,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC;YACxC,WAAW,EAAE,IAAA,+BAAmB,EAAC,IAAI,CAAC,IAAI,CAAC;YAC3C,UAAU,EAAE,EAAE;YACd,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;YAChC,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,IAAI,EAAG,IAAI,CAAC,IAAI,CAAC,IAAsB,CAAC,IAAI;YAC5C,UAAU,EAAE,IAAI,CAAC,eAAe,EAAE;YAClC,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,QAAQ,EAAE,IAAI,CAAC,WAAW,EAAE;YAC5B,SAAS;YACT,QAAQ,EAAE,IAAI,CAAC,WAAW,EAAE;YAC5B,OAAO,EAAE,IAAA,8BAAkB,EAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC;YACjD,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE;YACpB,IAAI;SACP,CAAC;IACN,CAAC;IAES,kBAAkB;QACxB,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAqB,CAAC;QACjD,MAAM,YAAY,GAAI,IAAI,CAAC,IAAI,CAAC,MAA8B,CAAC,IAAqB,CAAC;QACrF,OAAO,GAAG,YAAY,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC;IACnD,CAAC;IAEO,eAAe;QACnB,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAA0B,EAAE,EAAE;YACvE,IAAI;gBACA,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;gBAEnG,OAAO,IAAI,8BAAkB,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC;aAChF;YAAC,OAAO,CAAC,EAAE;gBACR,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAqB,CAAC;gBACjD,MAAM,YAAY,GAAI,IAAI,CAAC,IAAI,CAAC,MAA8B,CAAC,IAAqB,CAAC;gBACrF,MAAM,WAAW,GAAG,CAAC,CAAC,IAAqB,CAAC;gBAC5C,MAAM,IAAI,KAAK,CAAC,qCAAqC,YAAY,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,eAAe,WAAW,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC,CAAC;aAClI;QACL,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAY,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC;QAEzE,MAAM,cAAc,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAY,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,CAAC;QAC5E,MAAM,cAAc,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAY,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,UAAU,CAAC,CAAC;QAEhF,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE;YAC3B,MAAM,IAAI,KAAK,CAAC,uCAAuC,IAAI,CAAC,kBAAkB,EAAE,WAAW,CAAC,CAAC;SAChG;QAED,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE;YACxD,MAAM,IAAI,KAAK,CAAC,yEAAyE,IAAI,CAAC,kBAAkB,EAAE,WAAW,CAAC,CAAC;SAClI;QAED,OAAO,UAAU,CAAC;IACtB,CAAC;IAEO,uBAAuB;QAC3B,MAAM,oBAAoB,GAAG,IAAA,6BAAiB,EAAC,IAAI,CAAC,IAAI,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;QAElH,IAAI,CAAC,oBAAoB,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE;YAAE,OAAO;SAAE;QACtE,IAAI,oBAAoB,CAAC,MAAM,GAAG,CAAC,EAAE;YACjC,MAAM,IAAI,KAAK,CAAC,sCAAsC,IAAI,CAAC,kBAAkB,kCAAkC,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;SACxK;QAED,MAAM,eAAe,GAAG,oBAAoB,CAAC,CAAC,CAAC,CAAC;QAChD,IAAI,CAAC,MAAM,GAAG,eAAe,CAAC,IAAI,CAAC,WAAW,EAAgB,CAAC;QAE/D,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;IACrC,CAAC;IAEO,wBAAwB,CAAC,IAAc;QAC3C,IAAI,GAAG,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,CAAC;QAE/C,OAAO;YACH,WAAW,EAAE,IAAA,sBAAU,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI;YACnD,QAAQ,EAAE,IAAI,CAAC,wBAAwB,EAAE;YACzC,MAAM,EAAE,IAAI;YACZ,MAAM,EAAE,IAAA,sBAAU,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK;YACxC,IAAI,EAAE,IAAA,sBAAU,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK;SACzC,CAAC;IACN,CAAC;IAEO,4BAA4B,CAAC,IAAc;QAC/C,IAAI,CAAC,IAAA,sBAAU,EAAC,IAAI,CAAC,EAAE;YACnB,OAAO,IAAI,CAAC;SACf;QAED,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,KAAK,CAAC,kBAAkB,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QACzF,IAAI,OAAO,cAAc,KAAK,WAAW,EAAE;YACvC,OAAO,IAAI,CAAC;SACf;QAED,MAAM,KAAK,GAAG,cAAc,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;QAEtD,IACI,OAAO,KAAK,KAAK,WAAW;YAC5B,IAAA,sBAAc,EAAC,KAAK,EAAE,MAAM,CAAC;YAC7B,EAAE,CAAC,UAAU,CAAC,KAAgB,CAAC,EACjC;YACE,IAAI,GAAG,IAAI,4BAAgB,CAAC,KAAoB,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC;SAC7E;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;IAEO,wBAAwB;QAC5B,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,KAAK,CAAC,kBAAkB,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QACzF,IAAI,OAAO,cAAc,KAAK,WAAW,EAAE;YACvC,OAAO,EAAE,CAAC;SACb;QAED,MAAM,KAAK,GAAa,cAAc,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;QACnE,IAAI,OAAO,KAAK,KAAK,WAAW,EAAE;YAC9B,OAAO,EAAE,CAAC;SACb;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;IAEO,cAAc,CAAC,SAAqB,EAAE,eAAyB;QACnE,IAAI,CAAC,SAAS,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE;YACjC,OAAO,CAAC,eAAe,CAAC,CAAC;SAC5B;QAED,MAAM,KAAK,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,eAAe,CAAC,MAAM,CAAC,CAAC;QAEpF,IAAI,KAAK,IAAI,CAAC,EAAE;YACZ,IAAI,eAAe,CAAC,QAAQ,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE;gBACxD,SAAS,CAAC,KAAK,CAAC,CAAC,QAAQ,GAAG,eAAe,CAAC,QAAQ,CAAC;aACxD;SACJ;aAAM;YACH,SAAS,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;SACnC;QACD,OAAO,SAAS,CAAC;IACrB,CAAC;IAEO,kBAAkB,CAAC,MAAc;QACrC,OAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,CAA0B,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;IAC/J,CAAC;CACJ;AAhLD,0CAgLC"}
|
|
@@ -1,11 +1,10 @@
|
|
|
1
|
+
import { DependencyResolver, Mapper, MetadataGeneratorInterface, ReferenceType } from '@trapi/decorator';
|
|
1
2
|
import { CompilerOptions, Node, TypeChecker } from 'typescript';
|
|
2
3
|
import { Config, GeneratorOutput } from '../type';
|
|
3
|
-
|
|
4
|
-
import { Resolver } from '../resolver';
|
|
5
|
-
export declare class MetadataGenerator {
|
|
4
|
+
export declare class MetadataGenerator implements MetadataGeneratorInterface {
|
|
6
5
|
readonly nodes: Node[];
|
|
7
6
|
readonly typeChecker: TypeChecker;
|
|
8
|
-
readonly decoratorMapper:
|
|
7
|
+
readonly decoratorMapper: Mapper;
|
|
9
8
|
readonly config: Config;
|
|
10
9
|
private readonly program;
|
|
11
10
|
private cache;
|
|
@@ -30,9 +29,9 @@ export declare class MetadataGenerator {
|
|
|
30
29
|
*/
|
|
31
30
|
protected isAllowedPath(filePath: string): boolean;
|
|
32
31
|
isExportedNode(node: Node): boolean;
|
|
33
|
-
addReferenceType(referenceType:
|
|
34
|
-
getReferenceType(refName: string):
|
|
35
|
-
registerDependencyResolver(callback:
|
|
32
|
+
addReferenceType(referenceType: ReferenceType): void;
|
|
33
|
+
getReferenceType(refName: string): ReferenceType;
|
|
34
|
+
registerDependencyResolver(callback: DependencyResolver): void;
|
|
36
35
|
getClassDeclaration(className: string): Node;
|
|
37
36
|
getInterfaceDeclaration(className: string): Node;
|
|
38
37
|
private scanSourceFiles;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../src/generator/module.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../src/generator/module.ts"],"names":[],"mappings":"AAOA,OAAO,EACH,kBAAkB,EAClB,MAAM,EACN,0BAA0B,EAAE,aAAa,EAG5C,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EAEH,eAAe,EAEf,IAAI,EAKJ,WAAW,EAKd,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,MAAM,EAAc,eAAe,EAAE,MAAM,SAAS,CAAC;AAI9D,qBAAa,iBAAkB,YAAW,0BAA0B;IAChE,SAAgB,KAAK,EAAG,IAAI,EAAE,CAAC;IAE/B,SAAgB,WAAW,EAAE,WAAW,CAAC;IAEzC,SAAgB,eAAe,EAAE,MAAM,CAAC;IAExC,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,CAAsB;IAE5C,OAAO,CAAC,2BAA2B,CAAmC;gBAKlE,MAAM,EAAE,MAAM,EACd,eAAe,EAAE,eAAe;IAiB7B,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,aAAa;IAQ7C,gBAAgB,CAAC,OAAO,EAAE,MAAM;IAIhC,0BAA0B,CAAC,QAAQ,EAAE,kBAAkB;IAIvD,mBAAmB,CAAC,SAAS,EAAE,MAAM;IAYrC,uBAAuB,CAAC,SAAS,EAAE,MAAM;IAYhD,OAAO,CAAC,eAAe;IAavB,OAAO,CAAC,gBAAgB;CAa3B"}
|
package/dist/generator/module.js
CHANGED
|
@@ -5,25 +5,27 @@
|
|
|
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 __importDefault = (this && this.__importDefault) || function (mod) {
|
|
9
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
10
|
+
};
|
|
8
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
12
|
exports.MetadataGenerator = void 0;
|
|
13
|
+
const decorator_1 = require("@trapi/decorator");
|
|
14
|
+
const minimatch_1 = __importDefault(require("minimatch"));
|
|
10
15
|
const glob_1 = require("glob");
|
|
11
16
|
const typescript_1 = require("typescript");
|
|
12
|
-
const decorator_1 = require("../decorator");
|
|
13
17
|
const controller_1 = require("./controller");
|
|
14
|
-
const resolver_1 = require("../resolver");
|
|
15
18
|
const cache_1 = require("../cache");
|
|
16
|
-
const minimatch = require('minimatch');
|
|
17
19
|
class MetadataGenerator {
|
|
18
20
|
// -------------------------------------------------------------------------
|
|
19
21
|
constructor(config, compilerOptions) {
|
|
20
|
-
this.nodes = new Array();
|
|
21
22
|
this.referenceTypes = {};
|
|
22
23
|
this.circularDependencyResolvers = new Array();
|
|
24
|
+
this.nodes = [];
|
|
23
25
|
this.config = config;
|
|
24
26
|
this.cache = new cache_1.CacheDriver(config.cache);
|
|
25
|
-
this.decoratorMapper = new decorator_1.
|
|
26
|
-
|
|
27
|
+
this.decoratorMapper = new decorator_1.Mapper(config.decorator);
|
|
28
|
+
decorator_1.TypeNodeResolver.clearCache();
|
|
27
29
|
const sourceFiles = this.scanSourceFiles(config.entryFile);
|
|
28
30
|
this.program = (0, typescript_1.createProgram)(sourceFiles, compilerOptions);
|
|
29
31
|
this.typeChecker = this.program.getTypeChecker();
|
|
@@ -86,7 +88,7 @@ class MetadataGenerator {
|
|
|
86
88
|
if (typeof this.config.ignore === 'undefined') {
|
|
87
89
|
return false;
|
|
88
90
|
}
|
|
89
|
-
return this.config.ignore.some((item) =>
|
|
91
|
+
return this.config.ignore.some((item) => (0, minimatch_1.default)(filePath, item));
|
|
90
92
|
}
|
|
91
93
|
/**
|
|
92
94
|
* Check if the source file path is in the ignored path list.
|
|
@@ -98,7 +100,7 @@ class MetadataGenerator {
|
|
|
98
100
|
if (typeof this.config.allow === 'undefined') {
|
|
99
101
|
return false;
|
|
100
102
|
}
|
|
101
|
-
return this.config.allow.some((item) =>
|
|
103
|
+
return this.config.allow.some((item) => (0, minimatch_1.default)(filePath, item));
|
|
102
104
|
}
|
|
103
105
|
// -------------------------------------------------------------------------
|
|
104
106
|
isExportedNode(node) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module.js","sourceRoot":"","sources":["../../src/generator/module.ts"],"names":[],"mappings":";AAAA;;;;;GAKG
|
|
1
|
+
{"version":3,"file":"module.js","sourceRoot":"","sources":["../../src/generator/module.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
+
import { MetadataGeneratorInterface } from '@trapi/decorator';
|
|
1
2
|
import * as ts from 'typescript';
|
|
2
|
-
import { MetadataGenerator } from './index';
|
|
3
3
|
import { Parameter } from '../type';
|
|
4
4
|
export declare class ParameterGenerator {
|
|
5
5
|
private readonly parameter;
|
|
6
6
|
private readonly method;
|
|
7
7
|
private readonly path;
|
|
8
8
|
private readonly current;
|
|
9
|
-
constructor(parameter: ts.ParameterDeclaration, method: string, path: string, current:
|
|
9
|
+
constructor(parameter: ts.ParameterDeclaration, method: string, path: string, current: MetadataGeneratorInterface);
|
|
10
10
|
generate(): Parameter;
|
|
11
11
|
private getCurrentLocation;
|
|
12
12
|
private getRequestParameter;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parameter.d.ts","sourceRoot":"","sources":["../../src/generator/parameter.ts"],"names":[],"mappings":"AAOA,OAAO,
|
|
1
|
+
{"version":3,"file":"parameter.d.ts","sourceRoot":"","sources":["../../src/generator/parameter.ts"],"names":[],"mappings":"AAOA,OAAO,EAEH,0BAA0B,EAG7B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AACjC,OAAO,EAAkB,SAAS,EAAE,MAAM,SAAS,CAAC;AAcpD,qBAAa,kBAAkB;IAEvB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAHP,SAAS,EAAE,EAAE,CAAC,oBAAoB,EAClC,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,0BAA0B;IAGjD,QAAQ,IAAI,SAAS;IAoC5B,OAAO,CAAC,kBAAkB;IAM1B,OAAO,CAAC,mBAAmB;IAwB3B,OAAO,CAAC,mBAAmB;IAgC3B,OAAO,CAAC,gBAAgB;IAkCxB,OAAO,CAAC,gBAAgB;IAyBxB,OAAO,CAAC,kBAAkB;IAyB1B,OAAO,CAAC,gBAAgB;IA2BxB,OAAO,CAAC,kBAAkB;IAyB1B,OAAO,CAAC,iBAAiB;IAyDzB,OAAO,CAAC,gBAAgB;IA6BxB,OAAO,CAAC,uBAAuB;IAW/B,OAAO,CAAC,sBAAsB;IAI9B,OAAO,CAAC,mBAAmB;IAI3B,OAAO,CAAC,oBAAoB;IAM5B,OAAO,CAAC,gBAAgB;CAS3B"}
|
|
@@ -30,9 +30,8 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
30
30
|
};
|
|
31
31
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
32
32
|
exports.ParameterGenerator = void 0;
|
|
33
|
+
const decorator_1 = require("@trapi/decorator");
|
|
33
34
|
const ts = __importStar(require("typescript"));
|
|
34
|
-
const resolver_1 = require("../resolver");
|
|
35
|
-
const node_1 = require("../decorator/utils/node");
|
|
36
35
|
const supportedParameterKeys = [
|
|
37
36
|
'SERVER_CONTEXT',
|
|
38
37
|
'SERVER_PARAMS',
|
|
@@ -52,7 +51,7 @@ class ParameterGenerator {
|
|
|
52
51
|
this.current = current;
|
|
53
52
|
}
|
|
54
53
|
generate() {
|
|
55
|
-
const decorators = (0,
|
|
54
|
+
const decorators = (0, decorator_1.getNodeDecorators)(this.parameter);
|
|
56
55
|
for (let i = 0; i < supportedParameterKeys.length; i++) {
|
|
57
56
|
const representation = this.current.decoratorMapper.match(supportedParameterKeys[i], decorators);
|
|
58
57
|
if (typeof representation === 'undefined') {
|
|
@@ -255,10 +254,14 @@ class ParameterGenerator {
|
|
|
255
254
|
if (arrayType && this.supportQueryDataType(arrayType)) {
|
|
256
255
|
type = arrayType;
|
|
257
256
|
} else {
|
|
258
|
-
throw new InvalidParameterException(
|
|
257
|
+
throw new InvalidParameterException(
|
|
258
|
+
`Parameter '${parameterName}' can't be passed as a query parameter in '${this.getCurrentLocation()}'.`
|
|
259
|
+
);
|
|
259
260
|
}
|
|
260
261
|
*/
|
|
261
|
-
// throw new InvalidParameterException(
|
|
262
|
+
// throw new InvalidParameterException(
|
|
263
|
+
// `Parameter '${parameterName}' can't be passed as a query parameter in '${this.getCurrentLocation()}'.`
|
|
264
|
+
// );
|
|
262
265
|
}
|
|
263
266
|
let name = parameterName;
|
|
264
267
|
let options = {};
|
|
@@ -273,7 +276,7 @@ class ParameterGenerator {
|
|
|
273
276
|
const properties = {
|
|
274
277
|
allowEmptyValue: options.allowEmptyValue,
|
|
275
278
|
collectionFormat: options.collectionFormat,
|
|
276
|
-
default: (0,
|
|
279
|
+
default: (0, decorator_1.getInitializerValue)(this.parameter.initializer, this.current.typeChecker, type),
|
|
277
280
|
description: this.getParameterDescription(this.parameter),
|
|
278
281
|
in: 'query',
|
|
279
282
|
maxItems: options.maxItems,
|
|
@@ -338,7 +341,7 @@ class ParameterGenerator {
|
|
|
338
341
|
const type = this.current.typeChecker.getTypeAtLocation(parameter);
|
|
339
342
|
typeNode = this.current.typeChecker.typeToTypeNode(type, undefined, ts.NodeBuilderFlags.NoTruncation);
|
|
340
343
|
}
|
|
341
|
-
return new
|
|
344
|
+
return new decorator_1.TypeNodeResolver(typeNode, this.current, parameter).resolve();
|
|
342
345
|
}
|
|
343
346
|
}
|
|
344
347
|
exports.ParameterGenerator = ParameterGenerator;
|