aboutsummaryrefslogtreecommitdiffstats
path: root/src/Injector.js
diff options
context:
space:
mode:
authorVojta Jina2012-02-08 16:12:11 -0800
committerVojta Jina2012-02-08 16:12:11 -0800
commit776739299b698a965ef818eeda75d4eddd10c491 (patch)
treeefe64f6d01850b16c67bb1460a044925ac99a605 /src/Injector.js
parent3173d8603db4ae1c2373e13a7a490988126bb1e7 (diff)
downloadangular.js-776739299b698a965ef818eeda75d4eddd10c491.tar.bz2
fix($injector): instantiate returns instance, if non-object value returned from constructor
Diffstat (limited to 'src/Injector.js')
-rw-r--r--src/Injector.js11
1 files changed, 7 insertions, 4 deletions
diff --git a/src/Injector.js b/src/Injector.js
index 94154bec..f5e35d0f 100644
--- a/src/Injector.js
+++ b/src/Injector.js
@@ -429,12 +429,15 @@ function createInjector(modulesToLoad) {
}
}
- function instantiate(Type, locals){
- var Constructor = function(){},
- instance;
+ function instantiate(Type, locals) {
+ var Constructor = function() {},
+ instance, returnedValue;
+
Constructor.prototype = Type.prototype;
instance = new Constructor();
- return invoke(Type, instance, locals) || instance;
+ returnedValue = invoke(Type, instance, locals);
+
+ return isObject(returnedValue) ? returnedValue : instance;
}
return {