29 lines
951 B
JavaScript
29 lines
951 B
JavaScript
"use strict";
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
exports.parseTemplate = parseTemplate;
|
|
const compiler_1 = require("svelte/compiler");
|
|
const index_1 = require("./converts/index");
|
|
const __1 = require("..");
|
|
const svelte_version_1 = require("./svelte-version");
|
|
/**
|
|
* Parse for template
|
|
*/
|
|
function parseTemplate(code, ctx, parserOptions) {
|
|
try {
|
|
const options = Object.assign({ filename: parserOptions.filePath }, (svelte_version_1.svelteVersion.gte(5) ? { modern: true } : {}));
|
|
const svelteAst = (0, compiler_1.parse)(code, options);
|
|
const ast = (0, index_1.convertSvelteRoot)(svelteAst, ctx);
|
|
return {
|
|
ast,
|
|
svelteAst,
|
|
};
|
|
}
|
|
catch (e) {
|
|
if (typeof e.pos === "number") {
|
|
const err = new __1.ParseError(e.message, e.pos, ctx);
|
|
err.svelteCompilerError = e;
|
|
throw err;
|
|
}
|
|
throw e;
|
|
}
|
|
}
|