astro-ghostcms/.pnpm-store/v3/files/3f/6c1c90d74c7a81c6ee9f0d646f2...

25 lines
1006 B
Plaintext

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.parseExpression = void 0;
const astro_eslint_parser_1 = require("astro-eslint-parser");
const resolve_parser_1 = require("../../utils/resolve-parser");
function parseExpression(code) {
const result = (0, resolve_parser_1.resolveParser)().parseForESLint(`(
${code}
)`, { range: true, loc: true });
const statement = result.ast.body[0];
const expression = statement.expression;
(0, astro_eslint_parser_1.traverseNodes)(expression, {
visitorKeys: result.visitorKeys,
enterNode(node) {
node.loc.start = Object.assign(Object.assign({}, node.loc.start), { line: node.loc.start.line - 1 });
node.loc.end = Object.assign(Object.assign({}, node.loc.end), { line: node.loc.end.line - 1 });
node.range = [node.range[0] - 2, node.range[1] - 2];
},
leaveNode() {
},
});
return expression;
}
exports.parseExpression = parseExpression;