diff options
Diffstat (limited to 'src/Angular.js')
| -rw-r--r-- | src/Angular.js | 27 | 
1 files changed, 27 insertions, 0 deletions
| diff --git a/src/Angular.js b/src/Angular.js index 467af4ce..475c0585 100644 --- a/src/Angular.js +++ b/src/Angular.js @@ -1104,3 +1104,30 @@ function assertArgFn(arg, name, acceptArrayAnnotation) {        (arg && typeof arg == 'object' ? arg.constructor.name || 'Object' : typeof arg));    return arg;  } + +/** + * Return the value accessible from the object by path. Any undefined traversals are ignored + * @param {Object} obj starting object + * @param {string} path path to traverse + * @param {boolean=true} bindFnToScope + * @returns value as accessible by path + */ +//TODO(misko): this function needs to be removed +function getter(obj, path, bindFnToScope) { +  if (!path) return obj; +  var keys = path.split('.'); +  var key; +  var lastInstance = obj; +  var len = keys.length; + +  for (var i = 0; i < len; i++) { +    key = keys[i]; +    if (obj) { +      obj = (lastInstance = obj)[key]; +    } +  } +  if (!bindFnToScope && isFunction(obj)) { +    return bind(lastInstance, obj); +  } +  return obj; +} | 
