npm install b_

BEM class name formatter
``js
var b = require('b_');
// blocks
b('button', {size: 'xl'}) === 'button button_size_xl';
// block elements
b('modal', 'close', {size: 'xl'}) === 'modal__close modal__close_size_xl';
// boolean modifiers
b('button', {hidden: false}) === 'button';
b('button', {hidden: true}) === 'button button_hidden';
`
`js
var B = require('b_').B;
var b = B({
tailSpace: ' ',
elementSeparator: '-',
modSeparator: '--',
modValueSeparator: '-',
classSeparator: ' '
});
b('block', 'elem', {mod1: true, mod2: false, mod3: 'mod3'}) ===
'block-elem block-elem--mod1 block-elem--mod3-mod3 ';
`
`js
var B = require('b_').B;
var b = B({isFullModifier: false});
b('button_call-for-action', {disabled: true, focused: 'yes'}) ===
'button_call-for-action _disabled _focused_yes';
`
`js
var B = require('b_').B;
var b = B({isFullBoolValue: true});
b('button', {disabled: true, focused: false}) ===
'button button_disabled_true button_focused_false';
`
`jsxrequire('b_').bind(null, 'b-button');
var b = require('b_').with('b-button');
// or
var b = require('b_').lock('b-button');
// which is but much convenient
function render() {
return (