mirror of
https://github.com/swc-project/swc.git
synced 2024-12-23 05:32:09 +03:00
32 lines
1.0 KiB
TypeScript
32 lines
1.0 KiB
TypeScript
// Loaded from https://deno.land/x/ramda@v0.27.2/source/sort.js
|
|
|
|
|
|
import _curry2 from './internal/_curry2.js';
|
|
|
|
|
|
/**
|
|
* Returns a copy of the list, sorted according to the comparator function,
|
|
* which should accept two values at a time and return a negative number if the
|
|
* first value is smaller, a positive number if it's larger, and zero if they
|
|
* are equal. Please note that this is a **copy** of the list. It does not
|
|
* modify the original.
|
|
*
|
|
* @func
|
|
* @memberOf R
|
|
* @since v0.1.0
|
|
* @category List
|
|
* @sig ((a, a) -> Number) -> [a] -> [a]
|
|
* @param {Function} comparator A sorting function :: a -> b -> Int
|
|
* @param {Array} list The list to sort
|
|
* @return {Array} a new array with its elements sorted by the comparator function.
|
|
* @see R.ascend, R.descend
|
|
* @example
|
|
*
|
|
* const diff = function(a, b) { return a - b; };
|
|
* R.sort(diff, [4,2,7,5]); //=> [2, 4, 5, 7]
|
|
*/
|
|
var sort = _curry2(function sort(comparator, list) {
|
|
return Array.prototype.slice.call(list, 0).sort(comparator);
|
|
});
|
|
export default sort;
|