https://github.com/iamnapo/sort
📊 Sorting comparators so you don't have to remember what to substract from what.
https://github.com/iamnapo/sort
comparator compare date number sort string
Last synced: 6 months ago
JSON representation
📊 Sorting comparators so you don't have to remember what to substract from what.
- Host: GitHub
- URL: https://github.com/iamnapo/sort
- Owner: iamnapo
- License: mit
- Created: 2020-09-15T20:21:46.000Z (over 5 years ago)
- Default Branch: main
- Last Pushed: 2023-05-10T20:29:57.000Z (over 2 years ago)
- Last Synced: 2024-05-12T00:42:00.906Z (over 1 year ago)
- Topics: comparator, compare, date, number, sort, string
- Language: TypeScript
- Homepage: https://npm.im/@iamnapo/sort
- Size: 57.6 KB
- Stars: 3
- Watchers: 2
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# @iamnapo/sort
> Sorting comparators so you don't have to remember what to substract from what
[](https://github.com/iamnapo/sort/actions) [](https://www.npmjs.com/package/@iamnapo/sort)
## Install
```sh
npm i @iamnapo/sort
```
## Usage
```js
import { numberSmallToLarge } from "@iamnapo/sort";
[12, -42, -Infinity, 123, Number.NaN].sort(numberSmallToLarge());
//=> [Number.NaN, -Infinity, -42, 12, 123]
[{ name: "Mary", age: 20 }, { name: "Bob", age: 30 }, { name: "Napoleon", age: 26 }].sort(numberSmallToLarge((p) => p.age));
//=> [{ name: "Mary", age: 20 }, { name: "Napoleon", age: 26 }, { name: "Bob", age: 30 }];
```
## API
### numberSmallToLarge(get?)
Ascending sort comparator for numbers.
### numberLargeToSmall(get?)
Descending sort comparator for numbers.
### dateOldToNew(get?)
Ascending sort comparator for Dates.
### dateNewToOld(get?)
Descending sort comparator for Dates.
### stringAToZ(get?)
Ascending sort comparator for strings.
### stringZToA(get?)
Descending sort comparator for strings.
### stringAToZInsensitive(get?)
Case-insensitive ascending sort comparator for strings.
> Note: In case of equality, a case-sensitive comparison is the tie-breaker.
### stringZToAInsensitive(get?)
Case-insensitive descending sort comparator for strings.
> Note: In case of equality, a case-sensitive comparison is the tie-breaker.
#### get
Type: `function`\
Default: `(v) => v`
Function used to extract each value to compare.