UNPKG

2.42 kBTypeScriptView Raw
1import { HandlebarsNodeVisitors } from './handlebars-node-visitors';
2import * as AST from '../types/nodes';
3import builders from '../builders';
4import traverse from '../traversal/traverse';
5import print from '../generation/print';
6import Walker from '../traversal/walker';
7import { NodeVisitor } from '../traversal/visitor';
8export declare const voidMap: {
9 [tagName: string]: boolean;
10};
11export declare class TokenizerEventHandlers extends HandlebarsNodeVisitors {
12 private tagOpenLine;
13 private tagOpenColumn;
14 reset(): void;
15 beginComment(): void;
16 appendToCommentData(char: string): void;
17 finishComment(): void;
18 beginData(): void;
19 appendToData(char: string): void;
20 finishData(): void;
21 tagOpen(): void;
22 beginStartTag(): void;
23 beginEndTag(): void;
24 finishTag(): void;
25 finishStartTag(): void;
26 finishEndTag(isVoid: boolean): void;
27 markTagAsSelfClosing(): void;
28 appendToTagName(char: string): void;
29 beginAttribute(): void;
30 appendToAttributeName(char: string): void;
31 beginAttributeValue(isQuoted: boolean): void;
32 appendToAttributeValue(char: string): void;
33 finishAttributeValue(): void;
34 reportSyntaxError(message: string): void;
35}
36/**
37 ASTPlugins can make changes to the Glimmer template AST before
38 compilation begins.
39*/
40export interface ASTPluginBuilder {
41 (env: ASTPluginEnvironment): ASTPlugin;
42}
43export interface ASTPlugin {
44 name: string;
45 visitor: NodeVisitor;
46}
47export interface ASTPluginEnvironment {
48 meta?: object;
49 syntax: Syntax;
50}
51interface HandlebarsParseOptions {
52 srcName?: string;
53 ignoreStandalone?: boolean;
54}
55export interface PreprocessOptions {
56 meta?: unknown;
57 plugins?: {
58 ast?: ASTPluginBuilder[];
59 };
60 parseOptions?: HandlebarsParseOptions;
61 /**
62 Useful for specifying a group of options together.
63
64 When `'codemod'` we disable all whitespace control in handlebars
65 (to preserve as much as possible) and we also avoid any
66 escaping/unescaping of HTML entity codes.
67 */
68 mode?: 'codemod' | 'precompile';
69}
70export interface Syntax {
71 parse: typeof preprocess;
72 builders: typeof builders;
73 print: typeof print;
74 traverse: typeof traverse;
75 Walker: typeof Walker;
76}
77export declare function preprocess(html: string, options?: PreprocessOptions): AST.Template;
78export {};
79//# sourceMappingURL=tokenizer-event-handlers.d.ts.map
\No newline at end of file