@trapi/swagger 1.0.0-alpha.2 → 1.0.0-alpha.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (144) hide show
  1. package/dist/config/index.d.ts +3 -0
  2. package/dist/config/index.d.ts.map +1 -0
  3. package/dist/config/index.js +25 -0
  4. package/dist/config/index.js.map +1 -0
  5. package/dist/config/type.d.ts +83 -0
  6. package/dist/config/type.d.ts.map +1 -0
  7. package/dist/config/type.js +9 -0
  8. package/dist/config/type.js.map +1 -0
  9. package/dist/config/utils.d.ts +3 -0
  10. package/dist/config/utils.d.ts.map +1 -0
  11. package/dist/config/utils.js +52 -0
  12. package/dist/config/utils.js.map +1 -0
  13. package/dist/constants.d.ts +15 -0
  14. package/dist/constants.d.ts.map +1 -0
  15. package/dist/constants.js +27 -0
  16. package/dist/constants.js.map +1 -0
  17. package/dist/generator/abstract.d.ts +27 -0
  18. package/dist/generator/abstract.d.ts.map +1 -0
  19. package/dist/{specification → generator}/abstract.js +39 -29
  20. package/dist/generator/abstract.js.map +1 -0
  21. package/dist/{specification → generator}/index.d.ts +0 -2
  22. package/dist/generator/index.d.ts.map +1 -0
  23. package/dist/{specification → generator}/index.js +1 -3
  24. package/dist/generator/index.js.map +1 -0
  25. package/dist/generator/module.d.ts +14 -0
  26. package/dist/generator/module.d.ts.map +1 -0
  27. package/dist/generator/module.js +35 -0
  28. package/dist/generator/module.js.map +1 -0
  29. package/dist/generator/v2/index.d.ts +2 -0
  30. package/dist/generator/v2/index.d.ts.map +1 -0
  31. package/dist/{specification/utils → generator/v2}/index.js +2 -2
  32. package/dist/generator/v2/index.js.map +1 -0
  33. package/dist/generator/v2/module.d.ts +25 -0
  34. package/dist/generator/v2/module.d.ts.map +1 -0
  35. package/dist/generator/v2/module.js +501 -0
  36. package/dist/generator/v2/module.js.map +1 -0
  37. package/dist/generator/v3/index.d.ts +2 -0
  38. package/dist/generator/v3/index.d.ts.map +1 -0
  39. package/dist/generator/v3/index.js +24 -0
  40. package/dist/generator/v3/index.js.map +1 -0
  41. package/dist/generator/v3/module.d.ts +27 -0
  42. package/dist/generator/v3/module.d.ts.map +1 -0
  43. package/dist/{specification → generator}/v3/module.js +170 -109
  44. package/dist/generator/v3/module.js.map +1 -0
  45. package/dist/index.d.ts +3 -2
  46. package/dist/index.d.ts.map +1 -1
  47. package/dist/index.js +3 -2
  48. package/dist/index.js.map +1 -1
  49. package/dist/schema/constants.d.ts +7 -0
  50. package/dist/schema/constants.d.ts.map +1 -0
  51. package/dist/schema/constants.js +17 -0
  52. package/dist/schema/constants.js.map +1 -0
  53. package/dist/schema/index.d.ts +5 -0
  54. package/dist/schema/index.d.ts.map +1 -0
  55. package/dist/schema/index.js +27 -0
  56. package/dist/schema/index.js.map +1 -0
  57. package/dist/schema/type.d.ts +140 -0
  58. package/dist/schema/type.d.ts.map +1 -0
  59. package/dist/schema/type.js.map +1 -0
  60. package/dist/schema/v2/constants.d.ts +8 -0
  61. package/dist/schema/v2/constants.d.ts.map +1 -0
  62. package/dist/schema/v2/constants.js +18 -0
  63. package/dist/schema/v2/constants.js.map +1 -0
  64. package/dist/schema/v2/index.d.ts +3 -0
  65. package/dist/schema/v2/index.d.ts.map +1 -0
  66. package/dist/{specification/v3 → schema/v2}/index.js +1 -1
  67. package/dist/schema/v2/index.js.map +1 -0
  68. package/dist/schema/v2/type.d.ts +116 -0
  69. package/dist/schema/v2/type.d.ts.map +1 -0
  70. package/dist/schema/v2/type.js.map +1 -0
  71. package/dist/schema/v3/constants.d.ts +7 -0
  72. package/dist/schema/v3/constants.d.ts.map +1 -0
  73. package/dist/schema/v3/constants.js +17 -0
  74. package/dist/schema/v3/constants.js.map +1 -0
  75. package/dist/schema/v3/index.d.ts +3 -0
  76. package/dist/schema/v3/index.d.ts.map +1 -0
  77. package/dist/{specification/v2 → schema/v3}/index.js +1 -1
  78. package/dist/schema/v3/index.js.map +1 -0
  79. package/dist/schema/v3/type.d.ts +158 -0
  80. package/dist/schema/v3/type.d.ts.map +1 -0
  81. package/dist/schema/v3/type.js +9 -0
  82. package/dist/schema/v3/type.js.map +1 -0
  83. package/dist/type.d.ts +44 -2
  84. package/dist/type.d.ts.map +1 -1
  85. package/dist/utils/character.d.ts +3 -0
  86. package/dist/utils/character.d.ts.map +1 -0
  87. package/dist/{specification/utils → utils}/character.js +3 -4
  88. package/dist/utils/character.js.map +1 -0
  89. package/dist/utils/index.d.ts +2 -0
  90. package/dist/utils/index.d.ts.map +1 -1
  91. package/dist/utils/index.js +2 -0
  92. package/dist/utils/index.js.map +1 -1
  93. package/dist/utils/object.d.ts.map +1 -1
  94. package/dist/utils/object.js +1 -0
  95. package/dist/utils/object.js.map +1 -1
  96. package/dist/utils/value.d.ts +2 -0
  97. package/dist/utils/value.d.ts.map +1 -0
  98. package/dist/utils/value.js +26 -0
  99. package/dist/utils/value.js.map +1 -0
  100. package/package.json +5 -4
  101. package/dist/module.d.ts +0 -8
  102. package/dist/module.d.ts.map +0 -1
  103. package/dist/module.js +0 -19
  104. package/dist/module.js.map +0 -1
  105. package/dist/specification/abstract.d.ts +0 -28
  106. package/dist/specification/abstract.d.ts.map +0 -1
  107. package/dist/specification/abstract.js.map +0 -1
  108. package/dist/specification/index.d.ts.map +0 -1
  109. package/dist/specification/index.js.map +0 -1
  110. package/dist/specification/module.d.ts +0 -6
  111. package/dist/specification/module.d.ts.map +0 -1
  112. package/dist/specification/module.js +0 -29
  113. package/dist/specification/module.js.map +0 -1
  114. package/dist/specification/type.d.ts +0 -268
  115. package/dist/specification/type.d.ts.map +0 -1
  116. package/dist/specification/type.js +0 -18
  117. package/dist/specification/type.js.map +0 -1
  118. package/dist/specification/utils/character.d.ts +0 -3
  119. package/dist/specification/utils/character.d.ts.map +0 -1
  120. package/dist/specification/utils/character.js.map +0 -1
  121. package/dist/specification/utils/index.d.ts +0 -2
  122. package/dist/specification/utils/index.d.ts.map +0 -1
  123. package/dist/specification/utils/index.js.map +0 -1
  124. package/dist/specification/v2/index.d.ts +0 -3
  125. package/dist/specification/v2/index.d.ts.map +0 -1
  126. package/dist/specification/v2/index.js.map +0 -1
  127. package/dist/specification/v2/module.d.ts +0 -24
  128. package/dist/specification/v2/module.d.ts.map +0 -1
  129. package/dist/specification/v2/module.js +0 -405
  130. package/dist/specification/v2/module.js.map +0 -1
  131. package/dist/specification/v2/type.d.ts +0 -79
  132. package/dist/specification/v2/type.d.ts.map +0 -1
  133. package/dist/specification/v2/type.js.map +0 -1
  134. package/dist/specification/v3/index.d.ts +0 -3
  135. package/dist/specification/v3/index.d.ts.map +0 -1
  136. package/dist/specification/v3/index.js.map +0 -1
  137. package/dist/specification/v3/module.d.ts +0 -24
  138. package/dist/specification/v3/module.d.ts.map +0 -1
  139. package/dist/specification/v3/module.js.map +0 -1
  140. package/dist/specification/v3/type.d.ts +0 -121
  141. package/dist/specification/v3/type.d.ts.map +0 -1
  142. package/dist/specification/v3/type.js.map +0 -1
  143. /package/dist/{specification/v2 → schema}/type.js +0 -0
  144. /package/dist/{specification/v3 → schema/v2}/type.js +0 -0
