@onesy/utils
Version:
37 lines (36 loc) • 2.68 kB
JavaScript
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;
;