File size: 435 Bytes
f1dd159 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 | export type SortOrder = "asc" | "desc";
export type TableSort<Field extends string = string> = {
field: Field;
order: SortOrder;
};
export function nextTableSort<Field extends string>(current: TableSort<Field>, field: Field, initialOrder: SortOrder = "asc"): TableSort<Field> {
if (current.field !== field) {
return { field, order: initialOrder };
}
return { field, order: current.order === "asc" ? "desc" : "asc" };
}
|