package com.braze.reactbridge import com.facebook.react.TurboReactPackage import com.facebook.react.bridge.NativeModule import com.facebook.react.bridge.ReactApplicationContext import com.facebook.react.module.model.ReactModuleInfo import com.facebook.react.module.model.ReactModuleInfoProvider class BrazeReactBridgePackage : TurboReactPackage() { override fun getModule(name: String, reactContext: ReactApplicationContext): NativeModule? { return if (name == BrazeReactBridgeImpl.NAME) { BrazeReactBridge(reactContext) } else { null } } override fun createViewManagers( reactContext: ReactApplicationContext ) = listOf(BrazeBannerManager(reactContext)) override fun getReactModuleInfoProvider(): ReactModuleInfoProvider { return ReactModuleInfoProvider { val moduleInfos: MutableMap = HashMap() val isTurboModule = BuildConfig.IS_NEW_ARCHITECTURE_ENABLED moduleInfos[BrazeReactBridgeImpl.NAME] = ReactModuleInfo( BrazeReactBridgeImpl.NAME, BrazeReactBridgeImpl.NAME, false, // canOverrideExistingModule false, // needsEagerInit true, // hasConstants false, // isCxxModule isTurboModule // isTurboModule ) moduleInfos } } }