From 926f9875fae56d1229d3992093666bdd106c01ef Mon Sep 17 00:00:00 2001 From: Sjoerd Mulder Date: Tue, 6 Aug 2024 10:20:09 +0200 Subject: [PATCH 1/4] Adding contains method --- src/index.d.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/src/index.d.ts b/src/index.d.ts index 269e242bfb..6a0a8f7853 100644 --- a/src/index.d.ts +++ b/src/index.d.ts @@ -293,6 +293,7 @@ interface ContainerNode { readonly firstChild: ContainerNode | null; readonly childNodes: ArrayLike; + contains(other: ContainerNode | null): boolean; insertBefore(node: ContainerNode, child: ContainerNode | null): ContainerNode; appendChild(node: ContainerNode): ContainerNode; removeChild(child: ContainerNode): ContainerNode; From dffcbe74b1b5a01ce17f5bd678001d2ba05ef1b8 Mon Sep 17 00:00:00 2001 From: Sjoerd Mulder Date: Tue, 6 Aug 2024 10:28:02 +0200 Subject: [PATCH 2/4] Fix for typescript issue --- src/diff/children.js | 1 - 1 file changed, 1 deletion(-) diff --git a/src/diff/children.js b/src/diff/children.js index 93064c37dd..e50ca1cef5 100644 --- a/src/diff/children.js +++ b/src/diff/children.js @@ -373,7 +373,6 @@ function insert(parentVNode, oldDom, parentDom) { if ( oldDom && parentVNode.type && - // @ts-expect-error olDom should be present on a DOM node !parentDom.contains(oldDom) ) { oldDom = getDomSibling(parentVNode); From 318c3d00b433c0755b2055520a9df216c5b7b1df Mon Sep 17 00:00:00 2001 From: Sjoerd Mulder Date: Tue, 6 Aug 2024 10:36:49 +0200 Subject: [PATCH 3/4] Update preact.tsx --- test/ts/preact.tsx | 1 + 1 file changed, 1 insertion(+) diff --git a/test/ts/preact.tsx b/test/ts/preact.tsx index bbc905d541..68c8fcab3d 100644 --- a/test/ts/preact.tsx +++ b/test/ts/preact.tsx @@ -97,6 +97,7 @@ function createRootFragment(parent: Element, replaceNode: Element | Element[]) { parentNode: parent, firstChild: replaceNodes[0], childNodes: replaceNodes, + contains: (c) => parent.contains(c), insertBefore: insert, appendChild: (c: Node) => insert(c, null), removeChild: function (c: Node) { From 8b046de21bfba398710c26da13eed574722d201a Mon Sep 17 00:00:00 2001 From: Sjoerd Mulder Date: Tue, 6 Aug 2024 10:44:02 +0200 Subject: [PATCH 4/4] Update preact.tsx --- test/ts/preact.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/ts/preact.tsx b/test/ts/preact.tsx index 68c8fcab3d..3713f9d8f5 100644 --- a/test/ts/preact.tsx +++ b/test/ts/preact.tsx @@ -97,7 +97,7 @@ function createRootFragment(parent: Element, replaceNode: Element | Element[]) { parentNode: parent, firstChild: replaceNodes[0], childNodes: replaceNodes, - contains: (c) => parent.contains(c), + contains: (c: Node) => parent.contains(c), insertBefore: insert, appendChild: (c: Node) => insert(c, null), removeChild: function (c: Node) {