summaryrefslogtreecommitdiff
path: root/includes/external/school/node_modules/graphql/language/lexer.d.ts
diff options
context:
space:
mode:
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.ts58
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;