1 // Copyright 2013 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 define("{{module.path}}", [ 6 "mojo/public/js/bindings/codec", 7 {%- for import in imports %} 8 "{{import.module.path}}", 9 {%- endfor %} 10 ], function(codec 11 {%- for import in imports -%} 12 , {{import.unique_name}} 13 {%- endfor -%} 14 ) { 15 16 {#--- Constants #} 17 {% for constant in module.constants %} 18 var {{constant.name}} = {{constant.value|expression_to_text}}; 19 {%- endfor %} 20 21 {#--- Enums #} 22 {%- from "enum_definition.tmpl" import enum_def %} 23 {%- for enum in enums %} 24 var {{ enum_def(enum.name, enum, module) }} 25 {%- endfor %} 26 27 {#--- Struct definitions #} 28 {% for struct in structs %} 29 {%- include "struct_definition.tmpl" %} 30 {%- endfor %} 31 32 {#--- Interface definitions #} 33 {%- for interface in interfaces %} 34 {%- include "interface_definition.tmpl" %} 35 {%- endfor %} 36 37 var exports = {}; 38 {% for constant in module.constants %} 39 exports.{{constant.name}} = {{constant.name}}; 40 {%- endfor %} 41 {%- for enum in enums %} 42 exports.{{enum.name}} = {{enum.name}}; 43 {%- endfor %} 44 {%- for struct in structs if struct.exported %} 45 exports.{{struct.name}} = {{struct.name}}; 46 {%- endfor %} 47 {%- for interface in interfaces %} 48 exports.{{interface.name}}Proxy = {{interface.name}}Proxy; 49 exports.{{interface.name}}Stub = {{interface.name}}Stub; 50 {%- endfor %} 51 return exports; 52 }); 53