react-native-firebase/tests-new/bridge/env/rn.js

44 lines
1.1 KiB
JavaScript

import reactNative, { Platform, NativeModules } from 'react-native';
import RNRestart from 'react-native-restart'; // Import package from node modules
const bridgeNode = global.__bridgeNode;
// https://github.com/facebook/react-native/blob/master/React/Modules/RCTDevSettings.mm
if (Platform.OS === 'ios' && !bridgeNode) {
NativeModules.RCTDevSettings.setIsDebuggingRemotely(true);
}
if (bridgeNode) {
bridgeNode.provideReload(RNRestart.Restart);
bridgeNode.provideReactNativeModule(reactNative);
// keep alive
setInterval(() => {
// I don't do anything lol
// BUT i am needed - otherwise RN's batch bridge starts to hang in detox... ???
}, 60);
}
export default {
/**
* Makes the main module to be tested accessible to nodejs
* @param moduleExports
*/
provideModule(moduleExports) {
if (bridgeNode) {
bridgeNode.provideModule(moduleExports);
bridgeNode.ready();
}
},
/**
* Makes the root component accessible to nodejs - e.g. bridge.root.setState({ ... });
* @param rootComponent
*/
provideRoot(rootComponent) {
if (bridgeNode) {
bridgeNode.provideRoot(rootComponent);
}
},
};