@trapi/swagger 1.0.0-alpha.10 → 1.0.0-alpha.11
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/constants.d.ts +2 -2
- package/dist/constants.js +2 -2
- package/dist/generator/abstract.d.ts +16 -10
- package/dist/generator/abstract.d.ts.map +1 -1
- package/dist/generator/abstract.js +86 -49
- package/dist/generator/abstract.js.map +1 -1
- package/dist/generator/v2/module.d.ts +5 -7
- package/dist/generator/v2/module.d.ts.map +1 -1
- package/dist/generator/v2/module.js +86 -86
- package/dist/generator/v2/module.js.map +1 -1
- package/dist/generator/v3/module.d.ts +4 -5
- package/dist/generator/v3/module.d.ts.map +1 -1
- package/dist/generator/v3/module.js +54 -63
- package/dist/generator/v3/module.js.map +1 -1
- package/dist/schema/constants.d.ts +21 -0
- package/dist/schema/constants.d.ts.map +1 -1
- package/dist/schema/constants.js +24 -1
- package/dist/schema/constants.js.map +1 -1
- package/dist/schema/type.d.ts +3 -4
- package/dist/schema/type.d.ts.map +1 -1
- package/dist/schema/v2/type.d.ts +4 -4
- package/dist/schema/v2/type.d.ts.map +1 -1
- package/dist/schema/v3/type.d.ts +4 -3
- package/dist/schema/v3/type.d.ts.map +1 -1
- package/package.json +3 -3
package/dist/constants.d.ts
CHANGED
package/dist/constants.js
CHANGED
|
@@ -9,8 +9,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
9
9
|
exports.SecurityType = exports.DocumentFormat = exports.Version = void 0;
|
|
10
10
|
var Version;
|
|
11
11
|
(function (Version) {
|
|
12
|
-
Version["V2"] = "
|
|
13
|
-
Version["V3"] = "
|
|
12
|
+
Version["V2"] = "v2";
|
|
13
|
+
Version["V3"] = "v3";
|
|
14
14
|
})(Version = exports.Version || (exports.Version = {}));
|
|
15
15
|
var DocumentFormat;
|
|
16
16
|
(function (DocumentFormat) {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { BaseType, EnumType, IntersectionType, Metadata, NestedObjectLiteralType, Parameter, ParameterSource, ReferenceType, ResolverProperty, UnionType, Validators, VariableType } from '@trapi/metadata';
|
|
1
|
+
import type { BaseType, EnumType, Extension, IntersectionType, Metadata, NestedObjectLiteralType, Parameter, ParameterSource, RefAliasType, RefEnumType, RefObjectType, ReferenceType, ResolverProperty, UnionType, Validators, VariableType } from '@trapi/metadata';
|
|
2
2
|
import type { Options, OptionsInput } from '../config';
|
|
3
3
|
import type { DocumentFormat } from '../constants';
|
|
4
4
|
import type { DocumentFormatData } from '../type';
|
|
@@ -11,19 +11,25 @@ export declare abstract class AbstractSpecGenerator<Spec extends SpecV2 | SpecV3
|
|
|
11
11
|
save(): Promise<Record<`${DocumentFormat}`, DocumentFormatData>>;
|
|
12
12
|
abstract build(): Promise<Spec>;
|
|
13
13
|
protected buildInfo(): Info;
|
|
14
|
-
protected
|
|
15
|
-
protected abstract
|
|
16
|
-
protected abstract
|
|
17
|
-
private
|
|
18
|
-
private
|
|
19
|
-
|
|
20
|
-
protected abstract
|
|
21
|
-
protected abstract
|
|
14
|
+
protected getSchemaForType(type: BaseType): Schema | BaseSchema<Schema>;
|
|
15
|
+
protected abstract getSchemaForIntersectionType(type: IntersectionType): Schema;
|
|
16
|
+
protected abstract getSchemaForEnumType(enumType: EnumType): Schema;
|
|
17
|
+
private getSchemaForPrimitiveType;
|
|
18
|
+
private getSchemaForArrayType;
|
|
19
|
+
getSchemaForObjectLiteralType(objectLiteral: NestedObjectLiteralType): BaseSchema<Schema>;
|
|
20
|
+
protected abstract getSchemaForReferenceType(referenceType: ReferenceType): Schema;
|
|
21
|
+
protected abstract getSchemaForUnionType(type: UnionType): Schema;
|
|
22
|
+
protected abstract buildSchemaForRefAlias(referenceType: RefAliasType): Schema;
|
|
23
|
+
protected abstract buildSchemaForRefEnum(referenceType: RefEnumType): Schema;
|
|
24
|
+
protected abstract buildSchemaForRefObject(referenceType: RefObjectType): Schema;
|
|
25
|
+
protected buildSchemasForReferenceTypes(extendFn?: (output: Schema, input: ReferenceType) => void): Record<string, Schema>;
|
|
26
|
+
protected isUndefinedProperty(input: ResolverProperty): boolean;
|
|
22
27
|
protected abstract buildProperties(properties: ResolverProperty[]): Record<string, Schema>;
|
|
23
28
|
protected determineTypesUsedInEnum(anEnum: Array<string | number | boolean | null>): VariableType[];
|
|
24
29
|
protected decideEnumType(input: Array<string | number | boolean>): 'string' | 'number' | 'boolean';
|
|
25
30
|
protected getOperationId(name: string): string;
|
|
26
31
|
protected groupParameters(items: Parameter[]): Partial<Record<ParameterSource, Parameter[]>>;
|
|
27
|
-
protected
|
|
32
|
+
protected transformExtensions(input?: Extension[]): Record<string, any>;
|
|
33
|
+
protected transformValidators(input?: Validators): Record<string, any>;
|
|
28
34
|
}
|
|
29
35
|
//# sourceMappingURL=abstract.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"abstract.d.ts","sourceRoot":"","sources":["../../src/generator/abstract.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAER,QAAQ,EACR,QAAQ,
|
|
1
|
+
{"version":3,"file":"abstract.d.ts","sourceRoot":"","sources":["../../src/generator/abstract.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,6 +16,7 @@ const node_fs_1 = __importDefault(require("node:fs"));
|
|
|
16
16
|
const smob_1 = require("smob");
|
|
17
17
|
const yamljs_1 = __importDefault(require("yamljs"));
|
|
18
18
|
const config_1 = require("../config");
|
|
19
|
+
const schema_1 = require("../schema");
|
|
19
20
|
class AbstractSpecGenerator {
|
|
20
21
|
constructor(metadata, config) {
|
|
21
22
|
this.metadata = metadata;
|
|
@@ -37,14 +38,14 @@ class AbstractSpecGenerator {
|
|
|
37
38
|
const data = [
|
|
38
39
|
{
|
|
39
40
|
path: node_path_1.default.join(this.config.outputDirectory, `${this.config.outputFileName}.json`),
|
|
40
|
-
name:
|
|
41
|
+
name: `${this.config.outputFileName}.json`,
|
|
41
42
|
content: JSON.stringify(this.spec, null, 4),
|
|
42
43
|
},
|
|
43
44
|
];
|
|
44
45
|
if (this.config.yaml) {
|
|
45
46
|
data.push({
|
|
46
47
|
path: node_path_1.default.join(this.config.outputDirectory, `${this.config.outputFileName}.yaml`),
|
|
47
|
-
name:
|
|
48
|
+
name: `${this.config.outputFileName}.yaml`,
|
|
48
49
|
content: yamljs_1.default.stringify(this.spec, 1000),
|
|
49
50
|
});
|
|
50
51
|
}
|
|
@@ -56,7 +57,7 @@ class AbstractSpecGenerator {
|
|
|
56
57
|
}
|
|
57
58
|
buildInfo() {
|
|
58
59
|
const info = {
|
|
59
|
-
title: this.config.name || '',
|
|
60
|
+
title: this.config.name || 'Documentation',
|
|
60
61
|
version: this.config.version || '1.0.0',
|
|
61
62
|
};
|
|
62
63
|
if (this.config.description) {
|
|
@@ -67,87 +68,109 @@ class AbstractSpecGenerator {
|
|
|
67
68
|
}
|
|
68
69
|
return info;
|
|
69
70
|
}
|
|
70
|
-
|
|
71
|
-
if ((0, metadata_1.isVoidType)(type)) {
|
|
71
|
+
getSchemaForType(type) {
|
|
72
|
+
if ((0, metadata_1.isVoidType)(type) || (0, metadata_1.isUndefinedType)(type)) {
|
|
72
73
|
return {};
|
|
73
74
|
}
|
|
74
75
|
if ((0, metadata_1.isReferenceType)(type)) {
|
|
75
|
-
return this.
|
|
76
|
-
}
|
|
77
|
-
if (type
|
|
78
|
-
type
|
|
79
|
-
type.typeName === 'boolean' ||
|
|
80
|
-
type.typeName === 'buffer' ||
|
|
81
|
-
type.typeName === 'byte' ||
|
|
82
|
-
type.typeName === 'date' ||
|
|
83
|
-
type.typeName === 'datetime' ||
|
|
84
|
-
type.typeName === 'double' ||
|
|
85
|
-
type.typeName === 'float' ||
|
|
86
|
-
type.typeName === 'file' ||
|
|
87
|
-
type.typeName === 'integer' ||
|
|
88
|
-
type.typeName === 'long' ||
|
|
89
|
-
type.typeName === 'object' ||
|
|
90
|
-
type.typeName === 'string') {
|
|
91
|
-
return this.getSwaggerTypeForPrimitiveType(type.typeName);
|
|
76
|
+
return this.getSchemaForReferenceType(type);
|
|
77
|
+
}
|
|
78
|
+
if ((0, metadata_1.isPrimitiveType)(type)) {
|
|
79
|
+
return this.getSchemaForPrimitiveType(type);
|
|
92
80
|
}
|
|
93
81
|
if ((0, metadata_1.isArrayType)(type)) {
|
|
94
|
-
return this.
|
|
82
|
+
return this.getSchemaForArrayType(type);
|
|
95
83
|
}
|
|
96
84
|
if ((0, metadata_1.isEnumType)(type)) {
|
|
97
|
-
return this.
|
|
85
|
+
return this.getSchemaForEnumType(type);
|
|
98
86
|
}
|
|
99
87
|
if ((0, metadata_1.isUnionType)(type)) {
|
|
100
|
-
return this.
|
|
88
|
+
return this.getSchemaForUnionType(type);
|
|
101
89
|
}
|
|
102
90
|
if ((0, metadata_1.isIntersectionType)(type)) {
|
|
103
|
-
return this.
|
|
91
|
+
return this.getSchemaForIntersectionType(type);
|
|
104
92
|
}
|
|
105
93
|
if ((0, metadata_1.isNestedObjectLiteralType)(type)) {
|
|
106
|
-
return this.
|
|
94
|
+
return this.getSchemaForObjectLiteralType(type);
|
|
107
95
|
}
|
|
108
96
|
return {};
|
|
109
97
|
}
|
|
110
|
-
|
|
98
|
+
getSchemaForPrimitiveType(type) {
|
|
111
99
|
const PrimitiveSwaggerTypeMap = {
|
|
112
100
|
any: {
|
|
113
101
|
additionalProperties: true,
|
|
114
102
|
},
|
|
115
|
-
binary: { type:
|
|
116
|
-
boolean: { type:
|
|
117
|
-
buffer: { type:
|
|
118
|
-
byte: { type:
|
|
119
|
-
date: { type:
|
|
120
|
-
datetime: { type:
|
|
121
|
-
double: { type:
|
|
122
|
-
file: { type:
|
|
123
|
-
float: { type:
|
|
124
|
-
integer: { type:
|
|
125
|
-
long: { type:
|
|
103
|
+
binary: { type: schema_1.DataTypeName.STRING, format: schema_1.DataFormatName.BINARY },
|
|
104
|
+
boolean: { type: schema_1.DataTypeName.BOOLEAN },
|
|
105
|
+
buffer: { type: schema_1.DataTypeName.STRING, format: schema_1.DataFormatName.BYTE },
|
|
106
|
+
byte: { type: schema_1.DataTypeName.STRING, format: schema_1.DataFormatName.BYTE },
|
|
107
|
+
date: { type: schema_1.DataTypeName.STRING, format: schema_1.DataFormatName.DATE },
|
|
108
|
+
datetime: { type: schema_1.DataTypeName.STRING, format: schema_1.DataFormatName.DATE_TIME },
|
|
109
|
+
double: { type: schema_1.DataTypeName.NUMBER, format: schema_1.DataFormatName.DOUBLE },
|
|
110
|
+
file: { type: schema_1.DataTypeName.STRING, format: schema_1.DataFormatName.BINARY },
|
|
111
|
+
float: { type: schema_1.DataTypeName.NUMBER, format: schema_1.DataFormatName.FLOAT },
|
|
112
|
+
integer: { type: schema_1.DataTypeName.INTEGER, format: schema_1.DataFormatName.INT_32 },
|
|
113
|
+
long: { type: schema_1.DataTypeName.INTEGER, format: schema_1.DataFormatName.INT_64 },
|
|
126
114
|
object: {
|
|
127
|
-
type:
|
|
115
|
+
type: schema_1.DataTypeName.OBJECT,
|
|
128
116
|
additionalProperties: true,
|
|
129
117
|
},
|
|
130
|
-
string: { type:
|
|
118
|
+
string: { type: schema_1.DataTypeName.STRING },
|
|
131
119
|
};
|
|
132
|
-
return PrimitiveSwaggerTypeMap[type];
|
|
120
|
+
return PrimitiveSwaggerTypeMap[type.typeName] || { type: schema_1.DataTypeName.OBJECT };
|
|
133
121
|
}
|
|
134
|
-
|
|
135
|
-
return {
|
|
122
|
+
getSchemaForArrayType(arrayType) {
|
|
123
|
+
return {
|
|
124
|
+
type: schema_1.DataTypeName.ARRAY,
|
|
125
|
+
items: this.getSchemaForType(arrayType.elementType),
|
|
126
|
+
};
|
|
136
127
|
}
|
|
137
|
-
|
|
128
|
+
getSchemaForObjectLiteralType(objectLiteral) {
|
|
138
129
|
const properties = this.buildProperties(objectLiteral.properties);
|
|
139
|
-
const additionalProperties = objectLiteral.additionalProperties &&
|
|
130
|
+
const additionalProperties = objectLiteral.additionalProperties &&
|
|
131
|
+
this.getSchemaForType(objectLiteral.additionalProperties);
|
|
140
132
|
const required = objectLiteral.properties
|
|
141
|
-
.filter((prop) => prop.required
|
|
133
|
+
.filter((prop) => prop.required && !this.isUndefinedProperty(prop))
|
|
134
|
+
.map((prop) => prop.name);
|
|
142
135
|
// An empty list required: [] is not valid.
|
|
143
136
|
// If all properties are optional, do not specify the required keyword.
|
|
144
137
|
return {
|
|
145
138
|
properties,
|
|
146
139
|
...(additionalProperties && { additionalProperties }),
|
|
147
140
|
...(required && required.length && { required }),
|
|
148
|
-
type:
|
|
141
|
+
type: schema_1.DataTypeName.OBJECT,
|
|
149
142
|
};
|
|
150
143
|
}
|
|
144
|
+
buildSchemasForReferenceTypes(extendFn) {
|
|
145
|
+
const output = {};
|
|
146
|
+
const keys = Object.keys(this.metadata.referenceTypes);
|
|
147
|
+
for (let i = 0; i < keys.length; i++) {
|
|
148
|
+
const referenceType = this.metadata.referenceTypes[keys[i]];
|
|
149
|
+
switch (referenceType.typeName) {
|
|
150
|
+
case metadata_1.TypeName.REF_ALIAS: {
|
|
151
|
+
output[referenceType.refName] = this.buildSchemaForRefAlias(referenceType);
|
|
152
|
+
break;
|
|
153
|
+
}
|
|
154
|
+
case metadata_1.TypeName.REF_ENUM: {
|
|
155
|
+
output[referenceType.refName] = this.buildSchemaForRefEnum(referenceType);
|
|
156
|
+
break;
|
|
157
|
+
}
|
|
158
|
+
case metadata_1.TypeName.REF_OBJECT: {
|
|
159
|
+
output[referenceType.refName] = this.buildSchemaForRefObject(referenceType);
|
|
160
|
+
break;
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
if (typeof extendFn === 'function') {
|
|
164
|
+
extendFn(output[referenceType.refName], referenceType);
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
return output;
|
|
168
|
+
}
|
|
169
|
+
// ----------------------------------------------------------------
|
|
170
|
+
isUndefinedProperty(input) {
|
|
171
|
+
return (0, metadata_1.isUndefinedType)(input.type) ||
|
|
172
|
+
((0, metadata_1.isUnionType)(input.type) && input.type.members.some((el) => (0, metadata_1.isUndefinedType)(el)));
|
|
173
|
+
}
|
|
151
174
|
determineTypesUsedInEnum(anEnum) {
|
|
152
175
|
const set = new Set();
|
|
153
176
|
for (let i = 0; i < anEnum.length; i++) {
|
|
@@ -193,7 +216,21 @@ class AbstractSpecGenerator {
|
|
|
193
216
|
}
|
|
194
217
|
return output;
|
|
195
218
|
}
|
|
196
|
-
|
|
219
|
+
transformExtensions(input) {
|
|
220
|
+
if (!input) {
|
|
221
|
+
return {};
|
|
222
|
+
}
|
|
223
|
+
const output = {};
|
|
224
|
+
for (let i = 0; i < input.length; i++) {
|
|
225
|
+
const extension = input[i];
|
|
226
|
+
if (!extension.key.startsWith('x-')) {
|
|
227
|
+
extension.key = `x-${extension.key}`;
|
|
228
|
+
}
|
|
229
|
+
output[extension.key] = extension.value;
|
|
230
|
+
}
|
|
231
|
+
return output;
|
|
232
|
+
}
|
|
233
|
+
transformValidators(input) {
|
|
197
234
|
if (!(0, smob_1.isObject)(input)) {
|
|
198
235
|
return {};
|
|
199
236
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"abstract.js","sourceRoot":"","sources":["../../src/generator/abstract.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;
|
|
1
|
+
{"version":3,"file":"abstract.js","sourceRoot":"","sources":["../../src/generator/abstract.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
import type { EnumType, IntersectionType, Parameter, RefAliasType, RefEnumType, RefObjectType, ReferenceType, ResolverProperty, UnionType } from '@trapi/metadata';
|
|
2
|
-
import { AbstractSpecGenerator } from '../abstract';
|
|
3
2
|
import type { ParameterV2, SchemaV2, SpecV2 } from '../../schema';
|
|
3
|
+
import { AbstractSpecGenerator } from '../abstract';
|
|
4
4
|
export declare class V2Generator extends AbstractSpecGenerator<SpecV2, SchemaV2> {
|
|
5
5
|
build(): Promise<SpecV2>;
|
|
6
6
|
private static translateSecurityDefinitions;
|
|
7
|
-
private buildDefinitions;
|
|
8
7
|
protected buildSchemaForRefObject(referenceType: RefObjectType): SchemaV2;
|
|
9
8
|
protected buildSchemaForRefEnum(referenceType: RefEnumType): SchemaV2;
|
|
10
9
|
protected buildSchemaForRefAlias(referenceType: RefAliasType): SchemaV2;
|
|
@@ -16,12 +15,11 @@ export declare class V2Generator extends AbstractSpecGenerator<SpecV2, SchemaV2>
|
|
|
16
15
|
private hasFileParams;
|
|
17
16
|
private hasFormParams;
|
|
18
17
|
private supportsBodyParameters;
|
|
19
|
-
protected
|
|
20
|
-
protected
|
|
21
|
-
protected
|
|
22
|
-
protected
|
|
18
|
+
protected getSchemaForEnumType(enumType: EnumType): SchemaV2;
|
|
19
|
+
protected getSchemaForIntersectionType(type: IntersectionType): SchemaV2;
|
|
20
|
+
protected getSchemaForReferenceType(referenceType: ReferenceType): SchemaV2;
|
|
21
|
+
protected getSchemaForUnionType(type: UnionType): SchemaV2;
|
|
23
22
|
protected buildProperties(properties: ResolverProperty[]): Record<string, SchemaV2>;
|
|
24
23
|
private buildOperation;
|
|
25
|
-
private getMimeType;
|
|
26
24
|
}
|
|
27
25
|
//# sourceMappingURL=module.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../../src/generator/v2/module.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EACR,QAAQ,EACR,gBAAgB,EAEhB,SAAS,EACT,YAAY,EACZ,WAAW,EACX,aAAa,EACb,aAAa,EACb,gBAAgB,
|
|
1
|
+
{"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../../src/generator/v2/module.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EACR,QAAQ,EACR,gBAAgB,EAEhB,SAAS,EACT,YAAY,EACZ,WAAW,EACX,aAAa,EACb,aAAa,EACb,gBAAgB,EAGhB,SAAS,EACZ,MAAM,iBAAiB,CAAC;AAgBzB,OAAO,KAAK,EAKR,WAAW,EAGX,QAAQ,EAER,MAAM,EACT,MAAM,cAAc,CAAC;AAKtB,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAEpD,qBAAa,WAAY,SAAQ,qBAAqB,CAAC,MAAM,EAAE,QAAQ,CAAC;IAC9D,KAAK,IAAK,OAAO,CAAC,MAAM,CAAC;IA+C/B,OAAO,CAAC,MAAM,CAAC,4BAA4B;IA+D3C,SAAS,CAAC,uBAAuB,CAAC,aAAa,EAAE,aAAa,GAAI,QAAQ;IAuB1E,SAAS,CAAC,qBAAqB,CAAC,aAAa,EAAE,WAAW,GAAI,QAAQ;IActE,SAAS,CAAC,sBAAsB,CAAC,aAAa,EAAE,YAAY,GAAI,QAAQ;IAkBxE,OAAO,CAAC,UAAU;IAyBlB,OAAO,CAAC,WAAW;IAuGnB,OAAO,CAAC,wBAAwB;IA4BhC,SAAS,CAAC,cAAc,CAAC,KAAK,EAAE,SAAS,GAAG,WAAW;IAkFvD,OAAO,CAAC,mBAAmB;IAuB3B,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,sBAAsB;IAQ9B,SAAS,CAAC,oBAAoB,CAAC,QAAQ,EAAE,QAAQ,GAAI,QAAQ;IAW7D,SAAS,CAAC,4BAA4B,CAAC,IAAI,EAAE,gBAAgB,GAAI,QAAQ;IAoBzE,SAAS,CAAC,yBAAyB,CAAC,aAAa,EAAE,aAAa,GAAG,QAAQ;IAI3E,SAAS,CAAC,qBAAqB,CAAC,IAAI,EAAE,SAAS,GAAI,QAAQ;IA8C3D,SAAS,CAAC,eAAe,CAAC,UAAU,EAAE,gBAAgB,EAAE,GAAI,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC;IAmCpF,OAAO,CAAC,cAAc;CAmEzB"}
|