Skip to content

Commit 0c3c1a5

Browse files
committed
feat: add template token types to chars
1 parent 7edeaf6 commit 0c3c1a5

File tree

3 files changed

+19
-16
lines changed

3 files changed

+19
-16
lines changed

src/tokenizer/chars.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { Range } from "../types";
1+
import { Range, TemplateTokenType } from "../types";
22

33
export enum CharsType {
44
HTML = "HTML",
@@ -11,6 +11,7 @@ export class Chars {
1111
public isTemplate: boolean;
1212
constructor(
1313
public type: CharsType,
14+
public templateTokenType: TemplateTokenType | undefined,
1415
public value: string,
1516
public range: Range,
1617
public wrapper?: {

src/tokenizer/source-code.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,9 +55,10 @@ export class SourceCode {
5555
charsList.push(
5656
new Chars(
5757
CharsType.Template,
58+
info.type,
5859
this.source.slice(range[0], range[1]),
5960
[range[0], range[1]],
60-
Array.isArray(info) ? undefined : info
61+
info
6162
)
6263
);
6364
templateInfoIndex++;
@@ -66,7 +67,7 @@ export class SourceCode {
6667
}
6768
}
6869
charsList.push(
69-
new Chars(CharsType.HTML, this.source[sourceIndex], [
70+
new Chars(CharsType.HTML, undefined, this.source[sourceIndex], [
7071
sourceIndex,
7172
sourceIndex + 1,
7273
])

src/types/template.ts

Lines changed: 14 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,16 @@
11
import { Range } from "./range";
22

3-
export type TemplateInfo =
4-
| Range
5-
| {
6-
type?:
7-
| "inline"
8-
| "blockOpen"
9-
| "blockClose"
10-
| "conditionalBlockOpen"
11-
| "conditionalBlockClose"
12-
| "alternativeBlockOpen";
13-
open: Range;
14-
close: Range;
15-
};
3+
export enum TemplateTokenType {
4+
Inline = "inline",
5+
BlockOpen = "blockOpen",
6+
BlockClose = "blockClose",
7+
ConditionalBlockOpen = "conditionalBlockOpen",
8+
ConditionalBlockClose = "conditionalBlockClose",
9+
AlternativeBlockOpen = "alternativeBlockOpen",
10+
}
11+
12+
export type TemplateInfo = {
13+
type?: TemplateTokenType;
14+
open: Range;
15+
close: Range;
16+
};

0 commit comments

Comments
 (0)