{"version":3,"file":"web-BQDVoI6q.cjs","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        }\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        }\n        else {\n            uaFields.model = fields.split('; ')[0];\n            if (typeof navigator !== 'undefined' && navigator.oscpu) {\n                uaFields.osVersion = navigator.oscpu;\n            }\n            else {\n                if (ua.indexOf('Windows') !== -1) {\n                    uaFields.osVersion = fields;\n                }\n                else {\n                    const tmpFields = fields.split('; ').pop();\n                    if (tmpFields) {\n                        const lastParts = tmpFields\n                            .replace(' like Mac OS X', '')\n                            .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        }\n        else if (/iPad|iPhone|iPod/.test(ua) && !window.MSStream) {\n            uaFields.operatingSystem = 'ios';\n        }\n        else if (/Win/.test(ua)) {\n            uaFields.operatingSystem = 'windows';\n        }\n        else if (/Mac/i.test(ua)) {\n            uaFields.operatingSystem = 'mac';\n        }\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 ||\n            (isChrome && !isEdge) ||\n            isFirefoxIOS ||\n            isChromeIOS ||\n            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            }\n            else if (isChromeIOS) {\n                searchWord = 'CriOS';\n            }\n            else if (isEdgeIOS) {\n                searchWord = 'EdgiOS';\n            }\n            else if (isSafari) {\n                searchWord = 'Version';\n            }\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        }\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, v = c === 'x' ? r : (r & 0x3) | 0x8;\n            return v.toString(16);\n        });\n    }\n}\n//# sourceMappingURL=web.js.map"],"names":["WebPlugin"],"mappings":"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","x_google_ignoreList":[0]}