Neurotoxin Powered Marketing
Unleash awesomeness. Private packages, team management tools, and powerful integrations. Get started with npm Orgs »

bemjson-to-decl

1.0.3 • 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 bemjson-to-decl

Downloadsweekly downloads

25

version

1.0.3

license

MPL-2.0

homepage

github.com

repository

Gitgithub

last publish

collaborators

  • avatar
  • avatar
  • avatar
Report a vulnerability