src/privates/_getPathKey.js
function _getPathKey (target, key, includeNonEnumerables) {
    if (includeNonEnumerables && key in Object(target) || _isEnumerable(target, key)) {
        return key;
    }

    var n = +key;
    var len = target && target.length;

    return n >= -len && n < len ? n < 0 ? n + len : n : void 0;
}
function _getPathKey (target, key, includeNonEnumerables) {
    if (includeNonEnumerables && key in Object(target) || _isEnumerable(target, key)) {
        return key;
    }

    var n = +key;
    var len = target && target.length;

    return n >= -len && n < len ? n < 0 ? n + len : n : void 0;
}
function _getPathKey ( target , key , includeNonEnumerables ) { if ( includeNonEnumerables && key in Object ( target ) || _isEnumerable ( target , key ) ) { return key ; } var n = + key ; var len = target && target . length ; return n >= - len && n < len ? n < 0 ? n + len : n : void 0 ; }
Helper to retrieve the correct key while evaluating a path.
@private
@param {Object} target
@param {String} key
@param {Boolean} includeNonEnumerables
@returns {String|Number|Undefined}
Helper to retrieve the correct key while evaluating a path .