{% set constants = constants(node) %} {% set properties = properties(node) %} {% set methods = methods(node) %} {% set cases = cases(node) %} {% set functions = node.functions|default([]) %}

Table of Contents {{ include('components/headerlink.html.twig', {'on': node, 'at': 'toc'}, with_context = false) }}

{% if namespaces|default([]) is not empty %}

Namespaces {{ include('components/headerlink.html.twig', {'on': node, 'at': 'namespaces'}, with_context = false) }}

{% for namespace in namespaces %}
{{ namespace|route('class:short') }}
{% endfor %}
{% endif %} {% if node.interfaces is not empty %}

Interfaces {{ include('components/headerlink.html.twig', {'on': node, 'at': 'toc-interfaces'}, with_context = false) }}

{% for interface in node.interfaces %}
{{ interface|route('class:short') }}
{%- if interface.summary -%}
{{ interface.summary }}
{%- endif -%} {% endfor %}
{% endif %} {% if node.classes is not empty %}

Classes {{ include('components/headerlink.html.twig', {'on': node, 'at': 'toc-classes'}, with_context = false) }}

{% for class in node.classes %}
{{ class|route('class:short') }}
{%- if class.summary -%} {% if 'interact with the **' in class.summary or 'interact with the **' in class.summary or 'interacting with the **' in class.summary %} {% set parts = class.summary | split('**') %} {% if parts|length >= 3 %} {% set service_name = parts[1] %} {% set new_summary = parts[0] ~ '' ~ service_name ~ '' ~ parts[2] %} {% endif %} {% endif %}
{{ new_summary ? new_summary | raw : class.summary}}
{%- endif -%} {% endfor %}
{% endif %} {% if node.traits is not empty %}

Traits {{ include('components/headerlink.html.twig', {'on': node, 'at': 'toc-traits'}, with_context = false) }}

{% for trait in node.traits %}
{{ trait|route('class:short') }}
{%- if trait.summary -%}
{{ trait.summary }}
{%- endif -%} {% endfor %}
{% endif %} {% if node.enums is not empty %}

Enums {{ include('components/headerlink.html.twig', {'on': node, 'at': 'toc-enums'}, with_context = false) }}

{% for enum in node.enums %}
{{ enum|route('class:short') }}
{%- if enum.summary -%}
{{ enum.summary }}
{%- endif -%} {% endfor %}
{% endif %} {% if constants is not empty %}

Constants {{ include('components/headerlink.html.twig', {'on': node, 'at': 'toc-constants'}, with_context = false) }}

{% for constant in constants|sortByVisibility %} {{ include('components/table-of-contents-entry.html.twig', {'type': 'constant', 'node': constant}) }} {% endfor %}
{% endif %} {% if cases is not empty %}

Cases {{ include('components/headerlink.html.twig', {'on': node, 'at': 'toc-cases'}, with_context = false) }}

{% for case in cases|sortByVisibility %} {{ include('components/table-of-contents-entry.html.twig', {'type': 'case', 'node': case}) }} {% endfor %}
{% endif %} {% if properties is not empty %}

Properties {{ include('components/headerlink.html.twig', {'on': node, 'at': 'toc-properties'}, with_context = false) }}

{% for property in properties|sortByVisibility %} {{ include('components/table-of-contents-entry.html.twig', {'type': 'property', 'node': property}) }} {% endfor %}
{% endif %} {% if methods is not empty %}

Methods {{ include('components/headerlink.html.twig', {'on': node, 'at': 'toc-methods'}, with_context = false) }}

{% for method in methods|sortByVisibility %} {{ include('components/table-of-contents-entry.html.twig', {'type': 'method', 'node': method}) }} {% endfor %}
{% endif %} {% if functions is not empty %}

Functions {{ include('components/headerlink.html.twig', {'on': node, 'at': 'toc-functions'}, with_context = false) }}

{% for function in functions %} {{ include('components/table-of-contents-entry.html.twig', {'type': 'function', 'node': function}) }} {% endfor %}
{% endif %}