UNPKG

@onesy/utils

Version:
32 lines (31 loc) 2.06 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 isOS(type, value) { let value_; switch (type) { case 'mac': value_ = value !== undefined ? value : ((0, isEnvironment_1.default)('browser') && window); return (0, isEnvironment_1.default)('browser') && (/(Mac)/i.test(value_.navigator.platform) || value_.navigator.userAgent.indexOf('Mac OS') > -1); case 'mobile': return isOS('android') || isOS('ios'); case 'android': value_ = value !== undefined ? value : ((0, isEnvironment_1.default)('browser') && window); return (0, isEnvironment_1.default)('browser') && (/(Android)/i.test(value_.navigator.platform) || ['Android', 'android'].some(value__ => value_.navigator.userAgent.indexOf(value__) > -1)); case 'ios': value_ = value !== undefined ? value : ((0, isEnvironment_1.default)('browser') && window); return (0, isEnvironment_1.default)('browser') && (/(iPhone|iPod|iPad)/i.test(value_.navigator.platform) || ['iPhone', 'iPod', 'iPad'].some(value__ => value_.navigator.userAgent.indexOf(value__) > -1)); case 'windows': value_ = value !== undefined ? value : ((0, isEnvironment_1.default)('browser') && window); return (0, isEnvironment_1.default)('browser') && (/(Win)/i.test(value_.navigator.platform) || value_.navigator.userAgent.indexOf('Win') > -1); case 'linux': value_ = value !== undefined ? value : ((0, isEnvironment_1.default)('browser') && window); return (0, isEnvironment_1.default)('browser') && (/(Linux|Unix)/i.test(value_.navigator.platform) || ['Linux', 'Unix'].some(value__ => value_.navigator.userAgent.indexOf(value__) > -1)); default: return false; } } exports.default = isOS;