{{!--~ shape_traits -- display Traits table for a shape ~--}}{{#*inline "shape_traits" }} {{#if (traits this)}}

Traits

{{~#each (traits this) }} {{#if @key }} {{else}} {{/if}} {{~/each}}
{{ typ @key ../ns }} {{ this }}{{ this }} {{ this }}

{{/if ~}} {{/inline }} {{!--~ toc -- display row in TOC grouped by type ~--}}{{#*inline "toc" }} {{~#with (filter_shapes kind (filter_namespace namespace model.shapes)) as |shapes| }} {{~#if shapes }}
{{../title}}
{{~/if }} {{~/with }} {{/inline }} {{!--~ type_head -- begin output for shape's definition: heading and doc ~--}}{{#*inline "type_head" }}

{{ typ _key ../namespace }}({{this.type}})

{{~#if (doc this)}}

{{ doc this }}

{{/if}} {{/inline }} {{!--~ display_trait -- output trait object html ~--}}{{#*inline "display_trait" }} {{~> type_head }} {{!-- fixme - this only handles traits that are structures --}}
{{~#each members }} {{~/each }}
{{member_name @key}}: {{ typ target ../../namespace }}  
{{ >shape_traits ns=../namespace }} {{/inline }} {{!--~ display_simple -- output simple type definition ~--}}{{#*inline "display_simple" }} {{~> type_head }} {{ >shape_traits ns=../namespace }} {{/inline }} {{!--~ main -- main page for namespace documentation ~--}}{{#*inline "main" }} {{!--

{{title}}

--}}

Namespace {{ namespace }}

{{~> toc title="Services" kind="service"}} {{~> toc title="Operations" kind="operation"}} {{~> toc title="Structures" kind="structure"}} {{~> toc title="Traits" kind="trait"}} {{~> toc title="Simple" kind="simple"}} {{~> toc title="Lists" kind="list"}} {{~> toc title="Maps" kind="map"}}
{{#each (filter_namespace namespace model.shapes) ~}} {{#if (is_trait this) ~}} {{~> display_trait }} {{else ~}} {{#if (is_simple this.type) ~}} {{~> display_simple }} {{/if ~}} {{#if (eq this.type "list") ~}} {{~> type_head}}
member: {{ typ member.target ../namespace }}  
{{ >shape_traits ns=../namespace }} {{~/if }} {{#if (eq this.type "set") ~}} {{~> type_head}}
member: {{ typ member.target ../namespace }} {{ doc member }}
{{ >shape_traits ns=../namespace }} {{~/if }} {{#if (eq type "map") ~}} {{~> type_head}}
key: {{ typ this.key.target ../namespace }} {{ doc this.key }}
value: {{ typ value.target ../namespace}} {{ doc value }}
{{ >shape_traits ns=../namespace }} {{~/if }} {{#if (eq type "operation") ~}} {{~> type_head}}
{{~#if input }} {{~/if}} {{~#if output }} {{~/if}} {{~#if errors }} {{~/if}}
input: {{ typ input.target ../namespace }} {{ doc input }}
output: {{ typ output.target ../namespace }} {{ doc output }}
errors:
    {{#each errors}}
  • {{ typ target }}
  • {{/each}}
{{ doc errors }}
{{ >shape_traits ns=../namespace }} {{~/if }} {{~#if (eq type "structure") }} {{~> type_head }}
{{~#each members }} {{~/each }}
{{member_name @key}}: {{ typ target ../../namespace }} {{ doc this }}
{{~ >shape_traits ns=../namespace }} {{~/if }} {{#if (eq type "service") }} {{~> type_head}}
{{~#if operations }}
Operations
{{~/if}}
{{~ >shape_traits ns=../namespace }} {{~/if }} {{~/if }} {{~/each }}
{{~/inline }} {{~> page_base ~}}