forked from PerryTS/perry
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtest_callback10.ts
More file actions
36 lines (28 loc) · 884 Bytes
/
Copy pathtest_callback10.ts
File metadata and controls
36 lines (28 loc) · 884 Bytes
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
import { EventEmitter } from 'events';
interface ProcessedEvent {
network: string;
data: string;
}
class DemoWebSocketConnection extends EventEmitter {
public connect(): void {
this.emit('event', { network: 'eth', data: 'test' });
}
}
class MultiNetworkManager extends EventEmitter {
private connections: Map<string, DemoWebSocketConnection> = new Map();
public initialize(): void {
const networks = ['ethereum'];
networks.map((network) => {
const connection = new DemoWebSocketConnection();
// NOTE: Added type annotation to event parameter
connection.on('event', (event: ProcessedEvent) => {
this.emit('event', event);
});
connection.connect();
this.connections.set(network, connection);
});
}
}
const manager = new MultiNetworkManager();
manager.initialize();
console.log("Test");