Files
rspade_system/node_modules/@jqhtml/parser/dist/index.js
2025-12-12 03:00:48 +00:00

31 lines
1.2 KiB
JavaScript

// JQHTML Parser - Main entry point
import { Lexer } from './lexer.js';
import { Parser } from './parser.js';
export { Lexer, TokenType } from './lexer.js';
export { Parser } from './parser.js';
export { CodeGenerator, generate } from './codegen.js';
export { compileTemplate } from './compiler.js';
export { NodeType } from './ast.js';
export { JQHTMLParseError, ErrorCollector } from './errors.js';
// Convenience function for parsing with error context
export function parse(source, filename) {
try {
const lexer = new Lexer(source);
const tokens = lexer.tokenize();
const parser = new Parser(tokens, source, filename);
return parser.parse();
}
catch (error) {
// If it's already a JQHTMLParseError, just re-throw it
if (error.name === 'JQHTMLParseError') {
throw error;
}
// Otherwise wrap it with context
const message = error.message || String(error);
const enhancedMessage = filename
? `Error parsing ${filename}: ${message}`
: `Error parsing JQHTML: ${message}`;
throw new Error(enhancedMessage);
}
}
//# sourceMappingURL=index.js.map