@wiggindev/utils 0.1.2 → 0.1.3
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.
- package/package.json +1 -1
- package/src/element.ts +7 -13
- package/src/window.ts +7 -13
package/package.json
CHANGED
package/src/element.ts
CHANGED
@@ -1,33 +1,27 @@
|
|
1
1
|
import { EventListener, EventName, DomEventListener } from './events';
|
2
2
|
|
3
|
-
|
4
|
-
type ElementEventListener<E extends ElementEventName> = EventListener<
|
5
|
-
HTMLElementEventMap,
|
6
|
-
E
|
7
|
-
>;
|
8
|
-
|
9
|
-
export const on = <E extends ElementEventName>(
|
3
|
+
export const on = <E extends EventName<HTMLElementEventMap>>(
|
10
4
|
element: HTMLElement,
|
11
5
|
event: E,
|
12
|
-
listener:
|
6
|
+
listener: EventListener<HTMLElementEventMap, E>
|
13
7
|
) => {
|
14
8
|
element.addEventListener(event, listener as DomEventListener);
|
15
9
|
};
|
16
10
|
|
17
|
-
export const off = <E extends
|
11
|
+
export const off = <E extends EventName<HTMLElementEventMap>>(
|
18
12
|
element: HTMLElement,
|
19
13
|
event: E,
|
20
|
-
listener:
|
14
|
+
listener: EventListener<HTMLElementEventMap, E>
|
21
15
|
) => {
|
22
16
|
element.removeEventListener(event, listener as DomEventListener);
|
23
17
|
};
|
24
18
|
|
25
|
-
export const once = <E extends
|
19
|
+
export const once = <E extends EventName<HTMLElementEventMap>>(
|
26
20
|
element: HTMLElement,
|
27
21
|
event: E,
|
28
|
-
listener:
|
22
|
+
listener: EventListener<HTMLElementEventMap, E>
|
29
23
|
) => {
|
30
|
-
const wrappedListener:
|
24
|
+
const wrappedListener: EventListener<HTMLElementEventMap, E> = e => {
|
31
25
|
listener(e);
|
32
26
|
off(element, event, wrappedListener);
|
33
27
|
};
|
package/src/window.ts
CHANGED
@@ -1,30 +1,24 @@
|
|
1
1
|
import { EventListener, EventName, DomEventListener } from './events';
|
2
2
|
|
3
|
-
|
4
|
-
type WindowEventListener<E extends WindowEventName> = EventListener<
|
5
|
-
WindowEventMap,
|
6
|
-
E
|
7
|
-
>;
|
8
|
-
|
9
|
-
export const on = <E extends WindowEventName>(
|
3
|
+
export const on = <E extends EventName<WindowEventMap>>(
|
10
4
|
event: E,
|
11
|
-
listener:
|
5
|
+
listener: EventListener<WindowEventMap, E>
|
12
6
|
) => {
|
13
7
|
window.addEventListener(event, listener as DomEventListener);
|
14
8
|
};
|
15
9
|
|
16
|
-
export const off = <E extends
|
10
|
+
export const off = <E extends EventName<WindowEventMap>>(
|
17
11
|
event: E,
|
18
|
-
listener:
|
12
|
+
listener: EventListener<WindowEventMap, E>
|
19
13
|
) => {
|
20
14
|
window.removeEventListener(event, listener as DomEventListener);
|
21
15
|
};
|
22
16
|
|
23
|
-
export const once = <E extends
|
17
|
+
export const once = <E extends EventName<WindowEventMap>>(
|
24
18
|
event: E,
|
25
|
-
listener:
|
19
|
+
listener: EventListener<WindowEventMap, E>
|
26
20
|
) => {
|
27
|
-
const wrappedListener:
|
21
|
+
const wrappedListener: EventListener<WindowEventMap, E> = e => {
|
28
22
|
listener(e);
|
29
23
|
off(event, wrappedListener);
|
30
24
|
};
|