{% macro render_nested_properties(properties, schema_name, indent=0) -%} {% for property in properties or [] %} {% set property_name = property.name if property.name is defined and property.name else "items" %} {% set property_business_name = property.businessName if property.businessName is defined and property.businessName else none %} {% set property_physical_name = property.physicalName if property.physicalName is defined and property.physicalName else none %} {% set property_description = property.description if property.description is defined and property.description else none %} {% set property_examples = property.examples if property.examples is defined and property.examples and property.examples is sequence and property.examples is not string else [] %} {% set property_tags = property.tags if property.tags is defined and property.tags and property.tags is sequence and property.tags is not string else [] %} {% set property_quality = property.quality if property.quality is defined and property.quality and property.quality is sequence and property.quality is not string else [] %} {% set property_custom_properties = property.customProperties if property.customProperties is defined else none %} {% set type_source = property.items if property.items is defined and property.items is mapping else property %} {% set logical_type = type_source.logicalType if type_source.logicalType is defined and type_source.logicalType else none %} {% set physical_type = type_source.physicalType if type_source.physicalType is defined and type_source.physicalType else none %} {% set fallback_type = property.type if property.type is defined and property.type else none %} {% set opts = type_source.logicalTypeOptions if type_source.logicalTypeOptions is defined and type_source.logicalTypeOptions is mapping else none %} {% set left_pad = ((indent - 1) if indent > 0 else 0) * 1.25 %} {% set type_tooltip = "" %} {% if logical_type %}{% set type_tooltip = "logicalType: " ~ logical_type %}{% endif %} {% if physical_type %}{% set type_tooltip = type_tooltip ~ ("\n" if type_tooltip else "") ~ "physicalType: " ~ physical_type %}{% endif %} {% if opts %} {% if opts.minLength is defined %}{% set type_tooltip = type_tooltip ~ ("\n" if type_tooltip else "") ~ "minLength: " ~ opts.minLength %}{% endif %} {% if opts.maxLength is defined %}{% set type_tooltip = type_tooltip ~ ("\n" if type_tooltip else "") ~ "maxLength: " ~ opts.maxLength %}{% endif %} {% if opts.pattern is defined and opts.pattern %}{% set type_tooltip = type_tooltip ~ ("\n" if type_tooltip else "") ~ "pattern: " ~ opts.pattern %}{% endif %} {% if opts.format is defined and opts.format %}{% set type_tooltip = type_tooltip ~ ("\n" if type_tooltip else "") ~ "format: " ~ opts.format %}{% endif %} {% if opts.minimum is defined %}{% set type_tooltip = type_tooltip ~ ("\n" if type_tooltip else "") ~ "minimum: " ~ opts.minimum %}{% endif %} {% if opts.exclusiveMinimum is defined %}{% set type_tooltip = type_tooltip ~ ("\n" if type_tooltip else "") ~ "exclusiveMinimum: " ~ opts.exclusiveMinimum %}{% endif %} {% if opts.maximum is defined %}{% set type_tooltip = type_tooltip ~ ("\n" if type_tooltip else "") ~ "maximum: " ~ opts.maximum %}{% endif %} {% if opts.exclusiveMaximum is defined %}{% set type_tooltip = type_tooltip ~ ("\n" if type_tooltip else "") ~ "exclusiveMaximum: " ~ opts.exclusiveMaximum %}{% endif %} {% if opts.multipleOf is defined %}{% set type_tooltip = type_tooltip ~ ("\n" if type_tooltip else "") ~ "multipleOf: " ~ opts.multipleOf %}{% endif %} {% if opts.minItems is defined %}{% set type_tooltip = type_tooltip ~ ("\n" if type_tooltip else "") ~ "minItems: " ~ opts.minItems %}{% endif %} {% if opts.maxItems is defined %}{% set type_tooltip = type_tooltip ~ ("\n" if type_tooltip else "") ~ "maxItems: " ~ opts.maxItems %}{% endif %} {% if opts.uniqueItems is defined %}{% set type_tooltip = type_tooltip ~ ("\n" if type_tooltip else "") ~ "uniqueItems: " ~ ("yes" if opts.uniqueItems else "no") %}{% endif %} {% if opts.minProperties is defined %}{% set type_tooltip = type_tooltip ~ ("\n" if type_tooltip else "") ~ "minProperties: " ~ opts.minProperties %}{% endif %} {% if opts.maxProperties is defined %}{% set type_tooltip = type_tooltip ~ ("\n" if type_tooltip else "") ~ "maxProperties: " ~ opts.maxProperties %}{% endif %} {% if opts.required is defined and opts.required is sequence and opts.required is not string and opts.required|length > 0 %} {% set type_tooltip = type_tooltip ~ ("\n" if type_tooltip else "") ~ "required: " ~ (opts.required|join(", ")) %} {% endif %} {% if opts.timezone is defined %}{% set type_tooltip = type_tooltip ~ ("\n" if type_tooltip else "") ~ "timezone: " ~ ("yes" if opts.timezone else "no") %}{% endif %} {% if opts.defaultTimezone is defined and opts.defaultTimezone %}{% set type_tooltip = type_tooltip ~ ("\n" if type_tooltip else "") ~ "defaultTimezone: " ~ opts.defaultTimezone %}{% endif %} {% endif %} {% set transform_tooltip = "" %} {% if property.transformLogic is defined and property.transformLogic %} {% set transform_tooltip = "Transformation Logic: " ~ property.transformLogic %} {% endif %} {% if property.transformDescription is defined and property.transformDescription %} {% set transform_tooltip = transform_tooltip ~ ("\n" if transform_tooltip else "") ~ "Transformation Description: " ~ property.transformDescription %} {% endif %}