| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 | "use strict"// builtin toolingconst path = require("path")// placeholder toolinglet sugarssmodule.exports = function processContent(  result,  content,  filename,  options,  postcss) {  const { plugins } = options  const ext = path.extname(filename)  const parserList = []  // SugarSS support:  if (ext === ".sss") {    if (!sugarss) {      try {        sugarss = require("sugarss")      } catch {} // Ignore    }    if (sugarss)      return runPostcss(postcss, content, filename, plugins, [sugarss])  }  // Syntax support:  if (result.opts.syntax && result.opts.syntax.parse) {    parserList.push(result.opts.syntax.parse)  }  // Parser support:  if (result.opts.parser) parserList.push(result.opts.parser)  // Try the default as a last resort:  parserList.push(null)  return runPostcss(postcss, content, filename, plugins, parserList)}function runPostcss(postcss, content, filename, plugins, parsers, index) {  if (!index) index = 0  return postcss(plugins)    .process(content, {      from: filename,      parser: parsers[index],    })    .catch(err => {      // If there's an error, try the next parser      index++      // If there are no parsers left, throw it      if (index === parsers.length) throw err      return runPostcss(postcss, content, filename, plugins, parsers, index)    })}
 |