UNPKG

@react-native-community/netinfo

Version:
42 lines (35 loc) 1.48 kB
/** * Copyright (c) Facebook, Inc. and its affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. * * @format */ import {NativeEventEmitter, NativeModules} from 'react-native'; import {NetInfoNativeModule} from './privateTypes'; const RNCNetInfo: NetInfoNativeModule | undefined = NativeModules.RNCNetInfo; // Produce an error if we don't have the native module if (!RNCNetInfo) { throw new Error(`@react-native-community/netinfo: NativeModule.RNCNetInfo is null. To fix this issue try these steps: • Run \`react-native link @react-native-community/netinfo\` in the project root. • Rebuild and re-run the app. • If you are using CocoaPods on iOS, run \`pod install\` in the \`ios\` directory and then rebuild and re-run the app. You may also need to re-open Xcode to get the new pods. If none of these fix the issue, please open an issue on the Github repository: https://github.com/react-native-community/react-native-netinfo`); } /** * We export the native interface in this way to give easy shared access to it between the * JavaScript code and the tests */ let nativeEventEmitter: NativeEventEmitter | null = null; export default { ...RNCNetInfo, get eventEmitter(): NativeEventEmitter { if (!nativeEventEmitter) { /// @ts-ignore nativeEventEmitter = new NativeEventEmitter(RNCNetInfo); } /// @ts-ignore return nativeEventEmitter; }, };