bem-sdk-archive / bem-decl

:capital_abcd: Manage declaration of BEM entities. DEPRECATED →
https://github.com/bem/bem-sdk/tree/master/packages/decl
Other
11 stars 3 forks source link

Public Normalize #15

Closed blond closed 7 years ago

blond commented 9 years ago

The method normalize should process declaration specific to each format.

BEMDECL 1.0

var normalize = require('bem-decl').normalize,
    decl = [{ name: 'block', elems: [{ name: 'elem-1' }, { name: 'elem-2' }] }];

normalize(decl, { version: '1.0' });
// [
//     { name: 'block', elems: [{ name: 'elem-1' }] }],
//     { name: 'block', elems: [{ name: 'elem-2' }] }]
// ]

BEMDECL 2.0

var normalize = require('bem-decl').normalize,
    decl = [{ block: 'block', elems: ['elem-1', 'elem-2'] }];

normalize(decl, { version: '2.0' });
// [
//     { block: 'block' }],
//     { block: 'block', elem: 'elem-1' }],
//     { block: 'block', elem: 'elem-2' }]
// ]

BEMDECL next

var normalize = require('bem-decl').normalize,
    decl = [{ block: 'block', elems: ['elem-1', 'elem-2'] }];

normalize(decl, { version: 'next' });
// [
//     { block: 'block' }],
//     { scope: 'block', elem: 'elem-1' }],
//     { scope: 'block', elem: 'elem-2' }]
// ]
blond commented 7 years ago

We decided that normalize method should be private in bem-decl@1.x.