marko 4.28.3 → 4.28.4
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.
|
@@ -437,7 +437,7 @@ function morphdom(fromNode, toNode, host, componentsContext) {
|
|
|
437
437
|
var curToNodeValue = curToNodeChild.bW_;
|
|
438
438
|
var curFromNodeValue = curFromNodeChild.nodeValue;
|
|
439
439
|
if (curFromNodeValue !== curToNodeValue) {
|
|
440
|
-
if (isHydrate && curFromNodeType === TEXT_NODE && curFromNodeValue.startsWith(curToNodeValue)) {
|
|
440
|
+
if (isHydrate && toNextSibling && curFromNodeType === TEXT_NODE && toNextSibling.bX_ === TEXT_NODE && curFromNodeValue.startsWith(curToNodeValue) && toNextSibling.bW_.startsWith(curFromNodeValue.slice(curToNodeValue.length))) {
|
|
441
441
|
// In hydrate mode we can use splitText to more efficiently handle
|
|
442
442
|
// adjacent text vdom nodes that were merged.
|
|
443
443
|
fromNextSibling = curFromNodeChild.splitText(curToNodeValue.length);
|
package/package.json
CHANGED
|
@@ -292,13 +292,13 @@ function morphdom(fromNode, toNode, host, componentsContext) {
|
|
|
292
292
|
curFromNodeChild,
|
|
293
293
|
curVFromNodeChild,
|
|
294
294
|
curToNodeChild,
|
|
295
|
-
parentComponent
|
|
295
|
+
parentComponent
|
|
296
296
|
);
|
|
297
297
|
} else {
|
|
298
298
|
morphChildren(
|
|
299
299
|
curFromNodeChild,
|
|
300
300
|
curToNodeChild,
|
|
301
|
-
parentComponent
|
|
301
|
+
parentComponent
|
|
302
302
|
);
|
|
303
303
|
}
|
|
304
304
|
} else {
|
|
@@ -484,10 +484,9 @@ function morphdom(fromNode, toNode, host, componentsContext) {
|
|
|
484
484
|
morphChildren(
|
|
485
485
|
matchingFromEl,
|
|
486
486
|
curToNodeChild,
|
|
487
|
-
parentComponent
|
|
487
|
+
parentComponent
|
|
488
488
|
);
|
|
489
489
|
}
|
|
490
|
-
|
|
491
490
|
} else {
|
|
492
491
|
insertVirtualNodeBefore(
|
|
493
492
|
curToNodeChild,
|
|
@@ -594,13 +593,18 @@ function morphdom(fromNode, toNode, host, componentsContext) {
|
|
|
594
593
|
if (curFromNodeValue !== curToNodeValue) {
|
|
595
594
|
if (
|
|
596
595
|
isHydrate &&
|
|
596
|
+
toNextSibling &&
|
|
597
597
|
curFromNodeType === TEXT_NODE &&
|
|
598
|
-
|
|
598
|
+
toNextSibling.___nodeType === TEXT_NODE &&
|
|
599
|
+
curFromNodeValue.startsWith(curToNodeValue) &&
|
|
600
|
+
toNextSibling.___nodeValue.startsWith(
|
|
601
|
+
curFromNodeValue.slice(curToNodeValue.length)
|
|
602
|
+
)
|
|
599
603
|
) {
|
|
600
604
|
// In hydrate mode we can use splitText to more efficiently handle
|
|
601
605
|
// adjacent text vdom nodes that were merged.
|
|
602
606
|
fromNextSibling = curFromNodeChild.splitText(
|
|
603
|
-
curToNodeValue.length
|
|
607
|
+
curToNodeValue.length
|
|
604
608
|
);
|
|
605
609
|
} else {
|
|
606
610
|
// Simply update nodeValue on the original node to
|