Size: a a a

2020 September 18

KY

Kyrylo Yakovenko • 𝟰... in Frontend UA
Andrey Listochkin
у меня Nest, с декораторами очень ок.
в ембер тоже хорошо с ними
источник

EO

Eugene Obrezkov in Frontend UA
Eugene Obrezkov
Конкретно это не очень уднобно. Мне декораторы были бы очень полезны для свойств структуры. Обозначить какую-то deprecated, подмешать мониторинг за конкретным свойством и чтобы оно само репортило и прочие от такие кейсы
Собственно, на то они и декораторы - декорировать, а не что-то городить из них
источник

AL

Andrey Listochkin in Frontend UA
Да и в Реакте, когда по декораторам угорали, они вполне ок смотрелись
источник

AL

Andrey Listochkin in Frontend UA
*на фоне того, что код на Реакте в принципе так себе смотрится
источник

TS

Terry Sahaidak in Frontend UA
Volodymyr
типу такого?
насправді не все так просто)

https://github.com/microsoft/TypeScript/issues/4881
источник

KY

Kyrylo Yakovenko • 𝟰... in Frontend UA
Andrey Listochkin
*на фоне того, что код на Реакте в принципе так себе смотрится
хуки, по читабельности имхо близки к декораторам
источник

TS

Terry Sahaidak in Frontend UA
Eugene Obrezkov
Собственно, на то они и декораторы - декорировать, а не что-то городить из них
що ти маєш на увазі під “декорувати”?) де межа?
источник

EO

Eugene Obrezkov in Frontend UA
Terry Sahaidak
що ти маєш на увазі під “декорувати”?) де межа?
Ну, декорирование - это когда берут одно свойство системы и оборачивают его в другое свойство системы с последующим вызовом оригинального
источник

V

Volodymyr in Frontend UA
так це зрозуміло, бо
declare type ClassDecorator = <TFunction extends Function>(target: TFunction) => TFunction | void;

та і як вже сказали змінювати сигнатури і інтерфейс це не здорово)
источник

EO

Eugene Obrezkov in Frontend UA
Eugene Obrezkov
Ну, декорирование - это когда берут одно свойство системы и оборачивают его в другое свойство системы с последующим вызовом оригинального
«границы» нету, т.к. она от контекста меняется
источник

EO

Eugene Obrezkov in Frontend UA
Но что точно я не считаю декоратором, так это если на класс навешивают «декоратор» который начинает добавлять в него новые свойства :)
источник

EO

Eugene Obrezkov in Frontend UA
Это сложнее читается, чем просто добавленное новое свойство в структуру явно
источник

EO

Eugene Obrezkov in Frontend UA
Volodymyr
так це зрозуміло, бо
declare type ClassDecorator = <TFunction extends Function>(target: TFunction) => TFunction | void;

та і як вже сказали змінювати сигнатури і інтерфейс це не здорово)
Function тип лучше не использовать ;)
источник

V

Volodymyr in Frontend UA
Eugene Obrezkov
Function тип лучше не использовать ;)
ну так це копіпаст з .\node_modules\typescript\lib\lib.es5.d.ts
источник

Вт

Ві тя in Frontend UA
Там юмористи в коментах
источник

Вт

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

TS

Terry Sahaidak in Frontend UA
ггг) насправді в юзерленді для такого кейсів певно нуль
проте інколи хтось написав якусь лібу, а ти хоч дати їй нормальне АРІ і городищ костилі  - власне це мій кейс)
источник

Вт

Ві тя in Frontend UA
декоратор це ж по суті Higher order function, компоуз, але викликається кожен раз в рантайм

а те що тобі треба схоже на тільки один раз?
источник

Вт

Ві тя in Frontend UA
Декоратор на класі викликається перед конструктором
источник

Вт

Ві тя in Frontend UA
а тобі підійде заманкіпатчити прототип
источник