{
  "title": "ArrayValidator",
  "@id": "stencila:ArrayValidator",
  "extends": "Validator",
  "role": "validation",
  "status": "unstable",
  "category": "data",
  "description": "A validator specifying constraints on an array node.",
  "properties": {
    "type": {
      "@id": "schema:type",
      "description": "The name of the type.",
      "type": "string",
      "enum": [
        "ArrayValidator"
      ],
      "default": "ArrayValidator",
      "from": "Entity"
    },
    "id": {
      "@id": "schema:id",
      "description": "The identifier for this item.",
      "type": "string",
      "from": "Entity"
    },
    "meta": {
      "@id": "stencila:meta",
      "description": "Metadata associated with this item.",
      "type": "object",
      "from": "Entity"
    },
    "itemsValidator": {
      "@id": "stencila:itemsValidator",
      "description": "Another validator node specifying the constraints on all items in the array.",
      "allOf": [
        {
          "$ref": "ValidatorTypes.schema.json"
        }
      ],
      "from": "ArrayValidator"
    },
    "contains": {
      "@id": "stencila:contains",
      "description": "An array node is valid if at least one of its items is valid against the `contains` schema.",
      "allOf": [
        {
          "$ref": "ValidatorTypes.schema.json"
        }
      ],
      "from": "ArrayValidator"
    },
    "minItems": {
      "@id": "stencila:minItems",
      "description": "An array node is valid if its size is greater than, or equal to, this value.",
      "type": "number",
      "minimum": 0,
      "from": "ArrayValidator"
    },
    "maxItems": {
      "@id": "stencila:maxItems",
      "description": "An array node is valid if its size is less than, or equal to, this value.",
      "type": "number",
      "minimum": 0,
      "from": "ArrayValidator"
    },
    "uniqueItems": {
      "@id": "stencila:uniqueItems",
      "description": "A flag to indicate that each value in the array should be unique.",
      "type": "boolean",
      "from": "ArrayValidator"
    }
  },
  "file": "ArrayValidator.schema.yaml",
  "children": [],
  "descendants": [],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "$id": "https://schema.stenci.la/v1/ArrayValidator.schema.json",
  "source": "https://github.com/stencila/schema/blob/master/schema/ArrayValidator.schema.yaml",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "type"
  ],
  "propertyAliases": {}
}
