Move TypedEventEmitter into its own file

This commit is contained in:
Hornwitser committed 2024-01-08 23:47:24 +01:00
1 parent 001db4befe
commit 7bbb44d4e6
4 files changed
+30 -11

No files matched your search

+1 -11
View File
@@ -2,17 +2,7 @@ import fs from "fs-extra";
import path from "path";
import { logger } from "./logging";
import { ModInfo } from "./data";
import EventEmitter from "events";
abstract class TypedEventEmitter<
Keys extends string,
Events extends Record<Keys, (...args: [...any]) => void>,
> extends EventEmitter {
declare ["on"]: <E extends Keys>(event: E, listener: Events[E]) => this;
declare ["off"]: <E extends Keys>(event: E, listener: Events[E]) => this;
declare ["once"]: <E extends Keys>(event: E, listener: Events[E]) => this;
declare ["emit"]: <E extends Keys>(event: E, ...args: Parameters<Events[E]>) => boolean;
}
import TypedEventEmitter from "./TypedEventEmitter";
export interface ModStoreEvents {
/** A stored mod was created, updated or deleted */