mv arraySorter to separate file

This commit is contained in:
Collin M. Barrett 2019-08-31 10:02:49 -05:00
parent f8839009f3
commit 1388300b20
2 changed files with 19 additions and 20 deletions

View file

@ -13,6 +13,7 @@ import { LanguageCloud } from '../languageCloud';
import { ListInfoButton } from '../ListInfoButton';
import { ListInfoDrawer } from '../ListInfoDrawer';
import { TagCloud } from '../tagCloud';
import { arraySorter } from './arraySorter';
import styles from './ListsTable.module.css';
export const ListsTable = (props: RouteComponentProps) => {
@ -92,23 +93,4 @@ export const ListsTable = (props: RouteComponentProps) => {
}} />
</span>
);
}
interface ArraySortableEntity {
id: number;
name: string;
}
const arraySorter = (a: number[], b: number[], entities: ArraySortableEntity[]): number =>
a && a.length
? b && b.length
? a.length === b.length
? entities.filter((e: ArraySortableEntity) => a.indexOf(e.id) > -1).map((e: ArraySortableEntity) => e.name).join().toLowerCase()
> entities.filter((e: ArraySortableEntity) => b.indexOf(e.id) > -1).map((e: ArraySortableEntity) => e.name).join().toLowerCase()
? 1
: -1
: a.length > b.length
? -1
: 1
: -1
: 1;
}

View file

@ -0,0 +1,17 @@
interface ArraySortableEntity {
id: number;
name: string;
}
export const arraySorter = (a: number[], b: number[], entities: ArraySortableEntity[]): number => a && a.length
? b && b.length
? a.length === b.length
? entities.filter((e: ArraySortableEntity) => a.indexOf(e.id) > -1).map((e: ArraySortableEntity) => e.name).join().toLowerCase()
> entities.filter((e: ArraySortableEntity) => b.indexOf(e.id) > -1).map((e: ArraySortableEntity) => e.name).join().toLowerCase()
? 1
: -1
: a.length > b.length
? -1
: 1
: -1
: 1;