summaryrefslogtreecommitdiff
path: root/MistyCore/node_modules/yaml/dist/parse/lexer.d.ts
blob: 238e7b54dd2c15440185b4cad1260b22e6c8325f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
/**
 * Splits an input string into lexical tokens, i.e. smaller strings that are
 * easily identifiable by `tokens.tokenType()`.
 *
 * Lexing starts always in a "stream" context. Incomplete input may be buffered
 * until a complete token can be emitted.
 *
 * In addition to slices of the original input, the following control characters
 * may also be emitted:
 *
 * - `\x02` (Start of Text): A document starts with the next token
 * - `\x18` (Cancel): Unexpected end of flow-mode (indicates an error)
 * - `\x1f` (Unit Separator): Next token is a scalar value
 * - `\u{FEFF}` (Byte order mark): Emitted separately outside documents
 */
export declare class Lexer {
    /**
     * Flag indicating whether the end of the current buffer marks the end of
     * all input
     */
    private atEnd;
    /**
     * Explicit indent set in block scalar header, as an offset from the current
     * minimum indent, so e.g. set to 1 from a header `|2+`. Set to -1 if not
     * explicitly set.
     */
    private blockScalarIndent;
    /**
     * Block scalars that include a + (keep) chomping indicator in their header
     * include trailing empty lines, which are otherwise excluded from the
     * scalar's contents.
     */
    private blockScalarKeep;
    /** Current input */
    private buffer;
    /**
     * Flag noting whether the map value indicator : can immediately follow this
     * node within a flow context.
     */
    private flowKey;
    /** Count of surrounding flow collection levels. */
    private flowLevel;
    /**
     * Minimum level of indentation required for next lines to be parsed as a
     * part of the current scalar value.
     */
    private indentNext;
    /** Indentation level of the current line. */
    private indentValue;
    /** Position of the next \n character. */
    private lineEndPos;
    /** Stores the state of the lexer if reaching the end of incpomplete input */
    private next;
    /** A pointer to `buffer`; the current position of the lexer. */
    private pos;
    /**
     * Generate YAML tokens from the `source` string. If `incomplete`,
     * a part of the last line may be left as a buffer for the next call.
     *
     * @returns A generator of lexical tokens
     */
    lex(source: string, incomplete?: boolean): Generator<string, void, unknown>;
    private atLineEnd;
    private charAt;
    private continueScalar;
    private getLine;
    private hasChars;
    private setNext;
    private peek;
    private parseNext;
    private parseStream;
    private parseLineStart;
    private parseBlockStart;
    private parseDocument;
    private parseFlowCollection;
    private parseQuotedScalar;
    private parseBlockScalarHeader;
    private parseBlockScalar;
    private parsePlainScalar;
    private pushCount;
    private pushToIndex;
    private pushIndicators;
    private pushTag;
    private pushNewline;
    private pushSpaces;
    private pushUntil;
}