UNPKG

2.98 kBJavaScriptView Raw
1/*!
2 * vue-identify-network v2.0.0
3 * Identify the network your users are using!
4 * (c) 2021 Vinayak Kulkarni<inbox.vinayak@gmail.com>
5 * Released under the MIT License
6 */
7!function(e,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports,require("@vue/composition-api")):"function"==typeof define&&define.amd?define(["exports","@vue/composition-api"],n):n((e="undefined"!=typeof globalThis?globalThis:e||self).VOffline={},e.vueCompositionApi)}(this,(function(e,n){"use strict";function t(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var o=t(n);function i(e,n,t,o,i,r,s,a,u,d){"boolean"!=typeof s&&(u=a,a=s,s=!1);const l="function"==typeof t?t.options:t;let f;if(e&&e.render&&(l.render=e.render,l.staticRenderFns=e.staticRenderFns,l._compiled=!0,i&&(l.functional=!0)),o&&(l._scopeId=o),r?(f=function(e){(e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),n&&n.call(this,u(e)),e&&e._registeredComponents&&e._registeredComponents.add(r)},l._ssrRegister=f):n&&(f=s?function(e){n.call(this,d(e,this.$root.$options.shadowRoot))}:function(e){n.call(this,a(e))}),f)if(l.functional){const e=l.render;l.render=function(n,t){return f.call(t),e(n,t)}}else{const e=l.beforeCreate;l.beforeCreate=e?[].concat(e,f):[f]}return t}const r=n.defineComponent({name:"VueIdentifyNetwork",props:{unknownClass:{type:String,required:!1,default:null},slowClass:{type:String,required:!1,default:null},fastClass:{type:String,required:!1,default:null}},emits:["network-type","network-speed"],setup(e,{emit:t}){const o=n.ref(null),i=n.ref("Unknown"),r=n.ref("undefined"==typeof window?"Unknown":navigator.vendor);function s(e){o.value=e.currentTarget&&e.currentTarget.effectiveType,i.value=e.currentTarget&&e.currentTarget.downlink,t("network-type",o.value),t("network-speed",i.value)}return n.onMounted((()=>{r.value.includes("Google")&&"Unknown"!==o.value?(o.value=navigator.connection.effectiveType,i.value=navigator.connection.downlink):(o.value="Unknown",i.value="Unknown"),t("network-type",o.value),t("network-speed",i.value),navigator.connection.addEventListener("change",s)})),n.onBeforeUnmount((()=>{navigator.connection.removeEventListener("change",s)})),{type:o}}});var s=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("div",["Unknown"===e.type?t("div",{class:e.unknownClass},[e._t("unknown")],2):e._e(),e._v(" "),"2g"===e.type?t("div",{class:e.slowClass},[e._t("slow")],2):e._e(),e._v(" "),"2g"!==e.type&&"Unknown"!==e.type?t("div",{class:e.fastClass},[e._t("fast")],2):e._e()])};s._withStripped=!0;var a=i({render:s,staticRenderFns:[]},undefined,r,undefined,false,undefined,!1,void 0,void 0,void 0);let u=!1;var d={install(e){u||(e.use(o.default),e.component("VueIdentifyNetwork",a),u=!0)}};e.VueIdentifyNetwork=a,e.default=d,Object.defineProperty(e,"__esModule",{value:!0})}));
8//# sourceMappingURL=vue-identify-network.min.js.map