* Field : Alias? Name Arguments? Directives? SelectionSet? * * Alias : Name :
()
| 2121 | * Alias : Name : |
| 2122 | */ |
| 2123 | parseField() { |
| 2124 | const start = this._lexer.token; |
| 2125 | const nameOrAlias = this.parseName(); |
| 2126 | let alias; |
| 2127 | let name; |
| 2128 | if (this.expectOptionalToken(_tokenKind.TokenKind.COLON)) { |
| 2129 | alias = nameOrAlias; |
| 2130 | name = this.parseName(); |
| 2131 | } else { |
| 2132 | name = nameOrAlias; |
| 2133 | } |
| 2134 | return this.node(start, { |
| 2135 | kind: _kinds.Kind.FIELD, |
| 2136 | alias, |
| 2137 | name, |
| 2138 | arguments: this.parseArguments(false), |
| 2139 | directives: this.parseDirectives(false), |
| 2140 | selectionSet: this.peek(_tokenKind.TokenKind.BRACE_L) ? this.parseSelectionSet() : void 0 |
| 2141 | }); |
| 2142 | } |
| 2143 | /** |
| 2144 | * Arguments[Const] : ( Argument[?Const]+ ) |
| 2145 | */ |
no test coverage detected