marko 5.39.2 → 5.39.3
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/dist/node_modules/@internal/components-registry/index-browser.js +6 -1
- package/dist/node_modules/@internal/components-registry/index.js +1 -1
- package/dist/node_modules/@internal/components-util/index-browser.js +11 -11
- package/dist/node_modules/@internal/components-util/index.js +4 -4
- package/dist/node_modules/@internal/create-readable/index-browser.js +1 -1
- package/dist/node_modules/@internal/create-readable/index.js +9 -9
- package/dist/node_modules/@internal/preserve-tag/index-browser.js +5 -5
- package/dist/node_modules/@internal/preserve-tag/index.js +1 -1
- package/dist/node_modules/@internal/set-immediate/index-worker.js +1 -1
- package/dist/node_modules/@internal/set-immediate/index.js +1 -1
- package/dist/runtime/RenderResult.js +3 -3
- package/dist/runtime/components/Component.js +66 -66
- package/dist/runtime/components/ComponentDef.js +12 -12
- package/dist/runtime/components/ComponentsContext.js +3 -3
- package/dist/runtime/components/GlobalComponentsContext.js +3 -3
- package/dist/runtime/components/KeySequence.js +3 -3
- package/dist/runtime/components/ServerComponent.js +1 -1
- package/dist/runtime/components/State.js +18 -18
- package/dist/runtime/components/attach-detach.js +7 -7
- package/dist/runtime/components/dom-data.js +2 -2
- package/dist/runtime/components/event-delegation.js +5 -5
- package/dist/runtime/components/legacy/defineRenderer-legacy.js +8 -8
- package/dist/runtime/components/legacy/dependencies/index.js +7 -7
- package/dist/runtime/components/legacy/renderer-legacy.js +21 -21
- package/dist/runtime/components/renderer.js +20 -20
- package/dist/runtime/components/update-manager.js +3 -3
- package/dist/runtime/createOut.js +1 -1
- package/dist/runtime/dom-insert.js +5 -5
- package/dist/runtime/helpers/_change-case.js +2 -2
- package/dist/runtime/helpers/dynamic-tag.js +9 -9
- package/dist/runtime/helpers/load-tag-browser.js +59 -0
- package/dist/runtime/helpers/load-tag-event-trigger.js +25 -0
- package/dist/runtime/helpers/load-tag-idle-trigger.js +15 -0
- package/dist/runtime/helpers/load-tag-media-trigger.js +17 -0
- package/dist/runtime/helpers/load-tag-race-trigger.js +22 -0
- package/dist/runtime/helpers/load-tag-visible-trigger.js +35 -0
- package/dist/runtime/helpers/load-tag.js +168 -0
- package/dist/runtime/helpers/render-tag.js +1 -1
- package/dist/runtime/helpers/serialize-noop.js +1 -1
- package/dist/runtime/helpers/style-value.js +1 -1
- package/dist/runtime/helpers/tags-compat/runtime-dom.js +16 -16
- package/dist/runtime/helpers/tags-compat/runtime-html.js +2 -2
- package/dist/runtime/html/AsyncStream.js +20 -20
- package/dist/runtime/html/BufferedWriter.js +1 -1
- package/dist/runtime/html/helpers/_dynamic-attr.js +2 -2
- package/dist/runtime/html/helpers/attr.js +2 -2
- package/dist/runtime/html/helpers/data-marko.js +1 -1
- package/dist/runtime/html/helpers/escape-xml.js +1 -1
- package/dist/runtime/html/index.js +1 -1
- package/dist/runtime/renderable.js +2 -2
- package/dist/runtime/vdom/AsyncVDOMBuilder.js +83 -83
- package/dist/runtime/vdom/VComment.js +7 -7
- package/dist/runtime/vdom/VComponent.js +4 -4
- package/dist/runtime/vdom/VDocumentFragment.js +6 -6
- package/dist/runtime/vdom/VElement.js +35 -35
- package/dist/runtime/vdom/VFragment.js +7 -7
- package/dist/runtime/vdom/VNode.js +33 -33
- package/dist/runtime/vdom/VText.js +8 -8
- package/dist/runtime/vdom/helpers/const-element.js +3 -3
- package/dist/runtime/vdom/hot-reload.js +8 -8
- package/dist/runtime/vdom/index.js +1 -1
- package/dist/runtime/vdom/morphdom/fragment.js +4 -4
- package/dist/runtime/vdom/morphdom/helpers.js +5 -5
- package/dist/runtime/vdom/morphdom/index.js +57 -57
- package/dist/runtime/vdom/vdom.js +15 -15
- package/dist/translator/index.js +51 -2
- package/dist/translator/tag/custom-tag.js +4 -2
- package/dist/translator/tag/native-tag[html]/index.js +37 -11
- package/dist/translator/util/get-component-files.js +1 -1
- package/dist/translator/util/load-import.js +288 -0
- package/package.json +3 -3
- package/src/node_modules/@internal/components-registry/index-browser.js +5 -0
- package/src/runtime/helpers/load-tag-browser.js +59 -0
- package/src/runtime/helpers/load-tag-event-trigger.js +25 -0
- package/src/runtime/helpers/load-tag-idle-trigger.js +15 -0
- package/src/runtime/helpers/load-tag-media-trigger.js +17 -0
- package/src/runtime/helpers/load-tag-race-trigger.js +22 -0
- package/src/runtime/helpers/load-tag-visible-trigger.js +35 -0
- package/src/runtime/helpers/load-tag.js +168 -0
- package/src/runtime/helpers/tags-compat/runtime-dom.js +2 -2
- package/src/runtime/helpers/tags-compat/runtime-html.js +1 -1
- package/src/translator/index.js +50 -1
- package/src/translator/tag/custom-tag.js +4 -2
- package/src/translator/tag/native-tag[html]/index.js +42 -16
- package/src/translator/util/load-import.js +288 -0
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
var ComponentDef = require("../components/ComponentDef");
|
|
6
6
|
var ComponentsContext = require("../components/ComponentsContext");
|
|
7
7
|
var serializeNOOP = require("../helpers/serialize-noop");
|
|
8
|
-
var w10NOOP = serializeNOOP.
|
|
8
|
+
var w10NOOP = serializeNOOP.aM_;
|
|
9
9
|
var w10ToJSON = serializeNOOP.W_;
|
|
10
10
|
var changeCase = require("./_change-case");
|
|
11
11
|
var getComponentsContext = ComponentsContext.T_;
|
|
@@ -37,7 +37,7 @@ customEvents)
|
|
|
37
37
|
var component = componentDef && componentDef.s_;
|
|
38
38
|
if (typeof tag === "string") {
|
|
39
39
|
if (renderBody) {
|
|
40
|
-
out.
|
|
40
|
+
out.bn_(
|
|
41
41
|
tag,
|
|
42
42
|
attrs,
|
|
43
43
|
key,
|
|
@@ -45,9 +45,9 @@ customEvents)
|
|
|
45
45
|
addEvents(componentDef, customEvents, props)
|
|
46
46
|
);
|
|
47
47
|
renderBody(out);
|
|
48
|
-
out.
|
|
48
|
+
out.bo_();
|
|
49
49
|
} else {
|
|
50
|
-
out.
|
|
50
|
+
out.bp_(
|
|
51
51
|
tag,
|
|
52
52
|
attrs,
|
|
53
53
|
key,
|
|
@@ -79,8 +79,8 @@ customEvents)
|
|
|
79
79
|
|
|
80
80
|
|
|
81
81
|
|
|
82
|
-
if (dynamicTag.
|
|
83
|
-
renderer = dynamicTag.
|
|
82
|
+
if (dynamicTag.bq_) {
|
|
83
|
+
renderer = dynamicTag.bq_(
|
|
84
84
|
renderer,
|
|
85
85
|
render,
|
|
86
86
|
args,
|
|
@@ -91,7 +91,7 @@ customEvents)
|
|
|
91
91
|
if (renderer) {
|
|
92
92
|
out.c(componentDef, key, customEvents);
|
|
93
93
|
renderer(attrs, out);
|
|
94
|
-
out.
|
|
94
|
+
out.ac_ = null;
|
|
95
95
|
} else {
|
|
96
96
|
var isFn = typeof render === "function";
|
|
97
97
|
|
|
@@ -115,7 +115,7 @@ customEvents)
|
|
|
115
115
|
var globalContext = componentsContext.p_;
|
|
116
116
|
componentsContext.o_ = new ComponentDef(
|
|
117
117
|
component,
|
|
118
|
-
parentComponentDef.id + "-" + parentComponentDef.
|
|
118
|
+
parentComponentDef.id + "-" + parentComponentDef.aQ_(key),
|
|
119
119
|
globalContext
|
|
120
120
|
);
|
|
121
121
|
render.toJSON = w10ToJSON;
|
|
@@ -151,7 +151,7 @@ function attrsToCamelCase(attrs) {
|
|
|
151
151
|
var result = {};
|
|
152
152
|
|
|
153
153
|
for (var key in attrs) {
|
|
154
|
-
result[changeCase.
|
|
154
|
+
result[changeCase.bm_(key)] = attrs[key];
|
|
155
155
|
}
|
|
156
156
|
|
|
157
157
|
return result;
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var createTemplate = require("../vdom").t;
|
|
4
|
+
var getLoadedTemplate =
|
|
5
|
+
require("@internal/components-registry")._K_;
|
|
6
|
+
|
|
7
|
+
module.exports = function loadTag(typeId, load, trigger) {
|
|
8
|
+
var loading;
|
|
9
|
+
var hydratedComponents = new WeakSet();
|
|
10
|
+
var pending = new Set();
|
|
11
|
+
var start = trigger ? trigger(load) : load;
|
|
12
|
+
var lazyTemplate = createTemplate(typeId);
|
|
13
|
+
// Assumes rendering as a tag (direct or dynamic) — both assign the
|
|
14
|
+
// component def (`out.c`) before invoking `_`.
|
|
15
|
+
lazyTemplate._ = function loadRenderer(input, out) {
|
|
16
|
+
var component = out.ac_.s_;
|
|
17
|
+
var template = getLoadedTemplate(typeId);
|
|
18
|
+
|
|
19
|
+
if (!template) {
|
|
20
|
+
if (!loading) {
|
|
21
|
+
loading = start().then(
|
|
22
|
+
function () {
|
|
23
|
+
pending = pending.forEach(function (c) {
|
|
24
|
+
c.J_ ||
|
|
25
|
+
c._H_(c.P_, true).afterInsert(c.C_);
|
|
26
|
+
});
|
|
27
|
+
},
|
|
28
|
+
function (err) {
|
|
29
|
+
// Allows a later render to retry the load.
|
|
30
|
+
var failed = pending;
|
|
31
|
+
loading = undefined;
|
|
32
|
+
pending = new Set();
|
|
33
|
+
failed.forEach(function (c) {
|
|
34
|
+
c.J_ || c.emit("error", err);
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
);
|
|
38
|
+
}
|
|
39
|
+
pending.add(component);
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
if (out.b_.p_.ab_) {
|
|
43
|
+
hydratedComponents.add(component);
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
if (hydratedComponents.has(component)) {
|
|
47
|
+
out.bf(out.ad_ + "s", component, true).ef();
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
out.bf(out.ad_, component, !template);
|
|
51
|
+
|
|
52
|
+
if (template) {
|
|
53
|
+
template._(input, out);
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
out.ef();
|
|
57
|
+
};
|
|
58
|
+
return lazyTemplate;
|
|
59
|
+
};
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
module.exports = function loadEventTrigger(event, selector) {
|
|
4
|
+
var pending;
|
|
5
|
+
return function (load) {
|
|
6
|
+
return function () {
|
|
7
|
+
return (
|
|
8
|
+
pending || (
|
|
9
|
+
pending = new Promise(function (resolve) {
|
|
10
|
+
var el =
|
|
11
|
+
document.querySelector(selector) || (
|
|
12
|
+
// eslint-disable-next-line no-constant-binary-expression
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
resolve());
|
|
20
|
+
if (el) el.addEventListener(event, resolve, { once: true });
|
|
21
|
+
}))).
|
|
22
|
+
then(load);
|
|
23
|
+
};
|
|
24
|
+
};
|
|
25
|
+
};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
module.exports = function loadIdleTrigger(options) {
|
|
4
|
+
var pending;
|
|
5
|
+
return function (load) {
|
|
6
|
+
return function () {
|
|
7
|
+
return (
|
|
8
|
+
pending || (
|
|
9
|
+
pending = new Promise(function (resolve) {
|
|
10
|
+
(self.requestIdleCallback || resolve)(resolve, options);
|
|
11
|
+
}))).
|
|
12
|
+
then(load);
|
|
13
|
+
};
|
|
14
|
+
};
|
|
15
|
+
};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
module.exports = function mediaTrigger(query) {
|
|
4
|
+
var pending;
|
|
5
|
+
return function (load) {
|
|
6
|
+
return function () {
|
|
7
|
+
return (
|
|
8
|
+
pending || (
|
|
9
|
+
pending = new Promise(function (resolve) {
|
|
10
|
+
var mql = matchMedia(query);
|
|
11
|
+
if (mql.matches) resolve();else
|
|
12
|
+
mql.addEventListener("change", resolve, { once: true });
|
|
13
|
+
}))).
|
|
14
|
+
then(load);
|
|
15
|
+
};
|
|
16
|
+
};
|
|
17
|
+
};
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var noop = function () {
|
|
4
|
+
return Promise.resolve();
|
|
5
|
+
};
|
|
6
|
+
|
|
7
|
+
module.exports = function loadRaceTrigger() {
|
|
8
|
+
var triggers = Array.prototype.slice.call(arguments);
|
|
9
|
+
var pending;
|
|
10
|
+
return function (load) {
|
|
11
|
+
return function () {
|
|
12
|
+
return (
|
|
13
|
+
pending || (
|
|
14
|
+
pending = Promise.race(
|
|
15
|
+
triggers.map(function (t) {
|
|
16
|
+
return t(noop)();
|
|
17
|
+
})
|
|
18
|
+
))).
|
|
19
|
+
then(load);
|
|
20
|
+
};
|
|
21
|
+
};
|
|
22
|
+
};
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
module.exports = function loadVisibleTrigger(selector, options) {
|
|
4
|
+
var pending;
|
|
5
|
+
return function (load) {
|
|
6
|
+
return function () {
|
|
7
|
+
return (
|
|
8
|
+
pending || (
|
|
9
|
+
pending = new Promise(function (resolve) {
|
|
10
|
+
var el =
|
|
11
|
+
document.querySelector(selector) || (
|
|
12
|
+
// eslint-disable-next-line no-constant-binary-expression
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
resolve());
|
|
20
|
+
if (el) {
|
|
21
|
+
new IntersectionObserver(function (entries, io) {
|
|
22
|
+
if (
|
|
23
|
+
entries.some(function (entry) {
|
|
24
|
+
return entry.isIntersecting;
|
|
25
|
+
}))
|
|
26
|
+
{
|
|
27
|
+
resolve(io.disconnect());
|
|
28
|
+
}
|
|
29
|
+
}, options).observe(el);
|
|
30
|
+
}
|
|
31
|
+
}))).
|
|
32
|
+
then(load);
|
|
33
|
+
};
|
|
34
|
+
};
|
|
35
|
+
};
|
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var flushHereAndAfter = require("../../core-tags/core/__flush_here_and_after__");
|
|
4
|
+
var escapeScript = require("../html/helpers/escape-script-placeholder");
|
|
5
|
+
var FLAG_WILL_RERENDER_IN_BROWSER = 1;
|
|
6
|
+
var kAssets = Symbol();
|
|
7
|
+
var kBlockIndex = Symbol();
|
|
8
|
+
var kDeferIndex = Symbol();
|
|
9
|
+
var kOriginal = Symbol();
|
|
10
|
+
var assetFlush;
|
|
11
|
+
|
|
12
|
+
exports.withPageAssets = function withPageAssets(typeId, template, runtime) {
|
|
13
|
+
assetFlush = runtime;
|
|
14
|
+
var render = template[kOriginal] || (template[kOriginal] = template._);
|
|
15
|
+
var flushBeforeInput = { renderBody: flush };
|
|
16
|
+
template._ = function (input, out) {
|
|
17
|
+
var hasAssets = !!out.global[kAssets];
|
|
18
|
+
var key = out.ad_;
|
|
19
|
+
var def = out.ac_;
|
|
20
|
+
var component = def && def.s_;
|
|
21
|
+
addAsset(out.global, typeId);
|
|
22
|
+
|
|
23
|
+
if (hasAssets) {
|
|
24
|
+
if (willRerender(def)) {
|
|
25
|
+
out.bf(key + "s", component, true);
|
|
26
|
+
flush(out);
|
|
27
|
+
out.ef();
|
|
28
|
+
} else {
|
|
29
|
+
flush(out);
|
|
30
|
+
}
|
|
31
|
+
} else {
|
|
32
|
+
flushHereAndAfter(flushBeforeInput, out);
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
render(input, out);
|
|
36
|
+
};
|
|
37
|
+
return template;
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
exports.withLoadAssets = function withLoadAssets(typeId, template, triggers) {
|
|
41
|
+
if (template[kOriginal]) return template;
|
|
42
|
+
var render = template[kOriginal] = template._;
|
|
43
|
+
template._ = function (input, out) {
|
|
44
|
+
var key = out.ad_;
|
|
45
|
+
var def = out.ac_;
|
|
46
|
+
addAsset(out.global, typeId, triggers);
|
|
47
|
+
|
|
48
|
+
if (willRerender(def)) {
|
|
49
|
+
out.bf(key + "s", def.s_, true);
|
|
50
|
+
flush(out);
|
|
51
|
+
out.ef();
|
|
52
|
+
out.bf(key, def.s_, true);
|
|
53
|
+
render(input, out);
|
|
54
|
+
out.ef();
|
|
55
|
+
} else {
|
|
56
|
+
flush(out);
|
|
57
|
+
render(input, out);
|
|
58
|
+
}
|
|
59
|
+
};
|
|
60
|
+
return template;
|
|
61
|
+
};
|
|
62
|
+
|
|
63
|
+
exports.flushHead = function flushHead(out) {
|
|
64
|
+
if (out.global[kAssets]) {
|
|
65
|
+
flush(out);
|
|
66
|
+
}
|
|
67
|
+
};
|
|
68
|
+
|
|
69
|
+
function willRerender(def) {
|
|
70
|
+
return def && def.u_ & FLAG_WILL_RERENDER_IN_BROWSER ? true : false;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
function flush(out) {
|
|
74
|
+
var g = out.global;
|
|
75
|
+
var result = "";
|
|
76
|
+
var assets = g[kAssets];
|
|
77
|
+
var length = assets.length;
|
|
78
|
+
var bi = g[kBlockIndex];
|
|
79
|
+
var di = g[kDeferIndex];
|
|
80
|
+
|
|
81
|
+
for (; bi < length; bi++) {
|
|
82
|
+
result += assetFlush(g, "block", assets[bi].id);
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
for (; di < length; di++) {
|
|
86
|
+
var asset = assets[di];
|
|
87
|
+
var deferHTML = assetFlush(g, "defer", asset.id);
|
|
88
|
+
if (asset.triggers) {
|
|
89
|
+
if (deferHTML) out.script(triggerScript(deferHTML, asset.triggers));
|
|
90
|
+
} else {
|
|
91
|
+
result += deferHTML;
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
g[kBlockIndex] = bi;
|
|
96
|
+
g[kDeferIndex] = di;
|
|
97
|
+
out.write(result);
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
function addAsset(g, id, triggers) {
|
|
101
|
+
var assets = g[kAssets];
|
|
102
|
+
if (!assets) {
|
|
103
|
+
g[kAssets] = [{ id: id, triggers: triggers }];
|
|
104
|
+
g[kBlockIndex] = g[kDeferIndex] = 0;
|
|
105
|
+
} else if (
|
|
106
|
+
!assets.find(function (a) {
|
|
107
|
+
return a.id === id;
|
|
108
|
+
}))
|
|
109
|
+
{
|
|
110
|
+
assets.push({ id: id, triggers: triggers });
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
function triggerScript(html, triggers) {
|
|
115
|
+
var htmlStr = escapeScript(JSON.stringify(html));
|
|
116
|
+
var exprs = triggers.map(function (trigger) {
|
|
117
|
+
var options = trigger.options && toObjectExpression(trigger.options);
|
|
118
|
+
switch (trigger.type) {
|
|
119
|
+
case "visible":
|
|
120
|
+
return (
|
|
121
|
+
"(e=>e&&new IntersectionObserver((e,i)=>e.some(e=>e.isIntersecting)&&i.disconnect()+l()" + (
|
|
122
|
+
options ? "," + options : "") +
|
|
123
|
+
").observe(e))(document.querySelector(" +
|
|
124
|
+
JSON.stringify(trigger.selector) +
|
|
125
|
+
")||l())");
|
|
126
|
+
|
|
127
|
+
case "idle":
|
|
128
|
+
return (
|
|
129
|
+
"(self.requestIdleCallback||l)(l" + (
|
|
130
|
+
options ? "," + options : "") +
|
|
131
|
+
")");
|
|
132
|
+
|
|
133
|
+
case "media":
|
|
134
|
+
return (
|
|
135
|
+
'(m=>m.matches?l():m.addEventListener("change",l,{once:1}))(matchMedia(' +
|
|
136
|
+
JSON.stringify(trigger.selector) +
|
|
137
|
+
"))");
|
|
138
|
+
|
|
139
|
+
default:
|
|
140
|
+
return (
|
|
141
|
+
'(e=>e?.addEventListener("' +
|
|
142
|
+
trigger.type.slice("on-".length) +
|
|
143
|
+
'",l,{once:1}))(document.querySelector(' +
|
|
144
|
+
JSON.stringify(trigger.selector) +
|
|
145
|
+
")||l())");
|
|
146
|
+
|
|
147
|
+
}
|
|
148
|
+
});
|
|
149
|
+
return (
|
|
150
|
+
'((p,h,d,l=$=>d||p.insertAdjacentHTML("afterend",d=h))=>' + (
|
|
151
|
+
exprs.length > 1 ? "{" + exprs.join(";") + "}" : exprs[0]) +
|
|
152
|
+
")(document.currentScript," +
|
|
153
|
+
htmlStr +
|
|
154
|
+
")");
|
|
155
|
+
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
function toObjectExpression(options) {
|
|
159
|
+
var result = "{";
|
|
160
|
+
var sep = "";
|
|
161
|
+
for (var key in options) {
|
|
162
|
+
if (Object.prototype.hasOwnProperty.call(options, key)) {
|
|
163
|
+
result += sep + JSON.stringify(key) + ":" + JSON.stringify(options[key]);
|
|
164
|
+
sep = ",";
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
return result + "}";
|
|
168
|
+
}
|
|
@@ -11,10 +11,10 @@ const morphdom = require("../../vdom/morphdom");
|
|
|
11
11
|
const { _m_ } = require("../../vdom/morphdom/fragment");
|
|
12
12
|
const dynamicTag = require("../dynamic-tag");
|
|
13
13
|
const Component = require("../../components/Component");
|
|
14
|
-
const noopRenderer = require("../serialize-noop").
|
|
14
|
+
const noopRenderer = require("../serialize-noop").aM_;
|
|
15
15
|
|
|
16
16
|
exports.p = function (domCompat) {
|
|
17
|
-
dynamicTag.
|
|
17
|
+
dynamicTag.bq_ = function tagsToVdom(
|
|
18
18
|
renderer,
|
|
19
19
|
renderBody,
|
|
20
20
|
args,
|
|
@@ -34,23 +34,23 @@ exports.p = function (domCompat) {
|
|
|
34
34
|
return renderer;
|
|
35
35
|
};
|
|
36
36
|
|
|
37
|
-
Component.prototype.
|
|
38
|
-
Component.prototype.
|
|
39
|
-
Component.prototype.
|
|
37
|
+
Component.prototype.br_ =
|
|
38
|
+
Component.prototype.aG_;
|
|
39
|
+
Component.prototype.aG_ = function (customEvents, scopeId) {
|
|
40
40
|
for (const customEvent of customEvents) {
|
|
41
41
|
customEvent[1] = domCompat.resolveRegistered(
|
|
42
42
|
customEvent[1],
|
|
43
|
-
this.
|
|
43
|
+
this.an_
|
|
44
44
|
);
|
|
45
45
|
}
|
|
46
46
|
|
|
47
|
-
this.
|
|
47
|
+
this.br_(customEvents, scopeId);
|
|
48
48
|
};
|
|
49
49
|
|
|
50
50
|
const defDeserialize = ComponentDef._F_;
|
|
51
51
|
ComponentDef._F_ = function (o, types, global, registry) {
|
|
52
52
|
if (typeof o[2] === "number") {
|
|
53
|
-
o[2] =
|
|
53
|
+
o[2] = domCompat.getScope(global, o[2]).m5i;
|
|
54
54
|
}
|
|
55
55
|
return defDeserialize(o, types, global, registry);
|
|
56
56
|
};
|
|
@@ -64,7 +64,7 @@ exports.p = function (domCompat) {
|
|
|
64
64
|
|
|
65
65
|
out.bf("1", component, !newNode);
|
|
66
66
|
if (newNode) {
|
|
67
|
-
out.node({
|
|
67
|
+
out.node({ bs_: () => newNode });
|
|
68
68
|
}
|
|
69
69
|
out.ef();
|
|
70
70
|
},
|
|
@@ -122,6 +122,7 @@ exports.p = function (domCompat) {
|
|
|
122
122
|
renderAndMorph(scope, rendererFromAnywhere, renderer, input),
|
|
123
123
|
() => _m_()
|
|
124
124
|
);
|
|
125
|
+
domCompat.setRendererId(newRenderer, renderer);
|
|
125
126
|
rendererCache.set(renderer, newRenderer);
|
|
126
127
|
}
|
|
127
128
|
}
|
|
@@ -129,7 +130,6 @@ exports.p = function (domCompat) {
|
|
|
129
130
|
return newRenderer;
|
|
130
131
|
}
|
|
131
132
|
|
|
132
|
-
domCompat.registerRenderer(create5to6Renderer);
|
|
133
133
|
domCompat.init(noopRenderer);
|
|
134
134
|
|
|
135
135
|
function renderAndMorph(scope, renderer, renderBody, input) {
|
|
@@ -137,18 +137,18 @@ exports.p = function (domCompat) {
|
|
|
137
137
|
let host = domCompat.getStartNode(scope);
|
|
138
138
|
let rootNode = host.fragment;
|
|
139
139
|
if (!rootNode) {
|
|
140
|
-
const component = scope.
|
|
140
|
+
const component = scope.bt_ =
|
|
141
141
|
_n_[scope.m5c];
|
|
142
142
|
rootNode = component._G_;
|
|
143
143
|
host = rootNode.startNode;
|
|
144
144
|
domCompat.setScopeNodes(host, rootNode.startNode, rootNode.endNode);
|
|
145
145
|
}
|
|
146
|
-
const existingComponent = scope.
|
|
146
|
+
const existingComponent = scope.bt_;
|
|
147
147
|
const componentsContext = T_(out);
|
|
148
148
|
const globalComponentsContext = componentsContext.p_;
|
|
149
149
|
let customEvents;
|
|
150
150
|
let normalizedInput;
|
|
151
|
-
globalComponentsContext.
|
|
151
|
+
globalComponentsContext.aC_ = existingComponent;
|
|
152
152
|
out.sync();
|
|
153
153
|
if (renderer) {
|
|
154
154
|
const [rawInput] = input;
|
|
@@ -174,16 +174,16 @@ exports.p = function (domCompat) {
|
|
|
174
174
|
}
|
|
175
175
|
|
|
176
176
|
domCompat.queueEffect(scope, () => {
|
|
177
|
-
const targetNode = out.
|
|
177
|
+
const targetNode = out.ak_().aD_;
|
|
178
178
|
morphdom(rootNode, targetNode, host, componentsContext);
|
|
179
|
-
const componentDefs = componentsContext.
|
|
179
|
+
const componentDefs = componentsContext.ai_(
|
|
180
180
|
getRootNode(host)
|
|
181
181
|
);
|
|
182
182
|
const component = componentDefs[0].s_;
|
|
183
183
|
component._G_ = rootNode;
|
|
184
184
|
component.P_ = normalizedInput;
|
|
185
185
|
component.X_ = customEvents;
|
|
186
|
-
scope.
|
|
186
|
+
scope.bt_ = component;
|
|
187
187
|
});
|
|
188
188
|
}
|
|
189
189
|
|
|
@@ -81,7 +81,7 @@ exports.p = function (htmlCompat) {
|
|
|
81
81
|
});
|
|
82
82
|
});
|
|
83
83
|
|
|
84
|
-
dynamicTag5.
|
|
84
|
+
dynamicTag5.bq_ = function tagsToVdom(
|
|
85
85
|
tagsRenderer,
|
|
86
86
|
renderBody,
|
|
87
87
|
args)
|
|
@@ -230,7 +230,7 @@ exports.p = function (htmlCompat) {
|
|
|
230
230
|
};
|
|
231
231
|
});
|
|
232
232
|
|
|
233
|
-
return htmlCompat.
|
|
233
|
+
return htmlCompat.register;
|
|
234
234
|
};
|
|
235
235
|
|
|
236
236
|
function concatScripts(a, b) {
|
|
@@ -9,7 +9,7 @@ var markoAttr = require("./helpers/data-marko");
|
|
|
9
9
|
var escapeXmlHelper = require("./helpers/escape-xml");
|
|
10
10
|
var StringWriter = require("./StringWriter");
|
|
11
11
|
var escapeXmlOrNullish = escapeXmlHelper.x;
|
|
12
|
-
var escapeXmlString = escapeXmlHelper.
|
|
12
|
+
var escapeXmlString = escapeXmlHelper.bu_;
|
|
13
13
|
var missingSetTimeout = typeof setTimeout !== "function";
|
|
14
14
|
|
|
15
15
|
function noop() {}
|
|
@@ -102,10 +102,10 @@ function AsyncStream(global, writer, parentOut) {
|
|
|
102
102
|
|
|
103
103
|
this.b_ = null; // ComponentsContext
|
|
104
104
|
|
|
105
|
-
this.ab_ = null;
|
|
106
105
|
this.ac_ = null;
|
|
107
|
-
this.
|
|
108
|
-
this.
|
|
106
|
+
this.ad_ = null;
|
|
107
|
+
this.bf_ = null;
|
|
108
|
+
this.bv_ = false;
|
|
109
109
|
}
|
|
110
110
|
|
|
111
111
|
AsyncStream.DEFAULT_TIMEOUT = 10000;
|
|
@@ -126,11 +126,11 @@ AsyncStream.enableAsyncStackTrace = function () {
|
|
|
126
126
|
var proto = AsyncStream.prototype = {
|
|
127
127
|
constructor: AsyncStream,
|
|
128
128
|
C_: typeof document === "object" && document,
|
|
129
|
-
|
|
129
|
+
bw_: true,
|
|
130
130
|
|
|
131
131
|
[Symbol.asyncIterator]() {
|
|
132
|
-
if (this.
|
|
133
|
-
return this.
|
|
132
|
+
if (this.bx_) {
|
|
133
|
+
return this.bx_;
|
|
134
134
|
}
|
|
135
135
|
|
|
136
136
|
const originalWriter = this._state.writer;
|
|
@@ -222,7 +222,7 @@ var proto = AsyncStream.prototype = {
|
|
|
222
222
|
};
|
|
223
223
|
}
|
|
224
224
|
|
|
225
|
-
return this.
|
|
225
|
+
return this.bx_ = {
|
|
226
226
|
next: iteratorNextFn,
|
|
227
227
|
return: iteratorReturnFn,
|
|
228
228
|
throw: iteratorReturnFn,
|
|
@@ -279,7 +279,7 @@ var proto = AsyncStream.prototype = {
|
|
|
279
279
|
return this;
|
|
280
280
|
},
|
|
281
281
|
|
|
282
|
-
|
|
282
|
+
ak_: function () {
|
|
283
283
|
return this._state.writer.toString();
|
|
284
284
|
},
|
|
285
285
|
|
|
@@ -287,7 +287,7 @@ var proto = AsyncStream.prototype = {
|
|
|
287
287
|
* Legacy...
|
|
288
288
|
*/
|
|
289
289
|
getOutput: function () {
|
|
290
|
-
return this.
|
|
290
|
+
return this.ak_();
|
|
291
291
|
},
|
|
292
292
|
|
|
293
293
|
toString: function () {
|
|
@@ -345,7 +345,7 @@ var proto = AsyncStream.prototype = {
|
|
|
345
345
|
}
|
|
346
346
|
|
|
347
347
|
this._lastCount++;
|
|
348
|
-
newStream.
|
|
348
|
+
newStream.bv_ = true;
|
|
349
349
|
}
|
|
350
350
|
|
|
351
351
|
name = options.name;
|
|
@@ -465,7 +465,7 @@ var proto = AsyncStream.prototype = {
|
|
|
465
465
|
parentOut._handleChildDone(this);
|
|
466
466
|
}
|
|
467
467
|
} else {
|
|
468
|
-
if (childOut.
|
|
468
|
+
if (childOut.bv_) {
|
|
469
469
|
this._lastCount--;
|
|
470
470
|
}
|
|
471
471
|
|
|
@@ -645,7 +645,7 @@ var proto = AsyncStream.prototype = {
|
|
|
645
645
|
return newOut;
|
|
646
646
|
},
|
|
647
647
|
|
|
648
|
-
|
|
648
|
+
bp_: function (
|
|
649
649
|
tagName,
|
|
650
650
|
elementAttrs,
|
|
651
651
|
key,
|
|
@@ -684,7 +684,7 @@ var proto = AsyncStream.prototype = {
|
|
|
684
684
|
this.write(str);
|
|
685
685
|
},
|
|
686
686
|
|
|
687
|
-
|
|
687
|
+
bn_: function (
|
|
688
688
|
name,
|
|
689
689
|
elementAttrs,
|
|
690
690
|
key,
|
|
@@ -750,13 +750,13 @@ var proto = AsyncStream.prototype = {
|
|
|
750
750
|
}
|
|
751
751
|
},
|
|
752
752
|
|
|
753
|
-
|
|
753
|
+
aj_: function (host) {
|
|
754
754
|
var node = this._node;
|
|
755
755
|
|
|
756
756
|
if (!node) {
|
|
757
757
|
var nextEl;
|
|
758
758
|
var fragment;
|
|
759
|
-
var html = this.
|
|
759
|
+
var html = this.ak_();
|
|
760
760
|
if (!host) host = this.C_;
|
|
761
761
|
var doc = host.ownerDocument || host;
|
|
762
762
|
|
|
@@ -802,15 +802,15 @@ var proto = AsyncStream.prototype = {
|
|
|
802
802
|
},
|
|
803
803
|
|
|
804
804
|
c: function (componentDef, key, customEvents) {
|
|
805
|
-
this.
|
|
806
|
-
this.
|
|
807
|
-
this.
|
|
805
|
+
this.ac_ = componentDef;
|
|
806
|
+
this.ad_ = key;
|
|
807
|
+
this.bf_ = customEvents;
|
|
808
808
|
}
|
|
809
809
|
};
|
|
810
810
|
|
|
811
811
|
// alias:
|
|
812
812
|
proto.w = proto.write;
|
|
813
|
-
proto.
|
|
813
|
+
proto.bo_ = proto.endElement;
|
|
814
814
|
|
|
815
815
|
module.exports = AsyncStream;
|
|
816
816
|
|