Найти в Дзене
Николай Сталин

B. БЭМ — Yandex Cup 2020 Frontend — Пробный раунд

Оглавление

Верстальщик Александр участвует в множестве проектов с использованием БЭМ-методологии. Он даже создал удобный плагин для любимой 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) {  
}