{#--- 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, generate_fuzzing)|indent(2)}} {%- endfor %} {#--- Interface definitions #} {%- for interface in interfaces -%} {%- include "interface_definition.tmpl" %} {%- endfor %} {%- 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}}; exports.{{interface.name}}Ptr = {{interface.name}}Ptr; exports.{{interface.name}}AssociatedPtr = {{interface.name}}AssociatedPtr; {%- endfor %}