tmp to delete
by Leo
HTML
<script src="https://cdnjs.cloudflare.com/ajax/libs/ajv/8.10.0/ajv7.bundle.js"></script>
<p>
Test discriminator in AJV v8.10.0
See <a href="https://cdnjs.com/libraries/ajv">cdnjs:ajv </a>
</p>
CSS
html, document {
background-color: black;
}
JavaScript
var schema = {
"$defs": {
"A": {
"properties": {
"foo": {
"const": "x"
},
"a": {
"type": "string"
},
},
"required": ["a"],
},
"B": {
"properties": {
"foo": {
"enum": ["y", "z"]
},
"b": {
"type": "string"
},
},
"required": ["b"],
},
"C": {
"type": "object",
"discriminator": {
"propertyName": "foo"
},
"required": ["foo"],
"oneOf": [{
"$ref": "#/$defs/A"
}, {
"$ref": "#/$defs/B"
},
]
}
},
"type": "object",
"properties": {
"cs": {
"items": {
"$ref": "#/$defs/C"
},
"type": "array"
}
},
"required": [
"cs"
]
};
var json = {
};
var ajv = new ajv7({
discriminator: true,
allowUnionTypes: true
});
var validate = ajv.compile(schema);
var result = validate(json);
console.log('Result: ', result);
console.log('Errors: ', validate.errors);