UNPKG

@wscsports/blaze-rtn-sdk

Version:
143 lines (140 loc) 4.29 kB
import { CommonParser } from './common-parser'; import { parseBlazeError } from '../interfaces/blaze-error.interface'; // Shared parameter interfaces for base player delegate // Base player delegate interface - shared between Widget and EntryPoint delegates // Base player delegate handler - eliminates duplicate code between Widget and EntryPoint delegates export class BlazeBasePlayerDelegateHandler { static extractPlayerType(data) { return data['playerType']; } static extractCTAActionType(data) { return data['actionType']; } static handleDataLoadStarted(data, callback) { if (!callback) return; try { const playerType = this.extractPlayerType(data); const sourceId = data['sourceId']; callback({ playerType, sourceId }); } catch (e) { console.error('BlazeBasePlayerDelegateHandler.handleDataLoadStarted', e); } } static handleDataLoadComplete(data, callback) { if (!callback) return; try { const playerType = this.extractPlayerType(data); const sourceId = data['sourceId']; const itemsCount = data['itemsCount']; const error = parseBlazeError(data['error']); callback({ playerType, sourceId, itemsCount, error }); } catch (e) { console.error('BlazeBasePlayerDelegateHandler.handleDataLoadComplete', e); } } static handlePlayerDidAppear(data, callback) { if (!callback) return; try { const playerType = this.extractPlayerType(data); const sourceId = data['sourceId']; callback({ playerType, sourceId }); } catch (e) { console.error('BlazeBasePlayerDelegateHandler.handlePlayerDidAppear', e); } } static handlePlayerDidDismiss(data, callback) { if (!callback) return; try { const playerType = this.extractPlayerType(data); const sourceId = data['sourceId']; callback({ playerType, sourceId }); } catch (e) { console.error('BlazeBasePlayerDelegateHandler.handlePlayerDidDismiss', e); } } static handleTriggerCTA(data, callback) { if (!callback) return; try { const playerType = this.extractPlayerType(data); const sourceId = data['sourceId']; const actionType = this.extractCTAActionType(data); const actionParam = data['actionParam']; callback({ playerType, sourceId, actionType, actionParam }); } catch (e) { console.error('BlazeBasePlayerDelegateHandler.handleTriggerCTA', e); } } static handleTriggerPlayerBodyTextLink(data, callback) { if (!callback) return; try { const playerType = this.extractPlayerType(data); const sourceId = data['sourceId']; const actionParam = data['actionParam']; callback({ playerType, sourceId, actionParam }); } catch (e) { console.error('BlazeBasePlayerDelegateHandler.handleTriggerPlayerBodyTextLink', e); } } static handlePlayerEventTriggered(data, callback) { if (!callback) return; try { const playerType = this.extractPlayerType(data); const sourceId = data['sourceId']; const playerEventType = data['playerEventType']; const playerEventParams = data['playerEventParams']; const result = CommonParser.extractPlayerEvent(playerEventType, playerEventParams); if (result != null) { callback({ playerType, sourceId, playerEvent: result }); } } catch (e) { console.error('BlazeBasePlayerDelegateHandler.handlePlayerEventTriggered', e); } } static handleTriggerCustomActionButton(data, callback) { if (!callback) return; try { const playerType = this.extractPlayerType(data); const sourceId = data['sourceId']; const buttonId = data['buttonId']; const buttonName = data['buttonName']; const appMetadata = data['appMetadata']; callback({ playerType, sourceId, buttonId, buttonName, appMetadata }); } catch (e) { console.error('BlazeBasePlayerDelegateHandler.handleTriggerCustomActionButton', e); } } } //# sourceMappingURL=base-player-delegate.js.map