Size: a a a

2020 September 12

Вт

Ві тя in Frontend UA
Ilya
Оверлоад?
ага
источник

EO

Eugene Obrezkov in Frontend UA
Я делаю класс который эмитит все события из оригинального эмиттера + свои
источник

I

Ilya in Frontend UA
Eugene Obrezkov
Я делаю класс который эмитит все события из оригинального эмиттера + свои
Мб тип ивента можно нагло заимпортить и его расширить в аргументе метода?
источник

Вт

Ві тя in Frontend UA
источник

Вт

Ві тя in Frontend UA
интересный кейс
источник

Вт

Ві тя in Frontend UA
я б не усложнял и написал бы без типов)
источник

VS

V7v S6k in Frontend UA
Ві тя
я б не усложнял и написал бы без типов)
Так з типами ж простіше, чи я щось не розумію?)
источник

TS

Terry Sahaidak in Frontend UA
Eugene Obrezkov
господа, а как можно расширить интерфейс и дополнить его в тайпскрипте?

есть такой код

export declare interface StreamReader extends Transform {
 on: (event: 'metadata', metadata: Map<string, string>) => this
}


и всё бы ничего, но вот у Transform есть свои on и он получается его переопределяет, а не дополняет (насколько я понял)
и по итогу тс ругается что

Interface 'StreamReader' incorrectly extends interface 'Transform'.ts(2430)
так вроді ж можна без проблем просто переоприділяти методи в інтерфейсі як і з класами
источник

TS

Terry Sahaidak in Frontend UA
або я щось в оор не шарю
источник

I

Ilya in Frontend UA
Eugene Obrezkov
Так он же вернёт всё кроме «on». Мне нужно оставить всё что там и добавить своих
event: Parameters<Transform[“on”]>[0] | “metadata”
Но жесть какая-то😅
источник

EO

Eugene Obrezkov in Frontend UA
источник

EO

Eugene Obrezkov in Frontend UA
вот мне нужно чтобы у моего эмиттера был on с двумя сигнатурами
источник

EO

Eugene Obrezkov in Frontend UA
чтобы был «паттерн матчинг» (в жирных кавычках)
источник

EO

Eugene Obrezkov in Frontend UA
у меня просто в зависимости от типа события разные слушатели с разной сигнатурой
источник

EO

Eugene Obrezkov in Frontend UA
Terry Sahaidak
так вроді ж можна без проблем просто переоприділяти методи в інтерфейсі як і з класами
мне нужно не переопределить, а добавить
источник

VS

V7v S6k in Frontend UA
У мене все ж є підозра що інтерфейси не перевизначають методи, як класи, а тупо додаються один до одного.
источник

EO

Eugene Obrezkov in Frontend UA
если это так, он не должен был мне говорить что я неправильно интерфейс расширяю
источник

VS

V7v S6k in Frontend UA
Eugene Obrezkov
если это так, он не должен был мне говорить что я неправильно интерфейс расширяю
Він вважає що у тебе два різних методи з однаковою назвою. В тс ти можеш мати один метод з різними сигнатурами лише.
источник

VS

V7v S6k in Frontend UA
Хоча, так, ти ж лише сигнатуру вказуєш...
источник

I

Ilya in Frontend UA
источник