UNPKG

@wscsports/blaze-rtn-sdk

Version:
51 lines 1.66 kB
import { BlazeGlobalEvents } from '../shared/BlazeGlobalEvents'; import { parseBlazeError } from '../interfaces/blaze-error.interface'; export class BlazeGlobalDelegateHelper { static registerGlobalDelegate(globalDelegate) { BlazeGlobalDelegateHelper.onEventTriggered(globalDelegate?.onEventTriggered); BlazeGlobalDelegateHelper.onErrorThrown(globalDelegate?.onErrorThrown); } static onEventTriggered(callback) { const eventName = 'Blaze.onEventTriggered'; if (callback) { BlazeGlobalEvents.createEventSubscription(eventName, data => { try { if (data) { const parsed = JSON.parse(data['eventData']); callback({ event: parsed }); } else { console.error('onEventTriggered: was called with no data.'); } } catch (e) { console.error('onEventTriggered', e); } }); } else { BlazeGlobalEvents.cancelEventSubscription(eventName); } } static onErrorThrown(callback) { const eventName = 'Blaze.onErrorThrown'; if (callback) { BlazeGlobalEvents.createEventSubscription(eventName, data => { try { const error = parseBlazeError(data['error']); if (error) { callback({ error: error }); } else { console.error('onErrorThrown: failed to parse error from data:', data); } } catch (e) { console.error('onErrorThrown', e); } }); } else { BlazeGlobalEvents.cancelEventSubscription(eventName); } } } //# sourceMappingURL=global-delegate.js.map