Skip to content

mcvanhassel/sort-utils

Repository files navigation

Generic Array Sort Utilities for TypeScript

GitHub Travis (.org) Codecov Depfu Known Vulnerabilities

Quality Gate Status Maintainability Rating Reliability Rating Security Rating

Lines of Code Duplicated Lines (%) Bugs Code Smells Technical Debt Vulnerabilities

Overview

Generic type-safe array sorting utility functions for TypeScript projects

Usage

Sort Ascending

const sortedItems = sortAscending(['è', 'c', 'é', 'e', 'a', 'd', 'b']);
// ['a', 'b', 'c', 'd', 'e', 'é', 'è']
of([1, 10, 5]).pipe(map(sortAscending)).subscribe();
// [1, 5, 10]

Sort Descending

const sortedItems = sortDescending(['è', 'c', 'é', 'e', 'a', 'd', 'b']);
// ['è', 'é', 'e', 'd', 'c', 'b', 'a']
of([false, true, false, true]).pipe(map(sortDescending)).subscribe();
// [true, true, false, false]

Sort Ascending By Property

const items: Item[] = [
  { id: 2, title: 'a' },
  { id: 1, title: 'b' },
];
const sortedItems = sortAscendingBy('id')(items);
// [{ id: 1, title: 'b' }, { id: 2, title: 'a' }]
of([
  { id: 2, title: 'a' },
  { id: 1, title: 'b' },
])
  .pipe(map(sortAscendingBy('title')))
  .subscribe();
// [{ id: 2, title: 'a' }, { id: 1, title: 'b' }]

Sort Descending By Property

const items: Item[] = [
  { id: 2, title: 'a' },
  { id: 1, title: 'b' },
];
const sortedItems = sortDescendingBy('id')(items);
// [{ id: 2, title: 'a' }, { id: 1, title: 'b' }]
of([
  { id: 2, title: 'a' },
  { id: 1, title: 'b' },
])
  .pipe(map(sortDescendingBy('title')))
  .subscribe();
// [{ id: 1, title: 'b' }, { id: 2, title: 'a' }]

About

Generic type-safe array sorting utility functions for TypeScript projects

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors