Upstream version 11.39.266.0
[platform/framework/web/crosswalk.git] / src / mojo / public / tools / bindings / generators / js_templates / module.js.tmpl
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     "mojo/public/js/bindings/validator",
8 {%- for import in imports %}
9     "{{import.module.path}}",
10 {%- endfor %}
11   ], function(codec, validator
12 {%- for import in imports -%}
13     , {{import.unique_name}}
14 {%- endfor -%}
15 ) {
16
17 {#--- Constants #}
18 {%  for constant in module.constants %}
19   var {{constant.name}} = {{constant.value|expression_to_text}};
20 {%- endfor %}
21
22 {#--- Enums #}
23 {%- from "enum_definition.tmpl" import enum_def %}
24 {%- for enum in enums %}
25   var {{ enum_def(enum.name, enum, module) }}
26 {%-  endfor %}
27
28 {#--- Struct definitions #}
29 {%  for struct in structs %}
30 {%-   include "struct_definition.tmpl" %}
31 {%- endfor -%}
32
33 {#--- Interface definitions #}
34 {%- for interface in interfaces -%}
35 {%-   include "interface_definition.tmpl" %}
36 {%- endfor %}
37
38   var exports = {};
39 {%-  for constant in module.constants %}
40   exports.{{constant.name}} = {{constant.name}};
41 {%- endfor %}
42 {%- for enum in enums %}
43   exports.{{enum.name}} = {{enum.name}};
44 {%- endfor %}
45 {%- for struct in structs if struct.exported %}
46   exports.{{struct.name}} = {{struct.name}};
47 {%- endfor %}
48 {%- for interface in interfaces %}
49   exports.{{interface.name}}Proxy = {{interface.name}}Proxy;
50   exports.{{interface.name}}Stub = {{interface.name}}Stub;
51 {%- endfor %}
52   return exports;
53 });