Skip to content

Commit 50a714e

Browse files
committed
👍 the type of event is generic
1 parent 29123a1 commit 50a714e

File tree

1 file changed

+8
-8
lines changed

1 file changed

+8
-8
lines changed

baseStore.ts

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,17 @@
1-
export type BaseStoreListenerInit<Derived extends BaseStore> = {
1+
export type BaseStoreListenerInit<Event, Derived extends BaseStore<Event>> = {
22
store: Derived;
3-
event: string;
3+
event: Event;
44
};
5-
export type BaseStoreListener<Derived extends BaseStore> = (
6-
init: BaseStoreListenerInit<Derived>,
5+
export type BaseStoreListener<Event, Derived extends BaseStore<Event>> = (
6+
init: BaseStoreListenerInit<Event, Derived>,
77
) => void;
8-
export declare class BaseStore {
8+
export declare class BaseStore<Event = string> {
99
constructor();
1010

11-
public addChangeListener(listener: BaseStoreListener<this>): void;
12-
public removeChangeListener(listener: BaseStoreListener<this>): void;
11+
public addChangeListener(listener: BaseStoreListener<Event, this>): void;
12+
public removeChangeListener(listener: BaseStoreListener<Event, this>): void;
1313
public emitChange(event: string): void;
1414
public get listenersCount(): number;
1515

16-
private _onChangeListeners: BaseStoreListener<this>[];
16+
private _onChangeListeners: BaseStoreListener<Event, this>[];
1717
}

0 commit comments

Comments
 (0)