@bem/sdk.bemjson-to-decl

    0.2.15 • Public • Published

    bemjson-to-decl

    Easy to use BEMJSON to set of BEM-entities (aka BEMDECL) converter written in JS

    NPM Status Travis Status Coverage Status Dependency Status

    Prerequisites

    Installing

    Run in your project:

    npm install --save bemjson-to-decl

    Usage

    const bemjsonToDecl = require('bemjson-to-decl');
    
    bemjsonToDecl.convert([
        {elem: 'control', elemMods: {theme: 'normal'}},
        {elem: 'control', elemMods: {theme: 'ghost'}}
    ], {block: 'button'});
    
    // →
    //  [ BemEntityName { block: 'button', elem: 'control' },
    //    BemEntityName { block: 'button', elem: 'control', mod: { name: 'theme', val: true } },
    //    BemEntityName { block: 'button', elem: 'control', mod: { name: 'theme', val: 'normal' } },
    //    BemEntityName { block: 'button', elem: 'control', mod: { name: 'theme', val: 'ghost' } }
    //  ]

    API

    convert(bemjson: BEMJSON, scope: ?BemEntityName): BemEntityName[]

    Extract BEM-entities from BEMJSON object.

    const bemjsonToDecl = require('bemjson-to-decl');
    
    bemjsonToDecl.convert({block: 'button', mods: {theme: 'normal'}});
    
    // →
    //  [ BemEntityName { block: 'button' },
    //    BemEntityName { block: 'button', mod: { name: 'theme', val: true } },
    //    BemEntityName { block: 'button', mod: { name: 'theme', val: 'normal' } }
    //  ]

    stringify(bemjson: BEMJSON, scope: ?BemEntityName, opts: ?{indent: string}): string

    Extract BEM-entities and stringify result to the string.

    const bemjsonToDecl = require('bemjson-to-decl');
    
    bemjsonToDecl.stringify({block: 'button'}, null, {indent: '\t'});
    
    // →
    // "[\n\t{\n\t\tblock: 'button'\n\t}\n]"

    Contributing

    Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.

    Versioning

    We use SemVer for versioning. For the versions available, see the tags on this repository.

    Authors

    • Vladimir Grinenko - Initial work - tadatuta

    See also the full list of contributors who participated in this project.

    You may also get it with git log --pretty=format:"%an <%ae>" | sort -u.

    License

    Code and documentation are licensed under the Mozilla Public License 2.0 - see the LICENSE.md file for details.

    Install

    npm i @bem/sdk.bemjson-to-decl

    DownloadsWeekly Downloads

    17

    Version

    0.2.15

    License

    MPL-2.0

    Unpacked Size

    39.5 kB

    Total Files

    9

    Last publish

    Collaborators

    • blond
    • qfox
    • tadatuta
    • veged
    • vithar
    • yeti-or