bbcode-compiler 0.1.5 → 0.1.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -3
- package/dist/generateHtml.d.ts +1 -1
- package/dist/generator/Generator.d.ts +2 -1
- package/dist/generator/transforms/Transform.d.ts +2 -1
- package/dist/generator/transforms/htmlTransforms.d.ts +2 -1
- package/dist/generator/transforms/htmlTransforms.d.ts.map +1 -1
- package/dist/generator/utils/getTagImmediateAttrVal.d.ts +2 -1
- package/dist/generator/utils/getTagImmediateText.d.ts +1 -0
- package/dist/generator/utils/getWidthHeightAttr.d.ts +2 -1
- package/dist/generator/utils/isOrderedList.d.ts +2 -1
- package/dist/index.js +1061 -16
- package/dist/index.js.map +1 -1
- package/dist/index.umd.cjs +1065 -0
- package/dist/index.umd.cjs.map +1 -0
- package/dist/lexer/Lexer.d.ts +2 -1
- package/dist/lexer/Token.d.ts +1 -0
- package/dist/parser/AstNode.d.ts +27 -17
- package/dist/parser/AstNode.d.ts.map +1 -1
- package/dist/parser/Parser.d.ts +2 -1
- package/dist/parser/nodeIsType.d.ts +1 -0
- package/package.json +41 -20
- package/src/generator/transforms/htmlTransforms.ts +7 -0
- package/src/parser/AstNode.ts +162 -89
- package/src/parser/Parser.ts +103 -103
- package/dist/generateHtml.js +0 -13
- package/dist/generateHtml.js.map +0 -1
- package/dist/generator/Generator.js +0 -54
- package/dist/generator/Generator.js.map +0 -1
- package/dist/generator/transforms/Transform.js +0 -2
- package/dist/generator/transforms/Transform.js.map +0 -1
- package/dist/generator/transforms/htmlTransforms.js +0 -198
- package/dist/generator/transforms/htmlTransforms.js.map +0 -1
- package/dist/generator/utils/getTagImmediateAttrVal.js +0 -19
- package/dist/generator/utils/getTagImmediateAttrVal.js.map +0 -1
- package/dist/generator/utils/getTagImmediateText.js +0 -28
- package/dist/generator/utils/getTagImmediateText.js.map +0 -1
- package/dist/generator/utils/getWidthHeightAttr.js +0 -47
- package/dist/generator/utils/getWidthHeightAttr.js.map +0 -1
- package/dist/generator/utils/isDangerousUrl.js +0 -14
- package/dist/generator/utils/isDangerousUrl.js.map +0 -1
- package/dist/generator/utils/isOrderedList.js +0 -26
- package/dist/generator/utils/isOrderedList.js.map +0 -1
- package/dist/lexer/Lexer.js +0 -81
- package/dist/lexer/Lexer.js.map +0 -1
- package/dist/lexer/Token.js +0 -53
- package/dist/lexer/Token.js.map +0 -1
- package/dist/lexer/TokenType.js +0 -41
- package/dist/lexer/TokenType.js.map +0 -1
- package/dist/parser/AstNode.js +0 -263
- package/dist/parser/AstNode.js.map +0 -1
- package/dist/parser/Parser.js +0 -268
- package/dist/parser/Parser.js.map +0 -1
- package/dist/parser/nodeIsType.js +0 -4
- package/dist/parser/nodeIsType.js.map +0 -1
|
@@ -1,198 +0,0 @@
|
|
|
1
|
-
import { getTagImmediateAttrVal } from '../utils/getTagImmediateAttrVal.js';
|
|
2
|
-
import { getTagImmediateText } from '../utils/getTagImmediateText.js';
|
|
3
|
-
import { getWidthHeightAttr } from '../utils/getWidthHeightAttr.js';
|
|
4
|
-
import { isDangerousUrl } from '../utils/isDangerousUrl.js';
|
|
5
|
-
import { isOrderedList } from '../utils/isOrderedList.js';
|
|
6
|
-
export const htmlTransforms = [
|
|
7
|
-
{
|
|
8
|
-
name: 'b',
|
|
9
|
-
start: () => {
|
|
10
|
-
return '<strong>';
|
|
11
|
-
},
|
|
12
|
-
end: () => {
|
|
13
|
-
return '</strong>';
|
|
14
|
-
},
|
|
15
|
-
},
|
|
16
|
-
{
|
|
17
|
-
name: 'i',
|
|
18
|
-
start: () => {
|
|
19
|
-
return '<em>';
|
|
20
|
-
},
|
|
21
|
-
end: () => {
|
|
22
|
-
return '</em>';
|
|
23
|
-
},
|
|
24
|
-
},
|
|
25
|
-
{
|
|
26
|
-
name: 'u',
|
|
27
|
-
start: () => {
|
|
28
|
-
return '<ins>';
|
|
29
|
-
},
|
|
30
|
-
end: () => {
|
|
31
|
-
return '</ins>';
|
|
32
|
-
},
|
|
33
|
-
},
|
|
34
|
-
{
|
|
35
|
-
name: 's',
|
|
36
|
-
start: () => {
|
|
37
|
-
return '<del>';
|
|
38
|
-
},
|
|
39
|
-
end: () => {
|
|
40
|
-
return '</del>';
|
|
41
|
-
},
|
|
42
|
-
},
|
|
43
|
-
{
|
|
44
|
-
name: 'style',
|
|
45
|
-
start: (tagNode) => {
|
|
46
|
-
let style = '';
|
|
47
|
-
for (const child of tagNode.attributes) {
|
|
48
|
-
switch (child.key) {
|
|
49
|
-
case 'color': {
|
|
50
|
-
style += `color:${child.val};`;
|
|
51
|
-
continue;
|
|
52
|
-
}
|
|
53
|
-
case 'size': {
|
|
54
|
-
if (/^\d+$/.test(child.val)) {
|
|
55
|
-
style += `font-size:${child.val}%;`; // When no units provided (i.e. just a number), then assume %
|
|
56
|
-
}
|
|
57
|
-
else {
|
|
58
|
-
style += `font-size:${child.val};`;
|
|
59
|
-
}
|
|
60
|
-
continue;
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
return `<span style="${style}">`;
|
|
65
|
-
},
|
|
66
|
-
end: () => {
|
|
67
|
-
return '</span>';
|
|
68
|
-
},
|
|
69
|
-
},
|
|
70
|
-
{
|
|
71
|
-
name: 'color',
|
|
72
|
-
start: (tagNode) => {
|
|
73
|
-
const color = getTagImmediateAttrVal(tagNode);
|
|
74
|
-
return `<span style="color:${color};">`;
|
|
75
|
-
},
|
|
76
|
-
end: () => {
|
|
77
|
-
return '</span>';
|
|
78
|
-
},
|
|
79
|
-
},
|
|
80
|
-
{
|
|
81
|
-
name: 'hr',
|
|
82
|
-
isStandalone: true,
|
|
83
|
-
start: () => {
|
|
84
|
-
return '<hr />';
|
|
85
|
-
},
|
|
86
|
-
},
|
|
87
|
-
{
|
|
88
|
-
name: 'list',
|
|
89
|
-
start: (tagNode) => {
|
|
90
|
-
return isOrderedList(tagNode)
|
|
91
|
-
? '<ol>'
|
|
92
|
-
: '<ul>';
|
|
93
|
-
},
|
|
94
|
-
end: (tagNode) => {
|
|
95
|
-
return isOrderedList(tagNode)
|
|
96
|
-
? '</ol>'
|
|
97
|
-
: '</ul>';
|
|
98
|
-
},
|
|
99
|
-
},
|
|
100
|
-
{
|
|
101
|
-
name: '*',
|
|
102
|
-
isLinebreakTerminated: true,
|
|
103
|
-
start: () => {
|
|
104
|
-
return '<li>';
|
|
105
|
-
},
|
|
106
|
-
end: () => {
|
|
107
|
-
return '</li>';
|
|
108
|
-
},
|
|
109
|
-
},
|
|
110
|
-
{
|
|
111
|
-
name: 'img',
|
|
112
|
-
skipChildren: true,
|
|
113
|
-
start: (tagNode) => {
|
|
114
|
-
const src = getTagImmediateText(tagNode);
|
|
115
|
-
if (!src) {
|
|
116
|
-
return false;
|
|
117
|
-
}
|
|
118
|
-
if (isDangerousUrl(src)) {
|
|
119
|
-
return false;
|
|
120
|
-
}
|
|
121
|
-
const { width, height } = getWidthHeightAttr(tagNode);
|
|
122
|
-
let str = `<img src="${src}"`;
|
|
123
|
-
if (width) {
|
|
124
|
-
str += ` width="${width}"`;
|
|
125
|
-
}
|
|
126
|
-
if (height) {
|
|
127
|
-
str += ` height="${height}"`;
|
|
128
|
-
}
|
|
129
|
-
str += '>';
|
|
130
|
-
return str;
|
|
131
|
-
},
|
|
132
|
-
},
|
|
133
|
-
{
|
|
134
|
-
name: 'url',
|
|
135
|
-
start: (tagNode) => {
|
|
136
|
-
const href = getTagImmediateAttrVal(tagNode) ?? getTagImmediateText(tagNode);
|
|
137
|
-
if (!href) {
|
|
138
|
-
return false;
|
|
139
|
-
}
|
|
140
|
-
if (isDangerousUrl(href)) {
|
|
141
|
-
return false;
|
|
142
|
-
}
|
|
143
|
-
return `<a href="${href}">`;
|
|
144
|
-
},
|
|
145
|
-
end: () => {
|
|
146
|
-
return '</a>';
|
|
147
|
-
},
|
|
148
|
-
},
|
|
149
|
-
{
|
|
150
|
-
name: 'quote',
|
|
151
|
-
start: (tagNode) => {
|
|
152
|
-
const author = getTagImmediateAttrVal(tagNode);
|
|
153
|
-
return author
|
|
154
|
-
? `<blockquote><strong>${author}</strong>`
|
|
155
|
-
: '<blockquote>';
|
|
156
|
-
},
|
|
157
|
-
end: () => {
|
|
158
|
-
return '</blockquote>';
|
|
159
|
-
},
|
|
160
|
-
},
|
|
161
|
-
{
|
|
162
|
-
name: 'table',
|
|
163
|
-
start: () => {
|
|
164
|
-
return '<table>';
|
|
165
|
-
},
|
|
166
|
-
end: () => {
|
|
167
|
-
return '</table>';
|
|
168
|
-
},
|
|
169
|
-
},
|
|
170
|
-
{
|
|
171
|
-
name: 'tr',
|
|
172
|
-
start: () => {
|
|
173
|
-
return '<tr>';
|
|
174
|
-
},
|
|
175
|
-
end: () => {
|
|
176
|
-
return '</tr>';
|
|
177
|
-
},
|
|
178
|
-
},
|
|
179
|
-
{
|
|
180
|
-
name: 'td',
|
|
181
|
-
start: () => {
|
|
182
|
-
return '<td>';
|
|
183
|
-
},
|
|
184
|
-
end: () => {
|
|
185
|
-
return '</td>';
|
|
186
|
-
},
|
|
187
|
-
},
|
|
188
|
-
{
|
|
189
|
-
name: 'code',
|
|
190
|
-
start: () => {
|
|
191
|
-
return '<code>';
|
|
192
|
-
},
|
|
193
|
-
end: () => {
|
|
194
|
-
return '</code>';
|
|
195
|
-
},
|
|
196
|
-
},
|
|
197
|
-
];
|
|
198
|
-
//# sourceMappingURL=htmlTransforms.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"htmlTransforms.js","sourceRoot":"","sources":["../../../src/generator/transforms/htmlTransforms.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Gets the text of the immediate attribute of the current TagNode
|
|
3
|
-
*
|
|
4
|
-
* [url=https://en.wikipedia.org]English Wikipedia[/url]
|
|
5
|
-
*
|
|
6
|
-
* TagNode [url]
|
|
7
|
-
* AttrNode VAL="https://en.wikipedia.org" (returns this string)
|
|
8
|
-
* TextNode "https://en.wikipedia.org"
|
|
9
|
-
* RootNode
|
|
10
|
-
* TextNode "English Wikipedia"
|
|
11
|
-
*/
|
|
12
|
-
export function getTagImmediateAttrVal(tagNode) {
|
|
13
|
-
if (tagNode.attributes.length !== 1) {
|
|
14
|
-
return undefined;
|
|
15
|
-
}
|
|
16
|
-
const attrNode = tagNode.attributes[0];
|
|
17
|
-
return attrNode.val;
|
|
18
|
-
}
|
|
19
|
-
//# sourceMappingURL=getTagImmediateAttrVal.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"getTagImmediateAttrVal.js","sourceRoot":"","sources":["../../../src/generator/utils/getTagImmediateAttrVal.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;GAUG;AACH,MAAM,UAAU,sBAAsB,CAAC,OAAgB;IACnD,IAAI,OAAO,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAClC,OAAO,SAAS,CAAA;IACpB,CAAC;IAED,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAA;IACtC,OAAO,QAAQ,CAAC,GAAG,CAAA;AACvB,CAAC"}
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import { nodeIsType } from '../../parser/nodeIsType.js';
|
|
2
|
-
/**
|
|
3
|
-
* Gets the text of the immediate descendant of the current TagNode
|
|
4
|
-
*
|
|
5
|
-
* [url]https://en.wikipedia.org[/url]
|
|
6
|
-
*
|
|
7
|
-
* TagNode [url]
|
|
8
|
-
* RootNode
|
|
9
|
-
* TextNode "https://en.wikipedia.org" (returns this string)
|
|
10
|
-
*/
|
|
11
|
-
export function getTagImmediateText(tagNode) {
|
|
12
|
-
if (tagNode.children.length !== 1) {
|
|
13
|
-
return undefined;
|
|
14
|
-
}
|
|
15
|
-
const child = tagNode.children[0];
|
|
16
|
-
if (!nodeIsType(child, 0 /* AstNodeType.RootNode */)) {
|
|
17
|
-
return undefined;
|
|
18
|
-
}
|
|
19
|
-
if (child.children.length !== 1) {
|
|
20
|
-
return undefined;
|
|
21
|
-
}
|
|
22
|
-
const textNode = child.children[0];
|
|
23
|
-
if (!nodeIsType(textNode, 1 /* AstNodeType.TextNode */)) {
|
|
24
|
-
return undefined;
|
|
25
|
-
}
|
|
26
|
-
return textNode.str;
|
|
27
|
-
}
|
|
28
|
-
//# sourceMappingURL=getTagImmediateText.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"getTagImmediateText.js","sourceRoot":"","sources":["../../../src/generator/utils/getTagImmediateText.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAA;AAEvD;;;;;;;;GAQG;AACH,MAAM,UAAU,mBAAmB,CAAC,OAAgB;IAChD,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChC,OAAO,SAAS,CAAA;IACpB,CAAC;IAED,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;IACjC,IAAI,CAAC,UAAU,CAAC,KAAK,+BAAuB,EAAE,CAAC;QAC3C,OAAO,SAAS,CAAA;IACpB,CAAC;IAED,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9B,OAAO,SAAS,CAAA;IACpB,CAAC;IAED,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;IAClC,IAAI,CAAC,UAAU,CAAC,QAAQ,+BAAuB,EAAE,CAAC;QAC9C,OAAO,SAAS,CAAA;IACpB,CAAC;IAED,OAAO,QAAQ,CAAC,GAAG,CAAA;AACvB,CAAC"}
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Gets the width/height attributes of the TagNode if they exist
|
|
3
|
-
*
|
|
4
|
-
* [img 500x300]https://upload.wikimedia.org/wikipedia/commons/7/70/Example.png[/img]
|
|
5
|
-
*
|
|
6
|
-
* RootNode
|
|
7
|
-
* TagNode [img] (returns width:500, height:300)
|
|
8
|
-
* AttrNode VAL="500x300"
|
|
9
|
-
* TextNode " 500x300"
|
|
10
|
-
* RootNode
|
|
11
|
-
* TextNode "https://upload.wikimedia.org/wikipedia/commons/7/70/Example.png"
|
|
12
|
-
*
|
|
13
|
-
* [img width=500 height=300]https://upload.wikimedia.org/wikipedia/commons/7/70/Example.png[/img]
|
|
14
|
-
*
|
|
15
|
-
* RootNode
|
|
16
|
-
* TagNode [img] (returns width:500, height:300)
|
|
17
|
-
* AttrNode KEY="width" VAL="500"
|
|
18
|
-
* TextNode " width"
|
|
19
|
-
* TextNode "500"
|
|
20
|
-
* AttrNode KEY="height" VAL="300"
|
|
21
|
-
* TextNode " height"
|
|
22
|
-
* TextNode "300"
|
|
23
|
-
* RootNode
|
|
24
|
-
* TextNode "https://upload.wikimedia.org/wikipedia/commons/7/70/Example.png
|
|
25
|
-
*/
|
|
26
|
-
export function getWidthHeightAttr(tagNode) {
|
|
27
|
-
let width;
|
|
28
|
-
let height;
|
|
29
|
-
for (const child of tagNode.attributes) {
|
|
30
|
-
if (child.key === 'width') {
|
|
31
|
-
width = child.val;
|
|
32
|
-
}
|
|
33
|
-
if (child.key === 'height') {
|
|
34
|
-
height = child.val;
|
|
35
|
-
}
|
|
36
|
-
const matches = /(\d+)x(\d+)/.exec(child.val);
|
|
37
|
-
if (matches) {
|
|
38
|
-
width = matches[1];
|
|
39
|
-
height = matches[2];
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
return {
|
|
43
|
-
width,
|
|
44
|
-
height,
|
|
45
|
-
};
|
|
46
|
-
}
|
|
47
|
-
//# sourceMappingURL=getWidthHeightAttr.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"getWidthHeightAttr.js","sourceRoot":"","sources":["../../../src/generator/utils/getWidthHeightAttr.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,UAAU,kBAAkB,CAAC,OAAgB;IAC/C,IAAI,KAAyB,CAAA;IAC7B,IAAI,MAA0B,CAAA;IAE9B,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;QACrC,IAAI,KAAK,CAAC,GAAG,KAAK,OAAO,EAAE,CAAC;YACxB,KAAK,GAAG,KAAK,CAAC,GAAG,CAAA;QACrB,CAAC;QACD,IAAI,KAAK,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;YACzB,MAAM,GAAG,KAAK,CAAC,GAAG,CAAA;QACtB,CAAC;QAED,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QAC7C,IAAI,OAAO,EAAE,CAAC;YACV,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;YAClB,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;QACvB,CAAC;IACL,CAAC;IAED,OAAO;QACH,KAAK;QACL,MAAM;KACT,CAAA;AACL,CAAC"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
const dangerousUriRe = /^(vbscript|javascript|file|data):/;
|
|
2
|
-
const safeDataUriRe = /^data:image\/(gif|png|jpeg|webp);/;
|
|
3
|
-
export function isDangerousUrl(url) {
|
|
4
|
-
const normalizedUrl = url.trim().toLowerCase();
|
|
5
|
-
if (!dangerousUriRe.test(normalizedUrl)) {
|
|
6
|
-
return false;
|
|
7
|
-
}
|
|
8
|
-
// Only a subset of data uris are considered safe
|
|
9
|
-
if (safeDataUriRe.test(normalizedUrl)) {
|
|
10
|
-
return false;
|
|
11
|
-
}
|
|
12
|
-
return true;
|
|
13
|
-
}
|
|
14
|
-
//# sourceMappingURL=isDangerousUrl.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"isDangerousUrl.js","sourceRoot":"","sources":["../../../src/generator/utils/isDangerousUrl.ts"],"names":[],"mappings":"AAAA,MAAM,cAAc,GAAG,mCAAmC,CAAA;AAC1D,MAAM,aAAa,GAAG,mCAAmC,CAAA;AAEzD,MAAM,UAAU,cAAc,CAAC,GAAW;IACtC,MAAM,aAAa,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAA;IAE9C,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC;QACtC,OAAO,KAAK,CAAA;IAChB,CAAC;IAED,iDAAiD;IACjD,IAAI,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC;QACpC,OAAO,KAAK,CAAA;IAChB,CAAC;IAED,OAAO,IAAI,CAAA;AACf,CAAC"}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Determines if the StartTag has an attribute of "1" to indicate that it's an ordered list
|
|
3
|
-
*
|
|
4
|
-
* [list=1]
|
|
5
|
-
*
|
|
6
|
-
* TagNode [list]
|
|
7
|
-
* AttrNode VAL="1"
|
|
8
|
-
* TextNode "1"
|
|
9
|
-
* RootNode
|
|
10
|
-
* TagNode [*]
|
|
11
|
-
* RootNode
|
|
12
|
-
* TextNode "Entry 1"
|
|
13
|
-
* TagNode [*]
|
|
14
|
-
* RootNode
|
|
15
|
-
* TextNode "Entry 2"
|
|
16
|
-
*/
|
|
17
|
-
export function isOrderedList(node) {
|
|
18
|
-
for (const child of node.attributes) {
|
|
19
|
-
const val = child.val;
|
|
20
|
-
if (val === '1') {
|
|
21
|
-
return true;
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
return false;
|
|
25
|
-
}
|
|
26
|
-
//# sourceMappingURL=isOrderedList.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"isOrderedList.js","sourceRoot":"","sources":["../../../src/generator/utils/isOrderedList.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,aAAa,CAAC,IAAa;IACvC,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;QAClC,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAA;QACrB,IAAI,GAAG,KAAK,GAAG,EAAE,CAAC;YACd,OAAO,IAAI,CAAA;QACf,CAAC;IACL,CAAC;IAED,OAAO,KAAK,CAAA;AAChB,CAAC"}
|
package/dist/lexer/Lexer.js
DELETED
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
import { symbolTable } from './TokenType.js';
|
|
2
|
-
export class Lexer {
|
|
3
|
-
tokenize(input) {
|
|
4
|
-
const tokens = new Array();
|
|
5
|
-
const re = /\n|\[\/|\[(\w+|\*)|\]|=|&|<|>|'|"/g;
|
|
6
|
-
let offset = 0;
|
|
7
|
-
while (true) {
|
|
8
|
-
// Match until next symbol
|
|
9
|
-
const match = re.exec(input);
|
|
10
|
-
if (!match) {
|
|
11
|
-
break;
|
|
12
|
-
}
|
|
13
|
-
// Everything between previous symbol and current symbol is treated as plaintext
|
|
14
|
-
//
|
|
15
|
-
// [...]plaintext[/...]
|
|
16
|
-
// | |
|
|
17
|
-
// offset match.index
|
|
18
|
-
// (new) offset
|
|
19
|
-
//
|
|
20
|
-
const length = match.index - offset;
|
|
21
|
-
if (length > 0) {
|
|
22
|
-
tokens.push({
|
|
23
|
-
type: 0 /* TokenType.STR */,
|
|
24
|
-
offset,
|
|
25
|
-
length,
|
|
26
|
-
});
|
|
27
|
-
}
|
|
28
|
-
offset = match.index;
|
|
29
|
-
// Only add BACKSLASH token if it's preceded by L_BRACKET
|
|
30
|
-
// In the regex '[/' takes precedence over '['
|
|
31
|
-
if (match[0] === '[/') {
|
|
32
|
-
tokens.push({
|
|
33
|
-
type: 2 /* TokenType.L_BRACKET */,
|
|
34
|
-
offset,
|
|
35
|
-
length: 1,
|
|
36
|
-
});
|
|
37
|
-
offset += 1;
|
|
38
|
-
tokens.push({
|
|
39
|
-
type: 4 /* TokenType.BACKSLASH */,
|
|
40
|
-
offset,
|
|
41
|
-
length: 1,
|
|
42
|
-
});
|
|
43
|
-
offset += 1;
|
|
44
|
-
}
|
|
45
|
-
else if (match[0].startsWith('[')) {
|
|
46
|
-
tokens.push({
|
|
47
|
-
type: 2 /* TokenType.L_BRACKET */,
|
|
48
|
-
offset,
|
|
49
|
-
length: 1,
|
|
50
|
-
});
|
|
51
|
-
offset += 1;
|
|
52
|
-
const length = match[0].length - 1;
|
|
53
|
-
tokens.push({
|
|
54
|
-
type: 0 /* TokenType.STR */,
|
|
55
|
-
offset,
|
|
56
|
-
length,
|
|
57
|
-
});
|
|
58
|
-
offset += length;
|
|
59
|
-
}
|
|
60
|
-
else {
|
|
61
|
-
tokens.push({
|
|
62
|
-
type: symbolTable[match[0]] ?? 0 /* TokenType.STR */,
|
|
63
|
-
offset,
|
|
64
|
-
length: 1,
|
|
65
|
-
});
|
|
66
|
-
offset += 1;
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
// Add any leftover non-symbol text
|
|
70
|
-
const length = input.length - offset;
|
|
71
|
-
if (length > 0) {
|
|
72
|
-
tokens.push({
|
|
73
|
-
type: 0 /* TokenType.STR */,
|
|
74
|
-
offset,
|
|
75
|
-
length,
|
|
76
|
-
});
|
|
77
|
-
}
|
|
78
|
-
return tokens;
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
//# sourceMappingURL=Lexer.js.map
|
package/dist/lexer/Lexer.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Lexer.js","sourceRoot":"","sources":["../../src/lexer/Lexer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAa,MAAM,gBAAgB,CAAA;AAGvD,MAAM,OAAO,KAAK;IACd,QAAQ,CAAC,KAAuB;QAC5B,MAAM,MAAM,GAAG,IAAI,KAAK,EAAS,CAAA;QAEjC,MAAM,EAAE,GAAG,oCAAoC,CAAA;QAC/C,IAAI,MAAM,GAAG,CAAC,CAAA;QAEd,OAAO,IAAI,EAAE,CAAC;YACV,0BAA0B;YAC1B,MAAM,KAAK,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;YAC5B,IAAI,CAAC,KAAK,EAAE,CAAC;gBACT,MAAK;YACT,CAAC;YAED,gFAAgF;YAChF,EAAE;YACF,wBAAwB;YACxB,mBAAmB;YACnB,6BAA6B;YAC7B,8BAA8B;YAC9B,EAAE;YACF,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,GAAG,MAAM,CAAA;YACnC,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;gBACb,MAAM,CAAC,IAAI,CAAC;oBACR,IAAI,uBAAe;oBACnB,MAAM;oBACN,MAAM;iBACT,CAAC,CAAA;YACN,CAAC;YAED,MAAM,GAAG,KAAK,CAAC,KAAK,CAAA;YAEpB,yDAAyD;YACzD,8CAA8C;YAC9C,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;gBACpB,MAAM,CAAC,IAAI,CAAC;oBACR,IAAI,6BAAqB;oBACzB,MAAM;oBACN,MAAM,EAAE,CAAC;iBACZ,CAAC,CAAA;gBACF,MAAM,IAAI,CAAC,CAAA;gBAEX,MAAM,CAAC,IAAI,CAAC;oBACR,IAAI,6BAAqB;oBACzB,MAAM;oBACN,MAAM,EAAE,CAAC;iBACZ,CAAC,CAAA;gBACF,MAAM,IAAI,CAAC,CAAA;YACf,CAAC;iBAAM,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBAClC,MAAM,CAAC,IAAI,CAAC;oBACR,IAAI,6BAAqB;oBACzB,MAAM;oBACN,MAAM,EAAE,CAAC;iBACZ,CAAC,CAAA;gBACF,MAAM,IAAI,CAAC,CAAA;gBAEX,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAA;gBAClC,MAAM,CAAC,IAAI,CAAC;oBACR,IAAI,uBAAe;oBACnB,MAAM;oBACN,MAAM;iBACT,CAAC,CAAA;gBACF,MAAM,IAAI,MAAM,CAAA;YACpB,CAAC;iBAAM,CAAC;gBACJ,MAAM,CAAC,IAAI,CAAC;oBACR,IAAI,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,yBAAiB;oBAC5C,MAAM;oBACN,MAAM,EAAE,CAAC;iBACZ,CAAC,CAAA;gBACF,MAAM,IAAI,CAAC,CAAA;YACf,CAAC;QACL,CAAC;QAED,mCAAmC;QACnC,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,GAAG,MAAM,CAAA;QACpC,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;YACb,MAAM,CAAC,IAAI,CAAC;gBACR,IAAI,uBAAe;gBACnB,MAAM;gBACN,MAAM;aACT,CAAC,CAAA;QACN,CAAC;QAED,OAAO,MAAM,CAAA;IACjB,CAAC;CACJ"}
|
package/dist/lexer/Token.js
DELETED
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
export function stringifyTokens(ogText, tokens) {
|
|
2
|
-
let s = '';
|
|
3
|
-
for (const token of tokens) {
|
|
4
|
-
switch (token.type) {
|
|
5
|
-
case 0 /* TokenType.STR */: {
|
|
6
|
-
s += ogText.substring(token.offset, token.offset + token.length);
|
|
7
|
-
break;
|
|
8
|
-
}
|
|
9
|
-
case 1 /* TokenType.LINEBREAK */: {
|
|
10
|
-
s += '\n';
|
|
11
|
-
break;
|
|
12
|
-
}
|
|
13
|
-
case 2 /* TokenType.L_BRACKET */: {
|
|
14
|
-
s += '[';
|
|
15
|
-
break;
|
|
16
|
-
}
|
|
17
|
-
case 3 /* TokenType.R_BRACKET */: {
|
|
18
|
-
s += ']';
|
|
19
|
-
break;
|
|
20
|
-
}
|
|
21
|
-
case 4 /* TokenType.BACKSLASH */: {
|
|
22
|
-
s += '/';
|
|
23
|
-
break;
|
|
24
|
-
}
|
|
25
|
-
case 5 /* TokenType.EQUALS */: {
|
|
26
|
-
s += '=';
|
|
27
|
-
break;
|
|
28
|
-
}
|
|
29
|
-
case 6 /* TokenType.XSS_AMP */: {
|
|
30
|
-
s += '&';
|
|
31
|
-
break;
|
|
32
|
-
}
|
|
33
|
-
case 7 /* TokenType.XSS_LT */: {
|
|
34
|
-
s += '<';
|
|
35
|
-
break;
|
|
36
|
-
}
|
|
37
|
-
case 8 /* TokenType.XSS_GT */: {
|
|
38
|
-
s += '>';
|
|
39
|
-
break;
|
|
40
|
-
}
|
|
41
|
-
case 9 /* TokenType.XSS_D_QUOTE */: {
|
|
42
|
-
s += '"';
|
|
43
|
-
break;
|
|
44
|
-
}
|
|
45
|
-
case 10 /* TokenType.XSS_S_QUOTE */: {
|
|
46
|
-
s += ''';
|
|
47
|
-
break;
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
return s;
|
|
52
|
-
}
|
|
53
|
-
//# sourceMappingURL=Token.js.map
|
package/dist/lexer/Token.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Token.js","sourceRoot":"","sources":["../../src/lexer/Token.ts"],"names":[],"mappings":"AAQA,MAAM,UAAU,eAAe,CAAC,MAAc,EAAE,MAA4B;IACxE,IAAI,CAAC,GAAG,EAAE,CAAA;IAEV,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QACzB,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;YACjB,0BAAkB,CAAC,CAAC,CAAC;gBACjB,CAAC,IAAI,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAA;gBAChE,MAAK;YACT,CAAC;YACD,gCAAwB,CAAC,CAAC,CAAC;gBACvB,CAAC,IAAI,IAAI,CAAA;gBACT,MAAK;YACT,CAAC;YAED,gCAAwB,CAAC,CAAC,CAAC;gBACvB,CAAC,IAAI,GAAG,CAAA;gBACR,MAAK;YACT,CAAC;YACD,gCAAwB,CAAC,CAAC,CAAC;gBACvB,CAAC,IAAI,GAAG,CAAA;gBACR,MAAK;YACT,CAAC;YACD,gCAAwB,CAAC,CAAC,CAAC;gBACvB,CAAC,IAAI,GAAG,CAAA;gBACR,MAAK;YACT,CAAC;YACD,6BAAqB,CAAC,CAAC,CAAC;gBACpB,CAAC,IAAI,GAAG,CAAA;gBACR,MAAK;YACT,CAAC;YAED,8BAAsB,CAAC,CAAC,CAAC;gBACrB,CAAC,IAAI,OAAO,CAAA;gBACZ,MAAK;YACT,CAAC;YACD,6BAAqB,CAAC,CAAC,CAAC;gBACpB,CAAC,IAAI,MAAM,CAAA;gBACX,MAAK;YACT,CAAC;YACD,6BAAqB,CAAC,CAAC,CAAC;gBACpB,CAAC,IAAI,MAAM,CAAA;gBACX,MAAK;YACT,CAAC;YACD,kCAA0B,CAAC,CAAC,CAAC;gBACzB,CAAC,IAAI,QAAQ,CAAA;gBACb,MAAK;YACT,CAAC;YACD,mCAA0B,CAAC,CAAC,CAAC;gBACzB,CAAC,IAAI,QAAQ,CAAA;gBACb,MAAK;YACT,CAAC;QACL,CAAC;IACL,CAAC;IAED,OAAO,CAAC,CAAA;AACZ,CAAC"}
|
package/dist/lexer/TokenType.js
DELETED
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
export function tokenTypeToString(tokenType) {
|
|
2
|
-
switch (tokenType) {
|
|
3
|
-
case 0 /* TokenType.STR */: return 'STR';
|
|
4
|
-
case 1 /* TokenType.LINEBREAK */: return 'LINEBREAK';
|
|
5
|
-
case 2 /* TokenType.L_BRACKET */: return 'L_BRACKET';
|
|
6
|
-
case 3 /* TokenType.R_BRACKET */: return 'R_BRACKET';
|
|
7
|
-
case 4 /* TokenType.BACKSLASH */: return 'BACKSLASH';
|
|
8
|
-
case 5 /* TokenType.EQUALS */: return 'EQUALS';
|
|
9
|
-
case 6 /* TokenType.XSS_AMP */: return 'XSS_AMP';
|
|
10
|
-
case 7 /* TokenType.XSS_LT */: return 'XSS_LT';
|
|
11
|
-
case 8 /* TokenType.XSS_GT */: return 'XSS_GT';
|
|
12
|
-
case 9 /* TokenType.XSS_D_QUOTE */: return 'XSS_D_QUOTE';
|
|
13
|
-
case 10 /* TokenType.XSS_S_QUOTE */: return 'XSS_S_QUOTE';
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
export function isStringToken(tokenType) {
|
|
17
|
-
switch (tokenType) {
|
|
18
|
-
case 6 /* TokenType.XSS_AMP */:
|
|
19
|
-
case 7 /* TokenType.XSS_LT */:
|
|
20
|
-
case 8 /* TokenType.XSS_GT */:
|
|
21
|
-
case 9 /* TokenType.XSS_D_QUOTE */:
|
|
22
|
-
case 10 /* TokenType.XSS_S_QUOTE */:
|
|
23
|
-
case 0 /* TokenType.STR */: {
|
|
24
|
-
return true;
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
return false;
|
|
28
|
-
}
|
|
29
|
-
export const symbolTable = {
|
|
30
|
-
'\n': 1 /* TokenType.LINEBREAK */,
|
|
31
|
-
'[': 2 /* TokenType.L_BRACKET */,
|
|
32
|
-
']': 3 /* TokenType.R_BRACKET */,
|
|
33
|
-
'/': 4 /* TokenType.BACKSLASH */,
|
|
34
|
-
'=': 5 /* TokenType.EQUALS */,
|
|
35
|
-
'&': 6 /* TokenType.XSS_AMP */,
|
|
36
|
-
'<': 7 /* TokenType.XSS_LT */,
|
|
37
|
-
'>': 8 /* TokenType.XSS_GT */,
|
|
38
|
-
'"': 9 /* TokenType.XSS_D_QUOTE */,
|
|
39
|
-
"'": 10 /* TokenType.XSS_S_QUOTE */,
|
|
40
|
-
};
|
|
41
|
-
//# sourceMappingURL=TokenType.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TokenType.js","sourceRoot":"","sources":["../../src/lexer/TokenType.ts"],"names":[],"mappings":"AAkBA,MAAM,UAAU,iBAAiB,CAAC,SAAoB;IAClD,QAAQ,SAAS,EAAE,CAAC;QAChB,0BAAkB,CAAC,CAAC,OAAO,KAAK,CAAA;QAChC,gCAAwB,CAAC,CAAC,OAAO,WAAW,CAAA;QAE5C,gCAAwB,CAAC,CAAC,OAAO,WAAW,CAAA;QAC5C,gCAAwB,CAAC,CAAC,OAAO,WAAW,CAAA;QAC5C,gCAAwB,CAAC,CAAC,OAAO,WAAW,CAAA;QAC5C,6BAAqB,CAAC,CAAC,OAAO,QAAQ,CAAA;QAEtC,8BAAsB,CAAC,CAAC,OAAO,SAAS,CAAA;QACxC,6BAAqB,CAAC,CAAC,OAAO,QAAQ,CAAA;QACtC,6BAAqB,CAAC,CAAC,OAAO,QAAQ,CAAA;QACtC,kCAA0B,CAAC,CAAC,OAAO,aAAa,CAAA;QAChD,mCAA0B,CAAC,CAAC,OAAO,aAAa,CAAA;IACpD,CAAC;AACL,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,SAAoB;IAC9C,QAAQ,SAAS,EAAE,CAAC;QAChB,+BAAuB;QACvB,8BAAsB;QACtB,8BAAsB;QACtB,mCAA2B;QAC3B,oCAA2B;QAC3B,0BAAkB,CAAC,CAAC,CAAC;YACjB,OAAO,IAAI,CAAA;QACf,CAAC;IACL,CAAC;IAED,OAAO,KAAK,CAAA;AAChB,CAAC;AAED,MAAM,CAAC,MAAM,WAAW,GAA0C;IAC9D,IAAI,6BAAqB;IAEzB,GAAG,6BAAqB;IACxB,GAAG,6BAAqB;IACxB,GAAG,6BAAqB;IACxB,GAAG,0BAAkB;IAErB,GAAG,2BAAmB;IACtB,GAAG,0BAAkB;IACrB,GAAG,0BAAkB;IACrB,GAAG,+BAAuB;IAC1B,GAAG,gCAAuB;CAC7B,CAAA"}
|