UNPKG

2.27 kBJavaScriptView Raw
1var _interopRequireWildcard=require("@babel/runtime/helpers/interopRequireWildcard");var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});var _exportNames={configure:true,fetch:true,addEventListener:true,useNetInfo:true};exports.configure=configure;exports.fetch=fetch;exports.addEventListener=addEventListener;exports.useNetInfo=useNetInfo;exports.default=void 0;var _slicedToArray2=_interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));var _objectSpread2=_interopRequireDefault(require("@babel/runtime/helpers/objectSpread"));var _react=require("react");var _defaultConfiguration=_interopRequireDefault(require("./internal/defaultConfiguration"));var _state2=_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];}});});var _configuration=_defaultConfiguration.default;var _state=null;var createState=function createState(){return new _state2.default(_configuration);};function configure(configuration){_configuration=(0,_objectSpread2.default)({},_defaultConfiguration.default,configuration);if(_state){_state.tearDown();_state=createState();}}function fetch(requestedInterface){if(!_state){_state=createState();}return _state.latest(requestedInterface);}function addEventListener(listener){if(!_state){_state=createState();}_state.add(listener);return function(){_state&&_state.remove(listener);};}function useNetInfo(configuration){if(configuration){configure(configuration);}var _useState=(0,_react.useState)({type:Types.NetInfoStateType.unknown,isConnected:null,isInternetReachable:null,details:null}),_useState2=(0,_slicedToArray2.default)(_useState,2),netInfo=_useState2[0],setNetInfo=_useState2[1];(0,_react.useEffect)(function(){return addEventListener(setNetInfo);},[]);return netInfo;}var _default={configure:configure,fetch:fetch,addEventListener:addEventListener,useNetInfo:useNetInfo};exports.default=_default;
2//# sourceMappingURL=index.js.map
\No newline at end of file