Você não pode selecionar mais de 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.

31 linhas
920 B

4 anos atrás
  1. import _curry1 from "./internal/_curry1.js";
  2. import liftN from "./liftN.js";
  3. /**
  4. * "lifts" a function of arity > 1 so that it may "map over" a list, Function or other
  5. * object that satisfies the [FantasyLand Apply spec](https://github.com/fantasyland/fantasy-land#apply).
  6. *
  7. * @func
  8. * @memberOf R
  9. * @since v0.7.0
  10. * @category Function
  11. * @sig (*... -> *) -> ([*]... -> [*])
  12. * @param {Function} fn The function to lift into higher context
  13. * @return {Function} The lifted function.
  14. * @see R.liftN
  15. * @example
  16. *
  17. * const madd3 = R.lift((a, b, c) => a + b + c);
  18. *
  19. * madd3([1,2,3], [1,2,3], [1]); //=> [3, 4, 5, 4, 5, 6, 5, 6, 7]
  20. *
  21. * const madd5 = R.lift((a, b, c, d, e) => a + b + c + d + e);
  22. *
  23. * madd5([1,2], [3], [4, 5], [6], [7, 8]); //=> [21, 22, 22, 23, 22, 23, 23, 24]
  24. */
  25. var lift =
  26. /*#__PURE__*/
  27. _curry1(function lift(fn) {
  28. return liftN(fn.length, fn);
  29. });
  30. export default lift;