Skip to content

Commit 08237c6

Browse files
authored
chore(internal): move TypedEventTarget from events.ts to typed_event_target.ts (#574)
1 parent 70ed5c8 commit 08237c6

File tree

4 files changed

+51
-51
lines changed

4 files changed

+51
-51
lines changed

connection.ts

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,12 @@ import {
55
InvalidStateError,
66
isRetriableError,
77
} from "./errors.ts";
8-
import type { ConnectionEventMap, TypedEventTarget } from "./events.ts";
9-
import { createTypedEventTarget, dispatchEvent } from "./events.ts";
8+
import type { ConnectionEventMap } from "./events.ts";
9+
import type { TypedEventTarget } from "./internal/typed_event_target.ts";
10+
import {
11+
createTypedEventTarget,
12+
dispatchEvent,
13+
} from "./internal/typed_event_target.ts";
1014
import {
1115
kUnstableCreateProtocol,
1216
kUnstablePipeline,

events.ts

Lines changed: 0 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -1,47 +1,3 @@
1-
export interface TypedEventTarget<TEventMap extends Record<string, unknown>>
2-
extends
3-
Omit<
4-
EventTarget,
5-
"addEventListener" | "removeEventListener" | "dispatchEvent"
6-
> {
7-
addEventListener<K extends keyof TEventMap>(
8-
type: K,
9-
callback: (
10-
event: CustomEvent<TEventMap[K]>,
11-
) => void,
12-
options?: AddEventListenerOptions | boolean,
13-
): void;
14-
15-
removeEventListener<K extends keyof TEventMap>(
16-
type: K,
17-
callback: (
18-
event: CustomEvent<TEventMap[K]>,
19-
) => void,
20-
options?: EventListenerOptions | boolean,
21-
): void;
22-
}
23-
24-
export function createTypedEventTarget<
25-
TEventMap extends Record<string, unknown>,
26-
>(): TypedEventTarget<TEventMap> {
27-
return new EventTarget() as TypedEventTarget<TEventMap>;
28-
}
29-
30-
export function dispatchEvent<
31-
TEventMap extends Record<string, unknown>,
32-
TKey extends Extract<keyof TEventMap, string>,
33-
>(
34-
eventTarget: TypedEventTarget<TEventMap>,
35-
event: TKey,
36-
detail: TEventMap[TKey],
37-
): boolean {
38-
return (eventTarget as EventTarget).dispatchEvent(
39-
new CustomEvent(event, {
40-
detail,
41-
}),
42-
);
43-
}
44-
451
export type ConnectionEvent = Record<string, unknown>;
462

473
export type ConnectionErrorEventDetails = {

internal/typed_event_target.ts

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
export interface TypedEventTarget<TEventMap extends Record<string, unknown>>
2+
extends
3+
Omit<
4+
EventTarget,
5+
"addEventListener" | "removeEventListener" | "dispatchEvent"
6+
> {
7+
addEventListener<K extends keyof TEventMap>(
8+
type: K,
9+
callback: (
10+
event: CustomEvent<TEventMap[K]>,
11+
) => void,
12+
options?: AddEventListenerOptions | boolean,
13+
): void;
14+
15+
removeEventListener<K extends keyof TEventMap>(
16+
type: K,
17+
callback: (
18+
event: CustomEvent<TEventMap[K]>,
19+
) => void,
20+
options?: EventListenerOptions | boolean,
21+
): void;
22+
}
23+
24+
export function createTypedEventTarget<
25+
TEventMap extends Record<string, unknown>,
26+
>(): TypedEventTarget<TEventMap> {
27+
return new EventTarget() as TypedEventTarget<TEventMap>;
28+
}
29+
30+
export function dispatchEvent<
31+
TEventMap extends Record<string, unknown>,
32+
TKey extends Extract<keyof TEventMap, string>,
33+
>(
34+
eventTarget: TypedEventTarget<TEventMap>,
35+
event: TKey,
36+
detail: TEventMap[TKey],
37+
): boolean {
38+
return (eventTarget as EventTarget).dispatchEvent(
39+
new CustomEvent(event, {
40+
detail,
41+
}),
42+
);
43+
}

redis.ts

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -49,11 +49,8 @@ import type { Connection, SendCommandOptions } from "./connection.ts";
4949
import type { RedisConnectionOptions } from "./connection.ts";
5050
import type { Client, RedisSubscription } from "./client.ts";
5151
import { createDefaultClient } from "./default_client.ts";
52-
import type {
53-
ConnectionEventMap,
54-
ConnectionEventType,
55-
TypedEventTarget,
56-
} from "./events.ts";
52+
import type { ConnectionEventMap, ConnectionEventType } from "./events.ts";
53+
import type { TypedEventTarget } from "./internal/typed_event_target.ts";
5754
import type {
5855
Binary,
5956
Bulk,

0 commit comments

Comments
 (0)