UNPKG

ifui

Version:

89 lines (86 loc) 1.95 kB
'use strict'; 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 };