in src/validation/utils/getDiagnosticsForNode.ts [105:131]
function getDiagnosticsForRegularProperties(
rootNode: ObjectASTNode,
document: TextDocument,
schemaPart: SchemaObject,
) {
const diagnostics: Diagnostic[] = []
if (schemaPart.properties) {
schemaPart = schemaPart.properties as SchemaObject
}
rootNode.properties.forEach(prop => {
const propName = prop.keyNode.value
const propertySchema: unknown = schemaPart[propName]
if (!propertySchema) {
diagnostics.push(
getPropertyNodeDiagnostic(prop, document, MESSAGES.INVALID_PROPERTY_NAME)
)
} else if (prop.valueNode && isObject(propertySchema)) {
// evaluate nested schema
diagnostics.push(...getDiagnosticsForNode(prop.valueNode, document, propertySchema as SchemaObject))
}
})
return diagnostics
}