17 lines
378 B
JavaScript
17 lines
378 B
JavaScript
|
"use strict";
|
||
|
|
||
|
var value = require("./valid-value")
|
||
|
, isValue = require("./is-value");
|
||
|
|
||
|
module.exports = function (obj/*, …names*/) {
|
||
|
var length, current = 1;
|
||
|
value(obj);
|
||
|
length = arguments.length - 1;
|
||
|
if (!length) return obj;
|
||
|
while (current < length) {
|
||
|
obj = obj[arguments[current++]];
|
||
|
if (!isValue(obj)) return undefined;
|
||
|
}
|
||
|
return obj[arguments[current]];
|
||
|
};
|