lib/index.js
function getIn(record, accessor, ctx) {
    var v = record;
    var keys = getPathKeys(accessor, ctx);
    if (utils_1.isFn(record.getIn)) {
        return record.getIn(keys);
    }
    var len = keys.length;
    for (var i = 0; i < len; i++) {
        var key = keys[i];
        v = utils_1.isObj(v)
            ? utils_1.isFn(v.get)
                ? v.get(key)
                : v[key]
            : undefined;
    }
    return v;
}
function getIn(record, accessor, ctx) {
    var v = record;
    var keys = getPathKeys(accessor, ctx);
    if (utils_1.isFn(record.getIn)) {
        return record.getIn(keys);
    }
    var len = keys.length;
    for (var i = 0; i < len; i++) {
        var key = keys[i];
        v = utils_1.isObj(v)
            ? utils_1.isFn(v.get)
                ? v.get(key)
                : v[key]
            : undefined;
    }
    return v;
}
function getIn ( record , accessor , ctx ) { var v = record ; var keys = getPathKeys ( accessor , ctx ) ; if ( utils_1 . isFn ( record . getIn ) ) { return record . getIn ( keys ) ; } var len = keys . length ; for ( var i = 0 ; i < len ; i ++ ) { var key = keys [ i ] ; v = utils_1 . isObj ( v ) ? utils_1 . isFn ( v . get ) ? v . get ( key ) : v [ key ] : undefined ; } return v ; }
get a deep child

@param record The object to update, it can be a plain object or a class instance
@param accessor A lambda function to get the key path, support dot, [''], [""], [1], **do not** support dynamic variable, function call, e.g.
@param ctx Dynamic key map.
get a deep child