reverse.js•910 B
var _curry1 = require('./internal/_curry1');
var _isString = require('./internal/_isString');
var _slice = require('./internal/_slice');
/**
* Returns a new list or string with the elements or characters in reverse
* order.
*
* @func
* @memberOf R
* @since v0.1.0
* @category List
* @sig [a] -> [a]
* @sig String -> String
* @param {Array|String} list
* @return {Array|String}
* @example
*
* R.reverse([1, 2, 3]); //=> [3, 2, 1]
* R.reverse([1, 2]); //=> [2, 1]
* R.reverse([1]); //=> [1]
* R.reverse([]); //=> []
*
* R.reverse('abc'); //=> 'cba'
* R.reverse('ab'); //=> 'ba'
* R.reverse('a'); //=> 'a'
* R.reverse(''); //=> ''
*/
module.exports = _curry1(function reverse(list) {
return _isString(list) ? list.split('').reverse().join('') :
_slice(list).reverse();
});