wangzhibo
2026-07-16 b57020623cf0c946706573bf102e548c3a544423
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 };