Files
divkit/schema/div-variable.json
2024-02-02 15:50:53 +03:00

244 lines
5.7 KiB
JSON

{
"definitions": {
"string_variable": {
"alias_kotlin": "str_variable",
"type": "object",
"$description": "translations.json#/div_variable_string",
"properties": {
"name": {
"$ref": "div-variable-name.json",
"$description": "translations.json#/div_variable_name"
},
"type": {
"type": "string",
"enum": [
"string"
]
},
"value": {
"supports_expressions": false,
"type": "string",
"$description": "translations.json#/div_variable_value"
}
},
"required": [
"name",
"value",
"type"
]
},
"integer_variable": {
"type": "object",
"$description": "translations.json#/div_variable_integer",
"properties": {
"name": {
"$ref": "div-variable-name.json",
"$description": "translations.json#/div_variable_name"
},
"type": {
"type": "string",
"enum": [
"integer"
]
},
"value": {
"supports_expressions": false,
"long_type": true,
"type": "integer",
"$description": "translations.json#/div_variable_value"
}
},
"required": [
"name",
"value",
"type"
]
},
"number_variable": {
"type": "object",
"$description": "translations.json#/div_variable_number",
"properties": {
"name": {
"$ref": "div-variable-name.json",
"$description": "translations.json#/div_variable_name"
},
"type": {
"type": "string",
"enum": [
"number"
]
},
"value": {
"supports_expressions": false,
"type": "number",
"$description": "translations.json#/div_variable_value"
}
},
"required": [
"name",
"value",
"type"
]
},
"boolean_variable": {
"alias_kotlin": "bool_variable",
"type": "object",
"$description": "translations.json#/div_variable_boolean",
"properties": {
"name": {
"$ref": "div-variable-name.json",
"$description": "translations.json#/div_variable_name"
},
"type": {
"type": "string",
"enum": [
"boolean"
]
},
"value": {
"supports_expressions": false,
"$ref": "common.json#/boolean_int",
"$description": "translations.json#/div_variable_value"
}
},
"required": [
"name",
"value",
"type"
]
},
"color_variable": {
"type": "object",
"$description": "translations.json#/div_variable_color",
"properties": {
"name": {
"$ref": "div-variable-name.json",
"$description": "translations.json#/div_variable_name"
},
"type": {
"supports_expressions": false,
"type": "string",
"enum": [
"color"
]
},
"value": {
"supports_expressions": false,
"$ref": "common.json#/color",
"$description": "translations.json#/div_variable_value"
}
},
"required": [
"name",
"value",
"type"
]
},
"url_variable": {
"type": "object",
"$description": "translations.json#/div_variable_url",
"properties": {
"name": {
"$ref": "div-variable-name.json",
"$description": "translations.json#/div_variable_name"
},
"type": {
"type": "string",
"enum": [
"url"
]
},
"value": {
"supports_expressions": false,
"$ref": "common.json#/url",
"$description": "translations.json#/div_variable_value"
}
},
"required": [
"name",
"value",
"type"
]
},
"dict_variable": {
"type": "object",
"$description": "translations.json#/div_variable_dict",
"properties": {
"name": {
"$ref": "div-variable-name.json",
"$description": "translations.json#/div_variable_name"
},
"type": {
"type": "string",
"enum": [
"dict"
]
},
"value": {
"supports_expressions": false,
"type": "object",
"additionalProperties": true,
"$description": "translations.json#/div_variable_value"
}
},
"required": [
"name",
"value",
"type"
]
},
"array_variable": {
"type": "object",
"$description": "translations.json#/div_variable_array",
"properties": {
"name": {
"$ref": "div-variable-name.json",
"$description": "translations.json#/div_variable_name"
},
"type": {
"type": "string",
"enum": [
"array"
]
},
"value": {
"type": "array",
"supports_expressions": false,
"$description": "translations.json#/div_variable_value"
}
},
"required": [
"name",
"value",
"type"
]
}
},
"anyOf": [
{
"$ref": "#/definitions/string_variable"
},
{
"$ref": "#/definitions/number_variable"
},
{
"$ref": "#/definitions/integer_variable"
},
{
"$ref": "#/definitions/boolean_variable"
},
{
"$ref": "#/definitions/color_variable"
},
{
"$ref": "#/definitions/url_variable"
},
{
"$ref": "#/definitions/dict_variable"
},
{
"$ref": "#/definitions/array_variable"
}
]
}