@react-native-community/netinfo
Version:
React Native Network Info API for iOS & Android
2 lines • 1.41 kB
JavaScript
import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectSpread from"@babel/runtime/helpers/objectSpread";import{useState,useEffect}from'react';import DEFAULT_CONFIGURATION from'./internal/defaultConfiguration';import State from'./internal/state';import*as Types from'./internal/types';var _configuration=DEFAULT_CONFIGURATION;var _state=null;var createState=function createState(){return new State(_configuration);};export function configure(configuration){_configuration=_objectSpread({},DEFAULT_CONFIGURATION,configuration);if(_state){_state.tearDown();_state=createState();}}export function fetch(requestedInterface){if(!_state){_state=createState();}return _state.latest(requestedInterface);}export function addEventListener(listener){if(!_state){_state=createState();}_state.add(listener);return function(){_state&&_state.remove(listener);};}export function useNetInfo(configuration){if(configuration){configure(configuration);}var _useState=useState({type:Types.NetInfoStateType.unknown,isConnected:false,isInternetReachable:false,details:null}),_useState2=_slicedToArray(_useState,2),netInfo=_useState2[0],setNetInfo=_useState2[1];useEffect(function(){return addEventListener(setNetInfo);},[]);return netInfo;}export*from'./internal/types';export default{configure:configure,fetch:fetch,addEventListener:addEventListener,useNetInfo:useNetInfo};
//# sourceMappingURL=index.js.map