{% macro typeList(types) -%} {% for typeName in types %}{$ typeName | typeName | escape $}{% endfor %} {%- endmacro -%} {%- macro paramTable(params) %} {% for param in params %} {% endfor %}
Param Type Details
{$ param.name $} {% if param.alias %}| {$ param.alias $}{% endif %} {% if param.type.optional %}
(optional)
{% endif %}
{$ typeList(param.typeList) $} {$ param.description | marked $} {% if param.defaultValue %}

(default: {$ param.defaultValue $})

{% endif %} {% if param.nestedParams %}{$ paramTable(param.nestedParams) $}{% endif %}
{% endmacro -%} {%- macro directiveParam(param, join, sep, css, name) -%} {# boolean params are treated as flags and values are stripped for element and attribute when they are either optional or param name equals to attribute name @name value + @param {boolean} value -> value @param {boolean} value -> value="boolean" @param {boolean=} value -> [value] @param {boolean} [value] -> [value] @param {boolean} [value=false] -> [value="boolean(false)"] @param {string|boolean} [value] -> [value="string|boolean"] @param {string|boolean} [value=test] -> [value="string|boolean(test)"] #} {%- if (param.type.name == "boolean" or param.type.name == "Boolean") and param.name == name and not css -%} {$ param.name | dashCase $} {%- else -%} {%- if param.optional or param.type.optional -%}[{%- endif -%} {%- if (param.type.name == "boolean" or param.type.name == "Boolean") and (param.optional or param.type.optional) and not param.defaultValue and not css -%} {$ param.name | dashCase $} {%- else -%} {$ param.name | dashCase $}{$ join $} {%- if (param.type.name) -%} {$ param.type.name $} {%- elif param.type.elements -%} {%- for type in param.type.elements -%} {%- if not loop.first -%}|{%- endif -%} {$ type.name $} {%- endfor -%} {%- endif -%} {%- if param.defaultValue -%} ({$ param.defaultValue $}) {%- else -%} {%- if css and (param.optional or param.type.optional) -%} {# css representation for boolean value @param {boolean} [value] -> [value: false;] #}(false) {%- endif -%} {%- endif -%} {$ sep $} {%- endif -%} {%- if param.optional or param.type.optional %}]{%- endif -%} {%- endif -%} {%- endmacro -%} {%- macro functionSyntax(fn) %} {%- set sep = joiner(', ') -%} {% marked -%} `{$ fn.name $}({%- for param in fn.params %}{$ sep() $} {%- if param.type.optional %}[{% endif -%} {$ param.name $} {%- if param.type.optional %}]{% endif -%} {% endfor %});` {%- endmarked %} {% endmacro -%} {%- macro typeInfo(fn) -%}
{$ typeList(fn.typeList or fn.type.typeList) $} {$ fn.description | marked $}
{%- endmacro -%} {# takes tags @deprecated and @since #} {# Renders one of #} {# "Deprecated {reason} since {comment}" e.g. "Deprecated since v1.2.3", "Deprecated in favor of [new feature] since 21.12.12" #} {# "Since {comment}", e.g. "Since v2.3" #} {%- macro deprecatedOrSince(member) -%} {% if member.deprecated != null %} Deprecated {$ member.deprecated $} {%- if member.since %} since {$ member.since $} {%- endif %} {% else %} {%- if member.since != null %} Since {$ member.since $} {%- endif %} {% endif %} {%- endmacro -%} {# takes tags @access or its' aliases and renders access label #} {%- macro memberAccess(member) -%} {% if member.access != null %} {$ member.access $} {% endif %} {%- endmacro -%}