package com.nitrochucker import com.facebook.react.BaseReactPackage import com.facebook.react.bridge.NativeModule import com.facebook.react.bridge.ReactApplicationContext import com.facebook.react.module.model.ReactModuleInfoProvider import com.margelo.nitro.nitrochucker.NitroChuckerOnLoad /** * Vestigial ReactPackage from the create-react-native-library scaffold. A pure * Nitro module autolinks via nitro.json + the C++ HybridObjectRegistry, so a * consuming app does NOT need to register this package. It is kept only as a * secondary, defense-in-depth startup hook: IF an app manually adds it to its * package list, getReactModuleInfoProvider() runs once at startup and registers * the interceptor early. ChuckerCapture.register() is idempotent, so this never * double-registers against the primary hook in HybridNitroChucker's init block. */ class NitroChuckerPackage : BaseReactPackage() { override fun getModule(name: String, reactContext: ReactApplicationContext): NativeModule? = null override fun getReactModuleInfoProvider(): ReactModuleInfoProvider { ChuckerCapture.register() return ReactModuleInfoProvider { emptyMap() } } companion object { init { NitroChuckerOnLoad.initializeNative() } } }