Skip to content

Commit f4d59b2

Browse files
authored
Add docs (#3)
* Add docs * add docs * Add docs
1 parent 30999b1 commit f4d59b2

File tree

8 files changed

+2028
-76
lines changed

8 files changed

+2028
-76
lines changed

README.md

Lines changed: 514 additions & 1 deletion
Large diffs are not rendered by default.

src/types/node.ts

Lines changed: 72 additions & 71 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,42 @@ import { NodeTypes } from "../constants";
22
import { SimpleNode } from "./simple-node";
33
import { BaseNode } from "./base-node";
44

5+
export interface DocumentNode extends BaseNode {
6+
type: NodeTypes.Document;
7+
children: Array<
8+
TextNode | TagNode | ScriptTagNode | StyleTagNode | CommentNode
9+
>;
10+
}
11+
512
export type TextNode = SimpleNode<NodeTypes.Text>;
613

7-
export type CloseTagNode = SimpleNode<NodeTypes.CloseTag>;
14+
export interface TagNode extends BaseNode {
15+
type: NodeTypes.Tag;
16+
selfClosing: boolean;
17+
name: string;
18+
openStart: OpenTagStartNode;
19+
openEnd: OpenTagEndNode;
20+
close?: CloseTagNode;
21+
children: Array<
22+
TextNode | TagNode | ScriptTagNode | StyleTagNode | CommentNode
23+
>;
24+
attributes: Array<AttributeNode>;
25+
}
826

927
export type OpenTagStartNode = SimpleNode<NodeTypes.OpenTagStart>;
1028

1129
export type OpenTagEndNode = SimpleNode<NodeTypes.OpenTagEnd>;
1230

31+
export type CloseTagNode = SimpleNode<NodeTypes.CloseTag>;
32+
33+
export interface AttributeNode extends BaseNode {
34+
type: NodeTypes.Attribute;
35+
key: AttributeKeyNode;
36+
value?: AttributeValueNode;
37+
startWrapper?: AttributeValueWrapperStartNode;
38+
endWrapper?: AttributeValueWrapperEndNode;
39+
}
40+
1341
export type AttributeKeyNode = SimpleNode<NodeTypes.AttributeKey>;
1442

1543
export type AttributeValueNode = SimpleNode<NodeTypes.AttributeValue>;
@@ -20,84 +48,61 @@ export type AttributeValueWrapperStartNode =
2048
export type AttributeValueWrapperEndNode =
2149
SimpleNode<NodeTypes.AttributeValueWrapperEnd>;
2250

23-
export type OpenTagStartStyleNode = SimpleNode<NodeTypes.OpenTagStartStyle>;
24-
25-
export type OpenTagEndStyleNode = SimpleNode<NodeTypes.OpenTagEndStyle>;
26-
51+
export interface ScriptTagNode extends BaseNode {
52+
type: NodeTypes.ScriptTag;
53+
attributes: Array<AttributeNode>;
54+
openStart: OpenTagStartScriptNode;
55+
openEnd: OpenTagEndScriptNode;
56+
close: CloseTagScriptNode;
57+
value?: ScriptTagContentNode;
58+
}
2759
export type OpenTagStartScriptNode = SimpleNode<NodeTypes.OpenTagStartScript>;
2860

61+
export type CloseTagScriptNode = SimpleNode<NodeTypes.CloseTagScript>;
62+
2963
export type OpenTagEndScriptNode = SimpleNode<NodeTypes.OpenTagEndScript>;
3064

31-
export type CommentStartNode = SimpleNode<NodeTypes.CommentStart>;
65+
export type ScriptTagContentNode = SimpleNode<NodeTypes.ScriptTagContent>;
3266

33-
export type CommentEndNode = SimpleNode<NodeTypes.CommentEnd>;
67+
export interface StyleTagNode extends BaseNode {
68+
type: NodeTypes.StyleTag;
69+
attributes: Array<AttributeNode>;
70+
openStart: OpenTagStartStyleNode;
71+
openEnd: OpenTagEndStyleNode;
72+
close: CloseTagStyleNode;
73+
value?: StyleTagContentNode;
74+
}
3475

35-
export type CommentContentNode = SimpleNode<NodeTypes.CommentContent>;
76+
export type OpenTagStartStyleNode = SimpleNode<NodeTypes.OpenTagStartStyle>;
3677

37-
export type ScriptTagContentNode = SimpleNode<NodeTypes.ScriptTagContent>;
78+
export type OpenTagEndStyleNode = SimpleNode<NodeTypes.OpenTagEndStyle>;
3879

3980
export type StyleTagContentNode = SimpleNode<NodeTypes.StyleTagContent>;
4081

41-
export type DoctypeStartNode = SimpleNode<NodeTypes.DoctypeStart>;
42-
43-
export type CloseTagScriptNode = SimpleNode<NodeTypes.CloseTagScript>;
44-
4582
export type CloseTagStyleNode = SimpleNode<NodeTypes.CloseTagStyle>;
4683

47-
export type DoctypeAttributeValueNode =
48-
SimpleNode<NodeTypes.DoctypeAttributeValue>;
49-
50-
export type DoctypeAttributeWrapperStart =
51-
SimpleNode<NodeTypes.DoctypeAttributeWrapperStart>;
84+
export interface CommentNode extends BaseNode {
85+
type: NodeTypes.Comment;
86+
start: CommentStartNode;
87+
end: CommentEndNode;
88+
value: CommentContentNode;
89+
}
5290

53-
export type DoctypeAttributeWrapperEnd =
54-
SimpleNode<NodeTypes.DoctypeAttributeWrapperEnd>;
91+
export type CommentStartNode = SimpleNode<NodeTypes.CommentStart>;
5592

56-
export interface DocumentNode extends BaseNode {
57-
type: NodeTypes.Document;
58-
children: Array<
59-
TextNode | TagNode | ScriptNode | StyleNode | CommentNode | TextNode
60-
>;
61-
}
93+
export type CommentEndNode = SimpleNode<NodeTypes.CommentEnd>;
6294

63-
export interface TagNode extends BaseNode {
64-
type: NodeTypes.Tag;
65-
selfClosing: boolean;
66-
name: string;
67-
close?: CloseTagNode;
68-
openEnd: OpenTagEndNode;
69-
openStart: OpenTagStartNode;
70-
children: Array<
71-
TextNode | TagNode | ScriptNode | StyleNode | CommentNode | TextNode
72-
>;
73-
attributes: Array<AttributeNode>;
74-
}
95+
export type CommentContentNode = SimpleNode<NodeTypes.CommentContent>;
7596

76-
export interface AttributeNode extends BaseNode {
77-
type: NodeTypes.Attribute;
78-
key: AttributeKeyNode;
79-
startWrapper?: AttributeValueWrapperStartNode;
80-
value?: AttributeValueNode;
81-
endWrapper?: AttributeValueWrapperEndNode;
97+
export interface DoctypeNode extends BaseNode {
98+
type: NodeTypes.Doctype;
99+
start: DoctypeStartNode;
100+
end: DoctypeEndNode;
82101
}
83102

84-
export interface StyleNode extends BaseNode {
85-
type: NodeTypes.StyleTag;
86-
attributes: Array<AttributeNode>;
87-
openStart: OpenTagStartStyleNode;
88-
openEnd: OpenTagEndStyleNode;
89-
close: CloseTagStyleNode;
90-
value?: StyleTagContentNode;
91-
}
103+
export type DoctypeStartNode = SimpleNode<NodeTypes.DoctypeStart>;
92104

93-
export interface ScriptNode extends BaseNode {
94-
type: NodeTypes.ScriptTag;
95-
attributes: Array<AttributeNode>;
96-
openStart: OpenTagStartScriptNode;
97-
openEnd: OpenTagEndScriptNode;
98-
close: CloseTagScriptNode;
99-
value?: ScriptTagContentNode;
100-
}
105+
export type DoctypeEndNode = SimpleNode<NodeTypes.DoctypeEnd>;
101106

102107
export interface DoctypeAttributeNode extends BaseNode {
103108
type: NodeTypes.Attribute;
@@ -107,15 +112,11 @@ export interface DoctypeAttributeNode extends BaseNode {
107112
endWrapper?: DoctypeAttributeWrapperEnd;
108113
}
109114

110-
export interface DoctypeNode extends BaseNode {
111-
type: NodeTypes.Doctype;
112-
start: DoctypeStartNode;
113-
end: DoctypeNode;
114-
}
115+
export type DoctypeAttributeValueNode =
116+
SimpleNode<NodeTypes.DoctypeAttributeValue>;
115117

116-
export interface CommentNode extends BaseNode {
117-
type: NodeTypes.Comment;
118-
start: CommentStartNode;
119-
end: CommentEndNode;
120-
value: CommentContentNode;
121-
}
118+
export type DoctypeAttributeWrapperStart =
119+
SimpleNode<NodeTypes.DoctypeAttributeWrapperStart>;
120+
121+
export type DoctypeAttributeWrapperEnd =
122+
SimpleNode<NodeTypes.DoctypeAttributeWrapperEnd>;

src/types/temp-node.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@ import { BaseNode } from "./base-node";
22
import {
33
CommentNode,
44
DoctypeNode,
5-
ScriptNode,
6-
StyleNode,
5+
ScriptTagNode,
6+
StyleTagNode,
77
TagNode,
88
DocumentNode,
99
} from "./node";
@@ -15,11 +15,11 @@ type TempNode<T extends BaseNode, K extends keyof T = any> = PartialBy<T, K> & {
1515
};
1616

1717
export type TempScriptNode = TempNode<
18-
ScriptNode,
18+
ScriptTagNode,
1919
"close" | "openStart" | "value" | "openEnd"
2020
>;
2121
export type TempStyleNode = TempNode<
22-
StyleNode,
22+
StyleTagNode,
2323
"openStart" | "openEnd" | "value" | "close"
2424
>;
2525
export type TempDoctypeNode = TempNode<DoctypeNode>;

website/index.html

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
<html>
2+
<body>
3+
<script src="./main.ts"></script>
4+
</body>
5+
</html>

website/main.ts

Whitespace-only changes.

website/package.json

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
{
2+
"name": "website",
3+
"private": "true",
4+
"version": "1.0.0",
5+
"main": "index.js",
6+
"license": "MIT",
7+
"devDependencies": {
8+
"@types/jquery": "^3.5.14",
9+
"parcel": "^2.7.0"
10+
},
11+
"dependencies": {
12+
"jquery": "^3.6.1"
13+
}
14+
}

website/tsconfig.json

Whitespace-only changes.

0 commit comments

Comments
 (0)