@quenk/wml 2.13.10 → 2.14.0
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/lib/cli.d.ts +8 -8
- package/lib/cli.js +1 -3
- package/lib/cli.js.map +1 -1
- package/lib/cli.ts +48 -60
- package/lib/compile/codegen.d.ts +4 -9
- package/lib/compile/codegen.js +164 -369
- package/lib/compile/codegen.js.map +1 -1
- package/lib/compile/codegen.ts +644 -952
- package/lib/compile/index.d.ts +2 -2
- package/lib/compile/index.js +4 -4
- package/lib/compile/index.js.map +1 -1
- package/lib/compile/index.ts +14 -17
- package/lib/compile/transform.d.ts +8 -6
- package/lib/compile/transform.js +46 -18
- package/lib/compile/transform.js.map +1 -1
- package/lib/compile/transform.ts +139 -116
- package/lib/{dom.d.ts → dom/index.d.ts} +8 -2
- package/lib/{dom.js → dom/index.js} +84 -66
- package/lib/dom/index.js.map +1 -0
- package/lib/dom/index.ts +425 -0
- package/lib/dom/monitor.d.ts +33 -0
- package/lib/dom/monitor.js +60 -0
- package/lib/dom/monitor.js.map +1 -0
- package/lib/dom/monitor.ts +75 -0
- package/lib/index.d.ts +10 -95
- package/lib/index.js +10 -10
- package/lib/index.js.map +1 -1
- package/lib/index.ts +57 -182
- package/lib/main.js +17 -17
- package/lib/main.js.map +1 -1
- package/lib/main.ts +38 -44
- package/lib/parse/ast.d.ts +12 -6
- package/lib/parse/ast.js +68 -58
- package/lib/parse/ast.js.map +1 -1
- package/lib/parse/ast.ts +400 -482
- package/lib/parse/generated.d.ts +3 -5
- package/lib/parse/generated.js +9504 -9264
- package/lib/parse/index.d.ts +2 -3
- package/lib/parse/index.js.map +1 -1
- package/lib/parse/index.ts +7 -9
- package/lib/parse/test.js +194 -192
- package/lib/parse/test.js.map +1 -1
- package/lib/parse/test.ts +294 -404
- package/lib/parse/wml.y +4 -0
- package/lib/tsconfig.json +19 -20
- package/lib/util.d.ts +10 -0
- package/lib/util.js +21 -0
- package/lib/util.js.map +1 -0
- package/lib/util.ts +39 -0
- package/lib/view/frame.d.ts +103 -0
- package/lib/view/frame.js +206 -0
- package/lib/view/frame.js.map +1 -0
- package/lib/view/frame.ts +249 -0
- package/lib/view/index.d.ts +58 -0
- package/lib/view/index.js +48 -0
- package/lib/view/index.js.map +1 -0
- package/lib/view/index.ts +97 -0
- package/package.json +4 -3
- package/lib/dom.js.map +0 -1
- package/lib/dom.ts +0 -475
|
@@ -11,43 +11,43 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
11
11
|
exports.createElement = exports.unsafe = exports.text = exports.createUnsafeNode = exports.createTextNode = exports.escapeHTML = exports.escapeAttrValue = exports.isBrowser = exports.WMLDOMElement = exports.WMLDOMText = exports.WMLDOMNode = exports.WMLNodeList = void 0;
|
|
12
12
|
const record_1 = require("@quenk/noni/lib/data/record");
|
|
13
13
|
const type_1 = require("@quenk/noni/lib/data/type");
|
|
14
|
-
const DOCTYPE =
|
|
14
|
+
const DOCTYPE = "<!DOCTYPE html>";
|
|
15
15
|
const ATTR_ESC_MAP = {
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
'"':
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
16
|
+
"&": "\\u0026",
|
|
17
|
+
">": "\\u003e",
|
|
18
|
+
"<": "\\u003c",
|
|
19
|
+
'"': "\\u0022",
|
|
20
|
+
"=": "\\u003d",
|
|
21
|
+
"\u005c": "\\u005c",
|
|
22
|
+
"\u2028": "\\u2028",
|
|
23
|
+
"\u2029": "\\u2029",
|
|
24
24
|
};
|
|
25
|
-
const attrsEscRegex = new RegExp(`[${(0, record_1.mapTo)(ATTR_ESC_MAP, (_, k) => k)}]`,
|
|
25
|
+
const attrsEscRegex = new RegExp(`[${(0, record_1.mapTo)(ATTR_ESC_MAP, (_, k) => k)}]`, "g");
|
|
26
26
|
const HTML_ENT_MAP = {
|
|
27
|
-
'"':
|
|
28
|
-
|
|
29
|
-
'
|
|
30
|
-
|
|
31
|
-
|
|
27
|
+
'"': """,
|
|
28
|
+
"&": "&",
|
|
29
|
+
"'": "'",
|
|
30
|
+
"<": "<",
|
|
31
|
+
">": ">",
|
|
32
32
|
};
|
|
33
|
-
const htmlEscRegex = new RegExp(`[${(0, record_1.mapTo)(HTML_ENT_MAP, (_, k) => k).join(
|
|
33
|
+
const htmlEscRegex = new RegExp(`[${(0, record_1.mapTo)(HTML_ENT_MAP, (_, k) => k).join("")}]`, "g");
|
|
34
34
|
const voidElements = [
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
35
|
+
"area",
|
|
36
|
+
"base",
|
|
37
|
+
"br",
|
|
38
|
+
"col",
|
|
39
|
+
"command",
|
|
40
|
+
"embed",
|
|
41
|
+
"hr",
|
|
42
|
+
"img",
|
|
43
|
+
"input",
|
|
44
|
+
"keygen",
|
|
45
|
+
"link",
|
|
46
|
+
"meta",
|
|
47
|
+
"param",
|
|
48
|
+
"source",
|
|
49
|
+
"track",
|
|
50
|
+
"wbr",
|
|
51
51
|
];
|
|
52
52
|
/**
|
|
53
53
|
* WMLNodeList implementation.
|
|
@@ -57,6 +57,21 @@ class WMLNodeList {
|
|
|
57
57
|
constructor() {
|
|
58
58
|
this.length = 0;
|
|
59
59
|
}
|
|
60
|
+
entries() {
|
|
61
|
+
throw new Error("Method not implemented.");
|
|
62
|
+
}
|
|
63
|
+
keys() {
|
|
64
|
+
throw new Error("Method not implemented.");
|
|
65
|
+
}
|
|
66
|
+
values() {
|
|
67
|
+
throw new Error("Method not implemented.");
|
|
68
|
+
}
|
|
69
|
+
[Symbol.iterator]() {
|
|
70
|
+
throw new Error("Method not implemented.");
|
|
71
|
+
}
|
|
72
|
+
[Symbol.dispose]() {
|
|
73
|
+
throw new Error("Method not implemented.");
|
|
74
|
+
}
|
|
60
75
|
item() {
|
|
61
76
|
return null;
|
|
62
77
|
}
|
|
@@ -92,7 +107,7 @@ class WMLDOMNode {
|
|
|
92
107
|
this.NOTATION_NODE = 12;
|
|
93
108
|
this.PROCESSING_INSTRUCTION_NODE = 7;
|
|
94
109
|
this.TEXT_NODE = 3;
|
|
95
|
-
this.baseURI =
|
|
110
|
+
this.baseURI = "";
|
|
96
111
|
this.childNodes = new WMLNodeList();
|
|
97
112
|
this.firstChild = null;
|
|
98
113
|
this.isConnected = false;
|
|
@@ -106,8 +121,9 @@ class WMLDOMNode {
|
|
|
106
121
|
this.previousSibling = null;
|
|
107
122
|
}
|
|
108
123
|
get textContent() {
|
|
109
|
-
return
|
|
124
|
+
return "";
|
|
110
125
|
}
|
|
126
|
+
[Symbol.dispose]() { }
|
|
111
127
|
addEventListener() { }
|
|
112
128
|
dispatchEvent() {
|
|
113
129
|
return false;
|
|
@@ -168,7 +184,7 @@ exports.WMLDOMNode = WMLDOMNode;
|
|
|
168
184
|
*/
|
|
169
185
|
class WMLDOMText extends WMLDOMNode {
|
|
170
186
|
constructor(value, escape = true) {
|
|
171
|
-
super(
|
|
187
|
+
super("#text", -1);
|
|
172
188
|
this.value = value;
|
|
173
189
|
this.escape = escape;
|
|
174
190
|
}
|
|
@@ -189,27 +205,28 @@ class WMLDOMElement extends WMLDOMNode {
|
|
|
189
205
|
this.children = children;
|
|
190
206
|
}
|
|
191
207
|
get innerHTML() {
|
|
192
|
-
return this.children
|
|
193
|
-
c.
|
|
194
|
-
c.
|
|
208
|
+
return this.children
|
|
209
|
+
.map((c) => c.nodeName === "#text"
|
|
210
|
+
? c.textContent
|
|
211
|
+
: c.outerHTML)
|
|
212
|
+
.join("");
|
|
195
213
|
}
|
|
196
214
|
get outerHTML() {
|
|
197
215
|
let { tag } = this;
|
|
198
216
|
let content = this.innerHTML;
|
|
199
217
|
let attrs = (0, record_1.mapTo)(this.attrs, (value, name) => {
|
|
200
|
-
if ((0, type_1.isObject)(value) &&
|
|
218
|
+
if ((0, type_1.isObject)(value) && value instanceof WMLDOMText)
|
|
201
219
|
return `${name}="${value.textContent}"`;
|
|
202
|
-
else if ((0, type_1.isFunction)(value) || (0, type_1.isObject)(value) ||
|
|
203
|
-
return
|
|
220
|
+
else if ((0, type_1.isFunction)(value) || (0, type_1.isObject)(value) || value == null)
|
|
221
|
+
return "";
|
|
204
222
|
else
|
|
205
223
|
return `${name}="${(0, exports.escapeAttrValue)(String(value))}"`;
|
|
206
|
-
}).join(
|
|
207
|
-
attrs =
|
|
224
|
+
}).join(" ");
|
|
225
|
+
attrs = attrs.trim() != "" ? ` ${attrs}` : "";
|
|
208
226
|
let open = `<${tag}${attrs}>`;
|
|
209
227
|
if (tag === "html")
|
|
210
228
|
open = `${DOCTYPE}${open}`;
|
|
211
|
-
return
|
|
212
|
-
open : `${open}${content}</${tag}>`;
|
|
229
|
+
return voidElements.indexOf(tag) > -1 ? open : `${open}${content}</${tag}>`;
|
|
213
230
|
}
|
|
214
231
|
setAttribute(key, value) {
|
|
215
232
|
this.attrs[key] = value;
|
|
@@ -227,18 +244,18 @@ exports.isBrowser = typeof window !== "undefined" && typeof window.document !==
|
|
|
227
244
|
/**
|
|
228
245
|
* escapeAttrValue for safe browser display.
|
|
229
246
|
*/
|
|
230
|
-
const escapeAttrValue = (value) => value.replace(attrsEscRegex, hit => ATTR_ESC_MAP[hit]);
|
|
247
|
+
const escapeAttrValue = (value) => value.replace(attrsEscRegex, (hit) => ATTR_ESC_MAP[hit]);
|
|
231
248
|
exports.escapeAttrValue = escapeAttrValue;
|
|
232
249
|
/**
|
|
233
250
|
* escapeHTML for safe browser display.
|
|
234
251
|
*/
|
|
235
|
-
const escapeHTML = (value) => value.replace(htmlEscRegex, hit => HTML_ENT_MAP[hit]);
|
|
252
|
+
const escapeHTML = (value) => value.replace(htmlEscRegex, (hit) => HTML_ENT_MAP[hit]);
|
|
236
253
|
exports.escapeHTML = escapeHTML;
|
|
237
254
|
/**
|
|
238
255
|
* createTextNode wrapper.
|
|
239
256
|
*/
|
|
240
257
|
const createTextNode = (txt) => {
|
|
241
|
-
let str = String(
|
|
258
|
+
let str = String(txt == null ? "" : txt);
|
|
242
259
|
return exports.isBrowser ? document.createTextNode(str) : new WMLDOMText(str);
|
|
243
260
|
};
|
|
244
261
|
exports.createTextNode = createTextNode;
|
|
@@ -249,52 +266,53 @@ exports.text = exports.createTextNode;
|
|
|
249
266
|
* THIS MUST ONLY BE USED IF YOU ARE 100% SURE THE STRING IS SAFE TO OUTPUT!
|
|
250
267
|
*/
|
|
251
268
|
const createUnsafeNode = (txt) => {
|
|
252
|
-
let str = String(
|
|
269
|
+
let str = String(txt == null ? "" : txt);
|
|
253
270
|
return exports.isBrowser ? createBrowserUnsafeNode(str) : new WMLDOMText(str, false);
|
|
254
271
|
};
|
|
255
272
|
exports.createUnsafeNode = createUnsafeNode;
|
|
256
273
|
exports.unsafe = exports.createUnsafeNode;
|
|
257
274
|
const createBrowserUnsafeNode = (html) => {
|
|
258
|
-
let tmpl = document.createElement(
|
|
275
|
+
let tmpl = document.createElement("template");
|
|
259
276
|
tmpl.innerHTML = html;
|
|
260
277
|
return tmpl.content;
|
|
261
278
|
};
|
|
279
|
+
const namespaces = new Map([["svg", "http://www.w3.org/2000/svg"]]);
|
|
262
280
|
/**
|
|
263
281
|
* createElement wrapper.
|
|
264
282
|
*/
|
|
265
|
-
const createElement = (tag, attrs = {}, children = [], ns =
|
|
283
|
+
const createElement = (tag, attrs = {}, children = [], ns = "") => {
|
|
266
284
|
if (!exports.isBrowser) {
|
|
267
285
|
// XXX: The whole Element interface is not implemented but on server
|
|
268
286
|
// side we are only interested in setAttribute.
|
|
269
287
|
return new WMLDOMElement(tag, attrs, children);
|
|
270
288
|
}
|
|
271
289
|
else {
|
|
272
|
-
let e = ns
|
|
273
|
-
document.createElementNS(ns, tag)
|
|
274
|
-
document.createElement(tag);
|
|
290
|
+
let e = ns
|
|
291
|
+
? document.createElementNS(namespaces.get(ns) ?? "", tag)
|
|
292
|
+
: document.createElement(tag);
|
|
275
293
|
(0, record_1.forEach)(attrs, (value, key) => {
|
|
276
|
-
if (typeof value ===
|
|
294
|
+
if (typeof value === "function") {
|
|
277
295
|
e[key] = value;
|
|
278
296
|
}
|
|
279
|
-
else if (typeof value ===
|
|
297
|
+
else if (typeof value === "string") {
|
|
280
298
|
// prevent setting things like disabled=""
|
|
281
|
-
if (value !==
|
|
299
|
+
if (value !== "")
|
|
282
300
|
e.setAttribute(key, value);
|
|
283
301
|
}
|
|
284
|
-
else if (typeof value ===
|
|
285
|
-
e.setAttribute(key,
|
|
302
|
+
else if (typeof value === "boolean") {
|
|
303
|
+
e.setAttribute(key, "");
|
|
286
304
|
}
|
|
287
305
|
else if (!exports.isBrowser && value instanceof WMLDOMText) {
|
|
288
306
|
e.setAttribute(key, value);
|
|
289
307
|
}
|
|
290
308
|
});
|
|
291
|
-
children.forEach(c => {
|
|
309
|
+
children.forEach((c) => {
|
|
292
310
|
switch (typeof c) {
|
|
293
|
-
case
|
|
294
|
-
case
|
|
295
|
-
case
|
|
296
|
-
e.appendChild(document.createTextNode(
|
|
297
|
-
case
|
|
311
|
+
case "string":
|
|
312
|
+
case "number":
|
|
313
|
+
case "boolean":
|
|
314
|
+
e.appendChild(document.createTextNode("" + c));
|
|
315
|
+
case "object":
|
|
298
316
|
e.appendChild(c);
|
|
299
317
|
break;
|
|
300
318
|
default:
|
|
@@ -305,4 +323,4 @@ const createElement = (tag, attrs = {}, children = [], ns = '') => {
|
|
|
305
323
|
}
|
|
306
324
|
};
|
|
307
325
|
exports.createElement = createElement;
|
|
308
|
-
//# sourceMappingURL=
|
|
326
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"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"}
|