UNPKG

object-dig

Version:

This allow you to use method like Ruby's hash#dig in JavaScript.

44 lines (38 loc) 1.07 kB
'use strict'; module.exports = function (target) { for (var _len = arguments.length, keys = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { keys[_key - 1] = arguments[_key]; } var digged = target; var _iteratorNormalCompletion = true; var _didIteratorError = false; var _iteratorError = undefined; try { for (var _iterator = keys[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { var key = _step.value; if (typeof digged === 'undefined' || digged === null) { return undefined; } if (typeof key === 'function') { digged = key(digged); } else { digged = digged[key]; } } } catch (err) { _didIteratorError = true; _iteratorError = err; } finally { try { if (!_iteratorNormalCompletion && _iterator.return) { _iterator.return(); } } finally { if (_didIteratorError) { throw _iteratorError; } } } ; return digged; };