diff options
Diffstat (limited to 'src/ng/parse.js')
| -rw-r--r-- | src/ng/parse.js | 25 |
1 files changed, 12 insertions, 13 deletions
diff --git a/src/ng/parse.js b/src/ng/parse.js index 50462e43..28abe69e 100644 --- a/src/ng/parse.js +++ b/src/ng/parse.js @@ -894,16 +894,16 @@ function cspSafeGetterFn(key0, key1, key2, key3, key4, fullExp, options) { if (pathVal == null) return pathVal; pathVal = pathVal[key0]; - if (!key1 || pathVal == null) return pathVal; + if (pathVal == null) return key1 ? undefined : pathVal; pathVal = pathVal[key1]; - if (!key2 || pathVal == null) return pathVal; + if (pathVal == null) return key2 ? undefined : pathVal; pathVal = pathVal[key2]; - if (!key3 || pathVal == null) return pathVal; + if (pathVal == null) return key3 ? undefined : pathVal; pathVal = pathVal[key3]; - if (!key4 || pathVal == null) return pathVal; + if (pathVal == null) return key4 ? undefined : pathVal; pathVal = pathVal[key4]; return pathVal; @@ -924,7 +924,7 @@ function cspSafeGetterFn(key0, key1, key2, key3, key4, fullExp, options) { } pathVal = pathVal.$$v; } - if (!key1 || pathVal == null) return pathVal; + if (pathVal == null) return key1 ? undefined : pathVal; pathVal = pathVal[key1]; if (pathVal && pathVal.then) { @@ -936,7 +936,7 @@ function cspSafeGetterFn(key0, key1, key2, key3, key4, fullExp, options) { } pathVal = pathVal.$$v; } - if (!key2 || pathVal == null) return pathVal; + if (pathVal == null) return key2 ? undefined : pathVal; pathVal = pathVal[key2]; if (pathVal && pathVal.then) { @@ -948,7 +948,7 @@ function cspSafeGetterFn(key0, key1, key2, key3, key4, fullExp, options) { } pathVal = pathVal.$$v; } - if (!key3 || pathVal == null) return pathVal; + if (pathVal == null) return key3 ? undefined : pathVal; pathVal = pathVal[key3]; if (pathVal && pathVal.then) { @@ -960,7 +960,7 @@ function cspSafeGetterFn(key0, key1, key2, key3, key4, fullExp, options) { } pathVal = pathVal.$$v; } - if (!key4 || pathVal == null) return pathVal; + if (pathVal == null) return key4 ? undefined : pathVal; pathVal = pathVal[key4]; if (pathVal && pathVal.then) { @@ -980,7 +980,7 @@ function simpleGetterFn1(key0, fullExp) { ensureSafeMemberName(key0, fullExp); return function simpleGetterFn1(scope, locals) { - if (scope == null) return scope; + if (scope == null) return undefined; return ((locals && locals.hasOwnProperty(key0)) ? locals : scope)[key0]; }; } @@ -990,10 +990,9 @@ function simpleGetterFn2(key0, key1, fullExp) { ensureSafeMemberName(key1, fullExp); return function simpleGetterFn2(scope, locals) { - if (scope == null) return scope; + if (scope == null) return undefined; scope = ((locals && locals.hasOwnProperty(key0)) ? locals : scope)[key0]; - - return scope == null ? scope : scope[key1]; + return scope == null ? undefined : scope[key1]; }; } @@ -1036,7 +1035,7 @@ function getterFn(path, options, fullExp) { var code = 'var p;\n'; forEach(pathKeys, function(key, index) { ensureSafeMemberName(key, fullExp); - code += 'if(s == null) return s;\n' + + code += 'if(s == null) return undefined;\n' + 's='+ (index // we simply dereference 's' on any .dot notation ? 's' |
