{% from "macro_restriction.html" import restriction with context %} {% macro tabbed_section(operator, current_node) %} {% include "tabbed_section.html" %} {% endmacro %} {% macro content(schema, skip_headers=False) %} {% set keys = schema.keywords %} {# Resolve type #} {% set type_name = schema.type_name %} {% if not skip_headers %} {% if config.show_breadcrumbs %} {% include "breadcrumbs.html" %} {% endif %} {# Display type #} {% if not schema is combining %}
Type: {{ type_name }}
{% endif %} {# Display default #} {% set default_value = schema.default_value %} {% if default_value %}
{{ " " }}Default: {{ default_value }}
{% endif %}
{% set description = (schema | get_description) %} {% include "section_description.html" %} {% endif %} {% if schema.should_be_a_link(config) %} Same definition as {{ schema.links_to.link_name }} {% elif schema.refers_to %} {{ content(schema.refers_to_merged, True) }} {% else %} {# Handle having oneOf or allOf with only one condition #} {% if schema.kw_all_of and (schema.kw_all_of.array_items | length) == 1 %} {{ content(schema.kw_all_of.array_items[0]) }} {% elif schema.kw_any_of and (schema.kw_any_of.array_items | length) == 1 %} {{ content(schema.kw_any_of.array_items[0]) }} {% else %} {% if schema.explicit_no_additional_properties %} {{ " " }}No Additional Properties {% endif %} {# Combining: allOf, anyOf, oneOf, not #} {% if schema.kw_all_of %}
{{ tabbed_section("allOf", schema.kw_all_of) }}
{% endif %} {% if schema.kw_any_of %}
{{ tabbed_section("anyOf", schema.kw_any_of) }}
{% endif %} {% if schema.kw_one_of %}
{{ tabbed_section("oneOf", schema.kw_one_of) }}
{% endif %} {% if schema.kw_not %} {% include "section_not.html" %} {% endif %} {# Enum and const #} {% if schema.kw_enum %}

Must be one of:

{% endif %} {% if schema.kw_const %} Specific value: {{ schema.kw_const.raw | python_to_json }} {% endif %} {# Pattern (Regular Expression) #} {% if schema.kw_pattern %} Must match regular expression: {{ schema.kw_pattern.literal | escape }} {% endif %} {# Conditional subschema, or if-then-else section #} {% if schema.has_conditional %} {% include "section_conditional_subschema.html" %} {% endif %} {# Required properties that are not defined under "properties". They will only be listed #} {% include "section_undocumented_required_properties.html" %} {# Show the requested type(s) #} {% include "badge_type.html" %} {# Show array restrictions #} {% if type_name.startswith("array") %} {% include "section_array.html" %} {% endif %} {# Display examples #} {% set examples = schema.examples %} {% if examples %} {% include "section_examples.html" %} {% endif %} {# Properties, pattern properties, additional properties #} {% for sub_property in schema.iterate_properties %} {% include "section_properties.html" %} {% endfor %} {% endif %} {% endif %} {% endmacro %}