# Форматтер Flow

Форматируйте типизированный код JavaScript с помощью этого форматтера Flow. Вставьте код с псевдонимами типов, точными типами объектов, аннотированными функциями или директивой @flow, и инструмент отформатирует его токен за токеном: добавит отступы в два пробела, пробелы в аннотациях типов и вокруг операторов, точки с запятой в конце инструкций и компактные скобки точных типов объектов. Подойдет разработчикам, поддерживающим кодовые базы на Flow, которым нужны аккуратные фрагменты для проверок, миграций и документации.

## Часто задаваемые вопросы

### Как работает форматтер Flow?

Он разбивает код на токены, такие как фигурные скобки, точки с запятой, операторы, строки и комментарии, а затем заново выстраивает код на их основе. В блоках используются отступы в два пробела, инструкции завершаются точками с запятой, а вокруг операторов расставляются единообразные пробелы.

### Как форматируются точные типы объектов?

В точных типах объектов вертикальные черты располагаются вплотную к скобкам, а внутри ставятся пробелы, например: type Props = {| name: string, age: number |}. Пробелы после двоеточий и запятых внутри типа приводятся к единому виду.

### Сохраняется ли комментарий @flow?

Да, директива // @flow и все остальные однострочные и блочные комментарии сохраняются. Однострочный комментарий всегда завершает строку, поэтому следующий фрагмент кода начинается с новой строки.

### Проверяет ли форматтер типы в моем коде?

Нет, он не запускает Flow и не проверяет синтаксис, поэтому форматирует и незавершенные фрагменты. Чтобы найти ошибки типов в проекте, запустите flow check.

### Сохраняются ли обобщения и параметры типов?

Да, угловые скобки в типах, например Array<string> или Map<K, V>, распознаются, чтобы их не приняли за операторы сравнения. Пробелы после запятых внутри них приводятся к единому виду.

### Можно ли изменить размер отступа?

Нет, результат всегда использует отступы в два пробела, и параметров стиля нет. Благодаря этому форматирование остается единообразным при каждом запуске и у всех участников команды.

### Меняются ли строки?

Нет, строковые литералы, шаблонные литералы и регулярные выражения копируются в точности так, как написаны. Меняются только пробелы между токенами.

### Почему вывод заключен в блок кода с ограждением javascript?

Flow имеет тип JavaScript, поэтому результат возвращается в виде блока кода Markdown с пометкой javascript, который корректно отображается в большинстве подсветчиков синтаксиса. Скопируйте строки между ограждениями в файл .js или .flow.

### Изменится ли поведение моего кода после форматирования?

Инструмент только переставляет пробелы и добавляет точки с запятой в конце инструкций. Проверьте результат, если в вашем коде есть строки без точек с запятой, начинающиеся с круглой или квадратной скобки.

### Какой объём кода можно отформатировать?

До 5 MB кода за один запуск; более крупный ввод отклоняется с сообщением. Результат идентичен варианту Flow в форматере кода.

Ваша реклама здесь?

[Напишите нам по электронной почте](mailto:hi@dennn.is?subject=%D0%A0%D0%B5%D0%BA%D0%BB%D0%B0%D0%BC%D0%B0%20%D0%BD%D0%B0%20OneClick%20Pro)

[Реклама Набор плагинов для работы агентов с WordPress.](https://sleekwp.com/?ref=oneclickpro)
