ifui
Version:
89 lines (86 loc) • 1.95 kB
JavaScript
exports.__esModule = true;
/*
* @Author: lllevi
* @Date: 2018-06-30 10:24:08
* @Last Modified by: lllevi
* @Last Modified time: 2018-06-30 13:40:06
*/
var canvas = void 0;
var gl = void 0;
var glRenderer = void 0;
var models = void 0;
var devices = {
'Apple A7 GPU': {
1136: ['iPhone 5', 'iPhone 5s'],
2048: ['iPad Air', 'iPad Mini 2', 'iPad Mini 3']
},
'Apple A8 GPU': {
1136: ['iPod touch (6th generation)'],
1334: ['iPhone 6'],
2001: ['iPhone 6 Plus'],
2048: ['iPad Air 2', 'iPad Mini 4']
},
'Apple A9 GPU': {
1136: ['iPhone SE'],
1334: ['iPhone 6s'],
2001: ['iPhone 6s Plus'],
2224: ['iPad Pro (9.7-inch)'],
2732: ['iPad Pro (12.9-inch)']
},
'Apple A10 GPU': {
1334: ['iPhone 7'],
2001: ['iPhone 7 Plus']
},
'Apple A11 GPU': {
1334: ['iPhone 8'],
2208: ['iPhone 8 Plus'],
2436: ['iPhone X']
}
};
function getCanvas() {
if (!canvas) {
canvas = document.createElement('canvas');
}
return canvas;
}
function getGl() {
if (!gl) {
gl = getCanvas().getContext('experimental-webgl');
}
return gl;
}
function getScreenWidth() {
return Math.max(screen.width, screen.height) * (window.devicePixelRatio || 1);
}
function getGlRenderer() {
if (!glRenderer) {
var debugInfo = getGl().getExtension('WEBGL_debug_renderer_info');
glRenderer = !debugInfo ? 'unknown' : getGl().getParameter(debugInfo.UNMASKED_RENDERER_WEBGL);
}
return glRenderer;
}
function getModels() {
if (!models) {
var device = devices[getGlRenderer()];
if (device === undefined) {
models = ['unknown'];
} else {
models = device[getScreenWidth()];
if (models === undefined) {
models = ['unknown'];
}
}
}
return models;
}
function isIPhoneX() {
if (getModels().join(' or ') === 'iPhone X') {
return true;
}
return false;
}
exports.default = {
isIPhoneX: isIPhoneX,
getModels: getModels
};
;