diff options
Diffstat (limited to 'includes/external/school/node_modules/graphql/language/lexer.d.ts')
-rw-r--r-- | includes/external/school/node_modules/graphql/language/lexer.d.ts | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/includes/external/school/node_modules/graphql/language/lexer.d.ts b/includes/external/school/node_modules/graphql/language/lexer.d.ts new file mode 100644 index 0000000..40dbf9a --- /dev/null +++ b/includes/external/school/node_modules/graphql/language/lexer.d.ts @@ -0,0 +1,58 @@ +import { Token } from './ast'; +import { Source } from './source'; +import { TokenKindEnum } from './tokenKind'; + +/** + * Given a Source object, this returns a Lexer for that source. + * A Lexer is a stateful stream generator in that every time + * it is advanced, it returns the next token in the Source. Assuming the + * source lexes, the final Token emitted by the lexer will be of kind + * EOF, after which the lexer will repeatedly return the same EOF token + * whenever called. + */ +export class Lexer { + source: Source; + + /** + * The previously focused non-ignored token. + */ + lastToken: Token; + + /** + * The currently focused non-ignored token. + */ + token: Token; + + /** + * The (1-indexed) line containing the current token. + */ + line: number; + + /** + * The character offset at which the current line begins. + */ + lineStart: number; + + constructor(source: Source); + + /** + * Advances the token stream to the next non-ignored token. + */ + advance(): Token; + + /** + * Looks ahead and returns the next non-ignored token, but does not change + * the state of Lexer. + */ + lookahead(): Token; +} + +/** + * @internal + */ +export function isPunctuatorToken(token: Token): boolean; + +/** + * @internal + */ +export function isPunctuatorTokenKind(kind: TokenKindEnum): boolean; |