only-sort
v0.1.0
Published
A powerful and flexible TypeScript library for sorting arrays and collections. The library supports sorting of various data types, including strings, numbers, booleans, dates, objects, and arrays.
Downloads
61
Readme
Only Sort
A powerful and flexible TypeScript library for sorting arrays and collections. The library supports sorting of various data types, including strings, numbers, booleans, dates, objects, and arrays.
Features
- Typed Sorting: TypeScript-powered type safety for all sorting functions.
- Automatic Sorting:
sortAuto
automatically determines how to sort based on the type. - Custom Sorters: Create and use custom sorting functions easily.
- Nullish Handling: Handles
null
andundefined
values gracefully. - High Modularity: Import only what you need.
Installation
Install the library via npm:
npm install sortit
Or via Yarn:
yarn add sortit
Or via pnpm:
pnpm add sortit
Or via Bun:
bun add sortit
Usage
Importing the Library
import { sortAuto, sortNumbers, sortStrings } from "sortit";
Sorting Examples
Sort Numbers
const numbers = [5, 2, 9, 1];
const sortedNumbers = sortNumbers(numbers);
console.log(sortedNumbers); // [1, 2, 5, 9]
Sort Strings
const strings = ["apple", "orange", "banana"];
const sortedStrings = sortStrings(strings);
console.log(sortedStrings); // ["apple", "banana", "orange"];
Sort Dates
const dates = [new Date(2022, 5, 1), new Date(2021, 1, 1)];
const sortedDates = sortAuto(dates);
console.log(sortedDates); // [2021-01-01T00:00:00.000Z, 2022-06-01T00:00:00.000Z]
Custom Sorter
import { sorter } from "sortit";
const customSorter = sorter((item) => item.length);
const words = ["short", "very long", "medium"];
const sortedWords = words.sort(customSorter);
console.log(sortedWords); // ["short", "medium", "very long"];
API
sortAuto
Automatically sorts an array based on the type of elements.
Parameters:
values: Array<unknown>
- Array to be sorted.
Returns: Array<unknown>
- Sorted array.
sortNumbers
Sorts an array of numbers.
Parameters:
numbers: Array<number>
- Array of numbers to be sorted.
Returns: Array<number>
- Sorted array.
sortStrings
Sorts an array of strings alphabetically.
Parameters:
strings: Array<string>
- Array of strings to be sorted.
Returns: Array<string>
- Sorted array.
sorter
Creates a custom sorter based on an accessor function.
Parameters:
accessor: (value: T) => R
- Accessor function for the sort key.
Returns: (a: T, b: T) => number
- A comparator function.
Development
Building the Library
Use the following command to build the library:
npm run build
Running Tests
Add test cases and run them using:
npm test
Contributing
Contributions are welcome! Please submit a pull request or open an issue on GitHub.
License
This project is licensed under the MIT License. See the LICENSE file for details.