Skip to content

Commit 8556111

Browse files
committed
fix(types): improve types
1 parent 2f9aca8 commit 8556111

File tree

2 files changed

+9
-4
lines changed

2 files changed

+9
-4
lines changed

src/types.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ export namespace JSX {
8686
} & {
8787
[Tag in keyof SVGElementTagNameMap as Tag extends "svg"
8888
? Tag
89-
: `svg:${Tag}`]: IntrinsicElementAttributes<SVGElementTagNameMap[Tag]> & {
89+
: `svg:${Tag}`]: { [key: string]: any } & {
9090
children?: ShadowElement;
9191
className: string;
9292
onplusnewerror?: (evt: PlusnewErrorEvent) => void;

src/utils.ts

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ export function addEventListener(
8383
this: HTMLElement,
8484
eventName: string,
8585
listener: (event: Event) => unknown,
86-
options?: AddEventListenerOptions,
86+
options?: boolean | AddEventListenerOptions,
8787
) {
8888
if (eventListenerSymbol in this === false) {
8989
(this as any)[eventListenerSymbol] = {};
@@ -93,8 +93,12 @@ export function addEventListener(
9393
}
9494

9595
const listenerOverwrite = (evt: Event) => {
96-
if (options?.once === true) {
97-
this.removeEventListener(eventName, listener);
96+
if (
97+
typeof options === "object" &&
98+
options !== null &&
99+
options?.once === true
100+
) {
101+
(this as any)[eventListenerSymbol]?.[eventName]?.delete(listener);
98102
}
99103

100104
const result = listener(evt);
@@ -103,6 +107,7 @@ export function addEventListener(
103107
active.eventPromises.push(result);
104108
}
105109
};
110+
106111
(this as any)[eventListenerSymbol][eventName].set(
107112
listener,
108113
listenerOverwrite,

0 commit comments

Comments
 (0)