Есть функция:
function mkSorter<T extends { [key: string]: unknown }>(prop: keyof T) {
return (a: T, b: T) => a[prop] - b[prop];
}
Как добавить еще одно ограничение, чтобы можно было передать только такой prop, где
prop: keyof T
и еще
T[K]: number
Чтобы использовать вот так:
type SomeObjectType = {
number: number;
alsoNumber: number;
string: string;
anotherString: string;
bool: boolean;
};
const columns: ColumnsType<SomeObjectType> = [
{
title: 'Also number',
dataIndex: 'alsoNumber',
sorter: mkSorter<SomeObjectType>('alsoNumber'),
defaultSortOrder: 'descend',
},
];
И никакие значения, кроме
'number'
и
'alsoNumber',
нельзя было передать в этом случае.
Текущий нерабочий вариант.