Index: third_party/polymer/v0_8/components-chromium/polymer/src/lib/module-extracted.js |
diff --git a/third_party/polymer/v0_8/components-chromium/polymer/src/lib/module-extracted.js b/third_party/polymer/v0_8/components-chromium/polymer/src/lib/module-extracted.js |
new file mode 100644 |
index 0000000000000000000000000000000000000000..7fab9d707edc6f4a793c91e1147bd4d816ea8107 |
--- /dev/null |
+++ b/third_party/polymer/v0_8/components-chromium/polymer/src/lib/module-extracted.js |
@@ -0,0 +1,46 @@ |
+ |
+(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 = null; |
+ switch (arguments.length) { |
+ case 0: |
+ return; |
+ 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 = {}; |
+ |
+ var using = function(depends, task) { |
+ withDependencies(task, depends); |
+ }; |
+ |
+ // exports |
+ |
+ scope.marshal = marshal; |
+ // `module` confuses commonjs detectors |
+ scope.modulate = module; |
+ scope.using = using; |
+ |
+})(this); |