Как правильнее реализовать подобный функционал?
Сейчас при логине отправляется запрос на бек и в ответе содержится текущая роль пользователя и роль его компании.
Пункты меню выглядят примерно так
[
{
title: 'title',
href: 'url',
companyRoles: ['role1', 'role2'],
userRoles: ['userRole1', 'userRole2'],
}
]
Метод для создания меню
export default createMenu(menuItems, userProfile) {
return userProfile ? menuItems.filter(match(userProfile)) : []
}
const match = (userProfile) => (item) => rules.every(f => f(userProfile, item))
const rules = [check1, check2, etc] // передаем проверки
Собственно вопрос, как можно это сделать более гибким и лаконичным. Есть какие-то примеры?