@quenk/wml 2.13.11 → 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 +162 -367
- 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 +1 -1
- package/lib/compile/transform.js +9 -11
- package/lib/compile/transform.js.map +1 -1
- package/lib/compile/transform.ts +136 -143
- package/lib/{dom.d.ts → dom/index.d.ts} +8 -2
- package/lib/{dom.js → dom/index.js} +84 -70
- 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 +2 -2
- package/lib/parse/ast.js +52 -53
- package/lib/parse/ast.js.map +1 -1
- package/lib/parse/ast.ts +396 -483
- 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 +3 -3
- package/lib/dom.js.map +0 -1
- package/lib/dom.ts +0 -479
|
@@ -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,56 +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
|
};
|
|
262
|
-
const namespaces = new Map([
|
|
263
|
-
['svg', 'http://www.w3.org/2000/svg']
|
|
264
|
-
]);
|
|
279
|
+
const namespaces = new Map([["svg", "http://www.w3.org/2000/svg"]]);
|
|
265
280
|
/**
|
|
266
281
|
* createElement wrapper.
|
|
267
282
|
*/
|
|
268
|
-
const createElement = (tag, attrs = {}, children = [], ns =
|
|
269
|
-
var _a;
|
|
283
|
+
const createElement = (tag, attrs = {}, children = [], ns = "") => {
|
|
270
284
|
if (!exports.isBrowser) {
|
|
271
285
|
// XXX: The whole Element interface is not implemented but on server
|
|
272
286
|
// side we are only interested in setAttribute.
|
|
273
287
|
return new WMLDOMElement(tag, attrs, children);
|
|
274
288
|
}
|
|
275
289
|
else {
|
|
276
|
-
let e = ns
|
|
277
|
-
document.createElementNS(
|
|
278
|
-
document.createElement(tag);
|
|
290
|
+
let e = ns
|
|
291
|
+
? document.createElementNS(namespaces.get(ns) ?? "", tag)
|
|
292
|
+
: document.createElement(tag);
|
|
279
293
|
(0, record_1.forEach)(attrs, (value, key) => {
|
|
280
|
-
if (typeof value ===
|
|
294
|
+
if (typeof value === "function") {
|
|
281
295
|
e[key] = value;
|
|
282
296
|
}
|
|
283
|
-
else if (typeof value ===
|
|
297
|
+
else if (typeof value === "string") {
|
|
284
298
|
// prevent setting things like disabled=""
|
|
285
|
-
if (value !==
|
|
299
|
+
if (value !== "")
|
|
286
300
|
e.setAttribute(key, value);
|
|
287
301
|
}
|
|
288
|
-
else if (typeof value ===
|
|
289
|
-
e.setAttribute(key,
|
|
302
|
+
else if (typeof value === "boolean") {
|
|
303
|
+
e.setAttribute(key, "");
|
|
290
304
|
}
|
|
291
305
|
else if (!exports.isBrowser && value instanceof WMLDOMText) {
|
|
292
306
|
e.setAttribute(key, value);
|
|
293
307
|
}
|
|
294
308
|
});
|
|
295
|
-
children.forEach(c => {
|
|
309
|
+
children.forEach((c) => {
|
|
296
310
|
switch (typeof c) {
|
|
297
|
-
case
|
|
298
|
-
case
|
|
299
|
-
case
|
|
300
|
-
e.appendChild(document.createTextNode(
|
|
301
|
-
case
|
|
311
|
+
case "string":
|
|
312
|
+
case "number":
|
|
313
|
+
case "boolean":
|
|
314
|
+
e.appendChild(document.createTextNode("" + c));
|
|
315
|
+
case "object":
|
|
302
316
|
e.appendChild(c);
|
|
303
317
|
break;
|
|
304
318
|
default:
|
|
@@ -309,4 +323,4 @@ const createElement = (tag, attrs = {}, children = [], ns = '') => {
|
|
|
309
323
|
}
|
|
310
324
|
};
|
|
311
325
|
exports.createElement = createElement;
|
|
312
|
-
//# 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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"}
|