Skip to content

Commit 2538b1e

Browse files
authored
feat: implement templateRanges option (#22)
* refactor * feat: support template syntax * feat: template syntax attributes value quote * feat: script start * impl * tokenizer * update * imple * Update token-types.ts * Update token-adapter.ts
1 parent 0ffb8e0 commit 2538b1e

File tree

97 files changed

+3355
-324
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

97 files changed

+3355
-324
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,3 +3,4 @@ coverage
33
dist
44
.yarn/*
55
!.yarn/releases
6+
.DS_store

README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -470,7 +470,7 @@ interface ScriptTagNode extends BaseNode {
470470
openStart: OpenScriptTagStartNode;
471471
openEnd: OpenScriptTagEndNode;
472472
close: CloseScriptTagNode;
473-
value?: ScriptTagContentNode;
473+
children: ScriptTagContentNode[];
474474
}
475475
```
476476

@@ -529,7 +529,7 @@ interface StyleTagNode extends BaseNode {
529529
openStart: OpenStyleTagStartNode;
530530
openEnd: OpenStyleTagEndNode;
531531
close: CloseStyleTagNode;
532-
value?: StyleTagContentNode;
532+
children: StyleTagContentNode[];
533533
}
534534
```
535535

@@ -586,7 +586,7 @@ interface CommentNode extends BaseNode {
586586
type: "Comment";
587587
open: CommentOpenNode;
588588
close: CommentCloseNode;
589-
value: CommentContentNode;
589+
children: CommentContentNode[];
590590
}
591591
```
592592

src/parser/__tests__/__snapshots__/token-adapter.spec.ts.snap

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ exports[`parse basic 1`] = `
88
"attributes": [],
99
"children": [
1010
{
11+
"isTemplate": false,
1112
"loc": {
1213
"end": {
1314
"column": 12,
@@ -153,6 +154,7 @@ exports[`parse basic 1`] = `
153154
"value": ">",
154155
},
155156
{
157+
"isTemplate": false,
156158
"loc": {
157159
"end": {
158160
"column": 12,
@@ -200,6 +202,7 @@ exports[`parse token adapter 1`] = `
200202
"attributes": [],
201203
"children": [
202204
{
205+
"isTemplate": false,
203206
"loc": {
204207
"end": {
205208
"column": 12,
@@ -345,6 +348,7 @@ exports[`parse token adapter 1`] = `
345348
"value": ">",
346349
},
347350
{
351+
"isTemplate": false,
348352
"loc": {
349353
"end": {
350354
"column": 12,

src/parser/parse.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,8 @@ import { Options } from "../types/parse";
77

88
export function parse(html: string, options?: Options): ParseResult {
99
const tokenAdapter = (options && options.tokenAdapter) || defaultTokenAdapter;
10-
const { tokens } = tokenize(html, tokenAdapter);
10+
const templateRanges = (options && options.templateRanges) || [];
11+
const { tokens } = tokenize(html, tokenAdapter, templateRanges);
1112
const { ast } = constructTree(tokens, undefined);
1213
return {
1314
ast: clearParent(ast),
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
<div ${key}=${value}></div>
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
<div ${ attr }="value"></div>
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
<div id=${id}></div>
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
<div id="${id}"></div>
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
<div ${ attr }></div>
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
<!--${comment}-->

0 commit comments

Comments
 (0)