Home | History | Annotate | Download | only in js_templates
      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