Самая большая боль в Typescript - это невозможность сделать так, чтобы твои ключи объекта не теряли документацию. Например если надо сделать так, чтобы все ключи стали фунциями, то мы напишем условный тип Getters type Getters = { [Property in keyof Type as get${Capitalize}]: () => Type[Property] };

Не пугайтесь такого длинного типа, если посмотреть внимательно, то можно увидеть, что мы к каждому ключу объекта приписываем get и первую букву делаем большой. 😱

Так вот, Issue открыто с 2022 года, уже TS на Go переписывают. А болячки старые закрыть не могут... Жутко бесит невозможность сохранение JSDoc, поскольку это портит DX при написании библиотек. 🤬

P.S. скоро выпущу в рамках playwright-labs новый пакет, и он вас точно удивит, закрывает мою давнюю боль и горождение велосипедов каждый раз.😎

#ts #typescript #pw #playwright @haradkou_sdet