Skip to content
This repository was archived by the owner on Feb 4, 2018. It is now read-only.

Commit ed87694

Browse files
author
blond
committed
fix(valid): should throw if modifier is not valid
1 parent 608f588 commit ed87694

File tree

1 file changed

+7
-6
lines changed

1 file changed

+7
-6
lines changed

index.js

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -32,19 +32,20 @@ module.exports = class BemEntityName {
3232
}
3333

3434
const data = this._data = { block: obj.block };
35-
const modName = (typeof obj.mod === 'string' ? obj.mod : obj.mod && obj.mod.name) || obj.modName;
3635

3736
obj.elem && (data.elem = obj.elem);
3837

39-
if (modName) {
40-
const modVal = obj.hasOwnProperty('modVal') || obj.mod && obj.mod.hasOwnProperty('val')
41-
? obj.mod && obj.mod.val || obj.modVal
42-
: true;
38+
const modObj = obj.mod;
39+
const modName = (typeof modObj === 'string' ? modObj : modObj && modObj.name) || obj.modName;
40+
const hasModVal = modObj && modObj.hasOwnProperty('val') || obj.hasOwnProperty('modVal');
4341

42+
if (modName) {
4443
data.mod = {
4544
name: modName,
46-
val: modVal
45+
val: hasModVal ? modObj && modObj.val || obj.modVal : true
4746
};
47+
} else if (modObj || hasModVal) {
48+
throw new Error('This is not valid BEM entity: the field `mod.name` is undefined.');
4849
}
4950
}
5051

0 commit comments

Comments
 (0)