| {#--- Constants #} |
| {%- for constant in module.constants %} |
| var {{constant.name}} = {{constant.value|expression_to_text}}; |
| {%- endfor %} |
| |
| {#--- Enums #} |
| {%- from "enum_definition.tmpl" import enum_def %} |
| {%- for enum in enums %} |
| var {{ enum_def(enum.name, enum) }} |
| {%- endfor %} |
| |
| {#--- Struct definitions #} |
| {% for struct in structs %} |
| {%- include "struct_definition.tmpl" %} |
| {%- endfor -%} |
| |
| {#--- Union definitions #} |
| {%- from "union_definition.tmpl" import union_def %} |
| {%- for union in unions %} |
| {{union_def(union)|indent(2)}} |
| {%- endfor %} |
| |
| {#--- Interface definitions #} |
| {%- for interface in interfaces -%} |
| {%- include "interface_definition.tmpl" %} |
| {%- endfor %} |
| |
| var exports = {}; |
| {%- for constant in module.constants %} |
| exports.{{constant.name}} = {{constant.name}}; |
| {%- endfor %} |
| {%- for enum in enums %} |
| exports.{{enum.name}} = {{enum.name}}; |
| {%- endfor %} |
| {%- for struct in structs if struct.exported %} |
| exports.{{struct.name}} = {{struct.name}}; |
| {%- endfor %} |
| {%- for union in unions %} |
| exports.{{union.name}} = {{union.name}}; |
| {%- endfor %} |
| {%- for interface in interfaces %} |
| exports.{{interface.name}} = {{interface.name}}; |
| {#--- Interface Client #} |
| {%- if interface.client in interfaces|map(attribute='name') %} |
| exports.{{interface.name}}.client = {{interface.client}}; |
| {%- elif interface.client in imported_interfaces %} |
| exports.{{interface.name}}.client = {{imported_interfaces[interface.client]}}; |
| {%- endif %} |
| {%- endfor %} |