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);