reverse.js 897 B

12345678910111213141516171819202122232425262728293031323334
  1. import _curry1 from "./internal/_curry1.js";
  2. import _isString from "./internal/_isString.js";
  3. /**
  4. * Returns a new list or string with the elements or characters in reverse
  5. * order.
  6. *
  7. * @func
  8. * @memberOf R
  9. * @since v0.1.0
  10. * @category List
  11. * @sig [a] -> [a]
  12. * @sig String -> String
  13. * @param {Array|String} list
  14. * @return {Array|String}
  15. * @example
  16. *
  17. * R.reverse([1, 2, 3]); //=> [3, 2, 1]
  18. * R.reverse([1, 2]); //=> [2, 1]
  19. * R.reverse([1]); //=> [1]
  20. * R.reverse([]); //=> []
  21. *
  22. * R.reverse('abc'); //=> 'cba'
  23. * R.reverse('ab'); //=> 'ba'
  24. * R.reverse('a'); //=> 'a'
  25. * R.reverse(''); //=> ''
  26. */
  27. var reverse =
  28. /*#__PURE__*/
  29. _curry1(function reverse(list) {
  30. return _isString(list) ? list.split('').reverse().join('') : Array.prototype.slice.call(list, 0).reverse();
  31. });
  32. export default reverse;