UNPKG

oidc-spa

Version:

Openidconnect client for Single Page Applications

50 lines 1.69 kB
export function getUserEnvironmentInfo() { function safeGet(getter, fallback = "Unknown") { try { const value = getter(); return value != null ? String(value) : fallback; } catch { return fallback; } } const ua = safeGet(() => navigator.userAgent); const platform = safeGet(() => navigator.platform); const language = safeGet(() => navigator.language || navigator.userLanguage); const screenSize = safeGet(() => `${screen.width}x${screen.height}`); const timezone = safeGet(() => Intl.DateTimeFormat().resolvedOptions().timeZone); const browser = (() => { if (ua.includes("Firefox/")) return "Firefox"; if (ua.includes("Edg/")) return "Edge"; if (ua.includes("Chrome/") && !ua.includes("Edg/")) return "Chrome"; if (ua.includes("Safari/") && !ua.includes("Chrome/")) return "Safari"; if (ua.includes("OPR/") || ua.includes("Opera/")) return "Opera"; return "Unknown"; })(); const os = (() => { if (platform.startsWith("Win")) return "Windows"; if (platform.startsWith("Mac")) return "macOS"; if (platform.startsWith("Linux")) return "Linux"; if (/Android/.test(ua)) return "Android"; if (/iPhone|iPad|iPod/.test(ua)) return "iOS"; return "Unknown"; })(); return `Browser: ${browser} OS: ${os} Platform: ${platform} Language: ${language} Screen: ${screenSize} Timezone: ${timezone} User Agent: ${ua}`; } //# sourceMappingURL=getUserEnvironmentInfo.js.map