summaryrefslogtreecommitdiff
path: root/src/compiler/parse/state/text.ts
blob: d7183f8b65a9affa61b3be6e0f950c66cbabbbc4 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
// @ts-nocheck

import { decode_character_references } from '../utils/html.js';
import { Parser } from '../index.js';

export default function text(parser: Parser) {
	const start = parser.index;

	let data = '';

	while (
		parser.index < parser.template.length &&
		!parser.match('<') &&
		!parser.match('{')
	) {
		data += parser.template[parser.index++];
	}

	const node = {
		start,
		end: parser.index,
		type: 'Text',
		raw: data,
		data: decode_character_references(data)
	};

	parser.current().children.push(node);
}