Skip to content

Commit d9f6e6e

Browse files
committed
allow for extending the specs on operations
1 parent 0f9d93d commit d9f6e6e

File tree

1 file changed

+27
-4
lines changed

1 file changed

+27
-4
lines changed

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)