@@ -1,23 +1,20 @@
1
1
  "use strict";
2
2
  /*
3
- * Copyright (c) 2021.
3
+ * Copyright (c) 2021-2023.
4
4
  * Author Peter Placzek (tada5hi)
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
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.Version3SpecGenerator = void 0;
9
+ exports.V3Generator = void 0;
10
10
  const metadata_1 = require("@trapi/metadata");
11
- const url_1 = require("url");
11
+ const node_url_1 = require("node:url");
12
12
  const smob_1 = require("smob");
13
+ const schema_1 = require("../../schema");
13
14
  const utils_1 = require("../../utils");
14
- const utils_2 = require("../utils");
15
15
  const abstract_1 = require("../abstract");
16
- class Version3SpecGenerator extends abstract_1.AbstractSpecGenerator {
17
- getSwaggerSpec() {
18
- return this.build();
19
- }
20
- build() {
16
+ class V3Generator extends abstract_1.AbstractSpecGenerator {
17
+ async build() {
21
18
  if (typeof this.spec !== 'undefined') {
22
19
  return this.spec;
23
20
  }
@@ -32,6 +29,8 @@ class Version3SpecGenerator extends abstract_1.AbstractSpecGenerator {
32
29
  if (this.config.specificationExtra) {
33
30
  spec = (0, smob_1.merge)(spec, this.config.specificationExtra);
34
31
  }
32
+ this.spec = spec;
33
+ await this.save();
35
34
  return spec;
36
35
  }
37
36
  buildComponents() {
@@ -45,90 +44,119 @@ class Version3SpecGenerator extends abstract_1.AbstractSpecGenerator {
45
44
  securitySchemes: {},
46
45
  };
47
46
  if (this.config.securityDefinitions) {
48
- components.securitySchemes = Version3SpecGenerator.translateSecurityDefinitions(this.config.securityDefinitions);
47
+ components.securitySchemes = V3Generator.translateSecurityDefinitions(this.config.securityDefinitions);
49
48
  }
50
49
  return components;
51
50
  }
52
51
  static translateSecurityDefinitions(securityDefinitions) {
53
- const security = {};
54
- // tslint:disable-next-line:forin
52
+ const output = {};
55
53
  const keys = Object.keys(securityDefinitions);
56
54
  for (let i = 0; i < keys.length; i++) {
57
55
  const securityDefinition = securityDefinitions[keys[i]];
58
56
  switch (securityDefinition.type) {
59
57
  case 'http':
60
- security[keys[i]] = securityDefinition;
58
+ output[keys[i]] = securityDefinition;
61
59
  break;
62
60
  case 'oauth2':
63
- security[keys[i]] = securityDefinition;
61
+ output[keys[i]] = securityDefinition;
64
62
  break;
65
63
  case 'apiKey':
66
- security[keys[i]] = securityDefinition;
64
+ output[keys[i]] = securityDefinition;
67
65
  break;
68
66
  }
69
67
  }
70
- return security;
68
+ return output;
71
69
  }
72
70
  buildPaths() {
73
- const paths = {};
74
- this.metadata.controllers.forEach((controller) => {
75
- // construct documentation using all methods except @Hidden
76
- controller.methods
77
- .filter((method) => !method.hidden)
78
- .forEach((method) => {
79
- let path = (0, utils_2.removeFinalCharacter)((0, utils_2.removeRepeatingCharacter)(`/${controller.path}/${method.path}`, '/'), '/');
71
+ const output = {};
72
+ for (let i = 0; i < this.metadata.controllers.length; i++) {
73
+ const controller = this.metadata.controllers[i];
74
+ for (let j = 0; j < controller.methods.length; j++) {
75
+ const method = controller.methods[j];
76
+ if (method.hidden) {
77
+ continue;
78
+ }
79
+ let path = (0, utils_1.removeFinalCharacter)((0, utils_1.removeDuplicateSlashes)(`/${controller.path}/${method.path}`), '/');
80
80
  path = (0, utils_1.normalizePathParameters)(path);
81
- paths[path] = paths[path] || {};
82
- this.buildMethod(controller.name, method, paths[path]);
83
- });
84
- });
85
- return paths;
86
- }
87
- buildMethod(controllerName, method, pathObject) {
88
- const operation = this.buildOperation(controllerName, method);
89
- if (typeof pathObject === 'object') {
90
- pathObject[method.method] = operation;
81
+ output[path] = output[path] || {};
82
+ output[path][method.method] = this.buildMethod(controller.name, method);
83
+ }
91
84
  }
92
- const pathMethod = operation;
93
- pathMethod.description = method.description;
94
- pathMethod.summary = method.summary;
95
- pathMethod.tags = method.tags;
96
- // Use operationId tag otherwise fallback to generated. Warning: This doesn't check uniqueness.
97
- pathMethod.operationId = method.operationId || pathMethod.operationId;
85
+ return output;
86
+ }
87
+ buildMethod(controllerName, method) {
88
+ const output = this.buildOperation(controllerName, method);
89
+ output.description = method.description;
90
+ output.summary = method.summary;
91
+ output.tags = method.tags;
92
+ // Use operationId tag otherwise fallback to generate. Warning: This doesn't check uniqueness.
93
+ output.operationId = method.operationId || output.operationId;
98
94
  if (method.deprecated) {
99
- pathMethod.deprecated = method.deprecated;
95
+ output.deprecated = method.deprecated;
100
96
  }
101
97
  if (method.security) {
102
- pathMethod.security = method.security;
98
+ output.security = method.security;
103
99
  }
104
- const bodyParams = method.parameters.filter((p) => p.in === 'body');
105
- const formParams = method.parameters.filter((p) => p.in === 'formData');
106
- pathMethod.parameters = method.parameters
107
- .filter((p) => ['body', 'formData', 'request', 'body-prop', 'res'].indexOf(p.in) === -1)
100
+ const parameters = this.groupParameters(method.parameters);
101
+ output.parameters = [
102
+ ...(parameters[metadata_1.ParameterSource.QUERY_PROP] || []),
103
+ ...(parameters[metadata_1.ParameterSource.HEADER] || []),
104
+ ...(parameters[metadata_1.ParameterSource.PATH] || []),
105
+ ...(parameters[metadata_1.ParameterSource.COOKIE] || []),
106
+ ]
108
107
  .map((p) => this.buildParameter(p));
108
+ // ignore ParameterSource.QUERY!
109
+ const bodyParams = parameters[metadata_1.ParameterSource.BODY] || [];
110
+ const formParams = parameters[metadata_1.ParameterSource.FORM_DATA] || [];
109
111
  if (bodyParams.length > 1) {
110
112
  throw new Error('Only one body parameter allowed per controller method.');
111
113
  }
112
114
  if (bodyParams.length > 0 && formParams.length > 0) {
113
115
  throw new Error('Either body parameter or form parameters allowed per controller method - not both.');
114
116
  }
117
+ const bodyPropParams = parameters[metadata_1.ParameterSource.BODY_PROP] || [];
118
+ if (bodyPropParams.length > 0) {
119
+ const type = {
120
+ typeName: 'nestedObjectLiteral',
121
+ properties: [],
122
+ };
123
+ for (let i = 0; i < bodyPropParams.length; i++) {
124
+ type.properties.push(bodyPropParams[i]);
125
+ }
126
+ if (!bodyParams.length) {
127
+ bodyParams.push({
128
+ in: 'body',
129
+ name: 'body',
130
+ description: '',
131
+ parameterName: bodyPropParams[0].parameterName || 'body',
132
+ required: true,
133
+ type,
134
+ validators: {},
135
+ deprecated: false,
136
+ });
137
+ }
138
+ else if (bodyParams[0].type.typeName === 'nestedObjectLiteral') {
139
+ bodyParams[0].type = type;
140
+ }
141
+ }
115
142
  if (bodyParams.length > 0) {
116
- pathMethod.requestBody = this.buildRequestBody(bodyParams[0]);
143
+ output.requestBody = this.buildRequestBody(bodyParams[0]);
117
144
  }
118
145
  else if (formParams.length > 0) {
119
- pathMethod.requestBody = this.buildRequestBodyWithFormData(formParams);
146
+ output.requestBody = this.buildRequestBodyWithFormData(formParams);
120
147
  }
121
148
  for (let i = 0; i < method.extensions.length; i++) {
122
- pathMethod[method.extensions[i].key] = method.extensions[i].value;
149
+ output[method.extensions[i].key] = method.extensions[i].value;
123
150
  }
151
+ return output;
124
152
  }
125
153
  buildRequestBodyWithFormData(parameters) {
126
154
  const required = [];
127
155
  const properties = {};
128
156
  const keys = Object.keys(parameters);
129
157
  for (let i = 0; i < parameters.length; i++) {
130
- const mediaType = this.buildMediaType(parameters[keys[i]]);
131
- properties[parameters[keys[i]].name] = mediaType.schema;
158
+ const { schema } = this.buildMediaType(parameters[keys[i]]);
159
+ properties[parameters[keys[i]].name] = schema;
132
160
  if (parameters[keys[i]].required) {
133
161
  required.push(parameters[keys[i]].name);
134
162
  }
@@ -159,34 +187,36 @@ class Version3SpecGenerator extends abstract_1.AbstractSpecGenerator {
159
187
  };
160
188
  }
161
189
  buildMediaType(parameter) {
162
- const mediaType = {
190
+ return {
163
191
  schema: this.getSwaggerType(parameter.type),
192
+ examples: this.transformParameterExamples(parameter),
164
193
  };
165
- this.buildFromParameterExamples(mediaType, parameter);
166
- return mediaType;
167
194
  }
168
- buildOperation(controllerName, method) {
169
- const swaggerResponses = {};
170
- method.responses.forEach((res) => {
171
- const name = res.status ?? 'default';
172
- // no string key
173
- swaggerResponses[name] = {
195
+ buildResponses(input) {
196
+ const output = {};
197
+ for (let i = 0; i < input.length; i++) {
198
+ const res = input[i];
199
+ const name = res.status || 'default';
200
+ output[name] = {
174
201
  description: res.description,
175
202
  };
176
203
  if (res.schema && !(0, metadata_1.isVoidType)(res.schema)) {
177
204
  const contentKey = 'application/json';
178
- swaggerResponses[name].content = {
179
- [contentKey]: {
180
- schema: this.getSwaggerType(res.schema),
181
- },
182
- };
183
- if (res.examples) {
184
- swaggerResponses[name].content[contentKey].examples = {
185
- default: {
186
- value: res.examples,
187
- },
188
- };
205
+ const examples = {};
206
+ if (res.examples &&
207
+ res.examples.length > 0) {
208
+ for (let i = 0; i < res.examples.length; i++) {
209
+ const label = res.examples[i].label || `example${i + 1}`;
210
+ examples[label] = {
211
+ value: res.examples[i].value,
212
+ };
213
+ }
189
214
  }
215
+ output[name].content = output[name].content || {};
216
+ output[name].content[contentKey] = {
217
+ schema: this.getSwaggerType(res.schema),
218
+ examples,
219
+ };
190
220
  }
191
221
  if (res.headers) {
192
222
  const headers = {};
@@ -205,38 +235,71 @@ class Version3SpecGenerator extends abstract_1.AbstractSpecGenerator {
205
235
  };
206
236
  });
207
237
  }
208
- swaggerResponses[res.name].headers = headers;
238
+ output[res.name].headers = headers;
209
239
  }
210
- });
211
- return {
240
+ }
241
+ return output;
242
+ }
243
+ buildOperation(controllerName, method) {
244
+ const operation = {
212
245
  operationId: this.getOperationId(method.name),
213
- responses: swaggerResponses,
246
+ responses: this.buildResponses(method.responses),
214
247
  };
248
+ if (method.description) {
249
+ operation.description = method.description;
250
+ }
251
+ if (method.security) {
252
+ operation.security = method.security;
253
+ }
254
+ if (method.deprecated) {
255
+ operation.deprecated = method.deprecated;
256
+ }
257
+ return operation;
258
+ }
259
+ transformParameterSource(source) {
260
+ if (source === metadata_1.ParameterSource.COOKIE) {
261
+ return schema_1.ParameterSourceV3.COOKIE;
262
+ }
263
+ if (source === metadata_1.ParameterSource.HEADER) {
264
+ return schema_1.ParameterSourceV3.HEADER;
265
+ }
266
+ if (source === metadata_1.ParameterSource.PATH) {
267
+ return schema_1.ParameterSourceV3.PATH;
268
+ }
269
+ if (source === metadata_1.ParameterSource.QUERY_PROP || source === metadata_1.ParameterSource.QUERY) {
270
+ return schema_1.ParameterSourceV3.QUERY;
271
+ }
272
+ return undefined;
215
273
  }
216
- buildParameter(source) {
274
+ buildParameter(input) {
275
+ const sourceIn = this.transformParameterSource(input.in);
276
+ if (!sourceIn) {
277
+ throw new Error(`The parameter source ${input.in} is not valid for generating a document.`);
278
+ }
217
279
  const parameter = {
218
- description: source.description,
219
- in: source.in,
220
- name: source.name,
221
- required: source.required,
280
+ allowEmptyValue: false,
281
+ deprecated: false,
282
+ description: input.description,
283
+ in: sourceIn,
284
+ name: input.name,
285
+ required: input.required,
222
286
  schema: {
223
- default: source.default,
287
+ default: input.default,
224
288
  format: undefined,
225
289
  },
226
290
  };
227
- if (source.deprecated) {
291
+ if (input.deprecated) {
228
292
  parameter.deprecated = true;
229
293
  }
230
- const parameterType = this.getSwaggerType(source.type);
294
+ const parameterType = this.getSwaggerType(input.type);
231
295
  if (parameterType.format) {
232
296
  parameter.schema.format = parameterType.format;
233
297
  }
234
- if ((0, utils_1.hasOwnProperty)(parameterType, '$ref') &&
235
- parameterType.$ref) {
298
+ if (parameterType.$ref) {
236
299
  parameter.schema = parameterType;
237
300
  return parameter;
238
301
  }
239
- if (source.type.typeName === 'any') {
302
+ if (input.type.typeName === 'any') {
240
303
  parameter.schema.type = 'string';
241
304
  }
242
305
  else {
@@ -246,34 +309,32 @@ class Version3SpecGenerator extends abstract_1.AbstractSpecGenerator {
246
309
  parameter.schema.items = parameterType.items;
247
310
  parameter.schema.enum = parameterType.enum;
248
311
  }
249
- this.buildFromParameterExamples(parameter, source);
312
+ parameter.examples = this.transformParameterExamples(input);
250
313
  return parameter;
251
314
  }
252
- buildFromParameterExamples(parameter, sourceParameter) {
253
- if ((Array.isArray(sourceParameter.example) && sourceParameter.example.length === 1) ||
254
- typeof sourceParameter.example === 'undefined') {
255
- parameter.example = Array.isArray(sourceParameter.example) &&
256
- sourceParameter.example.length === 1 ?
257
- sourceParameter.example[0] :
258
- undefined;
259
- }
260
- else {
261
- parameter.examples = {};
262
- sourceParameter.example.forEach((example, index) => Object.assign(parameter.examples, {
263
- [`Example ${index + 1}`]: { value: example },
264
- }));
315
+ transformParameterExamples(parameter) {
316
+ const output = {};
317
+ if (parameter.examples &&
318
+ parameter.examples.length > 0) {
319
+ for (let i = 0; i < parameter.examples.length; i++) {
320
+ const label = parameter.examples[i].label || `example${i + 1}`;
321
+ output[label] = {
322
+ value: parameter.examples[i].value,
323
+ };
324
+ }
265
325
  }
266
- return parameter;
326
+ return output;
267
327
  }
268
328
  buildServers() {
269
- const url = new url_1.URL(this.config.host || 'http://localhost:3000/');
270
- let host = (url.host + url.pathname).replace(/([^:]\/)\/+/g, '$1');
271
- host = host.substr(-1, 1) === '/' ? host.substr(0, host.length - 1) : host;
272
- return [
273
- {
274
- url: host,
275
- },
276
- ];
329
+ const servers = [];
330
+ for (let i = 0; i < this.config.servers.length; i++) {
331
+ const url = new node_url_1.URL(this.config.servers[i].url, 'http://localhost:3000/');
332
+ servers.push({
333
+ url: `${url.protocol}//${url.host}${url.pathname || ''}`,
334
+ ...(this.config.servers[i].description ? { description: this.config.servers[i].description } : {}),
335
+ });
336
+ }
337
+ return servers;
277
338
  }
278
339
  buildSchema() {
279
340
  const schema = {};
@@ -388,5 +449,5 @@ class Version3SpecGenerator extends abstract_1.AbstractSpecGenerator {
388
449
  };
389
450
  }
390
451
  }
391
- exports.Version3SpecGenerator = Version3SpecGenerator;
452
+ exports.V3Generator = V3Generator;
392
453
  //# sourceMappingURL=module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"module.js","sourceRoot":"","sources":["../../../src/generator/v3/module.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,6 +1,7 @@
1
+ export * from './constants';
1
2
  export * from './metadata';
2
- export * from './module';
3
- export * from './specification';
3
+ export * from './generator';
4
+ export * from './schema';
4
5
  export * from './type';
5
6
  export * from './utils';
6
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAOA,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC;AAChC,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAOA,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC"}
package/dist/index.js CHANGED
@@ -20,9 +20,10 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
20
20
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
21
21
  };
22
22
  Object.defineProperty(exports, "__esModule", { value: true });
23
+ __exportStar(require("./constants"), exports);
23
24
  __exportStar(require("./metadata"), exports);
24
- __exportStar(require("./module"), exports);
25
- __exportStar(require("./specification"), exports);
25
+ __exportStar(require("./generator"), exports);
26
+ __exportStar(require("./schema"), exports);
26
27
  __exportStar(require("./type"), exports);
27
28
  __exportStar(require("./utils"), exports);
28
29
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;;;;;;;;;;;AAEH,6CAA2B;AAC3B,2CAAyB;AACzB,kDAAgC;AAChC,yCAAuB;AACvB,0CAAwB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;;;;;;;;;;;AAEH,8CAA4B;AAC5B,6CAA2B;AAC3B,8CAA4B;AAC5B,2CAAyB;AACzB,yCAAuB;AACvB,0CAAwB"}
@@ -0,0 +1,7 @@
1
+ export declare enum TransferProtocol {
2
+ HTTP = "http",
3
+ HTTPS = "https",
4
+ WS = "ws",
5
+ WSS = "wss"
6
+ }
7
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/schema/constants.ts"],"names":[],"mappings":"AAOA,oBAAY,gBAAgB;IACxB,IAAI,SAAS;IACb,KAAK,UAAU;IACf,EAAE,OAAO;IACT,GAAG,QAAQ;CACd"}
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ /*
3
+ * Copyright (c) 2023.
4
+ * Author Peter Placzek (tada5hi)
5
+ * For the full copyright and license information,
6
+ * view the LICENSE file that was distributed with this source code.
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.TransferProtocol = void 0;
10
+ var TransferProtocol;
11
+ (function (TransferProtocol) {
12
+ TransferProtocol["HTTP"] = "http";
13
+ TransferProtocol["HTTPS"] = "https";
14
+ TransferProtocol["WS"] = "ws";
15
+ TransferProtocol["WSS"] = "wss";
16
+ })(TransferProtocol = exports.TransferProtocol || (exports.TransferProtocol = {}));
17
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/schema/constants.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,IAAY,gBAKX;AALD,WAAY,gBAAgB;IACxB,iCAAa,CAAA;IACb,mCAAe,CAAA;IACf,6BAAS,CAAA;IACT,+BAAW,CAAA;AACf,CAAC,EALW,gBAAgB,GAAhB,wBAAgB,KAAhB,wBAAgB,QAK3B"}
@@ -0,0 +1,5 @@
1
+ export * from './v2';
2
+ export * from './v3';
3
+ export * from './constants';
4
+ export * from './type';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/schema/index.ts"],"names":[],"mappings":"AAOA,cAAc,MAAM,CAAC;AACrB,cAAc,MAAM,CAAC;AACrB,cAAc,aAAa,CAAC;AAC5B,cAAc,QAAQ,CAAC"}
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ /*
3
+ * Copyright (c) 2021.
4
+ * Author Peter Placzek (tada5hi)
5
+ * For the full copyright and license information,
6
+ * view the LICENSE file that was distributed with this source code.
7
+ */
8
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
9
+ if (k2 === undefined) k2 = k;
10
+ var desc = Object.getOwnPropertyDescriptor(m, k);
11
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
12
+ desc = { enumerable: true, get: function() { return m[k]; } };
13
+ }
14
+ Object.defineProperty(o, k2, desc);
15
+ }) : (function(o, m, k, k2) {
16
+ if (k2 === undefined) k2 = k;
17
+ o[k2] = m[k];
18
+ }));
19
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
20
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
21
+ };
22
+ Object.defineProperty(exports, "__esModule", { value: true });
23
+ __exportStar(require("./v2"), exports);
24
+ __exportStar(require("./v3"), exports);
25
+ __exportStar(require("./constants"), exports);
26
+ __exportStar(require("./type"), exports);
27
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/schema/index.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;;;;;;;;;;;AAEH,uCAAqB;AACrB,uCAAqB;AACrB,8CAA4B;AAC5B,yCAAuB"}