ребят, вопрос по обходу дерева, мне кажется я чего-то не замечаю или решаю не ту проблему
вот есть у меня дерево на входе, скажем, такого вида:
root
- blockquote
- paragraph
- text
Выход у меня это либо
- транслировать каждую ноду в вызов моего апи
- делать POJO, т.е. схлопывать ноды в объекты
Только что стёр уже третью реализацию, которая не годится… Проблемы всегда возникают в месте, когда надо ноды смешивать.
Вот на примере выше, у меня должен получится один объект из всех тех нод: если text, то это обычный текст, если paragraph, то подмешать в текст соседние ноды, если blockquote, добавить >
и
изменить стиль отображения. По итогу это должны быть объекты, которые описывают геометрию фигуры в терминале, которая уже потом отрендерится.
И вот собственно вопрос, сталкивался ли кто-то с таким обходом дерева? Выглядит как простая задача, бери себе визитор, на каждый визит возвращай объект и подмешивай в вышестоящий, но вот что-то оно не клеится
UPD: а ещё это фиг опишешь на типах, потому что у тебя каждый визитор возвращает вообще что-то своё