Набор библиотек Swift для разбора, анализа, генерации и преобразования исходного кода Swift в синтаксическое дерево, точно соответствующее исходному тексту.
syntax-tree/unist-util-visit
Утилита unist для обхода узлов синтаксических деревьев, например AST Markdown, с фильтром и обработчиками входа и выхода.
- Звёзды
- 359
- Форки
- 23
- Открытые issues
- 0
- Последний коммит
- 14 дней назад
Что это?
unist-util-visit обходит синтаксическое дерево на основе unist, например MDAST-деревья, созданные mdast-util-from-markdown, и вызывает функцию-обработчик для каждого узла. Можно передать тест, чтобы обрабатывать только подходящие узлы; формат теста такой же, как в unist-util-is, например строка с типом узла.
Обработчики получают узел, его индекс в родительском узле и сам родительский узел. Обработчик может вернуть CONTINUE, EXIT для остановки обхода или SKIP, чтобы пропустить дочерние узлы. Также можно задать отдельный обработчик выхода, который запускается после обработки дочерних узлов. Пакет поддерживает только ESM, рассчитан на Node.js 16+ и также работает в Deno и браузерах через esm.sh.
Если для каждого узла нужна полная цепочка предков, используйте родственный пакет unist-util-visit-parents. Он работает так же, но предоставляет родительский узел и индекс.
Ключевые возможности
- 01Обходит все узлы дерева unist; при желании их можно отфильтровать тестом, например по типу узла.
- 02Обработчики получают узел, его индекс и родительский узел.
- 03Управляйте обходом с помощью значений CONTINUE, EXIT и SKIP.
- 04Поддерживает отдельные обработчики входа и выхода.
- 05Работает в Node.js, Deno и браузерах через esm.sh.
Сценарии использования
- Поиск и преобразование нужных узлов Markdown, например всех текстовых узлов или узлов кода, в плагине remark или unified.
- Сбор данных из синтаксического дерева на этапе сборки.
- Создание собственных линтеров и трансформеров на основе парсеров, совместимых с unist.
Быстрый старт
- 1
Установите пакет с помощью npm (Node.js 16 или новее).
npm install unist-util-visit - 2
Импортируйте visit и обойдите синтаксическое дерево, например созданное с помощью fromMarkdown.
Что важно знать
- Этот пакет предназначен только для ESM, поэтому его нельзя загрузить с помощью require() в проектах CommonJS.
- Это низкоуровневая утилита для обхода деревьев unist; для создания входных данных ей нужен парсер, например mdast-util-from-markdown.
В подборках
Темы
Частые вопросы
- Что такое unist-util-visit?
- Утилита unist для обхода узлов синтаксических деревьев, например AST Markdown, с фильтром и обработчиками входа и выхода. unist-util-visit обходит синтаксическое дерево на основе unist, например MDAST-деревья, созданные mdast-util-from-markdown, и вызывает функцию-обработчик для каждого узла. Можно передать тест, чтобы обрабатывать только подходящие узлы; формат теста такой же, как в unist-util-is, например строка с типом узла.
- unist-util-visit можно использовать бесплатно? Какая у него лицензия?
- unist-util-visit распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- unist-util-visit всё ещё поддерживается?
- Активно поддерживается. Последний коммит в unist-util-visit — 24 окт. 2026 г..
- Для чего можно использовать unist-util-visit?
- Поиск и преобразование нужных узлов Markdown, например всех текстовых узлов или узлов кода, в плагине remark или unified. Сбор данных из синтаксического дерева на этапе сборки. Создание собственных линтеров и трансформеров на основе парсеров, совместимых с unist.
- Как установить unist-util-visit?
- Установите пакет с помощью npm (Node.js 16 или новее).: npm install unist-util-visit Импортируйте visit и обойдите синтаксическое дерево, например созданное с помощью fromMarkdown.
- Где скачать unist-util-visit?
- Исходный код и инструкции по установке — на GitHub: https://github.com/syntax-tree/unist-util-visit
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Парсер Python, который строит синтаксические деревья, восстанавливается после ошибок и сохраняет исходный код без изменений для разных версий Python.
MDX — формат для встраивания компонентов JSX в Markdown-документы; доступны компиляторы для сборщиков и React, Preact и Vue.
Prettier — инструмент, который автоматически форматирует код на JavaScript, TypeScript, CSS, HTML, Markdown, YAML и других языках в едином стиле.
Линтер с правилами и автоисправлением для китайского Markdown на основе AST, с интеграциями CLI, Prettier, ESLint и VS Code и программным API.
Генератор инкрементальных парсеров и библиотека для построения конкретных синтаксических деревьев и их обновления при редактировании исходного кода.