Войти с помощью github

Ситуация следующая, есть код:

    onElemSetMod: {
        'formating': {
            'type': {
                '1': function (elem, modName, modVal, prevModVal) {
                    console.log(BEMHTML.apply({block : 'input',val : 'bla'}));
                    console.log(BEMHTML.apply);
                    BEMDOM.update(elem,
                        '<div></div>'
                    )
                },
                '2': function (elem, modName, modVal, prevModVal) {
                    console.log(1)
                }
            }
        }
    }
}))

});

в котором BEMHTML.apply выдает мне пустую строку. Проверив весь свой код, случайно обнаружил следующую строку в файле \node_modules\enb-bemxjst\techs\bemhtml.js:

var code = 'exports.apply = function () { return ""; };',

Не могли бы Вы помочь разрешить эту проблему.

Всем доброго Как правильнее поступить с точки зрения БЭМ-методологии, чтобы не вводить в ступор опытных разработчиков, и придерживаться классических стандартов? Задачу можно решить разными способами, и именно в этом подвох:

Есть несколько блоков, очень похожих между собой. Пускай это будут куски страницы с разным цветом фона (каждый такой кусок является блоком). А внутри — текстовые элементы (заголовки, списки, параграфы…), которые, в зависимости от фона, нужно выводить разным цветом. Напрашивается вывод об использовании модификаторов.

Т.е. для начала описываем дефолтный (базовый) блок и все его элементы: получается следующий HTML div.b_block>p.b_block__elem, и два стиля впридачу .b_block {…}, .b_block__elem {…} Но как быть с, к примеру, с инверсной модификацией, когда цвет блока и текста меняются местами?

Что если применить модификатор только к блоку, т.е. div.b_block.b_block--inverted>p.b_block__elem, и селектором .b_block--inverted .b_block__elem { задать стили элементу } (подразумевается, что есть также стиль .b_block--inverted {…})? С таким же успехом можно навесить модификатор и на блок, и на элемент сразу. Или использовать два разных модификатора — один для блока, а другой для элементов. Вот только как правильнее?

Пример очень упрощен, но хорошо отражает суть моего ступора. Спасибо

Помоги пожалуйста .js ява скриптом, а именно с функцией