@wscsports/blaze-rtn-sdk
Version:
WSC Sports Blaze SDK component for React Native
45 lines • 1.4 kB
JavaScript
import { RegisterGlobalEvents } from './RegisterGlobalEvents';
export class BlazeGlobalDelegateHelper {
static registerGlobalDelegate(globalDelegate) {
BlazeGlobalDelegateHelper.onEventTriggered(globalDelegate?.onEventTriggered);
BlazeGlobalDelegateHelper.onErrorThrown(globalDelegate?.onErrorThrown);
}
static onEventTriggered(callback) {
const eventName = 'Blaze.onEventTriggered';
if (callback) {
RegisterGlobalEvents.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 {
RegisterGlobalEvents.cancelEventSubscription(eventName);
}
}
static onErrorThrown(callback) {
const eventName = 'Blaze.onErrorThrown';
if (callback) {
RegisterGlobalEvents.createEventSubscription(eventName, data => {
try {
callback({
error: data
});
} catch (e) {
console.error('onErrorThrown', e);
}
});
} else {
RegisterGlobalEvents.cancelEventSubscription(eventName);
}
}
}
//# sourceMappingURL=global-delegate.js.map