Opal-Estate-Pro/node_modules/es5-ext/optional-chaining.js

13 lines
431 B
JavaScript
Raw Normal View History

2019-09-13 06:27:52 +02:00
"use strict";
var isValue = require("./object/is-value");
var slice = Array.prototype.slice;
// eslint-disable-next-line no-unused-vars
module.exports = function (value, propertyName1/*, …propertyNamen*/) {
var propertyNames = slice.call(arguments, 1), index = 0, length = propertyNames.length;
while (isValue(value) && index < length) value = value[propertyNames[index++]];
return index === length ? value : undefined;
};