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.
23 lines
567 B
23 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;
|
|
|