{"version":3,"sources":["node_modules/@capacitor/device/dist/esm/web.js"],"sourcesContent":["import { WebPlugin } from '@capacitor/core';\nexport class DeviceWeb extends WebPlugin {\n async getId() {\n return {\n identifier: this.getUid()\n };\n }\n async getInfo() {\n if (typeof navigator === 'undefined' || !navigator.userAgent) {\n throw this.unavailable('Device API not available in this browser');\n }\n const ua = navigator.userAgent;\n const uaFields = this.parseUa(ua);\n return {\n model: uaFields.model,\n platform: 'web',\n operatingSystem: uaFields.operatingSystem,\n osVersion: uaFields.osVersion,\n manufacturer: navigator.vendor,\n isVirtual: false,\n webViewVersion: uaFields.browserVersion\n };\n }\n async getBatteryInfo() {\n if (typeof navigator === 'undefined' || !navigator.getBattery) {\n throw this.unavailable('Device API not available in this browser');\n }\n let battery = {};\n try {\n battery = await navigator.getBattery();\n } catch (e) {\n // Let it fail, we don't care\n }\n return {\n batteryLevel: battery.level,\n isCharging: battery.charging\n };\n }\n async getLanguageCode() {\n return {\n value: navigator.language.split('-')[0].toLowerCase()\n };\n }\n async getLanguageTag() {\n return {\n value: navigator.language\n };\n }\n parseUa(ua) {\n const uaFields = {};\n const start = ua.indexOf('(') + 1;\n let end = ua.indexOf(') AppleWebKit');\n if (ua.indexOf(') Gecko') !== -1) {\n end = ua.indexOf(') Gecko');\n }\n const fields = ua.substring(start, end);\n if (ua.indexOf('Android') !== -1) {\n const tmpFields = fields.replace('; wv', '').split('; ').pop();\n if (tmpFields) {\n uaFields.model = tmpFields.split(' Build')[0];\n }\n uaFields.osVersion = fields.split('; ')[1];\n } else {\n uaFields.model = fields.split('; ')[0];\n if (typeof navigator !== 'undefined' && navigator.oscpu) {\n uaFields.osVersion = navigator.oscpu;\n } else {\n if (ua.indexOf('Windows') !== -1) {\n uaFields.osVersion = fields;\n } else {\n const tmpFields = fields.split('; ').pop();\n if (tmpFields) {\n const lastParts = tmpFields.replace(' like Mac OS X', '').split(' ');\n uaFields.osVersion = lastParts[lastParts.length - 1].replace(/_/g, '.');\n }\n }\n }\n }\n if (/android/i.test(ua)) {\n uaFields.operatingSystem = 'android';\n } else if (/iPad|iPhone|iPod/.test(ua) && !window.MSStream) {\n uaFields.operatingSystem = 'ios';\n } else if (/Win/.test(ua)) {\n uaFields.operatingSystem = 'windows';\n } else if (/Mac/i.test(ua)) {\n uaFields.operatingSystem = 'mac';\n } else {\n uaFields.operatingSystem = 'unknown';\n }\n // Check for browsers based on non-standard javascript apis, only not user agent\n const isSafari = !!window.ApplePaySession;\n const isChrome = !!window.chrome;\n const isFirefox = /Firefox/.test(ua);\n const isEdge = /Edg/.test(ua);\n const isFirefoxIOS = /FxiOS/.test(ua);\n const isChromeIOS = /CriOS/.test(ua);\n const isEdgeIOS = /EdgiOS/.test(ua);\n // FF and Edge User Agents both end with \"/MAJOR.MINOR\"\n if (isSafari || isChrome && !isEdge || isFirefoxIOS || isChromeIOS || isEdgeIOS) {\n // Safari version comes as \"... Version/MAJOR.MINOR ...\"\n // Chrome version comes as \"... Chrome/MAJOR.MINOR ...\"\n // FirefoxIOS version comes as \"... FxiOS/MAJOR.MINOR ...\"\n // ChromeIOS version comes as \"... CriOS/MAJOR.MINOR ...\"\n let searchWord;\n if (isFirefoxIOS) {\n searchWord = 'FxiOS';\n } else if (isChromeIOS) {\n searchWord = 'CriOS';\n } else if (isEdgeIOS) {\n searchWord = 'EdgiOS';\n } else if (isSafari) {\n searchWord = 'Version';\n } else {\n searchWord = 'Chrome';\n }\n const words = ua.split(' ');\n for (const word of words) {\n if (word.includes(searchWord)) {\n const version = word.split('/')[1];\n uaFields.browserVersion = version;\n }\n }\n } else if (isFirefox || isEdge) {\n const reverseUA = ua.split('').reverse().join('');\n const reverseVersion = reverseUA.split('/')[0];\n const version = reverseVersion.split('').reverse().join('');\n uaFields.browserVersion = version;\n }\n return uaFields;\n }\n getUid() {\n if (typeof window !== 'undefined' && window.localStorage) {\n let uid = window.localStorage.getItem('_capuid');\n if (uid) {\n return uid;\n }\n uid = this.uuid4();\n window.localStorage.setItem('_capuid', uid);\n return uid;\n }\n return this.uuid4();\n }\n uuid4() {\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {\n const r = Math.random() * 16 | 0,\n v = c === 'x' ? r : r & 0x3 | 0x8;\n return v.toString(16);\n });\n }\n}\n"],"mappings":"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","names":["DeviceWeb","WebPlugin","__async","ua","uaFields","battery","start","end","fields","tmpFields","lastParts","isSafari","isChrome","isFirefox","isEdge","isFirefoxIOS","isChromeIOS","isEdgeIOS","searchWord","words","word","version","uid","c","r"],"x_google_ignoreList":[0]}