Zum Inhalt springen
100% lokal

TypeScript zu JSDoc-Kommentaren

Konvertieren Sie TypeScript-Funktions- und Interfacetypen in JSDoc-Kommentare, damit die Typen in reinem JavaScript erhalten bleiben.

Eingabe
Ausgabe

TypeScript zu JSDoc-Kommentaren

Fügen Sie eine TypeScript-Funktion, Arrow-Funktion, ein Interface oder einen Typ-Alias ein, und dieses Tool schreibt den entsprechenden JSDoc-Kommentar darüber — `@param` für jeden Parameter, `@returns` für den Rückgabetyp und `@typedef` mit `@property`-Zeilen für objektförmige Interfaces und Typ-Aliase. Es wurde entwickelt, um Code von `.ts` zu reinem `.js` zu migrieren, ohne die Typinformationen zu verlieren, die ein Editor oder ein JSDoc-bewusster Linter benötigt.

"TypeScript-Annotationen entfernen" entfernt die Typsyntax aus der Signatur selbst — Parametertypen, Rückgabetypen, generische Parameterlisten — und hinterlässt gültiges JavaScript, wobei die gleichen Informationen nun im Kommentar stehen. Schalten Sie diese Option aus, um TypeScript unverändert zu behalten und nur Dokumentation darauf zu setzen. "@typedef für Interfaces generieren" wandelt ein `interface` oder einen objektförmigen `type` in einen typedef-Block um. "@template für Generics hinzufügen" dokumentiert Typparameter wie `<T>`; "@throws aus throw-Anweisungen hinzufügen" durchsucht den Funktionsrumpf nach `throw new SomeError(...)` und listet die gefundenen unterschiedlichen Fehlertypen auf. Der Kommentarstil wechselt zwischen dem herkömmlichen Block mit ausgerichteten Sternen und einer kompakteren Variante mit einer Zeile am Anfang, und die Zeilenbreite steuert, wo eine lange Zeile umgebrochen wird.

Das Tool liest Funktionsdeklarationen auf oberster Ebene, Arrow-Funktionen, die `const` oder `let` zugewiesen sind, Interfaces und objektförmige Typ-Aliase — die Deklarationen, für die JSDoc ein Tag hat. Typannotationen auf lokalen Variablen im Funktionsrumpf und Methoden, die in einer Klasse oder einem Objektliteral definiert sind, bleiben wie geschrieben. Das sichere Umschreiben aller Typen in einer Datei erfordert einen vollständigen Compiler, und dieses Tool bleibt ein kleines, schnelles Skript, das in dem Moment ausgeführt wird, in dem Sie mit der Eingabe stoppen.

Alles läuft lokal in Ihrem Browser — Ihr Code wird nie hochgeladen, daher ist das Einfügen aus einem privaten Projekt sicher. Kopieren Sie das Ergebnis, laden Sie es als .txt-Datei herunter, oder senden Sie die Ausgabe direkt zurück in die Eingabe, um ein anderes Tool darauf anzuwenden.

Häufige Fragen

Funktioniert es auch mit Interfaces und nicht nur mit Funktionen?
Ja. Interfaces und objektförmige Typ-Aliase werden zu einem @typedef-Block mit einer @property-Zeile pro Mitglied. Ein Unions- oder primitiver Typ-Alias wird stattdessen zu einem einzeiligen @typedef.
Was passiert mit den ursprünglichen TypeScript-Typen?
Wenn "TypeScript-Annotationen entfernen" aktiviert ist, wird die Typsyntax aus dem Code entfernt und existiert nur noch im Kommentar darüber, was reines JavaScript hinterlässt. Deaktivieren Sie diese Option, um TypeScript wie es ist zu behalten und JSDoc einfach darüber hinzuzufügen.
Dokumentiert es Methoden innerhalb einer Klasse?
Nein. Das Tool dokumentiert Funktionsdeklarationen auf oberster Ebene, Arrow-Funktionen, die `const` oder `let` zugewiesen sind, Interfaces und Typ-Aliase. Methoden, die in einer Klasse oder einem Objektliteral definiert sind, bleiben unverändert.
Woher kommen die @throws-Tags?
Das Tool scannt den Funktionsrumpf nach throw-Anweisungen. Ein `throw new SomeError(...)` wird als `@throws {SomeError}` gemeldet; ein bare throw wird als `@throws {Error}` gemeldet.
Wird mein Code irgendwo hochgeladen?
Nein. Die Konvertierung läuft vollständig in Ihrem Browser — Ihr Code verlässt Ihr Gerät nie.