2016-08-01 5 views
0

Ich versuche Typdefinitionen für bereits vorhandene Bibliothek zu erstellen, und Probleme beschreiben die Struktur ordnungsgemäß. Das Problem sind verschachtelte Namespaces. In JavaScript um den vollen Namen meiner Methode sieht wie folgt aus:Erstellen von Typings für verschachtelte Namespaces in Typoskript

NameSpace1.NameSpace2.NameSpace3.MethodName() 

Aber ich bin nicht in der Lage die richtige d.ts Definitionsdatei zu erstellen ... Ich habe verschiedene Kombinationen ausprobiert, mit export interface, export module für verschachtelte Namensräume ... Aber nichts funktioniert. Die einzige Konstruktion, die keine Fehler ausgelöst folgt:

declare namespace NameSpace1 { 
} 

Aber das ist nicht genug ... Sie wissen, wie man richtig eine solche verschachtelte Namensräume in Typoskript Definitionen beschreiben?

Antwort

1
declare namespace NameSpace1.NameSpace2.NameSpace3 { 
    function MethodName(): void; 
} 

Es gibt buchstäblich Tausende von Beispielen, wie Definitionsdateien auf https://github.com/DefinitelyTyped/DefinitelyTyped zu schreiben; Ich würde empfehlen, nach etwas zu suchen, das dem ähnelt, was du das nächste Mal hast, wenn du feststeckst.

+0

Ich habe diesen Ansatz auch versucht ... Es hat nicht für mich gearbeitet. Wenn ich versuche, die Definition zu verwenden, heißt es: 'Property 'Namespace2' existiert nicht beim Typ 'typeof Namespace1'' ... – shytikov

+0

Es funktioniert im TypeScript Playground. Vielleicht posten Sie ein aktuelles Beispiel in Ihrer Frage? –

+0

Ja, ich werde es jetzt posten! Danke für die Hilfe! – shytikov

Verwandte Themen