You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

24 lines
567 B

"use strict";
const getSyntax = require("./get-syntax");
const cache = {};
function loadSyntax (opts, id) {
const cssSyntax = getSyntax("css", opts);
const modulePath = id + "/template-" + (cssSyntax.parse.name === "safeParse" ? "safe-" : "") + "parse";
let syntax = cache[modulePath];
if (!syntax) {
syntax = {
parse: require(modulePath),
};
try {
syntax.stringify = require(id + "/template-stringify");
} catch (ex) {
syntax.stringify = cssSyntax.stringify;
}
cache[modulePath] = syntax;
}
return syntax;
}
module.exports = loadSyntax;