diff options
| author | Misko Hevery | 2011-10-26 20:54:45 -0700 |
|---|---|---|
| committer | Misko Hevery | 2011-11-14 16:39:32 -0800 |
| commit | 411c1ae77eaeef1686274e9e4995641a8f83e765 (patch) | |
| tree | 8d72f5b5ad3e3684a16420d6e433cc41f500a55a /src/Injector.js | |
| parent | d12df0d360fe0dabdca3591654327834bee2803b (diff) | |
| download | angular.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.js | 13 |
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)); } |
