lib/altshift/promise.js
function (target, property, value) {
    return perform(target, function (target) {
        return target.set(property, value);
    }, function (target) {
        target[property] = value;
        return value;
    });
}
function (target, property, value) {
    return perform(target, function (target) {
        return target.set(property, value);
    }, function (target) {
        target[property] = value;
        return value;
    });
}
function ( target , property , value ) { return perform ( target , function ( target ) { return target . set ( property , value ) ; } , function ( target ) { target [ property ] = value ; return value ; } ) ; }
Sets the value of a property in a future turn.

@param {Promise} target promise or value for target object
@param {string} property name of property to set
@param {*} value new value of property
@return promise for the return value
Sets the value of a property in a future turn .