/* * Copyright (c) 2014 The Polymer Project Authors. All rights reserved. * This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt * The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt * The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt * Code distributed by Google as part of the polymer project is also * subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt */ (function(scope) { function withDependencies(task, depends) { depends = depends || []; if (!depends.map) { depends = [depends]; } return task.apply(this, depends.map(marshal)); } function module(name, dependsOrFactory, moduleFactory) { var module; switch (arguments.length) { case 0: return; case 1: module = null; break; case 2: // dependsOrFactory is `factory` in this case module = dependsOrFactory.apply(this); break; default: // dependsOrFactory is `depends` in this case module = withDependencies(moduleFactory, dependsOrFactory); break; } modules[name] = module; }; function marshal(name) { return modules[name]; } var modules = {}; function using(depends, task) { HTMLImports.whenImportsReady(function() { withDependencies(task, depends); }); }; // exports scope.marshal = marshal; // `module` confuses commonjs detectors scope.modularize = module; scope.using = using; })(window);