index.js
function api (obj, pointer, value) {
    // .set()
    if (arguments.length === 3) {
        return api.set(obj, pointer, value);
    }
    // .get()
    if (arguments.length === 2) {
        return api.get(obj, pointer);
    }
    // Return a partially applied function on `obj`.
    var wrapped = api.bind(api, obj);

    // Support for oo style
    for (var name in api) {
        if (api.hasOwnProperty(name)) {
            wrapped[name] = api[name].bind(wrapped, obj);
        }
    }
    return wrapped;
}
function api (obj, pointer, value) {
    // .set()
    if (arguments.length === 3) {
        return api.set(obj, pointer, value);
    }
    // .get()
    if (arguments.length === 2) {
        return api.get(obj, pointer);
    }
    // Return a partially applied function on `obj`.
    var wrapped = api.bind(api, obj);

    // Support for oo style
    for (var name in api) {
        if (api.hasOwnProperty(name)) {
            wrapped[name] = api[name].bind(wrapped, obj);
        }
    }
    return wrapped;
}
function api ( obj , pointer , value ) { // .set() if ( arguments . length === 3 ) { return api . set ( obj , pointer , value ) ; } // .get() if ( arguments . length === 2 ) { return api . get ( obj , pointer ) ; } // Return a partially applied function on `obj`. var wrapped = api . bind ( api , obj ) ; // Support for oo style for ( var name in api ) { if ( api . hasOwnProperty ( name ) ) { wrapped [ name ] = api [ name ] . bind ( wrapped , obj ) ; } } return wrapped ; }
Convenience wrapper around the api.
Calls `.get` when called with an `object` and a `pointer`.
Calls `.set` when also called with `value`.
If only supplied `object`, returns a partially applied function, mapped to the object.

@param {Object} obj
@param {String|Array} pointer
@param value
@returns {*}
Convenience wrapper around the api . Calls . get when called with an object and a pointer . Calls . set when also called with value . If only supplied object returns a partially applied function mapped to the object .