Kúpil som si reactové templaty napísané v čistom JS (neviem kolkatka ES, ale používajú sa tam nové vymoženosti JS ako class, arrow funkcie)
No a chcel by som to celé prekopať do TypeScriptu jednoducho to celé automaticky otypovať. Nemusí to byť otypované úplne všetko (to sa ani nedá), ale bolo by fajn keby to malo nejakú pokročilú techniku type inference alebo statickej analýzy (či čo to je), ktorou by si tie typy vedelo odvodiť nejako podľa literálov a aj pospájať do komplexnejších typov.
1. napr podľa tohoto:
var point3D = { x: 5, y: 15, z: -12, color: { r: 255, g: 124, b: 24. a: 1 } };
by si odvodilo takéto typové definície:
type TPoint3D = {
x: number;
y: number;
z: number;
color: TColor;
}
type TColor = {
r: number;
g: number;
b: number;
a: number;
}
Ale samozrejme by to malo vedieť aj skladať typy podľa toho ako sú použité na viacerých miestach v kóde.
2. A ďalej by to mohlo vedieť odvodzovať podľa jsx napr keby sme mali takúto komponentu:
<TextBox
text="Nejaky string"
rows={4}
acceptsReturns={true}
/>
tak podľa toho by vedelo odvodiť:
type TTextBoxProps = {
text: string;
rows: number;
acceptsReturns: boolean;
}
// a potom do classy by pridalo TTextBoxProps podľa atribútov
class TextBox extends React.Component<TTextBoxProps, {}> {
...
Viete o niečom takom? Vopred ďakujem.