TypeScript в комментарии JSDoc
Преобразуйте типы функций и интерфейсов TypeScript в комментарии JSDoc, чтобы типы сохранились в обычном JavaScript.
TypeScript в комментарии JSDoc
Вставьте функцию TypeScript, стрелочную функцию, интерфейс или псевдоним типа, и этот инструмент напишет соответствующий комментарий JSDoc над ней — `@param` для каждого параметра, `@returns` для типа возвращаемого значения и `@typedef` с линиями `@property` для интерфейсов и псевдонимов типов объектной формы. Он предназначен для переноса кода из `.ts` в обычный `.js` без потери информации о типах, которая понадобится редактору или linter, поддерживающему JSDoc.
"Удалять аннотации TypeScript" удаляет синтаксис типов из самой сигнатуры — типы параметров, типы возвращаемых значений, списки параметров обобщений — оставляя корректный JavaScript с той же информацией, теперь находящейся в комментарии; отключите его, чтобы оставить TypeScript без изменений и просто добавить документацию сверху. "Генерировать @typedef для интерфейсов" превращает `interface` или объектный `type` в блок typedef; "Добавлять @template для обобщений" документирует параметры типов вроде `<T>`; "Добавлять @throws из операторов throw" сканирует тело каждой функции на `throw new SomeError(...)` и перечисляет найденные различные типы ошибок. Стиль комментария переключается между традиционным блоком с выровненными звёздочками и более компактным вариантом с открывающейся звёздочкой в одну строку, а ширина строки управляет переносом длинных строк.
Инструмент читает объявления функций верхнего уровня, стрелочные функции, назначенные `const` или `let`, интерфейсы и псевдонимы типов объектной формы — объявления, для которых JSDoc имеет тег. Аннотации типов на локальных переменных внутри тела функции и методы, определённые внутри класса или литерала объекта, остаются как написаны; безопасная переработка каждого типа в файле требует полного компилятора, и этот инструмент остаётся небольшим, быстрым скриптом, работающим в момент остановки набора текста.
Всё работает локально в вашем браузере — ваш код никогда не загружается, поэтому вставка кода из приватного проекта безопасна. Скопируйте результат, загрузите его как файл .txt или отправьте вывод прямо обратно на вход, чтобы запустить на нём другой инструмент.