bem-sdk-archive / bem-entity-name

BEM entity name representation. DEPRECATED →
https://github.com/bem/bem-sdk/tree/master/packages/entity-name
Other
5 stars 3 forks source link

Fix the dich with mod, mod-val, modName-modVal #121

Open qfox opened 7 years ago

qfox commented 7 years ago

Конструктор должен принимать только норм значения (true или строку). create должен преобразовывать undefined к true, а при других falsy значениях — удалять модификатор.

> new q({block: 'b', mod: {name: 'qwe', val: undefined}})
BemEntityName { block: 'b', mod: { name: 'qwe', val: undefined } }
> new q({block: 'b', mod: 'qwe', val: undefined})
BemEntityName { block: 'b', mod: { name: 'qwe', val: true } }

> q.create({block: 'b', modName: 'qwe', modVal: undefined})
BemEntityName { block: 'b', mod: { name: 'qwe', val: undefined } }
> q.create({block: 'b', mod: 'qwe', val: undefined})
BemEntityName { block: 'b', mod: { name: 'qwe', val: undefined } }
> q.create({block: 'b', mod: 'qwe'})
BemEntityName { block: 'b', mod: { name: 'qwe', val: true } }

> q.create({block: 'b', mod: {name: 'qwe'}})
BemEntityName { block: 'b', mod: { name: 'qwe', val: true } }
> q.create({block: 'b', mod: {name: 'qwe', val: undefined}})
BemEntityName { block: 'b', mod: { name: 'qwe', val: undefined } }