@onesy/utils
Version:
32 lines (31 loc) • 2.06 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 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;
;