{% macro typeList(types) -%} {%- set sep = joiner('|') %} {% for typeName in types %}{$ typeName | escape $}{% endfor %} {%- endmacro -%} {%- macro paramList(params) %} {% for param in params %}
{$ param.name $} {% if param.alias %}| {$ param.alias $}{% endif %} {$ typeList(param.typeList) $} {% if param.type.optional %}
(optional)
{% endif %}
{$ typeList(param.typeList) $}

{$ param.description | marked $} {% if param.default %}

(default: {$ param.default $})

{% endif %}

{% endfor %} {% endmacro -%} {%- macro paramTable(params) %}
Parameter
Type
Description
{$ paramList(params) $}
{% endmacro -%} {%- macro directiveParam(name, type, join, sep) %} {%- if type.optional %}[{% endif -%} {$ name | dashCase $}{$ join $}{$ type.description $}{$ sep $} {%- if type.optional %}]{% endif -%} {% endmacro -%} {%- macro functionOptionSyntax(fn) %} {%- set sep = joiner(', ') -%} {$ fn.name $}({ {%- for param in fn.params %}
  {%- if param.type.optional %}[{% endif -%} {$ param.name $}: {$ param.type.name $} {%- if param.type.optional %}]{% endif -%}, {% endfor %}
}); {% endmacro -%} {%- macro functionSyntax(fn) %} {%- set sep = joiner(', ') -%} {$ fn.name $}({%- for param in fn.params %}{$ sep() $} {%- if param.type.optional %}[{% endif -%} {$ param.name $} {%- if param.type.optional %}]{% endif -%} {% endfor %}); {% endmacro -%} {%- macro returnTable(fn) -%}
Returns
Description
{$ typeList(fn.typeList) $}
{$ fn.description | marked $}
{%- endmacro -%}