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.
Files changed (71) hide show
  1. package/dist/core-tags/core/await/reorderer-renderer.js +29 -19
  2. package/dist/node_modules/@internal/components-beginComponent/index-browser.js +4 -4
  3. package/dist/node_modules/@internal/components-beginComponent/index.js +11 -11
  4. package/dist/node_modules/@internal/components-define-widget-legacy/index-browser.js +45 -45
  5. package/dist/node_modules/@internal/components-define-widget-legacy/index.js +3 -3
  6. package/dist/node_modules/@internal/components-endComponent/index.js +3 -3
  7. package/dist/node_modules/@internal/components-entry/index-browser.js +2 -2
  8. package/dist/node_modules/@internal/components-entry/index.js +17 -17
  9. package/dist/node_modules/@internal/components-entry-legacy/index-browser.js +6 -6
  10. package/dist/node_modules/@internal/components-registry/index-browser.js +46 -46
  11. package/dist/node_modules/@internal/components-registry/index.js +2 -2
  12. package/dist/node_modules/@internal/components-util/index-browser.js +20 -20
  13. package/dist/node_modules/@internal/components-util/index.js +9 -9
  14. package/dist/node_modules/@internal/create-readable/index-browser.js +1 -1
  15. package/dist/node_modules/@internal/create-readable/index.js +9 -9
  16. package/dist/node_modules/@internal/preserve-tag/index-browser.js +7 -7
  17. package/dist/node_modules/@internal/preserve-tag/index.js +5 -5
  18. package/dist/node_modules/@internal/set-immediate/index-browser.js +1 -1
  19. package/dist/node_modules/@internal/set-immediate/index-worker.js +2 -2
  20. package/dist/node_modules/@internal/set-immediate/index.js +2 -2
  21. package/dist/runtime/RenderResult.js +8 -8
  22. package/dist/runtime/components/Component.js +145 -145
  23. package/dist/runtime/components/ComponentDef.js +29 -29
  24. package/dist/runtime/components/ComponentsContext.js +15 -15
  25. package/dist/runtime/components/GlobalComponentsContext.js +4 -4
  26. package/dist/runtime/components/KeySequence.js +3 -3
  27. package/dist/runtime/components/ServerComponent.js +13 -13
  28. package/dist/runtime/components/State.js +26 -26
  29. package/dist/runtime/components/attach-detach.js +8 -8
  30. package/dist/runtime/components/defineComponent.js +5 -5
  31. package/dist/runtime/components/dom-data.js +5 -5
  32. package/dist/runtime/components/event-delegation.js +10 -10
  33. package/dist/runtime/components/legacy/defineComponent-legacy.js +1 -1
  34. package/dist/runtime/components/legacy/defineRenderer-legacy.js +16 -16
  35. package/dist/runtime/components/legacy/dependencies/index.js +7 -7
  36. package/dist/runtime/components/legacy/renderer-legacy.js +43 -43
  37. package/dist/runtime/components/renderer.js +35 -35
  38. package/dist/runtime/components/update-manager.js +4 -4
  39. package/dist/runtime/createOut.js +1 -1
  40. package/dist/runtime/dom-insert.js +5 -5
  41. package/dist/runtime/helpers/_change-case.js +2 -2
  42. package/dist/runtime/helpers/dynamic-tag.js +18 -18
  43. package/dist/runtime/helpers/render-tag.js +1 -1
  44. package/dist/runtime/helpers/serialize-noop.js +2 -2
  45. package/dist/runtime/helpers/style-value.js +1 -1
  46. package/dist/runtime/helpers/tags-compat/runtime-dom.js +24 -24
  47. package/dist/runtime/helpers/tags-compat/runtime-html.js +8 -8
  48. package/dist/runtime/html/AsyncStream.js +26 -26
  49. package/dist/runtime/html/BufferedWriter.js +2 -2
  50. package/dist/runtime/html/helpers/data-marko.js +4 -4
  51. package/dist/runtime/html/helpers/escape-xml.js +1 -1
  52. package/dist/runtime/html/index.js +2 -2
  53. package/dist/runtime/renderable.js +5 -5
  54. package/dist/runtime/vdom/AsyncVDOMBuilder.js +42 -42
  55. package/dist/runtime/vdom/VComment.js +1 -1
  56. package/dist/runtime/vdom/VComponent.js +2 -2
  57. package/dist/runtime/vdom/VDocumentFragment.js +2 -2
  58. package/dist/runtime/vdom/VElement.js +13 -13
  59. package/dist/runtime/vdom/VFragment.js +5 -5
  60. package/dist/runtime/vdom/VNode.js +4 -4
  61. package/dist/runtime/vdom/VText.js +1 -1
  62. package/dist/runtime/vdom/hot-reload.js +18 -18
  63. package/dist/runtime/vdom/index.js +2 -2
  64. package/dist/runtime/vdom/morphdom/fragment.js +2 -2
  65. package/dist/runtime/vdom/morphdom/helpers.js +4 -4
  66. package/dist/runtime/vdom/morphdom/index.js +46 -46
  67. package/helpers/README.md +3 -0
  68. package/helpers/empty.js +4 -0
  69. package/helpers/notEmpty.js +11 -0
  70. package/package.json +2 -1
  71. 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._l_;
