aboutsummaryrefslogtreecommitdiffstats
path: root/src/Injector.js
diff options
context:
space:
mode:
authorMisko Hevery2011-10-26 20:54:45 -0700
committerMisko Hevery2011-11-14 16:39:32 -0800
commit411c1ae77eaeef1686274e9e4995641a8f83e765 (patch)
tree8d72f5b5ad3e3684a16420d6e433cc41f500a55a /src/Injector.js
parentd12df0d360fe0dabdca3591654327834bee2803b (diff)
downloadangular.js-411c1ae77eaeef1686274e9e4995641a8f83e765.tar.bz2
feat(injector): support ['$service', function($service){}] annotations for function invocation.
Diffstat (limited to 'src/Injector.js')
-rw-r--r--src/Injector.js13
1 files changed, 11 insertions, 2 deletions
diff --git a/src/Injector.js b/src/Injector.js
index a3ce7f10..3a7fdeda 100644
--- a/src/Injector.js
+++ b/src/Injector.js
@@ -59,8 +59,17 @@ function createInjector(factories) {
function invoke(self, fn, args, path){
args = args || [];
- var injectNames = fn.$inject || [];
- var i = injectNames.length;
+ var injectNames;
+ var i;
+ if (typeof fn == 'function') {
+ injectNames = fn.$inject || [];
+ i = injectNames.length;
+ } else if (fn instanceof Array) {
+ injectNames = fn;
+ i = injectNames.length;
+ fn = injectNames[--i];
+ }
+ assertArgFn(fn, 'fn');
while(i--) {
args.unshift(injector(injectNames[i], path));
}