plugins/bem.js
function getEntity(decl) {
    if (decl.type === "Literal") {
        return {block: decl.value};
    }

    if (decl.type === "ObjectExpression") {
        var base = getProperty(decl, 'baseBlock'),
            o = {
                block: getProperty(decl, 'block'),
                mod: getProperty(decl, 'modName'),
                val: getProperty(decl, 'modVal')
            };
        
        if (base) {
            o.base = base;
        }
        return o;
    }

}
function getEntity(decl) {
    if (decl.type === "Literal") {
        return {block: decl.value};
    }

    if (decl.type === "ObjectExpression") {
        var base = getProperty(decl, 'baseBlock'),
            o = {
                block: getProperty(decl, 'block'),
                mod: getProperty(decl, 'modName'),
                val: getProperty(decl, 'modVal')
            };
        
        if (base) {
            o.base = base;
        }
        return o;
    }

}
function getEntity ( decl ) { if ( decl . type === "Literal" ) { return { block : decl . value } ; } if ( decl . type === "ObjectExpression" ) { var base = getProperty ( decl , 'baseBlock' ) , o = { block : getProperty ( decl , 'block' ) , mod : getProperty ( decl , 'modName' ) , val : getProperty ( decl , 'modVal' ) } ; if ( base ) { o . base = base ; } return o ; } }
Constructs a bem entity description
from first argument of `BEM.DOM.decl`

@param {Object} decl an AST node of a first argument of
BEM.DOM.decl
@returns {Object} bem entity description with `block`,
`mod`, and `val` keys
Constructs a bem entity description from first argument of BEM . DOM . decl