4
- var destroyNodeRecursive = componentsUtil._R_;
3
+ var existingComponentLookup = componentsUtil._m_;
4
+ var destroyNodeRecursive = componentsUtil._S_;
5
5
  var addComponentRootToKeyedElements =
6
- componentsUtil._m_;
7
- var normalizeComponentKey = componentsUtil._U_;
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._n_;
17
- var componentByDOMNode = domData._p_;
18
- var vElementByDOMNode = domData._K_;
19
- var detachedByDOMNode = domData.aW_;
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.bf_;
22
- var insertAfter = helpers.bg_;
21
+ var insertBefore = helpers.bg_;
22
+ var insertAfter = helpers.bh_;
23
23
  var nextSibling = helpers.cp_;
24
- var firstChild = helpers.aA_;
25
- var removeChild = helpers.bh_;
26
- var createFragmentNode = fragment._k_;
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.aV_(node, componentsContext);
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.p_;
65
- isHydrate = globalComponentsContext._Z_;
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.bo_(host, parentEl.namespaceURI);
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).K_[
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._E_ = insertBefore(
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.K_,
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._E_, vComponent, 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.aA_;
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._M_ || parentComponent;
173
+ var ownerComponent = curToNodeChild._N_ || parentComponent;
174
174
  var referenceComponent;
175
175
 
176
176
  if (curToNodeType === COMPONENT_NODE) {
177
- var component = curToNodeChild.s_;
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._E_ = rootNode;
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.K_,
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._E_ !== curFromNodeChild) {
217
+ if (matchingFromComponent._F_ !== curFromNodeChild) {
218
218
  if (
219
219
  curFromNodeChild && (
220
220
  fromComponent = componentByDOMNode.get(curFromNodeChild)) &&
221
- globalComponentsContext.q_[
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._E_);
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._E_,
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.ad_) {
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())).aN_(
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.ad_) {
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.K_[curToNodeKey];
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.ad_ ||
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.K_[curToNodeKey] =
336
+ referenceComponent.L_[curToNodeKey] =
337
337
  curFromNodeChild;
338
338
 
339
- if (curToNodeChild.ad_) {
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.K_[curToNodeKey] = fragment;
386
+ referenceComponent.L_[curToNodeKey] = fragment;
387
387
  removeChild(curFromNodeChild);
388
388
  removeChild(endNode);
389
389
 
390
- if (!curToNodeChild.ad_) {
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.ad_) {
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.q_[fromComponent.id])
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.q_[fromComponent.id])
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._M_;
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.ac_) {
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.s_);
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.an_(node) != false) {
728
+ if (eventDelegation.ao_(node) != false) {
729
729
  removeChild(node);
730
730
  }
731
731
  }
@@ -0,0 +1,3 @@
1
+ # Marko Helpers
2
+
3
+ This directory contains helpers that were deprecated in Marko v3. Marko v4/5 no longer adds these helpers to every compiled template, but you can still import them if needed.
@@ -0,0 +1,4 @@
1
+ var notEmpty = require("./notEmpty");
2
+ module.exports = function empty(o) {
3
+ return !notEmpty(o);
4
+ };
@@ -0,0 +1,11 @@
1
+ module.exports = function (o) {
2
+ if (o == null) {
3
+ return false;
4
+ } else if (Array.isArray(o)) {
5
+ return !!o.length;
6
+ } else if (o === "") {
7
+ return false;
8
+ }
9
+
10
+ return true;
11
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "marko",
3
- "version": "5.35.21",
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 = false;
56
- awaitInfo.parent.on("___toString", () => {
57
- flushedPlaceholder = true;
58
- if (!flushedScript && flushedContent) {
59
- flushedScript = true;
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
- awaitInfo.out
71
- .on("___toString", out.emit.bind(out, "___toString"))
72
- .on("finish", function (result) {
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
- awaitInfo.out.writer = asyncOut.writer;
120
-
121
- out.emit("await:finish", awaitInfo);
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);