You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1 line
9.7 KiB
1 line
9.7 KiB
{"ast":null,"code":"import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport { Platform } from 'expo-modules-core';\nimport { v4 as uuidv4 } from 'uuid';\nimport { ExecutionEnvironment } from \"./Constants.types\";\nvar ID_KEY = 'EXPO_CONSTANTS_INSTALLATION_ID';\nvar _sessionId = uuidv4();\nfunction getBrowserName() {\n if (Platform.isDOMAvailable) {\n var agent = navigator.userAgent.toLowerCase();\n if (agent.includes('edge')) {\n return 'Edge';\n } else if (agent.includes('edg')) {\n return 'Chromium Edge';\n } else if (agent.includes('opr') && !!window['opr']) {\n return 'Opera';\n } else if (agent.includes('chrome') && !!window['chrome']) {\n return 'Chrome';\n } else if (agent.includes('trident')) {\n return 'IE';\n } else if (agent.includes('firefox')) {\n return 'Firefox';\n } else if (agent.includes('safari')) {\n return 'Safari';\n }\n }\n return undefined;\n}\nexport default {\n get name() {\n return 'ExponentConstants';\n },\n get appOwnership() {\n return null;\n },\n get executionEnvironment() {\n return ExecutionEnvironment.Bare;\n },\n get installationId() {\n var installationId;\n try {\n installationId = localStorage.getItem(ID_KEY);\n if (installationId == null || typeof installationId !== 'string') {\n installationId = uuidv4();\n localStorage.setItem(ID_KEY, installationId);\n }\n } catch (_unused) {\n installationId = _sessionId;\n } finally {\n return installationId;\n }\n },\n get sessionId() {\n return _sessionId;\n },\n get platform() {\n return {\n web: Platform.isDOMAvailable ? {\n ua: navigator.userAgent\n } : undefined\n };\n },\n get isHeadless() {\n if (!Platform.isDOMAvailable) return true;\n return /\\bHeadlessChrome\\//.test(navigator.userAgent);\n },\n get isDevice() {\n return true;\n },\n get expoVersion() {\n return this.manifest.sdkVersion || null;\n },\n get linkingUri() {\n if (Platform.isDOMAvailable) {\n return location.origin;\n } else {\n return '';\n }\n },\n get expoRuntimeVersion() {\n return this.expoVersion;\n },\n get deviceName() {\n return getBrowserName();\n },\n get nativeAppVersion() {\n return null;\n },\n get nativeBuildVersion() {\n return null;\n },\n get systemFonts() {\n return [];\n },\n get statusBarHeight() {\n return 0;\n },\n get deviceYearClass() {\n return null;\n },\n get manifest() {\n return process.env.APP_MANIFEST || {};\n },\n get manifest2() {\n return null;\n },\n get experienceUrl() {\n if (Platform.isDOMAvailable) {\n return location.origin;\n } else {\n return '';\n }\n },\n get debugMode() {\n return __DEV__;\n },\n getWebViewUserAgentAsync: function () {\n var _getWebViewUserAgentAsync = _asyncToGenerator(function* () {\n if (Platform.isDOMAvailable) {\n return navigator.userAgent;\n } else {\n return null;\n }\n });\n function getWebViewUserAgentAsync() {\n return _getWebViewUserAgentAsync.apply(this, arguments);\n }\n return getWebViewUserAgentAsync;\n }()\n};","map":{"version":3,"sources":["../src/ExponentConstants.web.ts"],"names":[],"mappings":"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","sourcesContent":["import { Platform } from 'expo-modules-core';\nimport { v4 as uuidv4 } from 'uuid';\n\nimport {\n ExecutionEnvironment,\n NativeConstants,\n PlatformManifest,\n WebManifest,\n} from './Constants.types';\n\nconst ID_KEY = 'EXPO_CONSTANTS_INSTALLATION_ID';\n\ndeclare let __DEV__: boolean;\ndeclare let process: { env: any };\ndeclare let navigator: Navigator;\ndeclare let location: Location;\ndeclare let localStorage: Storage;\n\nconst _sessionId = uuidv4();\n\nfunction getBrowserName(): string | undefined {\n if (Platform.isDOMAvailable) {\n const agent = navigator.userAgent.toLowerCase();\n if (agent.includes('edge')) {\n return 'Edge';\n } else if (agent.includes('edg')) {\n return 'Chromium Edge';\n } else if (agent.includes('opr') && !!window['opr']) {\n return 'Opera';\n } else if (agent.includes('chrome') && !!window['chrome']) {\n return 'Chrome';\n } else if (agent.includes('trident')) {\n return 'IE';\n } else if (agent.includes('firefox')) {\n return 'Firefox';\n } else if (agent.includes('safari')) {\n return 'Safari';\n }\n }\n\n return undefined;\n}\n\nexport default {\n get name(): string {\n return 'ExponentConstants';\n },\n get appOwnership() {\n return null;\n },\n get executionEnvironment() {\n return ExecutionEnvironment.Bare;\n },\n get installationId(): string {\n let installationId;\n try {\n installationId = localStorage.getItem(ID_KEY);\n if (installationId == null || typeof installationId !== 'string') {\n installationId = uuidv4();\n localStorage.setItem(ID_KEY, installationId as string);\n }\n } catch {\n installationId = _sessionId;\n } finally {\n return installationId;\n }\n },\n get sessionId(): string {\n return _sessionId;\n },\n get platform(): PlatformManifest {\n return { web: Platform.isDOMAvailable ? { ua: navigator.userAgent } : undefined };\n },\n get isHeadless(): boolean {\n if (!Platform.isDOMAvailable) return true;\n\n return /\\bHeadlessChrome\\//.test(navigator.userAgent);\n },\n get isDevice(): true {\n // TODO: Bacon: Possibly want to add information regarding simulators\n return true;\n },\n get expoVersion(): string | null {\n return this.manifest!.sdkVersion || null;\n },\n get linkingUri(): string {\n if (Platform.isDOMAvailable) {\n // On native this is `exp://`\n // On web we should use the protocol and hostname (location.origin)\n return location.origin;\n } else {\n return '';\n }\n },\n get expoRuntimeVersion(): string | null {\n return this.expoVersion;\n },\n get deviceName(): string | undefined {\n return getBrowserName();\n },\n get nativeAppVersion(): null {\n return null;\n },\n get nativeBuildVersion(): null {\n return null;\n },\n get systemFonts(): string[] {\n // TODO: Bacon: Maybe possible.\n return [];\n },\n get statusBarHeight(): number {\n return 0;\n },\n get deviceYearClass(): number | null {\n // TODO: Bacon: The android version isn't very accurate either, maybe we could try and guess this value.\n return null;\n },\n get manifest(): WebManifest {\n // This is defined by @expo/webpack-config.\n // If your site is bundled with a different config then you may not have access to the app.json automatically.\n return process.env.APP_MANIFEST || {};\n },\n get manifest2(): null {\n return null;\n },\n get experienceUrl(): string {\n if (Platform.isDOMAvailable) {\n return location.origin;\n } else {\n return '';\n }\n },\n get debugMode(): boolean {\n return __DEV__;\n },\n async getWebViewUserAgentAsync(): Promise<string | null> {\n if (Platform.isDOMAvailable) {\n return navigator.userAgent;\n } else {\n return null;\n }\n },\n} as NativeConstants;\n"],"sourceRoot":""},"metadata":{},"sourceType":"module"} |