File tree Expand file tree Collapse file tree 3 files changed +17
-8
lines changed Expand file tree Collapse file tree 3 files changed +17
-8
lines changed Original file line number Diff line number Diff line change @@ -74,6 +74,7 @@ export function tokenize(
74
74
templateRanges : templateRanges || [ ] ,
75
75
decisionBuffer : new CharsBuffer ( ) ,
76
76
accumulatedContent : new CharsBuffer ( ) ,
77
+ tokenAdapter,
77
78
sourceCode : new SourceCode ( source , templateRanges || [ ] ) ,
78
79
tokens : {
79
80
push ( token : AnyToken ) {
Original file line number Diff line number Diff line change @@ -4,6 +4,7 @@ import { CharsBuffer } from "../tokenizer/chars-buffer";
4
4
import { SourceCode } from "../tokenizer/source-code" ;
5
5
import { Range } from "./range" ;
6
6
import { AnyToken } from "./token" ;
7
+ import { TokenAdapter } from "./token-adapter" ;
7
8
8
9
type ContextParams = {
9
10
[ TokenizerContextTypes . AttributeValueWrapped ] ?: {
@@ -26,8 +27,8 @@ export type TokenizerState = {
26
27
contextParams : ContextParams ;
27
28
decisionBuffer : CharsBuffer ;
28
29
accumulatedContent : CharsBuffer ;
29
- // pointer: CharPointer;
30
30
templateRanges : Range [ ] ;
31
+ tokenAdapter : TokenAdapter ;
31
32
sourceCode : SourceCode ;
32
33
tokens : {
33
34
push ( token : AnyToken ) : void ;
Original file line number Diff line number Diff line change @@ -6,12 +6,19 @@ export function createTemplates<T extends TokenTypes>(
6
6
type : T
7
7
) : TemplatableToken < T > [ ] {
8
8
return state . mode === "template" && state . accumulatedContent . hasTemplate ( )
9
- ? state . accumulatedContent . getTemplates ( ) . map ( ( chars ) => ( {
10
- type : type ,
11
- range : chars . range ,
12
- loc : state . sourceCode . getLocationOf ( chars . range ) ,
13
- isTemplate : chars . isTemplate ,
14
- value : chars . value ,
15
- } ) )
9
+ ? state . accumulatedContent . getTemplates ( ) . map ( ( chars ) => {
10
+ const token = {
11
+ type : type ,
12
+ range : chars . range ,
13
+ loc : state . sourceCode . getLocationOf ( chars . range ) ,
14
+ isTemplate : chars . isTemplate ,
15
+ value : chars . value ,
16
+ } ;
17
+ return {
18
+ ...token ,
19
+ range : state . tokenAdapter . finalizeRange ( token ) ,
20
+ loc : state . tokenAdapter . finalizeLocation ( token ) ,
21
+ } ;
22
+ } )
16
23
: [ ] ;
17
24
}
You can’t perform that action at this time.
0 commit comments