mirror of https://github.com/lukechilds/node.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
25 lines
643 B
25 lines
643 B
9 years ago
|
var baseToPath = require('./_baseToPath'),
|
||
|
isKey = require('./_isKey');
|
||
|
|
||
|
/**
|
||
|
* The base implementation of `_.get` without support for default values.
|
||
|
*
|
||
|
* @private
|
||
|
* @param {Object} object The object to query.
|
||
|
* @param {Array|string} path The path of the property to get.
|
||
|
* @returns {*} Returns the resolved value.
|
||
|
*/
|
||
|
function baseGet(object, path) {
|
||
|
path = isKey(path, object) ? [path + ''] : baseToPath(path);
|
||
|
|
||
|
var index = 0,
|
||
|
length = path.length;
|
||
|
|
||
|
while (object != null && index < length) {
|
||
|
object = object[path[index++]];
|
||
|
}
|
||
|
return (index && index == length) ? object : undefined;
|
||
|
}
|
||
|
|
||
|
module.exports = baseGet;
|