UNPKG

fe-pilot

Version:

scanner in web, phonebook in web, autofill otp in web, share web, TextToSpeech in web, Voice Recognition in web, live location tracking in web, detect my location web, wakelock in web, color picker, WhatsappShare, SnapScanner, NetworkMonitor, View360

1 lines 5.25 kB
function _typeof(a){"@babel/helpers - typeof";return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(a){return typeof a}:function(a){return a&&"function"==typeof Symbol&&a.constructor===Symbol&&a!==Symbol.prototype?"symbol":typeof a},_typeof(a)}function _slicedToArray(a,b){return _arrayWithHoles(a)||_iterableToArrayLimit(a,b)||_unsupportedIterableToArray(a,b)||_nonIterableRest()}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(b,c){if(b){if("string"==typeof b)return _arrayLikeToArray(b,c);var a={}.toString.call(b).slice(8,-1);return"Object"===a&&b.constructor&&(a=b.constructor.name),"Map"===a||"Set"===a?Array.from(b):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?_arrayLikeToArray(b,c):void 0}}function _arrayLikeToArray(b,c){(null==c||c>b.length)&&(c=b.length);for(var d=0,f=Array(c);d<c;d++)f[d]=b[d];return f}function _iterableToArrayLimit(b,c){var d=null==b?null:"undefined"!=typeof Symbol&&b[Symbol.iterator]||b["@@iterator"];if(null!=d){var g,h,j,k,l=[],a=!0,m=!1;try{if(j=(d=d.call(b)).next,0===c){if(Object(d)!==d)return;a=!1}else for(;!(a=(g=j.call(d)).done)&&(l.push(g.value),l.length!==c);a=!0);}catch(a){m=!0,h=a}finally{try{if(!a&&null!=d["return"]&&(k=d["return"](),Object(k)!==k))return}finally{if(m)throw h}}return l}}function _arrayWithHoles(a){if(Array.isArray(a))return a}function ownKeys(a,b){var c=Object.keys(a);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(a);b&&(d=d.filter(function(b){return Object.getOwnPropertyDescriptor(a,b).enumerable})),c.push.apply(c,d)}return c}function _objectSpread(a){for(var b,c=1;c<arguments.length;c++)b=null==arguments[c]?{}:arguments[c],c%2?ownKeys(Object(b),!0).forEach(function(c){_defineProperty(a,c,b[c])}):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(b)):ownKeys(Object(b)).forEach(function(c){Object.defineProperty(a,c,Object.getOwnPropertyDescriptor(b,c))});return a}function _defineProperty(a,b,c){return(b=_toPropertyKey(b))in a?Object.defineProperty(a,b,{value:c,enumerable:!0,configurable:!0,writable:!0}):a[b]=c,a}function _toPropertyKey(a){var b=_toPrimitive(a,"string");return"symbol"==_typeof(b)?b:b+""}function _toPrimitive(a,b){if("object"!=_typeof(a)||!a)return a;var c=a[Symbol.toPrimitive];if(void 0!==c){var d=c.call(a,b||"default");if("object"!=_typeof(d))return d;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===b?String:Number)(a)}import React,{useEffect,useState}from"react";import{handleSuccess,handleError,handleLoading}from"../services/handlerService";import Wrapper from"../Wrapper/Wrapper";var failureMsgDefault={unSupported:"NetworkMonitor is not supporting in your device",error:"Unable to fetch details from NetworkMonitor"},isBrowserSupport=function(){var a,b;return!0===(null===(a=globalThis.navigator)||void 0===a?void 0:a.onLine)||!1===(null===(b=globalThis.navigator)||void 0===b?void 0:b.onLine)},networkMonitor=function(){var a=0<arguments.length&&arguments[0]!==void 0?arguments[0]:{},b=a.successCb,c=void 0===b?function(){}:b,d=a.failureCb,e=void 0===d?function(){}:d,f=a.loadingCb,g=void 0===f?function(){}:f,h=a.successMsg,i=void 0===h?"Network Information available Successfully!!":h,j=a.failureMsg,k=void 0===j?_objectSpread({},failureMsgDefault):j,l=_objectSpread(_objectSpread({},failureMsgDefault),k);(function(){if(isBrowserSupport()){var a;handleLoading({loadingCb:g});var b={};if(null!==(a=globalThis.navigator)&&void 0!==a&&a.connection){var d=globalThis.navigator.connection;for(var f in d){if("effectiveType"==f&&"none"===d.type){b[f]="0g";continue}"[object Function]"!==Object.prototype.toString.call(d[f])&&(b[f]=d[f])}}b.isOnline=globalThis.navigator.onLine,handleSuccess({msgType:"SUCCESSFUL",msg:i,successCb:c,data:_objectSpread({},b)})}else return handleError({msgType:"UN_SUPPORTED_FEATURE",msg:l.unSupported,failureCb:e});return!0})()};function NetworkMonitor(a){var b,c=a.children,d=a.successCb,e=a.failureCb,f=a.loadingCb,g=a.successMsg,h=a.failureMsg,i=useState(!1),j=_slicedToArray(i,2),k=j[0],l=j[1],m=useState(null===(b=globalThis.navigator)||void 0===b?void 0:b.onLine),n=_slicedToArray(m,2),o=n[0],p=n[1],q=function(){var a;if(o!==(null===(a=globalThis.navigator)||void 0===a?void 0:a.onLine)){var b;l(!0),p(null===(b=globalThis.navigator)||void 0===b?void 0:b.onLine)}networkMonitor({successCb:d,failureCb:e,loadingCb:f,successMsg:g,failureMsg:h})};return useEffect(function(){var a;if(null!==(a=globalThis.navigator)&&void 0!==a&&a.connection){var b;null===(b=globalThis.navigator)||void 0===b||null===(b=b.connection)||void 0===b||b.addEventListener("change",function(){return q})}else globalThis.addEventListener("online",q),globalThis.addEventListener("offline",q)}),k?React.Children.map(c,function(a){return React.cloneElement("string"==typeof a?React.createElement("span",null,a):a,{isOnline:o,setIsToastEnable:l})}):null}var WNetworkMonitor=Wrapper(NetworkMonitor,isBrowserSupport);export{networkMonitor,WNetworkMonitor as NetworkMonitor};export default WNetworkMonitor;