{
  "title": "NumberValidator",
  "@id": "stencila:NumberValidator",
  "extends": "Validator",
  "role": "validation",
  "status": "unstable",
  "category": "data",
  "description": "A validator specifying the constraints on a numeric node.",
  "$comment": "A node will be valid if it is a number that meets the `maximum`, `multipleOf` etc properties.\nAnalogous to the JSON Schema `number` validation [type](https://json-schema.org/draft/2019-09/json-schema-validation.html#rfc.section.6.1.1).\nNote that the `IntegerValidator` type extends this validator with the additional\nconstraint that the number have no fractional part.\n",
  "properties": {
    "type": {
      "@id": "schema:type",
      "description": "The name of the type.",
      "type": "string",
      "enum": [
        "NumberValidator"
      ],
      "default": "NumberValidator",
      "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"
    },
    "minimum": {
      "@id": "stencila:minimum",
      "type": "number",
      "description": "The inclusive lower limit for a numeric node.",
      "$comment": "A number is valid if it is greater than, or exactly equal to, `minimum`.\n",
      "from": "NumberValidator"
    },
    "exclusiveMinimum": {
      "@id": "stencila:exclusiveMinimum",
      "type": "number",
      "description": "The exclusive lower limit for a numeric node.",
      "$comment": "A number is valid only if it has a value greater than (not equal to) `exclusiveMinimum`.\n",
      "from": "NumberValidator"
    },
    "maximum": {
      "@id": "stencila:maximum",
      "type": "number",
      "description": "The inclusive upper limit for a numeric node.",
      "$comment": "A number is valid if it is less than, or exactly equal to, `maximum`.\n",
      "from": "NumberValidator"
    },
    "exclusiveMaximum": {
      "@id": "stencila:exclusiveMaximum",
      "type": "number",
      "description": "The exclusive upper limit for a numeric node.",
      "$comment": "A number is valid only if it has a value less than (not equal to) `exclusiveMaximum`.\n",
      "from": "NumberValidator"
    },
    "multipleOf": {
      "@id": "stencila:multipleOf",
      "type": "number",
      "exclusiveMinimum": 0,
      "description": "A number that a numeric node must be a multiple of.",
      "$comment": "A number is valid only if division by this value results in an integer.\n",
      "from": "NumberValidator"
    }
  },
  "file": "NumberValidator.schema.yaml",
  "children": [],
  "descendants": [],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "$id": "https://schema.stenci.la/v1/NumberValidator.schema.json",
  "source": "https://github.com/stencila/schema/blob/master/schema/NumberValidator.schema.yaml",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "type"
  ],
  "propertyAliases": {}
}
