Prescurtare în Typescript pentru interfețe sau tipuri cu proprietăți de același tip
Există o sintaxă sugar în TypeScript unde pot spune că tipul tuturor proprietăților unei interfețe(/tipuri) este același și să nu îl menționez pentru fiecare proprietate în parte.
Ex :
export interface allStrings {
prop1: string;
prop2: string;
}
// Sugard as something like this(Pseudo)
export interface allStrings<string> {
prop1,popp2;
}
Editare: Nu caut o interfață care să spună obiect cu toate valorile de tip șir, ci mai degrabă un obiect cu doar anumite chei specificate și fiecare are o valoare de tip șir.
Răspuns #1
Ceea ce cauți este similar cu Record<'prop1' | 'prop2', string>
Răspunsul #2
export interface AllSameType<T> {
[k: string]: T;
}
Aceasta este o interfață a unui obiect cu proprietăți de orice nume și toate vor fi de același tip, T.
Utilizare :
const strs: AllSameType<string> = { a: '', b: 1 }; // Error, b is not string