lib/fn.js
function compose() {
  var funcs = slice.call(arguments);

  return function() {
    var thisArg = this;
    var boundFuncs = funcs.map(function(func) {
      return function() {
        return promise.Promise.from(func.apply(thisArg, arguments));
      };
    });

    var args = slice.call(arguments);
    args.unshift(boundFuncs);

    return concurrent.pipeline.apply(concurrent, args);
  };
}
function compose() {
  var funcs = slice.call(arguments);

  return function() {
    var thisArg = this;
    var boundFuncs = funcs.map(function(func) {
      return function() {
        return promise.Promise.from(func.apply(thisArg, arguments));
      };
    });

    var args = slice.call(arguments);
    args.unshift(boundFuncs);

    return concurrent.pipeline.apply(concurrent, args);
  };
}
function compose ( ) { var funcs = slice . call ( arguments ) ; return function ( ) { var thisArg = this ; var boundFuncs = funcs . map ( function ( func ) { return function ( ) { return promise . Promise . from ( func . apply ( thisArg , arguments ) ) ; } ; } ) ; var args = slice . call ( arguments ) ; args . unshift ( boundFuncs ) ; return concurrent . pipeline . apply ( concurrent , args ) ; } ; }
The first `func` will be invoked with the other arguments that are passed. These arguments may also be promises, however instead of invoking `func` with the promises, it'll be invoked with the fulfillment values. If an argument promise is rejected, the returned promise will be rejected with the same reason.
The first func will be invoked with the other arguments that are passed . These arguments may also be promises however instead of invoking func with the promises it ll be invoked with the fulfillment values . If an argument promise is rejected the returned promise will be rejected with the same reason .