| 12345678910111213141516171819202122232425262728293031323334353637383940 |
- 'use strict';
- const format = {
- selectorStart: {
- compressed: "{",
- compact: " {",
- expanded: " {"
- },
- selectorEnd: {
- compressed: "}",
- compact: "; }\n",
- expanded: ";\n}\n"
- },
- rule: {
- compressed: "{key}:",
- compact: " {key}: ",
- expanded: "\n {key}: "
- }
- };
- function formatCSS(data, mode = "expanded") {
- const results = [];
- for (let i = 0; i < data.length; i++) {
- const { selector, rules } = data[i];
- const fullSelector = selector instanceof Array ? selector.join(mode === "compressed" ? "," : ", ") : selector;
- let entry = fullSelector + format.selectorStart[mode];
- let firstRule = true;
- for (const key in rules) {
- if (!firstRule) {
- entry += ";";
- }
- entry += format.rule[mode].replace("{key}", key) + rules[key];
- firstRule = false;
- }
- entry += format.selectorEnd[mode];
- results.push(entry);
- }
- return results.join(mode === "compressed" ? "" : "\n");
- }
- exports.formatCSS = formatCSS;
|