{
    "$schema": "https://json-schema.org/draft/2020-12/schema",
    "$id": "enum.schema.json",
    "title": "Enum in EXT_structural_metadata",
    "type": "object",
    "description": "An object defining the values of an enum.",
    "allOf": [
        {
            "$ref": "glTFProperty.schema.json"
        }
    ],
    "properties": {
        "name": {
            "type": "string",
            "minLength": 1,
            "description": "The name of the enum, e.g. for display purposes."
        },
        "description": {
            "type": "string",
            "minLength": 1,
            "description": "The description of the enum."
        },
        "valueType": {
            "default": "UINT16",
            "description": "The type of the integer enum value.",
            "anyOf": [
                {
                    "const": "INT8"
                },
                {
                    "const": "UINT8"
                },
                {
                    "const": "INT16"
                },
                {
                    "const": "UINT16"
                },
                {
                    "const": "INT32"
                },
                {
                    "const": "UINT32"
                },
                {
                    "const": "INT64"
                },
                {
                    "const": "UINT64"
                },
                {
                    "type": "string"
                }
            ]
        },
        "values": {
            "type": "array",
            "description": "An array of enum values. Duplicate names or duplicate integer values are not allowed.",
            "items": {
                "$ref": "enum.value.schema.json"
            },
            "minItems": 1
        },
        "extensions": {},
        "extras": {}
    },
    "required": [
        "values"
    ]
}