1 |
|
2 |
|
3 |
|
4 |
|
5 |
|
6 |
|
7 |
|
8 |
|
9 |
|
10 |
|
11 | import { AtRule, Comment, Declaration, Discarded, Rule, Rulelist, Ruleset, Stylesheet } from './common';
|
12 | import { NodeFactory } from './node-factory';
|
13 | import { Tokenizer } from './tokenizer';
|
14 |
|
15 |
|
16 |
|
17 | declare class Parser {
|
18 | nodeFactory: NodeFactory;
|
19 | |
20 |
|
21 |
|
22 |
|
23 |
|
24 | constructor(nodeFactory?: NodeFactory);
|
25 | /**
|
26 | * Parse CSS and generate an AST.
|
27 | * @param cssText The CSS to parse.
|
28 | * @return A CSS AST containing nodes that correspond to those
|
29 | * generated by the Parser's NodeFactory.
|
30 | */
|
31 | parse(cssText: string): Stylesheet;
|
32 | /**
|
33 | * Consumes tokens from a Tokenizer to parse a Stylesheet node.
|
34 | * @param tokenizer A Tokenizer instance.
|
35 | */
|
36 | parseStylesheet(tokenizer: Tokenizer): Stylesheet;
|
37 | /**
|
38 | * Consumes tokens from a Tokenizer to parse a sequence of rules.
|
39 | * @param tokenizer A Tokenizer instance.
|
40 | * @return A list of nodes corresponding to rules. For a parser
|
41 | * configured with a basic NodeFactory, any of Comment, AtRule, Ruleset,
|
42 | * Declaration and Discarded nodes may be present in the list.
|
43 | */
|
44 | parseRules(tokenizer: Tokenizer): Rule[];
|
45 | /**
|
46 | * Consumes tokens from a Tokenizer to parse a single rule.
|
47 | * @param tokenizer A Tokenizer instance.
|
48 | * @return If the current token in the Tokenizer is whitespace,
|
49 | * returns null. Otherwise, returns the next parseable node.
|
50 | */
|
51 | parseRule(tokenizer: Tokenizer): Rule | null;
|
52 | /**
|
53 | * Consumes tokens from a Tokenizer to parse a Comment node.
|
54 | * @param tokenizer A Tokenizer instance.
|
55 | */
|
56 | parseComment(tokenizer: Tokenizer): Comment | null;
|
57 | /**
|
58 | * Consumes tokens from a Tokenizer through the next boundary token to
|
59 | * produce a Discarded node. This supports graceful recovery from many
|
60 | * malformed CSS conditions.
|
61 | * @param tokenizer A Tokenizer instance.
|
62 | */
|
63 | parseUnknown(tokenizer: Tokenizer): Discarded | null;
|
64 | /**
|
65 | * Consumes tokens from a Tokenizer to parse an At Rule node.
|
66 | * @param tokenizer A Tokenizer instance.
|
67 | */
|
68 | parseAtRule(tokenizer: Tokenizer): AtRule | null;
|
69 | /**
|
70 | * Consumes tokens from a Tokenizer to produce a Rulelist node.
|
71 | * @param tokenizer A Tokenizer instance.
|
72 | */
|
73 | parseRulelist(tokenizer: Tokenizer): Rulelist;
|
74 | /**
|
75 | * Consumes tokens from a Tokenizer instance to produce a Declaration node or
|
76 | * a Ruleset node, as appropriate.
|
77 | * @param tokenizer A Tokenizer node.
|
78 | */
|
79 | parseDeclarationOrRuleset(tokenizer: Tokenizer): Declaration | Ruleset | null;
|
80 | }
|
81 | export { Parser };
|