UNPKG

rambda

Version:

Lightweight and faster alternative to Ramda with included TS definitions

28 lines (22 loc) 494 B
import { cloneList } from './_internals/cloneList.js' export function sortByFn ( sortFn, list, descending ){ const clone = cloneList(list) return clone.sort((a, b) => { const aSortResult = sortFn(a) const bSortResult = sortFn(b) if (aSortResult === bSortResult) { return 0 } if( descending ) return aSortResult > bSortResult ? -1 : 1 return aSortResult < bSortResult ? -1 : 1 }) } export function sortBy(sortFn) { return list => sortByFn(sortFn, list, false) }