typed-bem
Version:
A TypeScript library for generating BEM class names.
4 lines (3 loc) • 661 B
JavaScript
import{writeFileSync as n}from"fs";function u(f,c){const s=[];Object.entries(f).forEach(([o,i])=>{s.push(`.${o} {`),i.modifiers&&i.modifiers instanceof Set&&i.modifiers.forEach(e=>{s.push(` &--${e} {`),s.push(` // Styles for ${o}--${e}`),s.push(" }")}),i.elements&&Object.entries(i.elements).forEach(([e,t])=>{s.push(` &__${e} {`),t.modifiers&&t.modifiers instanceof Set?t.modifiers.forEach(r=>{s.push(` &--${r} {`),s.push(` // Styles for ${o}__${e}--${r}`),s.push(" }")}):s.push(` // Styles for ${o}__${e}`),s.push(" }")}),s.push("}")}),n(`${c}.scss`,s.join(`
`),"utf8")}export{u as generateBemScssFile};
//# sourceMappingURL=scss.mjs.map