-
1
-
2
-
3
-
4
-
5
-
6
-
7
-
8
-
9
-
10
-
11
-
12
-
13
-
14
-
15
-
16
-
17
-
18
-
19
-
20
-
21
-
22
-
23
-
24
-
25
-
26
-
27
-
28
-
29
-
30
-
31
-
32
-
33
-
34
-
35
-
36
-
37
-
38
-
39
-
40
-
41
-
42
// SPDX-FileCopyrightText: 2024 Shota FUJI <pockawoooh@gmail.com>
// SPDX-License-Identifier: AGPL-3.0-only
export function createTextNode(text: string): Text {
return document.createTextNode(text);
}
export function createHTMLElement(tagName: string): HTMLElement {
return document.createElement(tagName);
}
export function setAttribute<T extends Element>(
element: T,
name: string,
value: string,
): T {
element.setAttribute(name, value);
return element;
}
export function removeAttribute<T extends Element>(element: T, name: string): T {
element.removeAttribute(name);
return element;
}
export function appendChild<T extends Element>(parent: T, node: Node): T {
parent.appendChild(node);
return parent;
}
export function removeNode<T extends Node>(node: T): void {
node.parentNode?.removeChild(node);
}
export function addEventListener<T extends Element>(
element: T,
eventName: string,
listener: (event: Event) => void,
): T {
element.addEventListener(eventName, listener);
return element;
}