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

44 lines
1.1 KiB
JavaScript
Raw Normal View History

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