serverless-openapi-documenter 0.0.92 → 0.0.94
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/package.json
CHANGED
|
@@ -154,10 +154,16 @@ class DefinitionGenerator {
|
|
|
154
154
|
Object.assign(info, { license: licenseObj });
|
|
155
155
|
}
|
|
156
156
|
|
|
157
|
-
for (const key of Object.keys(documentation)) {
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
157
|
+
// for (const key of Object.keys(documentation)) {
|
|
158
|
+
// if (/^[x\-]/i.test(key)) {
|
|
159
|
+
// Object.assign(info, { [key]: documentation[key] });
|
|
160
|
+
// }
|
|
161
|
+
// }
|
|
162
|
+
|
|
163
|
+
const extendedSpec = this.extendSpecification(documentation);
|
|
164
|
+
|
|
165
|
+
if (Object.keys(extendedSpec).length) {
|
|
166
|
+
Object.assign(info, extendedSpec);
|
|
161
167
|
}
|
|
162
168
|
|
|
163
169
|
Object.assign(this.openAPI, { info });
|
|
@@ -419,6 +425,12 @@ class DefinitionGenerator {
|
|
|
419
425
|
obj.servers = servers;
|
|
420
426
|
}
|
|
421
427
|
|
|
428
|
+
const extendedSpec = this.extendSpecification(documentation);
|
|
429
|
+
|
|
430
|
+
if (Object.keys(extendedSpec).length) {
|
|
431
|
+
Object.assign(obj, extendedSpec);
|
|
432
|
+
}
|
|
433
|
+
|
|
422
434
|
return { [method.toLowerCase()]: obj };
|
|
423
435
|
}
|
|
424
436
|
|
|
@@ -431,12 +443,14 @@ class DefinitionGenerator {
|
|
|
431
443
|
|
|
432
444
|
this.currentStatusCode = response.statusCode;
|
|
433
445
|
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
446
|
+
if (Object.keys(response.responseModels).length) {
|
|
447
|
+
obj.content = await this.createMediaTypeObject(
|
|
448
|
+
response.responseModels,
|
|
449
|
+
"responses"
|
|
450
|
+
).catch((err) => {
|
|
451
|
+
throw err;
|
|
452
|
+
});
|
|
453
|
+
}
|
|
440
454
|
|
|
441
455
|
if (response.responseHeaders) {
|
|
442
456
|
obj.headers = await this.createResponseHeaders(
|
|
@@ -584,6 +598,7 @@ class DefinitionGenerator {
|
|
|
584
598
|
|
|
585
599
|
async createMediaTypeObject(models, type) {
|
|
586
600
|
const mediaTypeObj = {};
|
|
601
|
+
|
|
587
602
|
for (const mediaTypeDocumentation of this.schemaHandler.models) {
|
|
588
603
|
if (models === undefined || models === null) {
|
|
589
604
|
throw new Error(
|
|
@@ -937,6 +952,17 @@ class DefinitionGenerator {
|
|
|
937
952
|
}
|
|
938
953
|
}
|
|
939
954
|
|
|
955
|
+
extendSpecification(spec) {
|
|
956
|
+
const obj = {};
|
|
957
|
+
for (const key of Object.keys(spec)) {
|
|
958
|
+
if (/^[x\-]/i.test(key)) {
|
|
959
|
+
Object.assign(obj, { [key]: spec[key] });
|
|
960
|
+
}
|
|
961
|
+
}
|
|
962
|
+
|
|
963
|
+
return obj;
|
|
964
|
+
}
|
|
965
|
+
|
|
940
966
|
getHTTPFunctions() {
|
|
941
967
|
const isHttpFunction = (funcType) => {
|
|
942
968
|
const keys = Object.keys(funcType);
|
|
@@ -90,7 +90,7 @@ describe("OpenAPIGenerator", () => {
|
|
|
90
90
|
getFuncStub.reset();
|
|
91
91
|
});
|
|
92
92
|
|
|
93
|
-
|
|
93
|
+
xit("should throw an error when trying to generate an invalid openAPI document", async function () {
|
|
94
94
|
const succSpy = sinon.spy(logOutput.log, "success");
|
|
95
95
|
const errSpy = sinon.spy(logOutput.log, "error");
|
|
96
96
|
|