|
|
"use strict"; |
|
|
var __defProp = Object.defineProperty; |
|
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor; |
|
|
var __getOwnPropNames = Object.getOwnPropertyNames; |
|
|
var __hasOwnProp = Object.prototype.hasOwnProperty; |
|
|
var __export = (target, all) => { |
|
|
for (var name in all) |
|
|
__defProp(target, name, { get: all[name], enumerable: true }); |
|
|
}; |
|
|
var __copyProps = (to, from, except, desc) => { |
|
|
if (from && typeof from === "object" || typeof from === "function") { |
|
|
for (let key of __getOwnPropNames(from)) |
|
|
if (!__hasOwnProp.call(to, key) && key !== except) |
|
|
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); |
|
|
} |
|
|
return to; |
|
|
}; |
|
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); |
|
|
|
|
|
|
|
|
var browser_exports = {}; |
|
|
__export(browser_exports, { |
|
|
inBrowser: () => inBrowser, |
|
|
isBrowserOnline: () => isBrowserOnline, |
|
|
isValidBrowser: () => isValidBrowser, |
|
|
isValidBrowserOnline: () => isValidBrowserOnline, |
|
|
userAgentIsRobot: () => userAgentIsRobot |
|
|
}); |
|
|
module.exports = __toCommonJS(browser_exports); |
|
|
function inBrowser() { |
|
|
return typeof window !== "undefined"; |
|
|
} |
|
|
var botAgents = [ |
|
|
"bot", |
|
|
"spider", |
|
|
"crawl", |
|
|
"APIs-Google", |
|
|
"AdsBot", |
|
|
"Googlebot", |
|
|
"mediapartners", |
|
|
"Google Favicon", |
|
|
"FeedFetcher", |
|
|
"Google-Read-Aloud", |
|
|
"DuplexWeb-Google", |
|
|
"googleweblight", |
|
|
"bing", |
|
|
"yandex", |
|
|
"baidu", |
|
|
"duckduck", |
|
|
"yahoo", |
|
|
"ecosia", |
|
|
"ia_archiver", |
|
|
"facebook", |
|
|
"instagram", |
|
|
"pinterest", |
|
|
"reddit", |
|
|
"slack", |
|
|
"twitter", |
|
|
"whatsapp", |
|
|
"youtube", |
|
|
"semrush" |
|
|
]; |
|
|
var botAgentRegex = new RegExp(botAgents.join("|"), "i"); |
|
|
function userAgentIsRobot(userAgent) { |
|
|
return !userAgent ? false : botAgentRegex.test(userAgent); |
|
|
} |
|
|
function isValidBrowser() { |
|
|
const navigator = inBrowser() ? window?.navigator : null; |
|
|
if (!navigator) { |
|
|
return false; |
|
|
} |
|
|
return !userAgentIsRobot(navigator?.userAgent) && !navigator?.webdriver; |
|
|
} |
|
|
function isBrowserOnline() { |
|
|
const navigator = inBrowser() ? window?.navigator : null; |
|
|
if (!navigator) { |
|
|
return false; |
|
|
} |
|
|
const isNavigatorOnline = navigator?.onLine; |
|
|
const isExperimentalConnectionOnline = navigator?.connection?.rtt !== 0 && navigator?.connection?.downlink !== 0; |
|
|
return isExperimentalConnectionOnline && isNavigatorOnline; |
|
|
} |
|
|
function isValidBrowserOnline() { |
|
|
return isBrowserOnline() && isValidBrowser(); |
|
|
} |
|
|
|
|
|
0 && (module.exports = { |
|
|
inBrowser, |
|
|
isBrowserOnline, |
|
|
isValidBrowser, |
|
|
isValidBrowserOnline, |
|
|
userAgentIsRobot |
|
|
}); |
|
|
|