UNPKG

@onesy/utils

Version:
37 lines (36 loc) 2.68 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const isEnvironment_1 = __importDefault(require("./isEnvironment")); function isBrowser(type, value) { var _a, _b, _c, _d; let value_; switch (type) { case 'chrome': value_ = value !== undefined ? value : ((0, isEnvironment_1.default)('browser') && window); return (0, isEnvironment_1.default)('browser') && (!!(((_a = value_['chrome']) === null || _a === void 0 ? void 0 : _a.webstore) || ((_b = value_['chrome']) === null || _b === void 0 ? void 0 : _b.runtime)) || value_.navigator.userAgent.indexOf('Chrome') > -1); case 'opera': value_ = value !== undefined ? value : ((0, isEnvironment_1.default)('browser') && window); return (0, isEnvironment_1.default)('browser') && (!!((_c = value_['opr']) === null || _c === void 0 ? void 0 : _c.addons) || !!value_['opera'] || value_.navigator.userAgent.indexOf(' OPR') > -1); case 'firefox': value_ = value !== undefined ? value : ((0, isEnvironment_1.default)('browser') && window); return (0, isEnvironment_1.default)('browser') && (typeof value_['InstallTrigger'] !== 'undefined' || ['Firefox'].some(value__ => value_.navigator.userAgent.indexOf(value__) > -1)); case 'safari': value_ = value !== undefined ? value : ((0, isEnvironment_1.default)('browser') && window); return (0, isEnvironment_1.default)('browser') && (function (p) { return p.toString() === '[object SafariRemoteNotification]'; })(!value_['safari'] || ((_d = value_['safari']) === null || _d === void 0 ? void 0 : _d.pushNotification)); case 'edge-chromium': value_ = value !== undefined ? value : ((0, isEnvironment_1.default)('browser') && window); return (0, isEnvironment_1.default)('browser') && (isBrowser('chrome', value) && value_.navigator.userAgent.indexOf('Edg') > -1); case 'edge': value_ = value !== undefined ? value : ((0, isEnvironment_1.default)('browser') && window); return (0, isEnvironment_1.default)('browser') && (!isBrowser('ie', value) && (value_.navigator.userAgent.indexOf('Edg') > -1)); case 'ie': value_ = value !== undefined ? value : ((0, isEnvironment_1.default)('browser') && window); return (0, isEnvironment_1.default)('browser') && ( /*@cc_on!@*/false || !!value_.document['documentMode']); default: return false; } } exports.default = isBrowser;