From d675f1410f2eb5c44b6169171a3bbf3b7e2d35cf Mon Sep 17 00:00:00 2001
From: flashwave <me@flash.moe>
Date: Sun, 13 Apr 2025 00:46:51 +0000
Subject: [PATCH] Ported removeChild util.

---
 assets/common.js/html.js | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/assets/common.js/html.js b/assets/common.js/html.js
index 35fe14d8..6e28693c 100644
--- a/assets/common.js/html.js
+++ b/assets/common.js/html.js
@@ -43,6 +43,24 @@ const $appendChildren = function(element, ...children) {
         $appendChild(element, child);
 };
 
+const $removeChild = function(element, child) {
+    switch(typeof child) {
+        case 'function':
+            $removeChild(element, child());
+            break;
+
+        case 'object':
+            if(child === null)
+                break;
+
+            if(child instanceof Node)
+                element.removeChild(child);
+            else if(child?.element instanceof Node)
+                element.removeChild(child.element);
+            break;
+    }
+};
+
 const $removeChildren = function(element) {
     while(element.lastChild)
         element.removeChild(element.lastChild);