UNPKG

sass-true

Version:

Unit testing for Sass.

28 lines 1.36 kB
"use strict"; 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