(consumeEntities: boolean, endMarkerPredicate: () => boolean)
| 735 | } |
| 736 | |
| 737 | private _consumeRawText(consumeEntities: boolean, endMarkerPredicate: () => boolean): void { |
| 738 | this._beginToken(consumeEntities ? TokenType.ESCAPABLE_RAW_TEXT : TokenType.RAW_TEXT); |
| 739 | const parts: string[] = []; |
| 740 | while (true) { |
| 741 | const tagCloseStart = this._cursor.clone(); |
| 742 | const foundEndMarker = endMarkerPredicate(); |
| 743 | this._cursor = tagCloseStart; |
| 744 | if (foundEndMarker) { |
| 745 | break; |
| 746 | } |
| 747 | if (consumeEntities && this._cursor.peek() === chars.$AMPERSAND) { |
| 748 | this._endToken([this._processCarriageReturns(parts.join(''))]); |
| 749 | parts.length = 0; |
| 750 | this._consumeEntity(TokenType.ESCAPABLE_RAW_TEXT); |
| 751 | this._beginToken(TokenType.ESCAPABLE_RAW_TEXT); |
| 752 | } else { |
| 753 | parts.push(this._readChar()); |
| 754 | } |
| 755 | } |
| 756 | this._endToken([this._processCarriageReturns(parts.join(''))]); |
| 757 | } |
| 758 | |
| 759 | private _consumeComment(start: CharacterCursor) { |
| 760 | this._beginToken(TokenType.COMMENT_START, start); |
no test coverage detected