24 lines
567 B
JavaScript
24 lines
567 B
JavaScript
|
"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;
|