import { EmitterSubscription } from 'react-native'; import { NativeEventsReceiver } from '../adapters/NativeEventsReceiver'; import { RegisteredPushKit } from '../interfaces/NotificationEvents'; import { CompletionCallbackWrapper } from '../adapters/CompletionCallbackWrapper'; export class EventsRegistryIOS { constructor( private nativeEventsReceiver: NativeEventsReceiver, private completionCallbackWrapper: CompletionCallbackWrapper) {} public registerPushKitRegistered(callback: (event: RegisteredPushKit) => void): EmitterSubscription { return this.nativeEventsReceiver.registerPushKitRegistered(callback); } public registerPushKitNotificationReceived(callback: (event: object, completion: () => void) => void): EmitterSubscription { return this.nativeEventsReceiver.registerPushKitNotificationReceived(this.completionCallbackWrapper.wrapOpenedCallback(callback)); } public appNotificationSettingsLinked(callback: () => void): EmitterSubscription { return this.nativeEventsReceiver.appNotificationSettingsLinked(callback); } }