11b: fail on combinators an attribute kind cannot read
This commit was merged in pull request #68.
This commit is contained in:
@@ -161,6 +161,8 @@ function propertyKinds(property: SchemaObject, where: string): AttributeKind[] {
|
|||||||
if (type === 'string') return ['string']
|
if (type === 'string') return ['string']
|
||||||
if (type === 'array' || type === 'object') return ['json']
|
if (type === 'array' || type === 'object') return ['json']
|
||||||
if (type !== undefined) return assert.fail(`${where}: the schema types it ${JSON.stringify(type)}, which reads as no attribute kind`)
|
if (type !== undefined) return assert.fail(`${where}: the schema types it ${JSON.stringify(type)}, which reads as no attribute kind`)
|
||||||
|
const combinator = ['$ref', 'allOf', 'anyOf'].find((keyword) => property[keyword] !== undefined)
|
||||||
|
if (combinator !== undefined) return assert.fail(`${where}: the schema holds the keyword ${combinator}, which the gate reads as no attribute kind`)
|
||||||
const values = property['enum']
|
const values = property['enum']
|
||||||
return Array.isArray(values) ? values.map(valueKind) : ['json']
|
return Array.isArray(values) ? values.map(valueKind) : ['json']
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user