Создаю какой-нибудь интерфейс:
export interface Syllable {
readonly id: number;
readonly hiragana?: string;
readonly katakana: string;
readonly transcription: string;
}
Пишу затем абстрактный класс и объявляю в нём метод, который возвращает
Syllable[]
. Наследуюсь от данного класса, в теле определения метода использую функцию из другой библиотеки:
// underscore.js
return _.shuffle(this.proposed_options);
В результате получается, что сигнатуры не совпадают: возвращаю не
Syllable[]
, а
{}[]
.
Поэтому привожу вручную к нужной сигнатуре:
// underscore.js
<Syllable[]>_.shuffle(this.proposed_options)
Вопрос в том, как правильно разобраться с этой ситуацией.