TypeScript Подпись общего метода в интерфейсе

Я пытаюсь определить интерфейс с несколькими методами, и я хотел бы, чтобы один из методов был общим.

Это метод filterUnique, поэтому он должен иметь возможность фильтровать списки чисел, строк и т.д.

для меня не компилируется следующее:

export interface IGenericServices {
    filterUnique(array: Array<T>): Array<T>;
}

Есть ли способ сделать этот компилятор, или я делаю концептуальную ошибку где-то здесь?

Ура!

Ответ 1

Тип T еще не определен. Он должен быть добавлен к методу как переменная типа, например:

filterUnique<T>(array: Array<T>): Array<T>;

Или добавлен в интерфейс, например:

export interface IGenericServices<T> {
    filterUnique(array: Array<T>): Array<T>;
}