sass-true
Version:
Unit testing for Sass.
28 lines • 1.36 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.generateCss = exports.cssStringToArrayOfRules = exports.splitSelectorAndProperties = exports.removeNewLines = exports.isCommentNode = exports.truthyValues = void 0;
const sync_1 = require("@prettier/sync");
// eslint-disable-next-line @typescript-eslint/no-explicit-any
const truthyValues = (item) => Boolean(item);
exports.truthyValues = truthyValues;
const isCommentNode = (node) => node.type === 'comment';
exports.isCommentNode = isCommentNode;
const removeNewLines = (cssString) => cssString.replace(/\n/g, '');
exports.removeNewLines = removeNewLines;
const splitSelectorAndProperties = (blocks) => blocks.map((block) => {
const temp = block.split('{');
const selector = temp[0];
const output = temp[1];
const splitBlock = { selector, output };
return splitBlock;
});
exports.splitSelectorAndProperties = splitSelectorAndProperties;
const cssStringToArrayOfRules = (cssString) => (0, exports.removeNewLines)(cssString)
.split(/\s*}(?![\s]*["',}])/g)
.filter(exports.truthyValues);
exports.cssStringToArrayOfRules = cssStringToArrayOfRules;
const generateCss = (rules) => (0, sync_1.format)(rules.map((rule) => rule.toString()).join('\n'), {
parser: 'css',
}).trim();
exports.generateCss = generateCss;
//# sourceMappingURL=utils.js.map