Package Exports
- property-sort
- property-sort/dist/index.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (property-sort) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
Property Sort
property-sort
provides a method that lets you setup sorting in alphabetical, numerical ordering and more. No more hassle sorting your arrays.
Example
let collection = [
{
user: { name: "Denzil Norris", age: 22 }
},
{
user: { name: "Clarissa London", age: 20 }
}
];
let options = {
direction: SortDirections.Ascending,
sortKey: ['user', 'name'],
locale: LanguageCode.en
};
sortByProperty(collection, options);
/*[
{
user: { name: "Clarissa London", age: 20 }
},
{
user: { name: "Denzil Norris", age: 22 }
}
]*/
options = {
direction: SortDirections.Descending,
sortKey: ['user', 'age'],
locale: LanguageCode.en
};
sortByProperty(collection, options);
/*[
{
user: { name: "Denzil Norris", age: 22 }
},
{
user: { name: "Clarissa London", age: 20 }
}
]*/
Getting started
Install the package...
npm install property-sort
Usage
Plain TypeScript:
import sortByProperty, { SortDirections, SortOptions, SortObject } from 'property-sort';
import LanguageCode from 'language-code';
...
let collection: SortObject<YourItem[]> = ...;
let options: SortOptions = {
direction: SortDirections.Ascending,
sortKey: ['adress', 'suite'],
locale: LanguageCode.en,
numeric: true
};
collection = sortByProperty(collection, options);
Properties
sortByProperty
(method):
sortByProperty(collection: T[], options: SortOptions): T[]
Property | Type | Description |
---|---|---|
collection | SortObject<T> |
array to sort |
options | SortOptions | options on sorting |
SortOptions
(interface):
Property | Type | Description |
---|---|---|
sortKey | SortType | Key to sort the array by |
direction | SortDirection | Sets sort to ascending/descending order |
locale? | LocaleType | Used to compare in chosen locale |
numeric? | boolean |
Used when comparing strings using numeric values |
SortDirection
(interface)
Key | Value | Description |
---|---|---|
None | 0 | Used to reset sorting |
Ascending | 1 | Used to sort in ascending order |
Descending | 2 | Used to sort in descending order |
SortObject<T>
(type)
SortObject
is a generic type, which takes in an array of unknown objects. This will allow you to to work with your own interfaces while benefitting from writing typed.
LocaleType
(type)
A standardized nomenclature used to classify languages. The LocaleType
accepts a wildcard string or an ENUM using LanguageCode
. As a fallback LocaleType
will be set to "en" (English), this will be done when leaving it as undefined or an invalid LocaleType
.
SortType
(type)
SortType
is a type which accepts a string or array of strings, which represents the key you would like to sort the array by. Example: 'key'
or following, if the key is in an a nested object: ['nested','key']
.