diff --git a/native/event-emitters/csa-auth-metadata-emitter.js b/native/event-emitters/csa-auth-metadata-emitter.js new file mode 100644 --- /dev/null +++ b/native/event-emitters/csa-auth-metadata-emitter.js @@ -0,0 +1,27 @@ +// @flow + +import { NativeModules, NativeEventEmitter } from 'react-native'; + +import { type UserLoginResponse } from 'lib/types/identity-service-types.js'; + +type CommServicesAuthMetadataEmitterConstants = { + +COMM_SERVICES_AUTH_METADATA: 'commServicesAuthMetadata', +}; + +type CommServicesAuthMetadataEmitterModuleType = { + +addListener: (eventName: string) => void, + +removeListeners: (count: number) => void, + +getConstants: () => CommServicesAuthMetadataEmitterConstants, + ...CommServicesAuthMetadataEmitterConstants, +}; + +const CommServicesAuthMetadataEmitterModule: CommServicesAuthMetadataEmitterModuleType = + NativeModules.CommServicesAuthMetadataEmitter; + +function getCommServicesAuthMetadataEmitter(): NativeEventEmitter<{ + +commServicesAuthMetadata: [UserLoginResponse], +}> { + return new NativeEventEmitter(CommServicesAuthMetadataEmitterModule); +} + +export { getCommServicesAuthMetadataEmitter };