Repolode
syntax-tree

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. 1

    Установите пакет с помощью npm (Node.js 16 или новее).

    npm install unist-util-visit
  2. 2

    Импортируйте visit и обойдите синтаксическое дерево, например созданное с помощью fromMarkdown.

Что важно знать

  • Этот пакет предназначен только для ESM, поэтому его нельзя загрузить с помощью require() в проектах CommonJS.
  • Это низкоуровневая утилита для обхода деревьев unist; для создания входных данных ей нужен парсер, например mdast-util-from-markdown.

В подборках

Темы

#syntax-tree#unist#ast#markdown#tree-traversal#unified#unist-util#util#visit#walk

Частые вопросы

Что такое 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 обновляется ежедневно.

Похожие проекты

Набор библиотек Swift для разбора, анализа, генерации и преобразования исходного кода Swift в синтаксическое дерево, точно соответствующее исходному тексту.

3,7 тыс.+3 за неделю565SwiftApache-2.0Активно поддерживаетсяОбновлён 22 часа назад

Генератор инкрементальных парсеров и библиотека для построения конкретных синтаксических деревьев и их обновления при редактировании исходного кода.

27,4 тыс.+56 за неделю3 тыс.RustMITАктивно поддерживаетсяОбновлён 11 часов назад