@@ -76,17 +76,20 @@ module.exports = class BemEntityName {
76
76
/**
77
77
* Returns the modifier of this entity.
78
78
*
79
- * If entity is not modifier then returns empty object .
79
+ * Important: If entity is not a modifier then returns `undefined` .
80
80
*
81
81
* @example
82
82
* const BemEntityName = require('bem-entity-name');
83
- * const name = new BemEntityName({ block: 'button', mod: 'disabled' });
84
83
*
85
- * console.log(name.mod); // { name: 'disabled', val: true }
84
+ * const blockName = new BemEntityName({ block: 'button' });
85
+ * const modName = new BemEntityName({ block: 'button', mod: 'disabled' });
86
+ *
87
+ * console.log(modName.mod); // { name: 'disabled', val: true }
88
+ * console.log(blockName.mod); // undefined
86
89
*
87
90
* @returns {{mod: string, val: *} } entity modifier.
88
91
*/
89
- get mod ( ) { return this . _data . mod || { } ; }
92
+ get mod ( ) { return this . _data . mod ; }
90
93
/**
91
94
* Returns the modifier name of this entity.
92
95
*
@@ -95,7 +98,7 @@ module.exports = class BemEntityName {
95
98
* @returns {string } entity modifier name.
96
99
* @deprecated use `mod.name` instead.
97
100
*/
98
- get modName ( ) { return this . mod . name ; }
101
+ get modName ( ) { return this . mod && this . mod . name ; }
99
102
/**
100
103
* Returns the modifier value of this entity.
101
104
*
@@ -104,7 +107,7 @@ module.exports = class BemEntityName {
104
107
* @returns {string } entity modifier name.
105
108
* @deprecated use `mod.val` instead.
106
109
*/
107
- get modVal ( ) { return this . mod . val ; }
110
+ get modVal ( ) { return this . mod && this . mod . val ; }
108
111
/**
109
112
* Returns id for this entity.
110
113
*
@@ -127,8 +130,8 @@ module.exports = class BemEntityName {
127
130
const entity = { block : this . _data . block } ;
128
131
129
132
this . elem && ( entity . elem = this . elem ) ;
130
- this . mod . name && ( entity . modName = this . mod . name ) ;
131
- this . mod . val && ( entity . modVal = this . mod . val ) ;
133
+ this . modName && ( entity . modName = this . modName ) ;
134
+ this . modVal && ( entity . modVal = this . modVal ) ;
132
135
133
136
this . _id = stringifyEntity ( entity ) ;
134
137
0 commit comments