fix(json-schema-2020-12): fix rendering of exclusiveMin|Max keywords (#9030)
Refs #9013
This commit is contained in:
@@ -231,22 +231,25 @@ const stringifyConstraintNumberRange = (schema) => {
|
|||||||
const hasMaximum = typeof maximum === "number"
|
const hasMaximum = typeof maximum === "number"
|
||||||
const hasExclusiveMinimum = typeof exclusiveMinimum === "number"
|
const hasExclusiveMinimum = typeof exclusiveMinimum === "number"
|
||||||
const hasExclusiveMaximum = typeof exclusiveMaximum === "number"
|
const hasExclusiveMaximum = typeof exclusiveMaximum === "number"
|
||||||
const isMinExclusive = hasExclusiveMinimum && minimum < exclusiveMinimum
|
const isMinExclusive = hasExclusiveMinimum && (!hasMinimum || minimum < exclusiveMinimum) // prettier-ignore
|
||||||
const isMaxExclusive = hasExclusiveMaximum && maximum > exclusiveMaximum
|
const isMaxExclusive = hasExclusiveMaximum && (!hasMaximum || maximum > exclusiveMaximum) // prettier-ignore
|
||||||
|
|
||||||
if (hasMinimum && hasMaximum) {
|
if (
|
||||||
|
(hasMinimum || hasExclusiveMinimum) &&
|
||||||
|
(hasMaximum || hasExclusiveMaximum)
|
||||||
|
) {
|
||||||
const minSymbol = isMinExclusive ? "(" : "["
|
const minSymbol = isMinExclusive ? "(" : "["
|
||||||
const maxSymbol = isMaxExclusive ? ")" : "]"
|
const maxSymbol = isMaxExclusive ? ")" : "]"
|
||||||
const minValue = isMinExclusive ? exclusiveMinimum : minimum
|
const minValue = isMinExclusive ? exclusiveMinimum : minimum
|
||||||
const maxValue = isMaxExclusive ? exclusiveMaximum : maximum
|
const maxValue = isMaxExclusive ? exclusiveMaximum : maximum
|
||||||
return `${minSymbol}${minValue}, ${maxValue}${maxSymbol}`
|
return `${minSymbol}${minValue}, ${maxValue}${maxSymbol}`
|
||||||
}
|
}
|
||||||
if (hasMinimum) {
|
if (hasMinimum || hasExclusiveMinimum) {
|
||||||
const minSymbol = isMinExclusive ? ">" : "≥"
|
const minSymbol = isMinExclusive ? ">" : "≥"
|
||||||
const minValue = isMinExclusive ? exclusiveMinimum : minimum
|
const minValue = isMinExclusive ? exclusiveMinimum : minimum
|
||||||
return `${minSymbol} ${minValue}`
|
return `${minSymbol} ${minValue}`
|
||||||
}
|
}
|
||||||
if (hasMaximum) {
|
if (hasMaximum || hasExclusiveMaximum) {
|
||||||
const maxSymbol = isMaxExclusive ? "<" : "≤"
|
const maxSymbol = isMaxExclusive ? "<" : "≤"
|
||||||
const maxValue = isMaxExclusive ? exclusiveMaximum : maximum
|
const maxValue = isMaxExclusive ? exclusiveMaximum : maximum
|
||||||
return `${maxSymbol} ${maxValue}`
|
return `${maxSymbol} ${maxValue}`
|
||||||
|
|||||||
Reference in New Issue
Block a user