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
| import _mitt from "mitt";
|
| const mitt = _mitt();
|
| class Mitt {
| id: number;
|
| constructor(id?: number) {
| this.id = id || 0;
| }
|
| send(type: "emit" | "off" | "on", name: string, ...args: any[]) {
| // @ts-expect-error
| mitt[type](`${this.id}__${name}`, ...args);
| }
|
| emit(name: string, ...args: any[]) {
| this.send("emit", name, ...args);
| }
|
| off(name: string, handler: (...args: any[]) => void) {
| this.send("off", name, handler);
| }
|
| on(name: string, handler: (...args: any[]) => void) {
| this.send("on", name, handler);
| }
| }
|
| export { Mitt, mitt };
|
|