import { NativeEventEmitter } from 'react-native'; import { CSEventSubscriber, EventSubscriberType } from '../types/types'; import { CSEventEmitterModule } from './nativeModules'; export const csEventSubscriber = ( eventType: EventSubscriberType, callback: (payload: any) => void ): CSEventSubscriber => { const eventEmitter = new NativeEventEmitter(CSEventEmitterModule); const subscriber = eventEmitter.addListener(eventType, (payload: any) => { callback(payload); }); return { remove: () => { CSEventEmitterModule.removeListener(eventType); subscriber.remove(); }, }; };