Неправильное определение типа в lodash / sortBy с помощью TypeScript - PullRequest
0 голосов
/ 10 июля 2019

Кажется, что lodash/sortBy неправильно определяет тип 2-го аргумента функции iteratee (компаратор). Это относится как к именованному импорту, так и к импорте по умолчанию В то же время, stable помощник сортировки обнаруживает его правильно.

(песочница: https://codesandbox.io/embed/priceless-haslett-be2h6)

Вопрос: Могу я что-то сделать неправильно или есть проблема с _.sortBy с TS?

import _ from "lodash";
import sortBy from "lodash/sortBy";
import stable from "stable";

export interface ITableRow {
  accountId: number;
  companyName: string;
}

const rows: ITableRow[] = [];

// TS error
const sortedList1 = sortBy<ITableRow>(
  rows,
  (a, b) => a.accountId - b.accountId
);

// TS error
const sortedList2 = _.sortBy<ITableRow>(
  rows,
  (a, b) => a.accountId - b.accountId
);

// ok
const sortedList3 = stable<ITableRow>(
  rows,
  (a, b) => a.accountId - b.accountId
);

...