aboutsummaryrefslogtreecommitdiffstats
path: root/src/Injector.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/Injector.js')
-rw-r--r--src/Injector.js31
1 files changed, 18 insertions, 13 deletions
diff --git a/src/Injector.js b/src/Injector.js
index eacb8699..58b30fda 100644
--- a/src/Injector.js
+++ b/src/Injector.js
@@ -167,24 +167,29 @@ function createInjector(modulesToLoad, moduleRegistry) {
instance = new Constructor();
return invoke(instance, Type, locals) || instance;
};
+ injector.loadModule = loadModule;
return injector;
}
-
- forEach(modulesToLoad, function(module){
- if (isString(module)) {
- if (moduleRegistry[module]) {
- module = moduleRegistry[module];
+ function loadModule(modulesToLoad){
+ forEach(isString(modulesToLoad) ? modulesToLoad.split(',') : modulesToLoad, function(module) {
+ if (isString(module)) {
+ if (moduleRegistry[module = trim(module)]) {
+ module = moduleRegistry[module];
+ } else {
+ throw Error("Module '" + module + "' is not defined!");
+ }
+ }
+ if (isFunction(module) || isArray(module)) {
+ $injector(module);
} else {
- throw Error("Module '" + module + "' is not defined!");
+ assertArgFn(module, 'module');
}
- }
- if (isFunction(module) || isArray(module)) {
- $injector(module);
- } else {
- assertArgFn(module, 'module');
- }
- });
+ });
+ }
+
+
+ loadModule(modulesToLoad);
// instantiate $eager providers
// for perf we can't do forEach