"use strict"; const parseStyle = require("./parse-style"); function getSyntax (config, syntax) { if (typeof syntax !== "string") { return syntax; } let syntaxConfig = config[syntax]; if (syntaxConfig) { syntaxConfig = getSyntax(config, syntaxConfig); } else { syntaxConfig = { extract: require(syntax.toLowerCase().replace(/^(postcss-)?/i, "postcss-") + "/extract"), }; config[syntax] = syntaxConfig; } return syntaxConfig; } function processor (source, lang, opts) { const syntax = getSyntax(opts.syntax.config, lang); const styles = (syntax.extract || syntax)(source, opts) || []; return parseStyle(source, opts, styles); } module.exports = processor;