Skip to content

Commit 4461cce

Browse files
authored
Merge pull request #172 from JaredCE/better-extended-specs
Better extended specs
2 parents 0f9d93d + 6cc23da commit 4461cce

File tree

3 files changed

+30
-7
lines changed

3 files changed

+30
-7
lines changed

package-lock.json

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "serverless-openapi-documenter",
3-
"version": "0.0.92",
3+
"version": "0.0.93",
44
"description": "Generate OpenAPI v3 documentation and Postman Collections from your Serverless Config",
55
"main": "index.js",
66
"keywords": [

src/definitionGenerator.js

Lines changed: 27 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -154,10 +154,16 @@ class DefinitionGenerator {
154154
Object.assign(info, { license: licenseObj });
155155
}
156156

157-
for (const key of Object.keys(documentation)) {
158-
if (/^[x\-]/i.test(key)) {
159-
Object.assign(info, { [key]: documentation[key] });
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);
161167
}
162168

163169
Object.assign(this.openAPI, { info });
@@ -419,6 +425,12 @@ class DefinitionGenerator {
419425
obj.servers = servers;
420426
}
421427

428+
const extendedSpec = this.extendSpecification(documentation);
429+
430+
if (Object.keys(extendedSpec).length) {
431+
Object.assign(obj, extendedSpec);
432+
}
433+
422434
return { [method.toLowerCase()]: obj };
423435
}
424436

@@ -937,6 +949,17 @@ class DefinitionGenerator {
937949
}
938950
}
939951

952+
extendSpecification(spec) {
953+
const obj = {};
954+
for (const key of Object.keys(spec)) {
955+
if (/^[x\-]/i.test(key)) {
956+
Object.assign(obj, { [key]: spec[key] });
957+
}
958+
}
959+
960+
return obj;
961+
}
962+
940963
getHTTPFunctions() {
941964
const isHttpFunction = (funcType) => {
942965
const keys = Object.keys(funcType);

0 commit comments

Comments
 (0)