nl_tokens: Implementation of the Black Hole variant from : - http : // jsperf . com / angularjs - parse - getter / 4 - http : // jsperf . com / path - evaluation - simplified / 7
pl_tokens: function cspSafeGetterFn ( key0 , key1 , key2 , key3 , key4 , fullExp ) { ensureSafeMemberName ( key0 , fullExp ) ; ensureSafeMemberName ( key1 , fullExp ) ; ensureSafeMemberName ( key2 , fullExp ) ; ensureSafeMemberName ( key3 , fullExp ) ; ensureSafeMemberName ( key4 , fullExp ) ; return function cspSafeGetter ( scope , locals ) { var pathVal = ( locals && locals . hasOwnProperty ( key0 ) ) ? locals : <mask> ; if ( pathVal == null ) return pathVal ; pathVal = pathVal [ key0 ] ; if ( ! key1 ) return pathVal ; if ( pathVal == null ) return undefined ; pathVal = pathVal [ key1 ] ; if ( ! key2 ) return pathVal ; if ( pathVal == null ) return undefined ; pathVal = pathVal [ key2 ] ; if ( ! key3 ) return pathVal ; if ( pathVal == null ) return undefined ; pathVal = pathVal [ key3 ] ; if ( ! key4 ) return pathVal ; if ( pathVal == null ) return undefined ; pathVal = pathVal [ key4 ] ; return pathVal ; } ; }