Implement JQHTML function cache ID system and fix bundle compilation Implement underscore prefix for system tables Fix JS syntax linter to support decorators and grant exception to Task system SPA: Update planning docs and wishlists with remaining features SPA: Document Navigation API abandonment and future enhancements Implement SPA browser integration with History API (Phase 1) Convert contacts view page to SPA action Convert clients pages to SPA actions and document conversion procedure SPA: Merge GET parameters and update documentation Implement SPA route URL generation in JavaScript and PHP Implement SPA bootstrap controller architecture Add SPA routing manual page (rsx:man spa) Add SPA routing documentation to CLAUDE.md Phase 4 Complete: Client-side SPA routing implementation Update get_routes() consumers for unified route structure Complete SPA Phase 3: PHP-side route type detection and is_spa flag Restore unified routes structure and Manifest_Query class Refactor route indexing and add SPA infrastructure Phase 3 Complete: SPA route registration in manifest Implement SPA Phase 2: Extract router code and test decorators Rename Jqhtml_Component to Component and complete SPA foundation setup 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
56 lines
1.6 KiB
TypeScript
56 lines
1.6 KiB
TypeScript
import { Token } from './lexer.js';
|
|
import { ProgramNode } from './ast.js';
|
|
export declare class Parser {
|
|
private tokens;
|
|
private current;
|
|
private source?;
|
|
private filename?;
|
|
private static readonly VOID_ELEMENTS;
|
|
constructor(tokens: Token[], source?: string, filename?: string);
|
|
/**
|
|
* Validate JavaScript code for common mistakes
|
|
*/
|
|
private validate_javascript_code;
|
|
parse(): ProgramNode;
|
|
private parse_top_level;
|
|
private parse_component_definition;
|
|
private parse_content;
|
|
private parse_expression;
|
|
private parse_code_block;
|
|
private static readonly JAVASCRIPT_RESERVED_WORDS;
|
|
private parse_slot;
|
|
private parse_tag;
|
|
private parse_attributes;
|
|
private parse_conditional_attribute;
|
|
private parse_attribute_value;
|
|
private check_closing_tag;
|
|
private match;
|
|
private check;
|
|
private check_ahead;
|
|
private check_sequence;
|
|
private advance;
|
|
private is_at_end;
|
|
private peek;
|
|
private peek_ahead;
|
|
private previous;
|
|
private current_token;
|
|
private previous_token;
|
|
/**
|
|
* Create a SourceLocation from start and end tokens
|
|
* Propagates loc field if available, falls back to old fields for compatibility
|
|
*/
|
|
private create_location;
|
|
private consume;
|
|
private validate_component_children;
|
|
/**
|
|
* Compile method for simplified API
|
|
* Parses the template and returns component metadata and render function
|
|
*/
|
|
compile(): {
|
|
name: string;
|
|
tagName: string;
|
|
defaultAttributes: Record<string, any>;
|
|
renderFunction: string;
|
|
};
|
|
}
|
|
//# sourceMappingURL=parser.d.ts.map
|