Open qfox opened 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 } }
Конструктор должен принимать только норм значения (true или строку). create должен преобразовывать undefined к true, а при других falsy значениях — удалять модификатор.