marko 5.35.21 → 5.35.22
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/core-tags/core/await/reorderer-renderer.js +29 -19
- package/dist/node_modules/@internal/components-beginComponent/index-browser.js +4 -4
- package/dist/node_modules/@internal/components-beginComponent/index.js +11 -11
- package/dist/node_modules/@internal/components-define-widget-legacy/index-browser.js +45 -45
- package/dist/node_modules/@internal/components-define-widget-legacy/index.js +3 -3
- package/dist/node_modules/@internal/components-endComponent/index.js +3 -3
- package/dist/node_modules/@internal/components-entry/index-browser.js +2 -2
- package/dist/node_modules/@internal/components-entry/index.js +17 -17
- package/dist/node_modules/@internal/components-entry-legacy/index-browser.js +6 -6
- package/dist/node_modules/@internal/components-registry/index-browser.js +46 -46
- package/dist/node_modules/@internal/components-registry/index.js +2 -2
- package/dist/node_modules/@internal/components-util/index-browser.js +20 -20
- package/dist/node_modules/@internal/components-util/index.js +9 -9
- 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 +7 -7
- package/dist/node_modules/@internal/preserve-tag/index.js +5 -5
- package/dist/node_modules/@internal/set-immediate/index-browser.js +1 -1
- package/dist/node_modules/@internal/set-immediate/index-worker.js +2 -2
- package/dist/node_modules/@internal/set-immediate/index.js +2 -2
- package/dist/runtime/RenderResult.js +8 -8
- package/dist/runtime/components/Component.js +145 -145
- package/dist/runtime/components/ComponentDef.js +29 -29
- package/dist/runtime/components/ComponentsContext.js +15 -15
- package/dist/runtime/components/GlobalComponentsContext.js +4 -4
- package/dist/runtime/components/KeySequence.js +3 -3
- package/dist/runtime/components/ServerComponent.js +13 -13
- package/dist/runtime/components/State.js +26 -26
- package/dist/runtime/components/attach-detach.js +8 -8
- package/dist/runtime/components/defineComponent.js +5 -5
- package/dist/runtime/components/dom-data.js +5 -5
- package/dist/runtime/components/event-delegation.js +10 -10
- package/dist/runtime/components/legacy/defineComponent-legacy.js +1 -1
- package/dist/runtime/components/legacy/defineRenderer-legacy.js +16 -16
- package/dist/runtime/components/legacy/dependencies/index.js +7 -7
- package/dist/runtime/components/legacy/renderer-legacy.js +43 -43
- package/dist/runtime/components/renderer.js +35 -35
- package/dist/runtime/components/update-manager.js +4 -4
- 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 +18 -18
- package/dist/runtime/helpers/render-tag.js +1 -1
- package/dist/runtime/helpers/serialize-noop.js +2 -2
- package/dist/runtime/helpers/style-value.js +1 -1
- package/dist/runtime/helpers/tags-compat/runtime-dom.js +24 -24
- package/dist/runtime/helpers/tags-compat/runtime-html.js +8 -8
- package/dist/runtime/html/AsyncStream.js +26 -26
- package/dist/runtime/html/BufferedWriter.js +2 -2
- package/dist/runtime/html/helpers/data-marko.js +4 -4
- package/dist/runtime/html/helpers/escape-xml.js +1 -1
- package/dist/runtime/html/index.js +2 -2
- package/dist/runtime/renderable.js +5 -5
- package/dist/runtime/vdom/AsyncVDOMBuilder.js +42 -42
- package/dist/runtime/vdom/VComment.js +1 -1
- package/dist/runtime/vdom/VComponent.js +2 -2
- package/dist/runtime/vdom/VDocumentFragment.js +2 -2
- package/dist/runtime/vdom/VElement.js +13 -13
- package/dist/runtime/vdom/VFragment.js +5 -5
- package/dist/runtime/vdom/VNode.js +4 -4
- package/dist/runtime/vdom/VText.js +1 -1
- package/dist/runtime/vdom/hot-reload.js +18 -18
- package/dist/runtime/vdom/index.js +2 -2
- package/dist/runtime/vdom/morphdom/fragment.js +2 -2
- package/dist/runtime/vdom/morphdom/helpers.js +4 -4
- package/dist/runtime/vdom/morphdom/index.js +46 -46
- package/helpers/README.md +3 -0
- package/helpers/empty.js +4 -0
- package/helpers/notEmpty.js +11 -0
- package/package.json +2 -1
- package/src/core-tags/core/await/reorderer-renderer.js +73 -63
@@ -1,10 +1,10 @@
|
|
1
1
|
"use strict";
|
2
2
|
var componentsUtil = require("@internal/components-util");
|
3
|
-
var existingComponentLookup = componentsUtil.
|
4
|
-
var destroyNodeRecursive = componentsUtil.
|
3
|
+
var existingComponentLookup = componentsUtil._m_;
|
4
|
+
var destroyNodeRecursive = componentsUtil._S_;
|
5
5
|
var addComponentRootToKeyedElements =
|
6
|
-
componentsUtil.
|
7
|
-
var normalizeComponentKey = componentsUtil.
|
6
|
+
componentsUtil._n_;
|
7
|
+
var normalizeComponentKey = componentsUtil._V_;
|
8
8
|
var domData = require("../../components/dom-data");
|
9
9
|
var eventDelegation = require("../../components/event-delegation");
|
10
10
|
var KeySequence = require("../../components/KeySequence");
|
@@ -13,17 +13,17 @@ var fragment = require("./fragment");
|
|
13
13
|
var helpers = require("./helpers");
|
14
14
|
var virtualizeElement = VElement.ck_;
|
15
15
|
var morphAttrs = VElement.cl_;
|
16
|
-
var keysByDOMNode = domData.
|
17
|
-
var componentByDOMNode = domData.
|
18
|
-
var vElementByDOMNode = domData.
|
19
|
-
var detachedByDOMNode = domData.
|
16
|
+
var keysByDOMNode = domData._o_;
|
17
|
+
var componentByDOMNode = domData._q_;
|
18
|
+
var vElementByDOMNode = domData._L_;
|
19
|
+
var detachedByDOMNode = domData.aX_;
|
20
20
|
|
21
|
-
var insertBefore = helpers.
|
22
|
-
var insertAfter = helpers.
|
21
|
+
var insertBefore = helpers.bg_;
|
22
|
+
var insertAfter = helpers.bh_;
|
23
23
|
var nextSibling = helpers.cp_;
|
24
|
-
var firstChild = helpers.
|
25
|
-
var removeChild = helpers.
|
26
|
-
var createFragmentNode = fragment.
|
24
|
+
var firstChild = helpers.aB_;
|
25
|
+
var removeChild = helpers.bi_;
|
26
|
+
var createFragmentNode = fragment._l_;
|
27
27
|
var beginFragmentNode = fragment.ct_;
|
28
28
|
|
29
29
|
var ELEMENT_NODE = 1;
|
@@ -51,7 +51,7 @@ function caseInsensitiveCompare(a, b) {
|
|
51
51
|
|
52
52
|
function onNodeAdded(node, componentsContext) {
|
53
53
|
if (node.nodeType === ELEMENT_NODE) {
|
54
|
-
eventDelegation.
|
54
|
+
eventDelegation.aW_(node, componentsContext);
|
55
55
|
}
|
56
56
|
}
|
57
57
|
|
@@ -61,8 +61,8 @@ function morphdom(fromNode, toNode, host, componentsContext) {
|
|
61
61
|
var keySequences = Object.create(null);
|
62
62
|
|
63
63
|
if (componentsContext) {
|
64
|
-
globalComponentsContext = componentsContext.
|
65
|
-
isHydrate = globalComponentsContext.
|
64
|
+
globalComponentsContext = componentsContext.q_;
|
65
|
+
isHydrate = globalComponentsContext.a__;
|
66
66
|
}
|
67
67
|
|
68
68
|
function insertVirtualNodeBefore(
|
@@ -73,7 +73,7 @@ function morphdom(fromNode, toNode, host, componentsContext) {
|
|
73
73
|
ownerComponent,
|
74
74
|
parentComponent)
|
75
75
|
{
|
76
|
-
var realNode = vNode.
|
76
|
+
var realNode = vNode.bp_(host, parentEl.namespaceURI);
|
77
77
|
insertBefore(realNode, referenceEl, parentEl);
|
78
78
|
|
79
79
|
if (
|
@@ -82,7 +82,7 @@ function morphdom(fromNode, toNode, host, componentsContext) {
|
|
82
82
|
{
|
83
83
|
if (key) {
|
84
84
|
keysByDOMNode.set(realNode, key);
|
85
|
-
(isAutoKey(key) ? parentComponent : ownerComponent).
|
85
|
+
(isAutoKey(key) ? parentComponent : ownerComponent).L_[
|
86
86
|
key] =
|
87
87
|
realNode;
|
88
88
|
}
|
@@ -104,7 +104,7 @@ function morphdom(fromNode, toNode, host, componentsContext) {
|
|
104
104
|
ownerComponent,
|
105
105
|
parentComponent)
|
106
106
|
{
|
107
|
-
var rootNode = component.
|
107
|
+
var rootNode = component._F_ = insertBefore(
|
108
108
|
createFragmentNode(),
|
109
109
|
referenceNode,
|
110
110
|
referenceNodeParentEl
|
@@ -114,7 +114,7 @@ function morphdom(fromNode, toNode, host, componentsContext) {
|
|
114
114
|
if (key && ownerComponent) {
|
115
115
|
key = normalizeComponentKey(key, parentComponent.id);
|
116
116
|
addComponentRootToKeyedElements(
|
117
|
-
ownerComponent.
|
117
|
+
ownerComponent.L_,
|
118
118
|
key,
|
119
119
|
rootNode,
|
120
120
|
component.id
|
@@ -126,7 +126,7 @@ function morphdom(fromNode, toNode, host, componentsContext) {
|
|
126
126
|
}
|
127
127
|
|
128
128
|
function morphComponent(component, vComponent) {
|
129
|
-
morphChildren(component.
|
129
|
+
morphChildren(component._F_, vComponent, component);
|
130
130
|
}
|
131
131
|
|
132
132
|
var detachedNodes = [];
|
@@ -147,7 +147,7 @@ function morphdom(fromNode, toNode, host, componentsContext) {
|
|
147
147
|
|
148
148
|
function morphChildren(fromNode, toNode, parentComponent) {
|
149
149
|
var curFromNodeChild = firstChild(fromNode);
|
150
|
-
var curToNodeChild = toNode.
|
150
|
+
var curToNodeChild = toNode.aB_;
|
151
151
|
|
152
152
|
var curToNodeKey;
|
153
153
|
var curFromNodeKey;
|
@@ -170,18 +170,18 @@ function morphdom(fromNode, toNode, host, componentsContext) {
|
|
170
170
|
curFromNodeChild = nextSibling(curFromNodeChild);
|
171
171
|
}
|
172
172
|
|
173
|
-
var ownerComponent = curToNodeChild.
|
173
|
+
var ownerComponent = curToNodeChild._N_ || parentComponent;
|
174
174
|
var referenceComponent;
|
175
175
|
|
176
176
|
if (curToNodeType === COMPONENT_NODE) {
|
177
|
-
var component = curToNodeChild.
|
177
|
+
var component = curToNodeChild.t_;
|
178
178
|
if (
|
179
179
|
(matchingFromComponent = existingComponentLookup[component.id]) ===
|
180
180
|
undefined)
|
181
181
|
{
|
182
182
|
if (isHydrate) {
|
183
183
|
var rootNode = beginFragmentNode(curFromNodeChild, fromNode);
|
184
|
-
component.
|
184
|
+
component._F_ = rootNode;
|
185
185
|
componentByDOMNode.set(rootNode, component);
|
186
186
|
|
187
187
|
if (ownerComponent && curToNodeKey) {
|
@@ -190,7 +190,7 @@ function morphdom(fromNode, toNode, host, componentsContext) {
|
|
190
190
|
parentComponent.id
|
191
191
|
);
|
192
192
|
addComponentRootToKeyedElements(
|
193
|
-
ownerComponent.
|
193
|
+
ownerComponent.L_,
|
194
194
|
curToNodeKey,
|
195
195
|
rootNode,
|
196
196
|
component.id
|
@@ -214,17 +214,17 @@ function morphdom(fromNode, toNode, host, componentsContext) {
|
|
214
214
|
);
|
215
215
|
}
|
216
216
|
} else {
|
217
|
-
if (matchingFromComponent.
|
217
|
+
if (matchingFromComponent._F_ !== curFromNodeChild) {
|
218
218
|
if (
|
219
219
|
curFromNodeChild && (
|
220
220
|
fromComponent = componentByDOMNode.get(curFromNodeChild)) &&
|
221
|
-
globalComponentsContext.
|
221
|
+
globalComponentsContext.r_[
|
222
222
|
fromComponent.id] ===
|
223
223
|
undefined)
|
224
224
|
{
|
225
225
|
// The component associated with the current real DOM node was not rendered
|
226
226
|
// so we should just remove it out of the real DOM by destroying it
|
227
|
-
curFromNodeChild = nextSibling(fromComponent.
|
227
|
+
curFromNodeChild = nextSibling(fromComponent._F_);
|
228
228
|
destroyComponent(fromComponent);
|
229
229
|
continue;
|
230
230
|
}
|
@@ -232,7 +232,7 @@ function morphdom(fromNode, toNode, host, componentsContext) {
|
|
232
232
|
// We need to move the existing component into
|
233
233
|
// the correct location
|
234
234
|
insertBefore(
|
235
|
-
matchingFromComponent.
|
235
|
+
matchingFromComponent._F_,
|
236
236
|
curFromNodeChild,
|
237
237
|
fromNode
|
238
238
|
);
|
@@ -241,7 +241,7 @@ function morphdom(fromNode, toNode, host, componentsContext) {
|
|
241
241
|
curFromNodeChild && nextSibling(curFromNodeChild);
|
242
242
|
}
|
243
243
|
|
244
|
-
if (!curToNodeChild.
|
244
|
+
if (!curToNodeChild.ae_) {
|
245
245
|
morphComponent(component, curToNodeChild);
|
246
246
|
}
|
247
247
|
}
|
@@ -266,7 +266,7 @@ function morphdom(fromNode, toNode, host, componentsContext) {
|
|
266
266
|
// up elements
|
267
267
|
curToNodeKey = (
|
268
268
|
keySequences[referenceComponent.id] || (
|
269
|
-
keySequences[referenceComponent.id] = new KeySequence())).
|
269
|
+
keySequences[referenceComponent.id] = new KeySequence())).aO_(
|
270
270
|
curToNodeKey);
|
271
271
|
|
272
272
|
if (curFromNodeChild) {
|
@@ -277,7 +277,7 @@ function morphdom(fromNode, toNode, host, componentsContext) {
|
|
277
277
|
|
278
278
|
if (curFromNodeKey === curToNodeKey) {
|
279
279
|
// Elements line up. Now we just have to make sure they are compatible
|
280
|
-
if (!curToNodeChild.
|
280
|
+
if (!curToNodeChild.ae_) {
|
281
281
|
// We just skip over the fromNode if it is preserved
|
282
282
|
|
283
283
|
if (
|
@@ -316,7 +316,7 @@ function morphdom(fromNode, toNode, host, componentsContext) {
|
|
316
316
|
}
|
317
317
|
}
|
318
318
|
} else {
|
319
|
-
matchingFromEl = referenceComponent.
|
319
|
+
matchingFromEl = referenceComponent.L_[curToNodeKey];
|
320
320
|
if (
|
321
321
|
matchingFromEl === undefined ||
|
322
322
|
matchingFromEl === curFromNodeChild)
|
@@ -324,7 +324,7 @@ function morphdom(fromNode, toNode, host, componentsContext) {
|
|
324
324
|
if (isHydrate && curFromNodeChild) {
|
325
325
|
if (
|
326
326
|
curFromNodeChild.nodeType === ELEMENT_NODE && (
|
327
|
-
curToNodeChild.
|
327
|
+
curToNodeChild.ae_ ||
|
328
328
|
caseInsensitiveCompare(
|
329
329
|
curFromNodeChild.nodeName,
|
330
330
|
curToNodeChild.cg_ || ""
|
@@ -333,10 +333,10 @@ function morphdom(fromNode, toNode, host, componentsContext) {
|
|
333
333
|
curVFromNodeChild = virtualizeElement(curFromNodeChild);
|
334
334
|
curVFromNodeChild.cg_ = curToNodeChild.cg_;
|
335
335
|
keysByDOMNode.set(curFromNodeChild, curToNodeKey);
|
336
|
-
referenceComponent.
|
336
|
+
referenceComponent.L_[curToNodeKey] =
|
337
337
|
curFromNodeChild;
|
338
338
|
|
339
|
-
if (curToNodeChild.
|
339
|
+
if (curToNodeChild.ae_) {
|
340
340
|
vElementByDOMNode.set(curFromNodeChild, curVFromNodeChild);
|
341
341
|
} else {
|
342
342
|
morphEl(
|
@@ -383,11 +383,11 @@ function morphdom(fromNode, toNode, host, componentsContext) {
|
|
383
383
|
);
|
384
384
|
keysByDOMNode.set(fragment, curToNodeKey);
|
385
385
|
vElementByDOMNode.set(fragment, curToNodeChild);
|
386
|
-
referenceComponent.
|
386
|
+
referenceComponent.L_[curToNodeKey] = fragment;
|
387
387
|
removeChild(curFromNodeChild);
|
388
388
|
removeChild(endNode);
|
389
389
|
|
390
|
-
if (!curToNodeChild.
|
390
|
+
if (!curToNodeChild.ae_) {
|
391
391
|
morphChildren(fragment, curToNodeChild, parentComponent);
|
392
392
|
}
|
393
393
|
|
@@ -412,7 +412,7 @@ function morphdom(fromNode, toNode, host, componentsContext) {
|
|
412
412
|
detachedByDOMNode.set(matchingFromEl, undefined);
|
413
413
|
}
|
414
414
|
|
415
|
-
if (!curToNodeChild.
|
415
|
+
if (!curToNodeChild.ae_) {
|
416
416
|
curVFromNodeChild = vElementByDOMNode.get(matchingFromEl);
|
417
417
|
|
418
418
|
if (
|
@@ -526,7 +526,7 @@ function morphdom(fromNode, toNode, host, componentsContext) {
|
|
526
526
|
curFromNodeChild = fromNextSibling;
|
527
527
|
|
528
528
|
if (
|
529
|
-
!globalComponentsContext.
|
529
|
+
!globalComponentsContext.r_[fromComponent.id])
|
530
530
|
{
|
531
531
|
destroyComponent(fromComponent);
|
532
532
|
}
|
@@ -658,7 +658,7 @@ function morphdom(fromNode, toNode, host, componentsContext) {
|
|
658
658
|
if (fromComponent = componentByDOMNode.get(curFromNodeChild)) {
|
659
659
|
curFromNodeChild = fromNextSibling;
|
660
660
|
if (
|
661
|
-
!globalComponentsContext.
|
661
|
+
!globalComponentsContext.r_[fromComponent.id])
|
662
662
|
{
|
663
663
|
destroyComponent(fromComponent);
|
664
664
|
}
|
@@ -674,7 +674,7 @@ function morphdom(fromNode, toNode, host, componentsContext) {
|
|
674
674
|
referenceComponent = parentComponent;
|
675
675
|
} else {
|
676
676
|
referenceComponent =
|
677
|
-
curVFromNodeChild && curVFromNodeChild.
|
677
|
+
curVFromNodeChild && curVFromNodeChild._N_;
|
678
678
|
}
|
679
679
|
|
680
680
|
detachNode(curFromNodeChild, fromNode, referenceComponent);
|
@@ -695,7 +695,7 @@ function morphdom(fromNode, toNode, host, componentsContext) {
|
|
695
695
|
|
696
696
|
morphAttrs(fromEl, vFromEl, toEl);
|
697
697
|
|
698
|
-
if (toEl.
|
698
|
+
if (toEl.ad_) {
|
699
699
|
return;
|
700
700
|
}
|
701
701
|
|
@@ -708,7 +708,7 @@ function morphdom(fromNode, toNode, host, componentsContext) {
|
|
708
708
|
}
|
709
709
|
} // END: morphEl(...)
|
710
710
|
|
711
|
-
morphChildren(fromNode, toNode, toNode.
|
711
|
+
morphChildren(fromNode, toNode, toNode.t_);
|
712
712
|
|
713
713
|
detachedNodes.forEach(function (node) {
|
714
714
|
var detachedFromComponent = detachedByDOMNode.get(node);
|
@@ -725,7 +725,7 @@ function morphdom(fromNode, toNode, host, componentsContext) {
|
|
725
725
|
detachedFromComponent !== true && detachedFromComponent
|
726
726
|
);
|
727
727
|
|
728
|
-
if (eventDelegation.
|
728
|
+
if (eventDelegation.ao_(node) != false) {
|
729
729
|
removeChild(node);
|
730
730
|
}
|
731
731
|
}
|
package/helpers/empty.js
ADDED
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "marko",
|
3
|
-
"version": "5.35.
|
3
|
+
"version": "5.35.22",
|
4
4
|
"description": "UI Components + streaming, async, high performance, HTML templating for Node.js and the browser.",
|
5
5
|
"keywords": [
|
6
6
|
"front-end",
|
@@ -47,6 +47,7 @@
|
|
47
47
|
"dist",
|
48
48
|
"docs",
|
49
49
|
"src",
|
50
|
+
"helpers",
|
50
51
|
"browser-refresh.js",
|
51
52
|
"compiler-browser.marko",
|
52
53
|
"compiler.js",
|
@@ -52,59 +52,16 @@ module.exports = function (input, out) {
|
|
52
52
|
function handleAwait(awaitInfo) {
|
53
53
|
let flushedScript = false;
|
54
54
|
let flushedContent = false;
|
55
|
-
let flushedPlaceholder =
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
asyncOut.script(
|
61
|
-
`$${reorderFunctionId}(` +
|
62
|
-
(typeof awaitInfo.id === "number"
|
63
|
-
? awaitInfo.id
|
64
|
-
: '"' + awaitInfo.id + '"') +
|
65
|
-
(awaitInfo.after ? ',"' + awaitInfo.after + '"' : "") +
|
66
|
-
")",
|
67
|
-
);
|
55
|
+
let flushedPlaceholder = awaitInfo.parent._state.finished;
|
56
|
+
if (flushedPlaceholder) {
|
57
|
+
if (awaitInfo.out._state.finished) {
|
58
|
+
writeResult(awaitInfo.out.___getResult());
|
59
|
+
return;
|
68
60
|
}
|
69
|
-
}
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
flushedContent = true;
|
74
|
-
if (!global._afRuntime) {
|
75
|
-
// Minified version of ./client-reorder-runtime.js
|
76
|
-
asyncOut.script(
|
77
|
-
`function $${reorderFunctionId}(d,a,e,l,g,h,k,b,f,c){c=$${reorderFunctionId};if(a&&!c[a])(c[a+="$"]||(c[a]=[])).push(d);else{e=document;l=e.getElementById("${reorderFunctionId}"+d);g=e.getElementById("${reorderFunctionId}ph"+d);h=e.createDocumentFragment();k=l.childNodes;b=0;for(f=k.length;b<f;b++)h.appendChild(k.item(0));g&&g.parentNode.replaceChild(h,g);c[d]=1;if(a=c[d+"$"])for(b=0,f=a.length;b<f;b++)c(a[b])}}`,
|
78
|
-
);
|
79
|
-
global._afRuntime = true;
|
80
|
-
}
|
81
|
-
|
82
|
-
if (global.cspNonce) {
|
83
|
-
asyncOut.write(
|
84
|
-
'<style nonce="' +
|
85
|
-
escapeDoubleQuotes(global.cspNonce) +
|
86
|
-
'">' +
|
87
|
-
`#${reorderFunctionId}` +
|
88
|
-
awaitInfo.id +
|
89
|
-
"{display:none;}" +
|
90
|
-
"</style>" +
|
91
|
-
`<div id="${reorderFunctionId}` +
|
92
|
-
awaitInfo.id +
|
93
|
-
'">' +
|
94
|
-
result.toString() +
|
95
|
-
"</div>",
|
96
|
-
);
|
97
|
-
} else {
|
98
|
-
asyncOut.write(
|
99
|
-
`<div id="${reorderFunctionId}` +
|
100
|
-
awaitInfo.id +
|
101
|
-
'" style="display:none">' +
|
102
|
-
result.toString() +
|
103
|
-
"</div>",
|
104
|
-
);
|
105
|
-
}
|
106
|
-
|
107
|
-
if (!flushedScript && flushedPlaceholder) {
|
61
|
+
} else {
|
62
|
+
awaitInfo.parent.on("___toString", () => {
|
63
|
+
flushedPlaceholder = true;
|
64
|
+
if (!flushedScript && flushedContent) {
|
108
65
|
flushedScript = true;
|
109
66
|
asyncOut.script(
|
110
67
|
`$${reorderFunctionId}(` +
|
@@ -115,21 +72,74 @@ module.exports = function (input, out) {
|
|
115
72
|
")",
|
116
73
|
);
|
117
74
|
}
|
75
|
+
});
|
76
|
+
}
|
118
77
|
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
out.flush();
|
124
|
-
|
125
|
-
if (--remaining === 0) {
|
126
|
-
asyncOut.end();
|
127
|
-
next();
|
128
|
-
}
|
129
|
-
})
|
78
|
+
awaitInfo.out
|
79
|
+
.on("___toString", out.emit.bind(out, "___toString"))
|
80
|
+
.on("finish", writeResult)
|
130
81
|
.on("error", function (err) {
|
131
82
|
asyncOut.error(err);
|
132
83
|
});
|
84
|
+
|
85
|
+
function writeResult(result) {
|
86
|
+
flushedContent = true;
|
87
|
+
if (!global._afRuntime) {
|
88
|
+
// Minified version of ./client-reorder-runtime.js
|
89
|
+
asyncOut.script(
|
90
|
+
`function $${reorderFunctionId}(d,a,e,l,g,h,k,b,f,c){c=$${reorderFunctionId};if(a&&!c[a])(c[a+="$"]||(c[a]=[])).push(d);else{e=document;l=e.getElementById("${reorderFunctionId}"+d);g=e.getElementById("${reorderFunctionId}ph"+d);h=e.createDocumentFragment();k=l.childNodes;b=0;for(f=k.length;b<f;b++)h.appendChild(k.item(0));g&&g.parentNode.replaceChild(h,g);c[d]=1;if(a=c[d+"$"])for(b=0,f=a.length;b<f;b++)c(a[b])}}`,
|
91
|
+
);
|
92
|
+
global._afRuntime = true;
|
93
|
+
}
|
94
|
+
|
95
|
+
if (global.cspNonce) {
|
96
|
+
asyncOut.write(
|
97
|
+
'<style nonce="' +
|
98
|
+
escapeDoubleQuotes(global.cspNonce) +
|
99
|
+
'">' +
|
100
|
+
`#${reorderFunctionId}` +
|
101
|
+
awaitInfo.id +
|
102
|
+
"{display:none;}" +
|
103
|
+
"</style>" +
|
104
|
+
`<div id="${reorderFunctionId}` +
|
105
|
+
awaitInfo.id +
|
106
|
+
'">' +
|
107
|
+
result.toString() +
|
108
|
+
"</div>",
|
109
|
+
);
|
110
|
+
} else {
|
111
|
+
asyncOut.write(
|
112
|
+
`<div id="${reorderFunctionId}` +
|
113
|
+
awaitInfo.id +
|
114
|
+
'" style="display:none">' +
|
115
|
+
result.toString() +
|
116
|
+
"</div>",
|
117
|
+
);
|
118
|
+
}
|
119
|
+
|
120
|
+
if (!flushedScript && flushedPlaceholder) {
|
121
|
+
flushedScript = true;
|
122
|
+
asyncOut.script(
|
123
|
+
`$${reorderFunctionId}(` +
|
124
|
+
(typeof awaitInfo.id === "number"
|
125
|
+
? awaitInfo.id
|
126
|
+
: '"' + awaitInfo.id + '"') +
|
127
|
+
(awaitInfo.after ? ',"' + awaitInfo.after + '"' : "") +
|
128
|
+
")",
|
129
|
+
);
|
130
|
+
}
|
131
|
+
|
132
|
+
awaitInfo.out.writer = asyncOut.writer;
|
133
|
+
|
134
|
+
out.emit("await:finish", awaitInfo);
|
135
|
+
|
136
|
+
out.flush();
|
137
|
+
|
138
|
+
if (--remaining === 0) {
|
139
|
+
asyncOut.end();
|
140
|
+
next();
|
141
|
+
}
|
142
|
+
}
|
133
143
|
}
|
134
144
|
|
135
145
|
awaitContext.instances.forEach(handleAwait);
|