Přeskočit na obsah

TypeScript na JSDoc komentáře

Převeďte TypeScript typy funkcí a rozhraní na JSDoc komentáře, aby typy zůstaly zachovány v prostém JavaScriptu.

Vstup
Výstup

TypeScript na JSDoc komentáře

Vložte funkci TypeScript, funkci šipky, rozhraní nebo alias typu a tento nástroj napíše vyhovující komentář JSDoc — `@param` pro každý parametr, `@returns` pro návratový typ a `@typedef` s řádky `@property` pro rozhraní a aliasy typů. Je určen pro přesunutí kódu z `.ts` do prostého `.js` bez ztráty informací o typu, které editor nebo JSDoc-kompatibilní linter stále potřebuje.

"Odebrat TypeScript anotace" odstraní syntaxi typů z podpisu — typy parametrů, návratové typy, seznamy parametrů generiky — a ponechá platný JavaScript se stejnými informacemi v komentáři; vypněte to, pokud chcete zachovat TypeScript beze změn a pouze přidat dokumentaci. "Generovat @typedef pro rozhraní" změní `interface` nebo objekt `type` na blok typedef; "Přidat @template pro generiky" zdokumentuje parametry typu jako `<T>`; "Přidat @throws z příkazů throw" prohledá tělo každé funkce pro `throw new SomeError(...)` a vypíše zjištěné typy chyb. Styl komentáře se přepíná mezi konvenčním blokem se zarovnanými hvězdičkami a kompaktnější variantou s otevřením na jednom řádku a šířka řádku řídí, kde se dlouhý řádek zalomí.

Nástroj čte deklarace funkcí na nejvyšší úrovni, funkce šipky přiřazené `const` nebo `let`, rozhraní a aliasy typů tvaru objektu — deklarace, pro které má JSDoc značku. Anotace typů v místních proměnných v těle funkce a metody definované v třídě nebo objektovém literálu zůstávají nezměněny; bezpečné přepsání každého typu v souboru vyžaduje úplný kompilátor a tento nástroj zůstává malý a rychlý skript, který se spustí v okamžiku, kdy přestanete psát.

Všechno běží lokálně ve vašem prohlížeči — váš kód se nikdy nenahraje, takže vkládání z privátního projektu je bezpečné. Zkopírujte výsledek, stáhněte si jej jako soubor .txt nebo pošlete výstup přímo zpět na vstup a spusťte další nástroj.

Časté dotazy

Funguje to i na rozhraních spolu s funkcemi?
Ano. Rozhraní a aliasy typů ve tvaru objektu se stanou blokem @typedef s jedním řádkem @property na člen; alias primitivního nebo sjednoceného typu se místo toho stane jednořádkovým @typedef.
Co se stane s původními TypeScript typy?
Když je "Odebrat TypeScript anotace" zapnuto, syntaxe typů se odstraní z kódu a existuje pouze v komentáři nad ním, čímž zůstane čistý JavaScript. Vypněte to, abyste zachovali TypeScript tak, jak je, a přidali JSDoc nad ním.
Dokumentuje metody uvnitř třídy?
Ne. Nástroj dokumentuje funkce na nejvyšší úrovni, funkce arrow přiřazené const nebo let, rozhraní a aliasy typů — metody třídy a objektu-literálu zůstávají nezměněny.
Odkud pocházejí značky @throws?
Nástroj prochází tělem každé funkce v hledání příkazů throw. `throw new SomeError(...)` se hlásí jako @throws {SomeError}; holý throw se hlásí jako @throws {Error}.
Je můj kód nahrán někam?
Ne. Konverze běží úplně ve vašem prohlížeči — váš kód nikdy neopustí vaše zařízení.