(options: DirectiveGroupOptions<T>)
| 714 | } |
| 715 | |
| 716 | private parseDirectiveGroup<T>(options: DirectiveGroupOptions<T>): { |
| 717 | directives: T[]; |
| 718 | blockToken: Token; |
| 719 | } { |
| 720 | const directives: T[] = []; |
| 721 | |
| 722 | do { |
| 723 | directives.push(options.parseDirective()); |
| 724 | if (!options.hasNext()) { |
| 725 | break; |
| 726 | } |
| 727 | this.consume(TokenType.COMMA, options.separatorMessage); |
| 728 | } while (true); |
| 729 | |
| 730 | const blockToken = this.consume( |
| 731 | TokenType.BLOCK, |
| 732 | options.blockMessageFor(directives[directives.length - 1]!) |
| 733 | ); |
| 734 | |
| 735 | return { directives, blockToken }; |
| 736 | } |
| 737 | |
| 738 | private parseAttributeValue(): LiteralValue { |
| 739 | const fall = this.fallThrough(); |
no test coverage detected