package com.urbanairship.reactnative import com.facebook.react.TurboReactPackage import com.facebook.react.bridge.ReactApplicationContext import com.facebook.react.bridge.NativeModule import com.facebook.react.module.model.ReactModuleInfoProvider import com.facebook.react.module.model.ReactModuleInfo import com.facebook.react.uimanager.ViewManager import java.util.HashMap class AirshipPackage : TurboReactPackage() { override fun getModule(name: String, reactContext: ReactApplicationContext): NativeModule? { return if (name == AirshipModule.NAME) { AirshipModule(reactContext) } else { null } } override fun getReactModuleInfoProvider(): ReactModuleInfoProvider { return ReactModuleInfoProvider { val moduleInfos: MutableMap = HashMap() val isTurboModule: Boolean = BuildConfig.IS_NEW_ARCHITECTURE_ENABLED moduleInfos[AirshipModule.NAME] = ReactModuleInfo( AirshipModule.NAME, AirshipModule.NAME, false, // canOverrideExistingModule false, // needsEagerInit true, // hasConstants false, // isCxxModule isTurboModule // isTurboModule ) moduleInfos } } override fun createViewManagers(reactContext: ReactApplicationContext): List> { return listOf>(ReactMessageViewManager(), ReactEmbeddedViewManager()) } }