@@ -894,16 +894,16 @@ function cspSafeGetterFn(key0, key1, key2, key3, key4, fullExp, options) {
894
894
if ( pathVal == null ) return pathVal ;
895
895
pathVal = pathVal [ key0 ] ;
896
896
897
- if ( ! key1 || pathVal == null ) return pathVal ;
897
+ if ( pathVal == null ) return key1 ? undefined : pathVal ;
898
898
pathVal = pathVal [ key1 ] ;
899
899
900
- if ( ! key2 || pathVal == null ) return pathVal ;
900
+ if ( pathVal == null ) return key2 ? undefined : pathVal ;
901
901
pathVal = pathVal [ key2 ] ;
902
902
903
- if ( ! key3 || pathVal == null ) return pathVal ;
903
+ if ( pathVal == null ) return key3 ? undefined : pathVal ;
904
904
pathVal = pathVal [ key3 ] ;
905
905
906
- if ( ! key4 || pathVal == null ) return pathVal ;
906
+ if ( pathVal == null ) return key4 ? undefined : pathVal ;
907
907
pathVal = pathVal [ key4 ] ;
908
908
909
909
return pathVal ;
@@ -924,7 +924,7 @@ function cspSafeGetterFn(key0, key1, key2, key3, key4, fullExp, options) {
924
924
}
925
925
pathVal = pathVal . $$v ;
926
926
}
927
- if ( ! key1 || pathVal == null ) return pathVal ;
927
+ if ( pathVal == null ) return key1 ? undefined : pathVal ;
928
928
929
929
pathVal = pathVal [ key1 ] ;
930
930
if ( pathVal && pathVal . then ) {
@@ -936,7 +936,7 @@ function cspSafeGetterFn(key0, key1, key2, key3, key4, fullExp, options) {
936
936
}
937
937
pathVal = pathVal . $$v ;
938
938
}
939
- if ( ! key2 || pathVal == null ) return pathVal ;
939
+ if ( pathVal == null ) return key2 ? undefined : pathVal ;
940
940
941
941
pathVal = pathVal [ key2 ] ;
942
942
if ( pathVal && pathVal . then ) {
@@ -948,7 +948,7 @@ function cspSafeGetterFn(key0, key1, key2, key3, key4, fullExp, options) {
948
948
}
949
949
pathVal = pathVal . $$v ;
950
950
}
951
- if ( ! key3 || pathVal == null ) return pathVal ;
951
+ if ( pathVal == null ) return key3 ? undefined : pathVal ;
952
952
953
953
pathVal = pathVal [ key3 ] ;
954
954
if ( pathVal && pathVal . then ) {
@@ -960,7 +960,7 @@ function cspSafeGetterFn(key0, key1, key2, key3, key4, fullExp, options) {
960
960
}
961
961
pathVal = pathVal . $$v ;
962
962
}
963
- if ( ! key4 || pathVal == null ) return pathVal ;
963
+ if ( pathVal == null ) return key4 ? undefined : pathVal ;
964
964
965
965
pathVal = pathVal [ key4 ] ;
966
966
if ( pathVal && pathVal . then ) {
@@ -980,7 +980,7 @@ function simpleGetterFn1(key0, fullExp) {
980
980
ensureSafeMemberName ( key0 , fullExp ) ;
981
981
982
982
return function simpleGetterFn1 ( scope , locals ) {
983
- if ( scope == null ) return scope ;
983
+ if ( scope == null ) return undefined ;
984
984
return ( ( locals && locals . hasOwnProperty ( key0 ) ) ? locals : scope ) [ key0 ] ;
985
985
} ;
986
986
}
@@ -990,10 +990,9 @@ function simpleGetterFn2(key0, key1, fullExp) {
990
990
ensureSafeMemberName ( key1 , fullExp ) ;
991
991
992
992
return function simpleGetterFn2 ( scope , locals ) {
993
- if ( scope == null ) return scope ;
993
+ if ( scope == null ) return undefined ;
994
994
scope = ( ( locals && locals . hasOwnProperty ( key0 ) ) ? locals : scope ) [ key0 ] ;
995
-
996
- return scope == null ? scope : scope [ key1 ] ;
995
+ return scope == null ? undefined : scope [ key1 ] ;
997
996
} ;
998
997
}
999
998
@@ -1036,7 +1035,7 @@ function getterFn(path, options, fullExp) {
1036
1035
var code = 'var p;\n' ;
1037
1036
forEach ( pathKeys , function ( key , index ) {
1038
1037
ensureSafeMemberName ( key , fullExp ) ;
1039
- code += 'if(s == null) return s ;\n' +
1038
+ code += 'if(s == null) return undefined ;\n' +
1040
1039
's=' + ( index
1041
1040
// we simply dereference 's' on any .dot notation
1042
1041
? 's'
0 commit comments