1 files changed, 8 insertions, 1 deletions
diff --git a/src/util/plugin/Plugin.ts b/src/util/plugin/Plugin.ts
index 96e05843..1c86a006 100644
--- a/src/util/plugin/Plugin.ts
+++ b/src/util/plugin/Plugin.ts
@@ -6,7 +6,14 @@ type PluginEvents = {
loaded: () => void;
};
-export class Plugin extends (EventEmitter as new () => TypedEventEmitter<PluginEvents>) {
+//this doesnt work, check later:
+ //(EventEmitter as new () => TypedEventEmitter<PluginEvents>) {
+export class Plugin extends EventEmitter {
+ private _untypedOn = this.on
+ private _untypedEmit = this.emit
+ public on = <K extends keyof PluginEvents>(event: K, listener: PluginEvents[K]): this => this._untypedOn(event, listener)
+ public emit = <K extends keyof PluginEvents>(event: K, ...args: Parameters<PluginEvents[K]>): boolean => this._untypedEmit(event, ...args)
+
async init() {
// insert default config into database?
}
|