koas-parameters
Advanced tools
Comparing version 0.5.2 to 0.5.3
@@ -45,9 +45,9 @@ "use strict"; | ||
const handlers = new Map(); | ||
Object.values(document.paths).forEach(({ delete: del, get, head, options, parameters: parametersObjects, patch, post, put, trace, }) => { | ||
[del, get, head, options, patch, post, put, trace] | ||
.filter(Boolean) | ||
.forEach((operationObject) => { | ||
handlers.set(operationObject, utils_1.createParameterHandler(operationObject, parametersObjects, combinedParsers, validate, resolveRef)); | ||
}); | ||
}); | ||
for (const { delete: del, get, head, options, parameters: parametersObjects, patch, post, put, trace, } of Object.values(document.paths)) { | ||
for (const operationObject of [del, get, head, options, patch, post, put, trace]) { | ||
if (operationObject) { | ||
handlers.set(operationObject, utils_1.createParameterHandler(operationObject, parametersObjects, combinedParsers, validate, resolveRef)); | ||
} | ||
} | ||
} | ||
return (ctx, next) => { | ||
@@ -54,0 +54,0 @@ const { operationObject } = ctx.openApi; |
@@ -38,5 +38,4 @@ "use strict"; | ||
const pathDefinitions = []; | ||
[...(parameters || []), ...(operationObject.parameters || [])] | ||
.map(resolveRef) | ||
.forEach((definition) => { | ||
for (const maybeRef of [...(parameters || []), ...(operationObject.parameters || [])]) { | ||
const definition = resolveRef(maybeRef); | ||
if (definition.in === 'query') { | ||
@@ -48,3 +47,3 @@ queryDefinitions.push(definition); | ||
} | ||
}); | ||
} | ||
const querySchema = createSchema(queryDefinitions); | ||
@@ -78,6 +77,6 @@ const pathSchema = createSchema(pathDefinitions); | ||
const params = {}; | ||
Object.entries(rawParams).forEach(([key, value]) => { | ||
for (const [key, value] of Object.entries(rawParams)) { | ||
if (!Object.hasOwnProperty.call(schema.properties, key)) { | ||
params[key] = value; | ||
return; | ||
continue; | ||
} | ||
@@ -88,10 +87,10 @@ const subSchema = resolveRef(schema.properties[key]); | ||
params[key] = values.map((val) => parse(val, resolveRef(subSchema.items).type)); | ||
return; | ||
continue; | ||
} | ||
if (Array.isArray(value)) { | ||
params[key] = value; | ||
return; | ||
continue; | ||
} | ||
params[key] = parse(value, subSchema.type); | ||
}); | ||
} | ||
validate(params, schema, { message }); | ||
@@ -98,0 +97,0 @@ return params; |
{ | ||
"name": "koas-parameters", | ||
"version": "0.5.2", | ||
"version": "0.5.3", | ||
"keywords": [ | ||
@@ -29,11 +29,11 @@ "koa", | ||
"dependencies": { | ||
"openapi-types": "^9.1.0" | ||
"openapi-types": "^9.0.0" | ||
}, | ||
"devDependencies": { | ||
"axios-test-instance": "^4.0.0", | ||
"koa": "^2.13.1" | ||
"axios-test-instance": "^5.0.0", | ||
"koa": "^2.0.0" | ||
}, | ||
"peerDependencies": { | ||
"koa": "^2", | ||
"koas-core": "^0.5.2" | ||
"koas-core": "^0.5.0" | ||
}, | ||
@@ -40,0 +40,0 @@ "engines": { |
10258
245
Updatedopenapi-types@^9.0.0