Верстальщик Александр участвует в множестве проектов с использованием БЭМ-методологии. Он даже создал удобный плагин для любимой IDE, который позволяет ему писать имена классов в сокращенной записи и разворачивать их в полную. Но проблема в том, что для каждого проекта люди устанавливают разные разделители между блоком, элементом и модификатором (‘block__mod__val—elem‘, ‘block–mod–val___elem‘), и ему приходится каждый раз править это в своём плагине вручную. Помогите Александру написать модуль, который будет на основании класса определять разделитель для сущностей.Правило для разделителей – произвольное количество символов (не буквы).Примеры возможных нотаций (модификаторы для блока во входящих данных могут быть без значения):
block_mod__elem // Считаем, что модификатор идет первым
block_mod_mod__elem
block__elem_mod_mod
Уточнения:
Классы в проектах пишут только маленькими буквами.
На вход модуля подаётся строка с валидным CSS-классом.
Формат ввода
Строка с классом
Формат вывода
Ваш модуль должен вернуть ответ вида:
{
mod: "_", // разделитель для модификатора
elem: "__", // разделитель для элемента
}
и быть оформлен, как commonJS-модуль:module.exports = function(str) {
}