//Copyright (c) 2019 ___ORGANIZATIONNAME___. All rights reserved. import Foundation class EventEmitter { /// Shared Instance. public static var sharedInstance = EventEmitter() // ReactNativeEventEmitter is instantiated by React Native with the bridge. private var eventEmitter: ReactNativeEventEmitter! private init() {} // When React Native instantiates the emitter it is registered here. func registerEventEmitter(eventEmitter: ReactNativeEventEmitter) { self.eventEmitter = eventEmitter } func dispatch(name: String, body: Any?) { eventEmitter.sendEvent(withName: name, body: body) } /// All Events which must be support by React Native. lazy var allEvents: [String] = { var allEventNames: [String] = [ "onSignInStateChanged" ] return allEventNames }() }