UNPKG

@intervolga/bemjson-loader

Version:

BEM JSON (https://en.bem.info/platform/bemjson/) loader for WebPack 2+

40 lines (33 loc) 830 B
/** * Validate BEM declarations * * @param {Array} bemDecl * @param {String} fileName * @return {Array} of validation errors */ function validateBemDecl(bemDecl, fileName) { let errors = []; bemDecl.forEach((decl) => { errors = errors.concat(validateBemDeclItem(decl, fileName)); }); return errors; } /** * Validate single BEM declaration * * @param {Object} decl * @param {String} fileName * @return {Array} of validation errors */ function validateBemDeclItem(decl, fileName) { const errors = []; Object.keys(decl).forEach((key) => { const val = decl[key]; if (val === '[object Object]') { errors.push(new Error('Error in BemJson ' + fileName + ' produced wrong BemDecl ' + JSON.stringify(decl, null, 2))); } }); return errors; } module.exports = validateBemDecl;