{"version":3,"file":"web-CAxrHFdy.js","sources":["../../node_modules/@capacitor-community/firebase-analytics/dist/esm/web.js"],"sourcesContent":["import { WebPlugin } from \"@capacitor/core\";\nexport class FirebaseAnalyticsWeb extends WebPlugin {\n constructor() {\n super();\n this.not_supported_mssg = \"This method is not supported\";\n this.options_missing_mssg = \"Firebase options are missing\";\n this.duplicate_app_mssg = \"Firebase app already exists\";\n this.analytics_missing_mssg = \"Firebase analytics is not initialized. Make sure initializeFirebase() is called once\";\n this.scripts = [\n {\n key: \"firebase-app\",\n src: \"https://www.gstatic.com/firebasejs/8.2.3/firebase-app.js\",\n },\n {\n key: \"firebase-ac\",\n src: \"https://www.gstatic.com/firebasejs/8.2.3/firebase-analytics.js\",\n },\n ];\n this.ready = new Promise((resolve) => (this.readyResolver = resolve));\n this.configure();\n }\n /**\n * Configure and Initialize FirebaseApp if not present\n * @param options - web app's Firebase configuration\n * @returns firebase analytics object reference\n * Platform: Web\n */\n initializeFirebase(options) {\n return new Promise(async (resolve, reject) => {\n await this.ready;\n if (this.hasFirebaseInitialized()) {\n reject(this.duplicate_app_mssg);\n return;\n }\n if (!options) {\n reject(this.options_missing_mssg);\n return;\n }\n const app = window.firebase.initializeApp(options);\n this.analyticsRef = app.analytics();\n resolve(this.analyticsRef);\n });\n }\n /**\n * Sets the user ID property.\n * @param options - userId: unique identifier of the user to log\n * Platform: Web/Android/iOS\n */\n setUserId(options) {\n return new Promise(async (resolve, reject) => {\n await this.ready;\n if (!this.analyticsRef) {\n reject(this.analytics_missing_mssg);\n return;\n }\n const { userId } = options || { userId: undefined };\n if (!userId) {\n reject(\"userId property is missing\");\n return;\n }\n this.analyticsRef.setUserId(userId);\n resolve();\n });\n }\n /**\n * Sets a user property to a given value.\n * @param options - name: The name of the user property to set.\n * value: The value of the user property.\n * Platform: Web/Android/iOS\n */\n setUserProperty(options) {\n return new Promise(async (resolve, reject) => {\n await this.ready;\n if (!this.analyticsRef) {\n reject(this.analytics_missing_mssg);\n return;\n }\n const { name, value } = options || { name: undefined, value: undefined };\n if (!name) {\n reject(\"name property is missing\");\n return;\n }\n if (!value) {\n reject(\"value property is missing\");\n return;\n }\n let property = {};\n property[name] = value;\n this.analyticsRef.setUserProperties(property);\n resolve();\n });\n }\n /**\n * Retrieves the app instance id from the service.\n * @returns - instanceId: current instance if of the app\n * Platform: Web/Android/iOS\n */\n getAppInstanceId() {\n return new Promise((resolve, _reject) => resolve);\n }\n /**\n * Sets the current screen name, which specifies the current visual context in your app.\n * @param options - screenName: the activity to which the screen name and class name apply.\n * nameOverride: the name of the current screen. Set to null to clear the current screen name.\n * Platform: Android/iOS\n */\n setScreenName(_options) {\n return new Promise((resolve, _reject) => resolve);\n }\n /**\n * Clears all analytics data for this app from the device and resets the app instance id.\n * Platform: Android/iOS\n */\n reset() {\n return new Promise((resolve, _reject) => resolve);\n }\n /**\n * Logs an app event.\n * @param options - name: unique name of the event\n * params: the map of event parameters.\n * Platform: Web/Android/iOS\n */\n logEvent(options) {\n return new Promise(async (resolve, reject) => {\n await this.ready;\n if (!this.analyticsRef) {\n reject(this.analytics_missing_mssg);\n return;\n }\n const { name, params } = options || {\n name: undefined,\n params: undefined,\n };\n if (!name) {\n reject(\"name property is missing\");\n return;\n }\n this.analyticsRef.logEvent(name, params);\n resolve();\n });\n }\n /**\n * Sets whether analytics collection is enabled for this app on this device.\n * @param options - enabled: boolean true/false to enable/disable logging\n * Platform: Web/Android/iOS\n */\n setCollectionEnabled(options) {\n return new Promise(async (resolve, reject) => {\n await this.ready;\n if (!this.analyticsRef) {\n reject(this.analytics_missing_mssg);\n return;\n }\n const { enabled } = options || { enabled: false };\n this.analyticsRef.setAnalyticsCollectionEnabled(enabled);\n resolve();\n });\n }\n /**\n * Sets the duration of inactivity that terminates the current session.\n * @param options - duration: duration of inactivity\n * Platform: Android/iOS\n */\n setSessionTimeoutDuration(_options) {\n return new Promise((_resolve, reject) => {\n reject(this.not_supported_mssg);\n });\n }\n /**\n * Returns analytics reference object\n */\n get remoteConfig() {\n return this.analyticsRef;\n }\n enable() {\n return new Promise(async (resolve, reject) => {\n await this.ready;\n if (!this.analyticsRef) {\n reject(this.analytics_missing_mssg);\n return;\n }\n this.analyticsRef.setAnalyticsCollectionEnabled(true);\n resolve();\n });\n }\n disable() {\n return new Promise(async (resolve, reject) => {\n await this.ready;\n if (!this.analyticsRef) {\n reject(this.analytics_missing_mssg);\n return;\n }\n this.analyticsRef.setAnalyticsCollectionEnabled(false);\n resolve();\n });\n }\n /**\n * Ready resolver to check and load firebase analytics\n */\n async configure() {\n try {\n await this.loadScripts();\n if (window.firebase &&\n window.firebase.analytics &&\n this.hasFirebaseInitialized()) {\n this.analyticsRef = window.firebase.analytics();\n }\n }\n catch (error) {\n throw error;\n }\n const interval = setInterval(() => {\n if (!window.firebase) {\n return;\n }\n clearInterval(interval);\n this.readyResolver();\n }, 50);\n }\n /**\n * Check for existing loaded script and load new scripts\n */\n loadScripts() {\n const firebaseAppScript = this.scripts[0];\n const firebaseAnalyticsScript = this.scripts[1];\n return new Promise(async (resolve, _reject) => {\n const scripts = this.scripts.map((script) => script.key);\n if (document.getElementById(scripts[0]) &&\n document.getElementById(scripts[1])) {\n return resolve(null);\n }\n await this.loadScript(firebaseAppScript.key, firebaseAppScript.src);\n await this.loadScript(firebaseAnalyticsScript.key, firebaseAnalyticsScript.src);\n resolve(null);\n });\n }\n /**\n * Loaded single script with provided id and source\n * @param id - unique identifier of the script\n * @param src - source of the script\n */\n loadScript(id, src) {\n return new Promise((resolve, reject) => {\n const file = document.createElement(\"script\");\n file.type = \"text/javascript\";\n file.src = src;\n file.id = id;\n file.onload = resolve;\n file.onerror = reject;\n document.querySelector(\"head\").appendChild(file);\n });\n }\n /**\n * Returns true/false if firebase object reference exists inside window\n */\n hasFirebaseInitialized() {\n if (!window.firebase) {\n return false;\n }\n const firebaseApps = window.firebase.apps;\n if (firebaseApps && firebaseApps.length === 0) {\n return false;\n }\n return true;\n }\n}\n//# sourceMappingURL=web.js.map"],"names":["FirebaseAnalyticsWeb","WebPlugin","resolve","options","reject","app","userId","name","value","property","_reject","_options","params","enabled","_resolve","error","interval","firebaseAppScript","firebaseAnalyticsScript","scripts","script","id","src","file","firebaseApps"],"mappings":"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","x_google_ignoreList":[0]}