• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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
5define("{{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});
54