'use strict'; const cssTree = require('css-tree'); const compress = require('./compress.cjs'); const specificity = require('./restructure/prepare/specificity.cjs'); function encodeString(value) { const stringApostrophe = cssTree.string.encode(value, true); const stringQuote = cssTree.string.encode(value); return stringApostrophe.length < stringQuote.length ? stringApostrophe : stringQuote; } const { lexer, tokenize, parse, generate, walk, find, findLast, findAll, fromPlainObject, toPlainObject } = cssTree.fork({ node: { String: { generate(node) { this.token(cssTree.tokenTypes.String, encodeString(node.value)); } }, Url: { generate(node) { const encodedUrl = cssTree.url.encode(node.value); const string = encodeString(node.value); this.token(cssTree.tokenTypes.Url, encodedUrl.length <= string.length + 5 /* "url()".length */ ? encodedUrl : 'url(' + string + ')' ); } } } }); exports.compress = compress; exports.specificity = specificity; exports.find = find; exports.findAll = findAll; exports.findLast = findLast; exports.fromPlainObject = fromPlainObject; exports.generate = generate; exports.lexer = lexer; exports.parse = parse; exports.toPlainObject = toPlainObject; exports.tokenize = tokenize; exports.walk = walk;