UNPKG

typed-bem

Version:

A TypeScript library for generating BEM class names.

4 lines (3 loc) 919 B
"use strict";const fs=require("fs");function u(h,c,o){const e=[],t=o?.layer!==void 0&&o.layer!=="";o?.layer===""&&console.warn("Warning: Empty layer name provided. No CSS layer will be generated."),t&&e.push(`@layer ${o.layer} {`),Object.entries(h).forEach(([n,i])=>{const s=t?" ":"";e.push(`${s}.${n} {`),i.modifiers&&i.modifiers instanceof Set&&i.modifiers.forEach(r=>{e.push(`${s} &--${r} {`),e.push(`${s} // Styles for ${n}--${r}`),e.push(`${s} }`)}),i.elements&&Object.entries(i.elements).forEach(([r,$])=>{e.push(`${s} &__${r} {`),$.modifiers&&$.modifiers instanceof Set?$.modifiers.forEach(f=>{e.push(`${s} &--${f} {`),e.push(`${s} // Styles for ${n}__${r}--${f}`),e.push(`${s} }`)}):e.push(`${s} // Styles for ${n}__${r}`),e.push(`${s} }`)}),e.push(`${s}}`)}),t&&e.push("}"),fs.writeFileSync(`${c}.scss`,e.join(` `),"utf8")}exports.generateBemScssFile=u; //# sourceMappingURL=node.cjs.map