import { set } from '@wener/utils'; export function toKnexOrder(order: OrderRule[]): Record { return order .map(({ field, order, nulls }) => { let o: string = order; if (nulls) { o = `${order} nulls ${nulls}`; } return [field, o]; }) .reduce( (acc, [field, o]) => { set(acc, field, o); return acc; }, {} as Record, ); } type OrderRule = { field: string; order: 'asc' | 'desc'; nulls?: 'last' | 'first' };