{% extends "api/base.html.nunj" %}

{% import "helpers/code.html.nunj" as codeMacro %}
{% import "helpers/type.html.nunj" as typeMacro %}
{% import "helpers/parameters.html.nunj" as parametersMacro %}
{% import "helpers/overload.html.nunj" as overloadMacro %}

{% block overview %}
    {%- set parameters = declaration.getParameters() -%}
    {%- set overloads = declaration.getOverloads() -%}
    {%- set returnsTag = docNode | getJsDocTag('returns') -%}

    <h2>Presentation</h2>
    {{ codeMacro.render(declaration | functionPresentation, "typescript", false) }}

    <h2>Returns</h2>
    <div class="ng-doc-returns">
        {{ typeMacro.returnType(declaration) }}
        {%- if returnsTag.length %}
            <span> - </span>
            {{ returnsTag | markdownToHtml }}
        {%- endif %}
    </div>

    {% if parameters.length -%}
        <h2>Parameters</h2>
        {{ parametersMacro.render(parameters, declaration) }}
    {%- endif %}

    {% if overloads.length %}
        <h2>Overloads</h2>
        {{ overloadMacro.render(overloads) }}
    {% endif %}

{% endblock %}
