fix: introduce generic types for EventData

This commit is contained in:
shirakaba
2023-01-22 12:24:42 +09:00
parent 485fb61947
commit 8840fefa38
37 changed files with 228 additions and 228 deletions

View File

@@ -13,7 +13,7 @@ export class ChangeType {
/**
* Event args for "changed" event.
*/
export interface ChangedData<T> extends EventData {
export interface ChangedData<T, O extends Observable = Observable> extends EventData<O> {
/**
* Change type.
*/
@@ -429,7 +429,7 @@ export interface ObservableArray<T> {
* @param callback - Callback function which will be executed when event is raised.
* @param thisArg - An optional parameter which will be used as `this` context for callback execution.
*/
on(eventNames: string, callback: (data: EventData) => void, thisArg?: any): void;
on<T extends Observable = Observable>(eventNames: string, callback: (data: EventData<T>) => void, thisArg?: any): void;
on(event: 'change', callback: (args: ChangedData<T>) => void, thisArg?: any): void;
on<T extends Observable = Observable>(event: 'change', callback: (args: ChangedData<T>) => void, thisArg?: any): void;
}