Skip to content

Commit 4de7e18

Browse files
committed
Fix usage of Player event map
1 parent e510f14 commit 4de7e18

File tree

2 files changed

+6
-4
lines changed

2 files changed

+6
-4
lines changed

src/ts/UIManager.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -911,7 +911,7 @@ export class PlayerWrapper {
911911
private player: PlayerAPI;
912912
private wrapper: WrappedPlayer;
913913

914-
private eventHandlers: { [eventType: string]: PlayerEventCallback[] } = {};
914+
private eventHandlers: { [eventType: string]: PlayerEventCallback<PlayerEvent>[] } = {};
915915

916916
constructor(player: PlayerAPI) {
917917
this.player = player;
@@ -973,7 +973,7 @@ export class PlayerWrapper {
973973
}
974974

975975
// Explicitly add a wrapper method for 'on' that adds added event handlers to the event list
976-
wrapper.on = (eventType: PlayerEvent, callback: PlayerEventCallback) => {
976+
wrapper.on = <T extends PlayerEvent>(eventType: T, callback: PlayerEventCallback<T>) => {
977977
player.on(eventType, callback);
978978

979979
if (!this.eventHandlers[eventType]) {
@@ -986,7 +986,7 @@ export class PlayerWrapper {
986986
};
987987

988988
// Explicitly add a wrapper method for 'off' that removes removed event handlers from the event list
989-
wrapper.off = (eventType: PlayerEvent, callback: PlayerEventCallback) => {
989+
wrapper.off = <T extends PlayerEvent>(eventType: T, callback: PlayerEventCallback<T>) => {
990990
player.off(eventType, callback);
991991

992992
if (this.eventHandlers[eventType]) {

src/ts/utils/MobileV3PlayerAPI.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import { PlayerAPI, PlayerEvent, PlayerEventBase, PlayerEventCallback } from 'bitmovin-player';
22
import { WrappedPlayer } from '../UIManager';
3+
import type { PlayerEventMap } from 'bitmovin-player/types/core/Events';
34

45
export enum MobileV3PlayerEvent {
56
SourceError = 'sourceerror',
@@ -20,7 +21,8 @@ export interface MobileV3SourceErrorEvent extends PlayerEventBase {
2021
export type MobileV3PlayerEventType = PlayerEvent | MobileV3PlayerEvent;
2122

2223
export interface MobileV3PlayerAPI extends PlayerAPI {
23-
on(eventType: MobileV3PlayerEventType, callback: PlayerEventCallback): void;
24+
on<T extends PlayerEvent>(eventType: T, callback: PlayerEventCallback<T>): void;
25+
on<T extends MobileV3PlayerEvent>(eventType: T, callback: (event: PlayerEventBase) => void): void;
2426
exports: PlayerAPI['exports'] & { PlayerEvent: MobileV3PlayerEventType };
2527
}
2628

0 commit comments

Comments
 (0)