Project

General

Profile

1
/**
2
 * @license
3
 * Copyright Google Inc. All Rights Reserved.
4
 *
5
 * Use of this source code is governed by an MIT-style license that can be
6
 * found in the LICENSE file at https://angular.io/license
7
 */
8
import { AstPath } from '../ast_path';
9
import { ParseSourceSpan } from '../parse_util';
10
export interface Node {
11
    sourceSpan: ParseSourceSpan;
12
    visit(visitor: Visitor, context: any): any;
13
}
14
export declare class Text implements Node {
15
    value: string;
16
    sourceSpan: ParseSourceSpan;
17
    constructor(value: string, sourceSpan: ParseSourceSpan);
18
    visit(visitor: Visitor, context: any): any;
19
}
20
export declare class Expansion implements Node {
21
    switchValue: string;
22
    type: string;
23
    cases: ExpansionCase[];
24
    sourceSpan: ParseSourceSpan;
25
    switchValueSourceSpan: ParseSourceSpan;
26
    constructor(switchValue: string, type: string, cases: ExpansionCase[], sourceSpan: ParseSourceSpan, switchValueSourceSpan: ParseSourceSpan);
27
    visit(visitor: Visitor, context: any): any;
28
}
29
export declare class ExpansionCase implements Node {
30
    value: string;
31
    expression: Node[];
32
    sourceSpan: ParseSourceSpan;
33
    valueSourceSpan: ParseSourceSpan;
34
    expSourceSpan: ParseSourceSpan;
35
    constructor(value: string, expression: Node[], sourceSpan: ParseSourceSpan, valueSourceSpan: ParseSourceSpan, expSourceSpan: ParseSourceSpan);
36
    visit(visitor: Visitor, context: any): any;
37
}
38
export declare class Attribute implements Node {
39
    name: string;
40
    value: string;
41
    sourceSpan: ParseSourceSpan;
42
    valueSpan: ParseSourceSpan;
43
    constructor(name: string, value: string, sourceSpan: ParseSourceSpan, valueSpan?: ParseSourceSpan);
44
    visit(visitor: Visitor, context: any): any;
45
}
46
export declare class Element implements Node {
47
    name: string;
48
    attrs: Attribute[];
49
    children: Node[];
50
    sourceSpan: ParseSourceSpan;
51
    startSourceSpan: ParseSourceSpan | null;
52
    endSourceSpan: ParseSourceSpan | null;
53
    constructor(name: string, attrs: Attribute[], children: Node[], sourceSpan: ParseSourceSpan, startSourceSpan?: ParseSourceSpan | null, endSourceSpan?: ParseSourceSpan | null);
54
    visit(visitor: Visitor, context: any): any;
55
}
56
export declare class Comment implements Node {
57
    value: string | null;
58
    sourceSpan: ParseSourceSpan;
59
    constructor(value: string | null, sourceSpan: ParseSourceSpan);
60
    visit(visitor: Visitor, context: any): any;
61
}
62
export interface Visitor {
63
    visit?(node: Node, context: any): any;
64
    visitElement(element: Element, context: any): any;
65
    visitAttribute(attribute: Attribute, context: any): any;
66
    visitText(text: Text, context: any): any;
67
    visitComment(comment: Comment, context: any): any;
68
    visitExpansion(expansion: Expansion, context: any): any;
69
    visitExpansionCase(expansionCase: ExpansionCase, context: any): any;
70
}
71
export declare function visitAll(visitor: Visitor, nodes: Node[], context?: any): any[];
72
export declare class RecursiveVisitor implements Visitor {
73
    constructor();
74
    visitElement(ast: Element, context: any): any;
75
    visitAttribute(ast: Attribute, context: any): any;
76
    visitText(ast: Text, context: any): any;
77
    visitComment(ast: Comment, context: any): any;
78
    visitExpansion(ast: Expansion, context: any): any;
79
    visitExpansionCase(ast: ExpansionCase, context: any): any;
80
    private visitChildren<T>(context, cb);
81
}
82
export declare type HtmlAstPath = AstPath<Node>;
83
export declare function findNode(nodes: Node[], position: number): HtmlAstPath;
(1-1/22)