Skip to content

VovanR/bem-classname-parser

Repository files navigation

bem-classname-parser

Commitizen friendly XO code style

NPM version Build Status Coveralls Status Dependency Status DevDependency Status

Parse Block Element Modifier from block__elem_mod, block__elem--mod etc.

Demo: vovanr.github.io/bem-classname-parser

Install

npm install --save bem-classname-parser

Usage

var bemClassnameParser = require('bem-classname-parser');

bemClassnameParser.parse('block__elem_mod-name_mod-value');
// {
//   block: {
//     name: 'block'
//   },
//   elem: {
//     name: 'elem',
//     mod: {
//       name: 'mod-name',
//       val: 'mod-value',
//       sep: '_'
//     }
//   }
// }

bemClassnameParser.parse('block--mod');
// {
//   block: {
//     name: 'block',
//     mod: {
//       name: 'mod',
//       val: null,
//       sep: '--'
//     }
//   }
// }

bemClassnameParser.parse('');
// {}

License

MIT © Vladimir Rodkin