мэппинг к сожалению не получится, потому что ключем для поиска может выступать 2 разных поля, а может и другие критерии будут
Вот какой алгоритм я сделал:
1) Сортирую по типу выходящие данные, выходит так:
{
'categories': [тут массив объектов категорий]
'posts': [тут массив объектов публикаций]
}
2) Дальше я подписываюсь в компоненте на сабж, и если пришло изменение, то тут:
- Если нужно найти текущий объект категории, тогда циклом ищу в subj.caterories, выхожу break при совпадении
- Если нужно найти все дочерние публикации в текущей категории, то тут прохожу по всем объектам в subj.posts и выбираю все у которых parent_id ==
category.id. И так же с комментариями, изображениями и тд.
Получается что поиск происходит при инициализации компонента и при обновлении сабжа.
Можно как-то улучшить такой алгоритм?