1.0.0 • Published 5 months ago

only-sort v1.0.0

Weekly downloads
-
License
MIT
Repository
github
Last release
5 months ago

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 and undefined 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.

1.0.0

5 months ago

0.1.0

7 months ago