UNPKG

@react-native-community/netinfo

Version:
2 lines 4.17 kB
var _interopRequireWildcard=require("@babel/runtime/helpers/interopRequireWildcard");var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});var _exportNames={fetch:true,addEventListener:true,useNetInfo:true,removeEventListener:true,getConnectionInfo:true,isConnectionExpensive:true,isConnected:true};exports.fetch=fetch;exports.addEventListener=addEventListener;exports.useNetInfo=useNetInfo;exports.removeEventListener=removeEventListener;exports.getConnectionInfo=getConnectionInfo;exports.isConnectionExpensive=isConnectionExpensive;exports.default=exports.isConnected=void 0;var _slicedToArray2=_interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));var _react=require("react");var _deprecatedUtils=_interopRequireDefault(require("./internal/deprecatedUtils"));var _deprecatedState=_interopRequireDefault(require("./internal/deprecatedState"));var DeprecatedTypes=_interopRequireWildcard(require("./internal/deprecatedTypes"));Object.keys(DeprecatedTypes).forEach(function(key){if(key==="default"||key==="__esModule")return;if(Object.prototype.hasOwnProperty.call(_exportNames,key))return;Object.defineProperty(exports,key,{enumerable:true,get:function get(){return DeprecatedTypes[key];}});});var _state=_interopRequireDefault(require("./internal/state"));var Types=_interopRequireWildcard(require("./internal/types"));Object.keys(Types).forEach(function(key){if(key==="default"||key==="__esModule")return;if(Object.prototype.hasOwnProperty.call(_exportNames,key))return;Object.defineProperty(exports,key,{enumerable:true,get:function get(){return Types[key];}});});_state.default.setup();_deprecatedState.default.setup();var _isConnectedListeners=new Map();function fetch(){return _state.default.latest();}function addEventListener(listenerOrType){var deprecatedHandler=arguments.length>1&&arguments[1]!==undefined?arguments[1]:undefined;if(typeof listenerOrType==='string'){_deprecatedUtils.default.warnOnce();if(listenerOrType===DeprecatedTypes.CHANGE_EVENT_NAME&&deprecatedHandler){_deprecatedState.default.add(deprecatedHandler);return{remove:function remove(){_deprecatedState.default.remove(deprecatedHandler);}};}else{return{remove:function remove(){}};}}else{var _listener=listenerOrType;_state.default.add(_listener);return function(){_state.default.remove(_listener);};}}function useNetInfo(){var _useState=(0,_react.useState)({type:Types.NetInfoStateType.unknown,isConnected:false,isInternetReachable:false,details:null}),_useState2=(0,_slicedToArray2.default)(_useState,2),netInfo=_useState2[0],setNetInfo=_useState2[1];(0,_react.useEffect)(function(){return addEventListener(setNetInfo);},[]);return netInfo;}function removeEventListener(type,handler){_deprecatedUtils.default.warnOnce();if(type===DeprecatedTypes.CHANGE_EVENT_NAME){_deprecatedState.default.remove(handler);}}function getConnectionInfo(){_deprecatedUtils.default.warnOnce();return _deprecatedState.default.latest();}function isConnectionExpensive(){_deprecatedUtils.default.warnOnce();return _state.default.latest().then(_deprecatedUtils.default.isConnectionExpensive);}var isConnected={addEventListener:function addEventListener(eventName,handler){if(eventName!==DeprecatedTypes.CHANGE_EVENT_NAME){return{remove:function remove(){}};}var listener=function listener(state){handler(_deprecatedUtils.default.isConnected(state));};_isConnectedListeners.set(handler,listener);_state.default.add(listener);return{remove:function remove(){_state.default.remove(listener);}};},removeEventListener:function removeEventListener(_eventName,handler){var listener=_isConnectedListeners.get(handler);listener&&_state.default.remove(listener);_isConnectedListeners.delete(handler);},fetch:function fetch(){return _state.default.latest().then(_deprecatedUtils.default.isConnected);}};exports.isConnected=isConnected;var _default={fetch:fetch,addEventListener:addEventListener,useNetInfo:useNetInfo,removeEventListener:removeEventListener,getConnectionInfo:getConnectionInfo,isConnectionExpensive:isConnectionExpensive,isConnected:isConnected};exports.default=_default; //# sourceMappingURL=index.js.map