Skip to content

Commit 8cf5f80

Browse files
authored
Change ast format (#9)
* Rename AST fields (start -> open, end -> close) * Change node, token type * Fix readme * fix
1 parent 4a44a4d commit 8cf5f80

23 files changed

+194
-192
lines changed

README.md

Lines changed: 42 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,14 @@
11
# ES HTML Parser
22

3+
<p align="left">
34
<img src="https://github.com/yeonjuan/es-html-parser/actions/workflows/main.yml/badge.svg?branch=main" alt="CI Badge" />
45
<a href="https://codecov.io/gh/yeonjuan/es-html-parser" >
56
<img src="https://codecov.io/gh/yeonjuan/es-html-parser/branch/main/graph/badge.svg?token=LNYPD2GOJR"/>
67
</a>
78
<a href="https://www.npmjs.com/package/es-html-parser">
89
<img src="https://img.shields.io/npm/v/es-html-parser"/>
910
</a>
11+
</p>
1012

1113
ES HTML Parser is an HTML parser that generates an abstract syntax tree similar to the ESTree specification.
1214

@@ -106,12 +108,12 @@ type AnyNode =
106108
| StyleTagContentNode
107109
| CloseStyleTagNode
108110
| CommentNode
109-
| CommentStartNode
110-
| CommentEndNode
111+
| CommentOpenNode
112+
| CommentCloseNode
111113
| CommentContentNode
112114
| DoctypeNode
113-
| DoctypeStartNode
114-
| DoctypeEndNode
115+
| DoctypeOpenNode
116+
| DoctypeCloseNode
115117
| DoctypeAttributeNode
116118
| DoctypeAttributeValueNode
117119
| DoctypeAttributeWrapperStart
@@ -133,14 +135,14 @@ type AnyToken =
133135
| Token<TokenTypes.AttributeValueWrapperStart>
134136
| Token<TokenTypes.AttributeValue>
135137
| Token<TokenTypes.AttributeValueWrapperEnd>
136-
| Token<TokenTypes.DoctypeStart>
138+
| Token<TokenTypes.DoctypeOpen>
137139
| Token<TokenTypes.DoctypeAttributeValue>
138140
| Token<TokenTypes.DoctypeAttributeWrapperStart>
139141
| Token<TokenTypes.DoctypeAttributeWrapperEnd>
140-
| Token<TokenTypes.DoctypeEnd>
141-
| Token<TokenTypes.CommentStart>
142+
| Token<TokenTypes.DoctypeClose>
143+
| Token<TokenTypes.CommentOpen>
142144
| Token<TokenTypes.CommentContent>
143-
| Token<TokenTypes.CommentEnd>
145+
| Token<TokenTypes.CommentClose>
144146
| Token<TokenTypes.OpenScriptTagStart>
145147
| Token<TokenTypes.OpenScriptTagEnd>
146148
| Token<TokenTypes.ScriptTagContent>
@@ -166,14 +168,14 @@ enum TokenTypes {
166168
AttributeValueWrapperStart = "AttributeValueWrapperStart",
167169
AttributeValue = "AttributeValue",
168170
AttributeValueWrapperEnd = "AttributeValueWrapperEnd",
169-
DoctypeStart = "DoctypeStart",
171+
DoctypeOpen = "DoctypeOpen",
170172
DoctypeAttributeValue = "DoctypeAttributeValue",
171173
DoctypeAttributeWrapperStart = "DoctypeAttributeWrapperStart",
172174
DoctypeAttributeWrapperEnd = "DoctypeAttributeWrapperEnd",
173-
DoctypeEnd = "DoctypeEnd",
174-
CommentStart = "CommentStart",
175+
DoctypeClose = "DoctypeClose",
176+
CommentOpen = "CommentOpen",
175177
CommentContent = "CommentContent",
176-
CommentEnd = "CommentEnd",
178+
CommentClose = "CommentClose",
177179
OpenScriptTagStart = "OpenScriptTagStart",
178180
OpenScriptTagEnd = "OpenScriptTagEnd",
179181
ScriptTagContent = "ScriptTagContent",
@@ -194,8 +196,8 @@ enum NodeTypes {
194196
Text = "Text",
195197
Doctype = "Doctype",
196198
Comment = "Comment",
197-
CommentStart = "CommentStart",
198-
CommentEnd = "CommentEnd",
199+
CommentOpen = "CommentOpen",
200+
CommentClose = "CommentClose",
199201
CommentContent = "CommentContent",
200202
Attribute = "Attribute",
201203
AttributeKey = "AttributeKey",
@@ -205,9 +207,9 @@ enum NodeTypes {
205207
CloseTag = "CloseTag",
206208
OpenTagEnd = "OpenTagEnd",
207209
OpenTagStart = "OpenTagStart",
208-
DoctypeStart = "DoctypeStart",
210+
DoctypeOpen = "DoctypeOpen",
209211
DoctypeAttribute = "DoctypeAttribute",
210-
DoctypeEnd = "DoctypeEnd",
212+
DoctypeClose = "DoctypeClose",
211213
ScriptTag = "ScriptTag",
212214
OpenScriptTagStart = "OpenScriptTagStart",
213215
OpenScriptTagEnd = "OpenScriptTagEnd",
@@ -255,12 +257,12 @@ enum NodeTypes {
255257
- [CloseStyleTagNode](#closestyletagnode)
256258
- [StyleTagContentNode](#styletagcontentnode)
257259
- [CommentNode](#commentnode)
258-
- [CommentStartNode](#commentstartnode)
259-
- [CommentEndNode](#commentendnode)
260+
- [CommentOpenNode](#commentopennode)
261+
- [CommentCloseNode](#commentclosenode)
260262
- [CommentContentNode](#commentcontentnode)
261263
- [DoctypeNode](#doctypenode)
262-
- [DoctypeStartNode](#doctypestartnode)
263-
- [DoctypeEndNode](#doctypeendnode)
264+
- [DoctypeOpenNode](#doctypeopennode)
265+
- [DoctypeCloseNode](#doctypeclosenode)
264266
- [DoctypeAttributeNode](#doctypeattributenode)
265267
- [DoctypeAttributeValueNode](#doctypeattributevaluenode)
266268
- [DoctypeAttributeWrapperStartNode](#doctypeattributewrapperstartnode)
@@ -575,30 +577,30 @@ interface StyleTagContentNode extends BaseNode {
575577
```ts
576578
interface CommentNode extends BaseNode {
577579
type: "Comment";
578-
start: CommentStartNode;
579-
end: CommentEndNode;
580+
open: CommentOpenNode;
581+
close: CommentCloseNode;
580582
value: CommentContentNode;
581583
}
582584
```
583585

584-
#### CommentStartNode
586+
#### CommentOpenNode
585587

586-
`CommentStartNode` represents comment start character sequence. (e.g. `<!--`)
588+
`CommentOpenNode` represents comment start character sequence. (e.g. `<!--`)
587589

588590
```ts
589-
interface CommentStartNode extends BaseNode {
590-
type: "CommentStart";
591+
interface CommentOpenNode extends BaseNode {
592+
type: "CommentOpen";
591593
value: string;
592594
}
593595
```
594596

595-
#### CommentEndNode
597+
#### CommentCloseNode
596598

597-
`CommentEndNode` represents comment end character sequence. (e.g. `-->`)
599+
`CommentCloseNode` represents comment end character sequence. (e.g. `-->`)
598600

599601
```ts
600-
interface CommentEndNode extends BaseNode {
601-
type: "CommentEnd";
602+
interface CommentCloseNode extends BaseNode {
603+
type: "CommentClose";
602604
value: string;
603605
}
604606
```
@@ -622,29 +624,29 @@ interface CommentContentNode extends BaseNode {
622624
interface DoctypeNode extends BaseNode {
623625
type: "Doctype";
624626
attributes: Array<DoctypeAttributeNode>;
625-
start: DoctypeStartNode;
626-
end: DoctypeEndNode;
627+
open: DoctypeOpenNode;
628+
close: DoctypeCloseNode;
627629
}
628630
```
629631

630-
#### DoctypeStartNode
632+
#### DoctypeOpenNode
631633

632-
`DoctypeStartNode` represents character sequence of doctype start . (`<!DOCTYPE`)
634+
`DoctypeOpenNode` represents character sequence of doctype start . (`<!DOCTYPE`)
633635

634636
```ts
635-
interface DoctypeStartNode extends BaseNode {
636-
type: "DoctypeStart";
637+
interface DoctypeOpenNode extends BaseNode {
638+
type: "DoctypeOpen";
637639
value: string;
638640
}
639641
```
640642

641-
#### DoctypeEndNode
643+
#### DoctypeCloseNode
642644

643-
`DoctypeEndNode` represents the doctype end character sequence (e.g. `>`)
645+
`DoctypeCloseNode` represents the doctype end character sequence (e.g. `>`)
644646

645647
```ts
646-
interface DoctypeEndNode extends BaseNode {
647-
type: "DoctypeEnd";
648+
interface DoctypeCloseNode extends BaseNode {
649+
type: "DoctypeClose";
648650
value: string;
649651
}
650652
```

src/constants/node-types.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@ export enum NodeTypes {
55
Doctype = "Doctype",
66

77
Comment = "Comment",
8-
CommentStart = "CommentStart",
9-
CommentEnd = "CommentEnd",
8+
CommentOpen = "CommentOpen",
9+
CommentClose = "CommentClose",
1010
CommentContent = "CommentContent",
1111

1212
Attribute = "Attribute",
@@ -17,9 +17,9 @@ export enum NodeTypes {
1717
CloseTag = "CloseTag",
1818
OpenTagEnd = "OpenTagEnd",
1919
OpenTagStart = "OpenTagStart",
20-
DoctypeStart = "DoctypeStart",
20+
DoctypeOpen = "DoctypeOpen",
2121
DoctypeAttribute = "DoctypeAttribute",
22-
DoctypeEnd = "DoctypeEnd",
22+
DoctypeClose = "DoctypeClose",
2323

2424
ScriptTag = "ScriptTag",
2525
OpenScriptTagStart = "OpenScriptTagStart",

src/constants/token-types.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,14 +8,14 @@ export enum TokenTypes {
88
AttributeValueWrapperStart = "AttributeValueWrapperStart",
99
AttributeValue = "AttributeValue",
1010
AttributeValueWrapperEnd = "AttributeValueWrapperEnd",
11-
DoctypeStart = "DoctypeStart",
11+
DoctypeOpen = "DoctypeOpen",
1212
DoctypeAttributeValue = "DoctypeAttributeValue",
1313
DoctypeAttributeWrapperStart = "DoctypeAttributeWrapperStart",
1414
DoctypeAttributeWrapperEnd = "DoctypeAttributeWrapperEnd",
15-
DoctypeEnd = "DoctypeEnd",
16-
CommentStart = "CommentStart",
15+
DoctypeClose = "DoctypeClose",
16+
CommentOpen = "CommentOpen",
1717
CommentContent = "CommentContent",
18-
CommentEnd = "CommentEnd",
18+
CommentClose = "CommentClose",
1919
OpenScriptTagStart = "OpenScriptTagStart",
2020
OpenScriptTagEnd = "OpenScriptTagEnd",
2121
ScriptTagContent = "ScriptTagContent",

src/constants/tokenizer-context-types.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,12 @@ export enum TokenizerContextTypes {
1010
AttributeValueWrapped = "AttributeValueWrapped",
1111
ScriptContent = "ScriptContent",
1212
StyleContent = "StyleContent",
13-
DoctypeStart = "DoctypeStart",
14-
DoctypeEnd = "DoctypeEnd",
13+
DoctypeOpen = "DoctypeOpen",
14+
DoctypeClose = "DoctypeClose",
1515
DoctypeAttributes = "DoctypeAttributes",
1616
DoctypeAttributeWrapped = "DoctypeAttributeWrapped",
1717
DoctypeAttributeBare = "DoctypeAttributeBare",
18-
CommentStart = "CommentStart",
18+
CommentOpen = "CommentOpen",
1919
CommentContent = "CommentContent",
20-
CommentEnd = "CommentEnd",
20+
CommentClose = "CommentClose",
2121
}

src/tokenizer/__tests__/__output__/comments.ts

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import { TokenTypes } from "../../../constants";
22

33
export default [
44
{
5-
type: TokenTypes.CommentStart,
5+
type: TokenTypes.CommentOpen,
66
value: "<!--",
77
range: [0, 4],
88
loc: {
@@ -32,7 +32,7 @@ export default [
3232
},
3333
},
3434
{
35-
type: TokenTypes.CommentEnd,
35+
type: TokenTypes.CommentClose,
3636
value: "-->",
3737
range: [18, 21],
3838
loc: {
@@ -152,7 +152,7 @@ export default [
152152
},
153153
},
154154
{
155-
type: TokenTypes.CommentStart,
155+
type: TokenTypes.CommentOpen,
156156
value: "<!--",
157157
range: [42, 46],
158158
loc: {
@@ -182,7 +182,7 @@ export default [
182182
},
183183
},
184184
{
185-
type: TokenTypes.CommentEnd,
185+
type: TokenTypes.CommentClose,
186186
value: "-->",
187187
range: [57, 60],
188188
loc: {
@@ -242,7 +242,7 @@ export default [
242242
},
243243
},
244244
{
245-
type: TokenTypes.CommentStart,
245+
type: TokenTypes.CommentOpen,
246246
value: "<!--",
247247
range: [74, 78],
248248
loc: {
@@ -272,7 +272,7 @@ export default [
272272
},
273273
},
274274
{
275-
type: TokenTypes.CommentEnd,
275+
type: TokenTypes.CommentClose,
276276
value: "-->",
277277
range: [98, 101],
278278
loc: {
@@ -332,7 +332,7 @@ export default [
332332
},
333333
},
334334
{
335-
type: TokenTypes.CommentStart,
335+
type: TokenTypes.CommentOpen,
336336
value: "<!--",
337337
range: [110, 114],
338338
loc: {
@@ -362,7 +362,7 @@ export default [
362362
},
363363
},
364364
{
365-
type: TokenTypes.CommentEnd,
365+
type: TokenTypes.CommentClose,
366366
value: "-->",
367367
range: [132, 135],
368368
loc: {
@@ -392,7 +392,7 @@ export default [
392392
},
393393
},
394394
{
395-
type: TokenTypes.CommentStart,
395+
type: TokenTypes.CommentOpen,
396396
value: "<!--",
397397
range: [137, 141],
398398
loc: {
@@ -422,7 +422,7 @@ export default [
422422
},
423423
},
424424
{
425-
type: TokenTypes.CommentEnd,
425+
type: TokenTypes.CommentClose,
426426
value: "-->",
427427
range: [171, 174],
428428
loc: {

0 commit comments

Comments
 (0)