Nehmen wir an, es gibt eine Tippdatei für die Bibliothek X, die einige Schnittstellen enthält.Gibt es eine Möglichkeit, den Typ der TypeScript-Schnittstelleneigenschaft zu "extrahieren"?
interface I1 {
x: any;
}
interface I2 {
y: {
a: I1,
b: I1,
c: I1
}
z: any
}
Um mit dieser Bibliothek ich ein Objekt herumgehen müssen zu arbeiten, die als I2.y
von genau der gleichen Art ist.
interface MyInterface {
a: I1,
b: I1,
c: I1
}
let myVar: MyInterface;
aber dann bekomme ich die Last es zu halten mit der, von der Bibliothek auf dem neuesten Stand, zudem können sie sehr groß sein und in vielen Code-Duplizierung führen: Ich kann natürlich identische Schnittstelle in meinen Source-Dateien erstellen .
Gibt es also eine Möglichkeit, den Typ dieser spezifischen Eigenschaft der Schnittstelle zu "extrahieren"? Ähnliches wie let myVar: typeof I2.y
(was nicht funktioniert und zu dem Fehler "Kann den Namen I2 nicht finden" führt). Danke im Voraus.
bearbeiten: Nach ein wenig in TS Spielplatz spielen bemerkte ich, dass Sie folgenden Code erreicht genau das, was ich will:
declare var x: I2;
let y: typeof x.y;
jedoch eine redundante Variable erfordert x
deklariert werden. Ich suche nach einem Weg, dies ohne diese Erklärung zu erreichen.
* was nicht funktioniert * - wie manifestiert sich das? Was ist die eigentliche Fehlermeldung, die Sie sehen? –
@BartekBanachewicz aktualisiert –