Skip to content

Commit 4ebbc04

Browse files
authored
fix: 2.0 object parameter validation (#5583)
1 parent 7b737f6 commit 4ebbc04

File tree

1 file changed

+15
-22
lines changed

1 file changed

+15
-22
lines changed

src/core/utils.js

Lines changed: 15 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -498,6 +498,7 @@ export const validatePattern = (val, rxPattern) => {
498498

499499
// validation of parameters before execute
500500
export const validateParam = (param, value, { isOAS3 = false, bypassRequiredCheck = false } = {}) => {
501+
501502
let errors = []
502503
let required = param.get("required")
503504

@@ -527,31 +528,23 @@ export const validateParam = (param, value, { isOAS3 = false, bypassRequiredChec
527528
let booleanCheck = type === "boolean" && (value || value === false)
528529
let numberCheck = type === "number" && (value || value === 0)
529530
let integerCheck = type === "integer" && (value || value === 0)
530-
531-
let oas3ObjectCheck = false
532-
533-
if(isOAS3 && type === "object") {
534-
if(typeof value === "object" && value !== null) {
535-
oas3ObjectCheck = true
536-
} else if(typeof value === "string") {
537-
oas3ObjectCheck = true
538-
}
539-
// Disabled because `validateParam` doesn't consider the MediaType of the
540-
// `Parameter.content` hint correctly.
541-
// } else if(typeof value === "string") {
542-
// try {
543-
// JSON.parse(value)
544-
// oas3ObjectCheck = true
545-
// } catch(e) {
546-
// errors.push("Parameter string value must be valid JSON")
547-
// return errors
548-
// }
549-
// }
550-
}
531+
let objectCheck = type === "object" && typeof value === "object" && value !== null
532+
let objectStringCheck = type === "object" && typeof value === "string" && value
533+
534+
// if(type === "object" && typeof value === "string") {
535+
// // Disabled because `validateParam` doesn't consider the MediaType of the
536+
// // `Parameter.content` hint correctly.
537+
// try {
538+
// JSON.parse(value)
539+
// } catch(e) {
540+
// errors.push("Parameter string value must be valid JSON")
541+
// return errors
542+
// }
543+
// }
551544

552545
const allChecks = [
553546
stringCheck, arrayCheck, listCheck, fileCheck, booleanCheck,
554-
numberCheck, integerCheck, oas3ObjectCheck
547+
numberCheck, integerCheck, objectCheck, objectStringCheck,
555548
]
556549

557550
const passedAnyCheck = allChecks.some(v => !!v)

0 commit comments

Comments
 (0)