<%={{ }}=%> {{#program:services}} "{{service:name}}" : { {{#service:extends?}} {{#service:extends}} "extends" : { "name" : "{{service:name}}", "path" : "{{service:path}}" },{{/service:extends}}{{/service:extends?}} "name" : "{{service:name}}", "lineno" : {{service:lineno}}, {{#service:docstring?}} "docstring" : {{service:docstring}}, {{/service:docstring?}} "functions" : { {{#service:functions?}} {{#service:functions}} "{{function:name}}" : { "name" : "{{function:name}}", {{#function:docstring?}} "docstring" : {{function:docstring}}, {{/function:docstring?}} {{#function:args?}} "args" : { {{#function:args}} "{{field:name}}": { "name" : "{{field:name}}", "type" : {{#field:type}}{{> type}}{{/field:type}}, {{#field:value}} "default_value" : {{> const_value}}, {{/field:value}} {{#field:docstring?}} "docstring" : {{field:docstring}}, {{/field:docstring?}} "key" : {{field:key}}, "lineno" : {{field:lineno}}, {{#field:required?}} "required" : "required", {{/field:required?}} {{#field:optional?}} "required" : "optional", {{/field:optional?}} {{#field:opt_in_req_out?}} "required" : "opt-in-req-out" {{/field:opt_in_req_out?}} {{#field:structured_annotations?}}, "structured_annotations": { {{#field:structured_annotations}} {{> structured_annotations}} {{/field:structured_annotations}} } {{/field:structured_annotations?}} }{{^last?}},{{/last?}} {{/function:args}} }, {{/function:args?}} {{#function:exceptions?}} "exceptions" : { {{#function:exceptions}} "{{field:name}}" : { "name": "{{field:name}}", "type" : {{#field:type}}{{> type}}{{/field:type}}, "id" : {{field:key}}{{! }}{{#field:structured_annotations?}}, "structured_annotations": { {{#field:structured_annotations}} {{> structured_annotations}} {{/field:structured_annotations}} }{{/field:structured_annotations?}} }{{^last?}},{{/last?}} {{/function:exceptions}} }, {{/function:exceptions?}} "returnType" : {{> return_type}}, "lineno" : {{function:lineno}}{{! }}{{#function:structured_annotations?}}, "structured_annotations": { {{#function:structured_annotations}} {{> structured_annotations}} {{/function:structured_annotations}} }{{/function:structured_annotations?}} }{{^last?}},{{/last?}} {{/service:functions}} {{/service:functions?}} } {{#service:structured_annotations?}}, "structured_annotations": { {{#service:structured_annotations}} {{> structured_annotations}} {{/service:structured_annotations}} } {{/service:structured_annotations?}} }{{^last?}},{{/last?}} {{/program:services}}