composeP.js•813 B
var pipeP = require('./pipeP');
var reverse = require('./reverse');
/**
* Performs right-to-left composition of one or more Promise-returning
* functions. The rightmost function may have any arity; the remaining
* functions must be unary.
*
* @func
* @memberOf R
* @since v0.10.0
* @category Function
* @sig ((y -> Promise z), (x -> Promise y), ..., (a -> Promise b)) -> (a -> Promise z)
* @param {...Function} functions
* @return {Function}
* @see R.pipeP
* @example
*
* // followersForUser :: String -> Promise [User]
* var followersForUser = R.composeP(db.getFollowers, db.getUserById);
*/
module.exports = function composeP() {
if (arguments.length === 0) {
throw new Error('composeP requires at least one argument');
}
return pipeP.apply(this, reverse(arguments));
};