Я хочу построить функцию, которая принимает любой объект и возвращает этот объект с несколькими добавленными свойствами. что-то вроде:расширение интерфейса с generic в машинописных текстах
//this code doesn't work
function addProperties<T>(object: T): IPropertiesToAdd<T> {/*implmentions code*/};
interface IPropertiesToAdd<T> extend T{
on(): void;
off(): void;
}
//usage example
var str = new String('Hello')
addProperties(str)
str.charAt(3)
str.on()
для кода выше машинопись компилятора возвращает ошибку, что интерфейс может только добавить класс или интерфейс, как я могу выразить это в машинописи.
спасибо за ваше время, с небольшим изменением архитектуры, ваш ответ действительно помог. – user2692945