| import _arity from './internal/_arity.js'; |
| import _pipeP from './internal/_pipeP.js'; |
| import reduce from './reduce.js'; |
| import tail from './tail.js'; |
| |
| /** |
| * Performs left-to-right composition of one or more Promise-returning |
| * functions. The leftmost function may have any arity; the remaining functions |
| * must be unary. |
| * |
| * @func |
| * @memberOf R |
| * @since v0.10.0 |
| * @category Function |
| * @sig ((a -> Promise b), (b -> Promise c), ..., (y -> Promise z)) -> (a -> Promise z) |
| * @param {...Function} functions |
| * @return {Function} |
| * @see R.composeP |
| * @deprecated since v0.26.0 |
| * @example |
| * |
| * // followersForUser :: String -> Promise [User] |
| * const followersForUser = R.pipeP(db.getUserById, db.getFollowers); |
| */ |
| export default function pipeP() { |
| if (arguments.length === 0) { |
| throw new Error('pipeP requires at least one argument'); |
| } |
| return _arity(arguments[0].length, reduce(_pipeP, arguments[0], tail(arguments))); |
| } |