Ich versuche, einige TypeScript-Definitionen für bereits vorhandene Module zu erstellen. In einer besonderen Schnittstelle implementiert werden, sieht die Signatur wie folgt aus:Automatisches Ableiten von Typen von überschriebenen Schnittstellen in TypeScript
type NextFunction<T> =() => T;
type Response = string[] | Promise<string[]>;
interface IPage {
getBodyClasses(next: NextFunction<Response>): Response;
}
Der Parameter und Rückgabestrukturen festgelegt sind, und ich würde wirklich die Parametertypen sind meiner überschrieben möchte in der Lage sein haben Typoskript ableiten, was Methoden. Wenn ich jedoch meine Überschreibung erstelle, sehe ich, dass der Parameter implizit den Typ any
hat.
class Page implements IPage {
getBodyClasses(next) {
return next();
}
}
Gibt es eine Möglichkeit getBodyClasses
als dedizierte Überschreibung zu markieren, so dass die Typen für die Parameter automatisch abgeleitet werden? Es würde bereits sagen, dass Page
war falsch implementieren die Schnittstelle, wenn ich next
als number
eingegeben, so verstehe ich nicht ganz, warum es nicht auch dann den Typ von next
ist das gleiche wie die Schnittstelle.
Hier ist ein Link für die Ausgabe, die Sie für zukünftige Leser geöffnet: [Typ-Inferenz für die Methode überschreibt in abgeleiteten Klassen] (https://github.com/Microsoft/Typoskript/Probleme/16590) –