{# Bengal OpenAPI Parameter Row ============================ Atomic display unit for a single API parameter. Shows name, type, required status, and description. Context: - param: OpenAPIParameterMetadata or dict with: - name: Parameter name - schema_type: Type (string, integer, array, etc.) - location: Where parameter is sent (path, query, header, cookie) - required: bool - description: Parameter description - default: Default value (optional) - enum: List of allowed values (optional) - example: Example value (optional) Kida Features: - {% with %} for nil-safe optional sections - {% spaceless %} for compact badge output - Optional chaining (?.) and null coalescing (??) #} {% let name = param?.name ?? 'unnamed' %} {% let type = param?.schema_type ?? 'string' %} {% let location = param?.location ?? 'query' %} {% let is_required = param?.required ?? false %} {% let description = param?.description ?? '' %} {% let default_val = param?.default %} {% let enum_vals = param?.enum %} {% let example = param?.example %}
{# Parameter Meta: Name, Type, Badges #}
{{ name }} {{ type }} {% spaceless %}
{% if is_required %} required {% end %} {{ location }}
{% end %}
{# Description #} {% if description %}
{{ description | markdownify | safe }}
{% end %} {# Default Value #} {% with default_val as default %}
Default: {{ default }}
{% end %} {# Enum Values #} {% with enum_vals as enums %} {% if enums | length > 0 %}
Allowed: {% spaceless %} {% for val in enums %} {{ val }}{% if not loop.last %} {% end %} {% end %} {% end %}
{% end %} {% end %} {# Example #} {% with example as ex %}
Example: {{ ex }}
{% end %}