{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://catalog.lintel.tools/schemas/schemastore/drupal-config/latest.json",
  "title": "JSON schema for Drupal configuration schema file",
  "x-lintel": {
    "source": "https://www.schemastore.org/drupal-config.json",
    "sourceSha256": "9ad2ea50d27f0675face52608fc3acc8b3453b350f73fa33c7a5996199d67620",
    "fileMatch": [
      "**/config/schema/*.schema.yml"
    ],
    "parsers": [
      "yaml"
    ]
  },
  "type": "object",
  "$defs": {
    "configItem": {
      "type": "object",
      "properties": {
        "type": {
          "title": "The type of the value",
          "type": "string",
          "examples": [
            "boolean",
            "integer",
            "float",
            "string",
            "uri",
            "email",
            "mapping",
            "sequence",
            "label",
            "text",
            "config_object",
            "config_entity"
          ]
        },
        "label": {
          "title": "User interface label for the value",
          "type": "string"
        },
        "translatable": {
          "title": "Whether the defined type is translatable",
          "type": "boolean"
        },
        "translation context": {
          "title": "The translation context the source string belongs to",
          "type": "string"
        },
        "nullable": {
          "title": "Whether the value can be empty",
          "type": "boolean"
        },
        "requiredKey": {
          "title": "Whether the key is required",
          "type": "boolean"
        },
        "class": {
          "title": "The class implementing parsing",
          "type": "string"
        },
        "definition_class": {
          "title": "The definition class",
          "type": "string"
        },
        "orderby": {
          "title": "Determines how the sequence should be sorted",
          "type": "string"
        },
        "constraints": {
          "title": "Validation constrains",
          "type": "object"
        },
        "sequence": {
          "$ref": "#/$defs/configItem"
        },
        "mapping": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/$defs/configItem"
          }
        }
      },
      "additionalProperties": false
    }
  },
  "additionalProperties": {
    "$ref": "#/$defs/configItem",
    "title": "Configuration item"
  }
}
