Skip to content

Commit 9a052c3

Browse files
committed
feat: path item AND operation parameters (including $refs) are now supported
1 parent c568865 commit 9a052c3

1 file changed

Lines changed: 14 additions & 8 deletions

File tree

lib/process-document.ts

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -210,14 +210,20 @@ export async function processOpenApiDocument(
210210

211211
const queryParameters: OpenAPIV3.ParameterObject[] = [];
212212

213-
for (const parameter of operationObject.parameters || []) {
214-
if ('$ref' in parameter) {
215-
break;
216-
}
213+
const parameters = [
214+
...(operationObject.parameters || []),
215+
...(pathItemObject.parameters || []),
216+
];
217+
218+
for (const parameter of parameters) {
219+
const resolvedParameter =
220+
'$ref' in parameter
221+
? (refs.get(parameter.$ref) as any)
222+
: parameter;
217223

218-
const parameterName = camelcase(parameter.name);
224+
const parameterName = camelcase(resolvedParameter.name);
219225

220-
if (parameter.in === 'path') {
226+
if (resolvedParameter.in === 'path') {
221227
func.addParameter({
222228
name: parameterName,
223229
type: 'string',
@@ -233,8 +239,8 @@ export async function processOpenApiDocument(
233239
});
234240
}
235241

236-
if (parameter.in === 'query') {
237-
queryParameters.push(parameter);
242+
if (resolvedParameter.in === 'query') {
243+
queryParameters.push(resolvedParameter);
238244
}
239245
}
240246

0 commit comments

Comments
 (0)