{"version":3,"file":"index.rn.cjs.js","sources":["../src/errors.ts","../src/constants.ts","../src/logger.ts","../src/firebaseApp.ts","../src/firebaseNamespaceCore.ts","../src/firebaseNamespace.ts","../src/platformLoggerService.ts","../src/registerCoreComponents.ts","../index.rn.ts"],"sourcesContent":["/**\n * @license\n * Copyright 2019 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { ErrorFactory, ErrorMap } from '@firebase/util';\n\nexport const enum AppError {\n NO_APP = 'no-app',\n BAD_APP_NAME = 'bad-app-name',\n DUPLICATE_APP = 'duplicate-app',\n APP_DELETED = 'app-deleted',\n INVALID_APP_ARGUMENT = 'invalid-app-argument',\n INVALID_LOG_ARGUMENT = 'invalid-log-argument'\n}\n\nconst ERRORS: ErrorMap = {\n [AppError.NO_APP]:\n \"No Firebase App '{$appName}' has been created - \" +\n 'call Firebase App.initializeApp()',\n [AppError.BAD_APP_NAME]: \"Illegal App name: '{$appName}\",\n [AppError.DUPLICATE_APP]: \"Firebase App named '{$appName}' already exists\",\n [AppError.APP_DELETED]: \"Firebase App named '{$appName}' already deleted\",\n [AppError.INVALID_APP_ARGUMENT]:\n 'firebase.{$appName}() takes either no argument or a ' +\n 'Firebase App instance.',\n [AppError.INVALID_LOG_ARGUMENT]:\n 'First argument to `onLog` must be null or a function.'\n};\n\ntype ErrorParams = { [key in AppError]: { appName: string } };\n\nexport const ERROR_FACTORY = new ErrorFactory(\n 'app',\n 'Firebase',\n ERRORS\n);\n","/**\n * @license\n * Copyright 2019 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport const DEFAULT_ENTRY_NAME = '[DEFAULT]';\nimport { name as appName } from '../package.json';\nimport { name as analyticsName } from '../../analytics/package.json';\nimport { name as authName } from '../../auth/package.json';\nimport { name as databaseName } from '../../database/package.json';\nimport { name as functionsName } from '../../functions/package.json';\nimport { name as installationsName } from '../../installations/package.json';\nimport { name as messagingName } from '../../messaging/package.json';\nimport { name as performanceName } from '../../performance/package.json';\nimport { name as remoteConfigName } from '../../remote-config/package.json';\nimport { name as storageName } from '../../storage/package.json';\nimport { name as firestoreName } from '../../firestore/package.json';\nimport { name as packageName } from '../../../package.json';\n\nexport const PLATFORM_LOG_STRING = {\n [appName]: 'fire-core',\n [analyticsName]: 'fire-analytics',\n [authName]: 'fire-auth',\n [databaseName]: 'fire-rtdb',\n [functionsName]: 'fire-fn',\n [installationsName]: 'fire-iid',\n [messagingName]: 'fire-fcm',\n [performanceName]: 'fire-perf',\n [remoteConfigName]: 'fire-rc',\n [storageName]: 'fire-gcs',\n [firestoreName]: 'fire-fst',\n 'fire-js': 'fire-js', // Platform identifier for JS SDK.\n [packageName]: 'fire-js-all'\n} as const;\n","/**\n * @license\n * Copyright 2019 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Logger } from '@firebase/logger';\n\nexport const logger = new Logger('@firebase/app');\n","/**\n * @license\n * Copyright 2017 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n FirebaseApp,\n FirebaseOptions,\n FirebaseAppConfig\n} from '@firebase/app-types';\nimport {\n _FirebaseApp,\n _FirebaseNamespace,\n FirebaseService\n} from '@firebase/app-types/private';\nimport { deepCopy } from '@firebase/util';\nimport {\n ComponentContainer,\n Component,\n ComponentType,\n Name\n} from '@firebase/component';\nimport { AppError, ERROR_FACTORY } from './errors';\nimport { DEFAULT_ENTRY_NAME } from './constants';\nimport { logger } from './logger';\n\n/**\n * Global context object for a collection of services using\n * a shared authentication state.\n */\nexport class FirebaseAppImpl implements FirebaseApp {\n private readonly options_: FirebaseOptions;\n private readonly name_: string;\n private isDeleted_ = false;\n private automaticDataCollectionEnabled_: boolean;\n private container: ComponentContainer;\n\n constructor(\n options: FirebaseOptions,\n config: FirebaseAppConfig,\n private readonly firebase_: _FirebaseNamespace\n ) {\n this.name_ = config.name!;\n this.automaticDataCollectionEnabled_ =\n config.automaticDataCollectionEnabled || false;\n this.options_ = deepCopy(options);\n this.container = new ComponentContainer(config.name!);\n\n // add itself to container\n this._addComponent(new Component('app', () => this, ComponentType.PUBLIC));\n // populate ComponentContainer with existing components\n for (const component of this.firebase_.INTERNAL.components.values()) {\n this._addComponent(component);\n }\n }\n\n get automaticDataCollectionEnabled(): boolean {\n this.checkDestroyed_();\n return this.automaticDataCollectionEnabled_;\n }\n\n set automaticDataCollectionEnabled(val) {\n this.checkDestroyed_();\n this.automaticDataCollectionEnabled_ = val;\n }\n\n get name(): string {\n this.checkDestroyed_();\n return this.name_;\n }\n\n get options(): FirebaseOptions {\n this.checkDestroyed_();\n return this.options_;\n }\n\n delete(): Promise {\n return new Promise(resolve => {\n this.checkDestroyed_();\n resolve();\n })\n .then(() => {\n this.firebase_.INTERNAL.removeApp(this.name_);\n\n return Promise.all(\n this.container.getProviders().map(provider => provider.delete())\n );\n })\n .then((): void => {\n this.isDeleted_ = true;\n });\n }\n\n /**\n * Return a service instance associated with this app (creating it\n * on demand), identified by the passed instanceIdentifier.\n *\n * NOTE: Currently storage and functions are the only ones that are leveraging this\n * functionality. They invoke it by calling:\n *\n * ```javascript\n * firebase.app().storage('STORAGE BUCKET ID')\n * ```\n *\n * The service name is passed to this already\n * @internal\n */\n _getService(\n name: string,\n instanceIdentifier: string = DEFAULT_ENTRY_NAME\n ): FirebaseService {\n this.checkDestroyed_();\n\n // getImmediate will always succeed because _getService is only called for registered components.\n return (this.container.getProvider(name as Name).getImmediate({\n identifier: instanceIdentifier\n }) as unknown) as FirebaseService;\n }\n /**\n * Remove a service instance from the cache, so we will create a new instance for this service\n * when people try to get this service again.\n *\n * NOTE: currently only firestore is using this functionality to support firestore shutdown.\n *\n * @param name The service name\n * @param instanceIdentifier instance identifier in case multiple instances are allowed\n * @internal\n */\n _removeServiceInstance(\n name: string,\n instanceIdentifier: string = DEFAULT_ENTRY_NAME\n ): void {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n this.container.getProvider(name as any).clearInstance(instanceIdentifier);\n }\n\n /**\n * @param component the component being added to this app's container\n */\n _addComponent(component: Component): void {\n try {\n this.container.addComponent(component);\n } catch (e) {\n logger.debug(\n `Component ${component.name} failed to register with FirebaseApp ${this.name}`,\n e\n );\n }\n }\n\n _addOrOverwriteComponent(component: Component): void {\n this.container.addOrOverwriteComponent(component);\n }\n\n /**\n * This function will throw an Error if the App has already been deleted -\n * use before performing API actions on the App.\n */\n private checkDestroyed_(): void {\n if (this.isDeleted_) {\n throw ERROR_FACTORY.create(AppError.APP_DELETED, { appName: this.name_ });\n }\n }\n}\n\n// Prevent dead-code elimination of these methods w/o invalid property\n// copying.\n(FirebaseAppImpl.prototype.name && FirebaseAppImpl.prototype.options) ||\n FirebaseAppImpl.prototype.delete ||\n console.log('dc');\n","/**\n * @license\n * Copyright 2019 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n FirebaseApp,\n FirebaseOptions,\n FirebaseNamespace,\n FirebaseAppConfig\n} from '@firebase/app-types';\nimport {\n _FirebaseApp,\n _FirebaseNamespace,\n FirebaseService,\n FirebaseServiceNamespace\n} from '@firebase/app-types/private';\nimport { deepExtend, contains } from '@firebase/util';\nimport { FirebaseAppImpl } from './firebaseApp';\nimport { ERROR_FACTORY, AppError } from './errors';\nimport { FirebaseAppLiteImpl } from './lite/firebaseAppLite';\nimport { DEFAULT_ENTRY_NAME, PLATFORM_LOG_STRING } from './constants';\nimport { version } from '../../firebase/package.json';\nimport { logger } from './logger';\nimport {\n setUserLogHandler,\n setLogLevel,\n LogCallback,\n LogOptions\n} from '@firebase/logger';\nimport { Component, ComponentType, Name } from '@firebase/component';\n\n/**\n * Because auth can't share code with other components, we attach the utility functions\n * in an internal namespace to share code.\n * This function return a firebase namespace object without\n * any utility functions, so it can be shared between the regular firebaseNamespace and\n * the lite version.\n */\nexport function createFirebaseNamespaceCore(\n firebaseAppImpl: typeof FirebaseAppImpl | typeof FirebaseAppLiteImpl\n): FirebaseNamespace {\n const apps: { [name: string]: FirebaseApp } = {};\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const components = new Map>();\n\n // A namespace is a plain JavaScript Object.\n const namespace: FirebaseNamespace = {\n // Hack to prevent Babel from modifying the object returned\n // as the firebase namespace.\n // @ts-ignore\n __esModule: true,\n initializeApp,\n // @ts-ignore\n app,\n registerVersion,\n setLogLevel,\n onLog,\n // @ts-ignore\n apps: null,\n SDK_VERSION: version,\n INTERNAL: {\n registerComponent,\n removeApp,\n components,\n useAsService\n }\n };\n\n // Inject a circular default export to allow Babel users who were previously\n // using:\n //\n // import firebase from 'firebase';\n // which becomes: var firebase = require('firebase').default;\n //\n // instead of\n //\n // import * as firebase from 'firebase';\n // which becomes: var firebase = require('firebase');\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (namespace as any)['default'] = namespace;\n\n // firebase.apps is a read-only getter.\n Object.defineProperty(namespace, 'apps', {\n get: getApps\n });\n\n /**\n * Called by App.delete() - but before any services associated with the App\n * are deleted.\n */\n function removeApp(name: string): void {\n delete apps[name];\n }\n\n /**\n * Get the App object for a given name (or DEFAULT).\n */\n function app(name?: string): FirebaseApp {\n name = name || DEFAULT_ENTRY_NAME;\n if (!contains(apps, name)) {\n throw ERROR_FACTORY.create(AppError.NO_APP, { appName: name });\n }\n return apps[name];\n }\n\n // @ts-ignore\n app['App'] = firebaseAppImpl;\n /**\n * Create a new App instance (name must be unique).\n */\n function initializeApp(\n options: FirebaseOptions,\n config?: FirebaseAppConfig\n ): FirebaseApp;\n function initializeApp(options: FirebaseOptions, name?: string): FirebaseApp;\n function initializeApp(\n options: FirebaseOptions,\n rawConfig = {}\n ): FirebaseApp {\n if (typeof rawConfig !== 'object' || rawConfig === null) {\n const name = rawConfig;\n rawConfig = { name };\n }\n\n const config = rawConfig as FirebaseAppConfig;\n\n if (config.name === undefined) {\n config.name = DEFAULT_ENTRY_NAME;\n }\n\n const { name } = config;\n\n if (typeof name !== 'string' || !name) {\n throw ERROR_FACTORY.create(AppError.BAD_APP_NAME, {\n appName: String(name)\n });\n }\n\n if (contains(apps, name)) {\n throw ERROR_FACTORY.create(AppError.DUPLICATE_APP, { appName: name });\n }\n\n const app = new firebaseAppImpl(\n options,\n config,\n namespace as _FirebaseNamespace\n );\n\n apps[name] = app;\n\n return app;\n }\n\n /*\n * Return an array of all the non-deleted FirebaseApps.\n */\n function getApps(): FirebaseApp[] {\n // Make a copy so caller cannot mutate the apps list.\n return Object.keys(apps).map(name => apps[name]);\n }\n\n function registerComponent(\n component: Component\n ): FirebaseServiceNamespace | null {\n const componentName = component.name;\n if (components.has(componentName)) {\n logger.debug(\n `There were multiple attempts to register component ${componentName}.`\n );\n\n return component.type === ComponentType.PUBLIC\n ? // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (namespace as any)[componentName]\n : null;\n }\n\n components.set(componentName, component);\n\n // create service namespace for public components\n if (component.type === ComponentType.PUBLIC) {\n // The Service namespace is an accessor function ...\n const serviceNamespace = (\n appArg: FirebaseApp = app()\n ): FirebaseService => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n if (typeof (appArg as any)[componentName] !== 'function') {\n // Invalid argument.\n // This happens in the following case: firebase.storage('gs:/')\n throw ERROR_FACTORY.create(AppError.INVALID_APP_ARGUMENT, {\n appName: componentName\n });\n }\n\n // Forward service instance lookup to the FirebaseApp.\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return (appArg as any)[componentName]();\n };\n\n // ... and a container for service-level properties.\n if (component.serviceProps !== undefined) {\n deepExtend(serviceNamespace, component.serviceProps);\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (namespace as any)[componentName] = serviceNamespace;\n\n // Patch the FirebaseAppImpl prototype\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (firebaseAppImpl.prototype as any)[componentName] =\n // TODO: The eslint disable can be removed and the 'ignoreRestArgs'\n // option added to the no-explicit-any rule when ESlint releases it.\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n function(...args: any) {\n const serviceFxn = this._getService.bind(this, componentName);\n return serviceFxn.apply(\n this,\n component.multipleInstances ? args : []\n );\n };\n }\n\n // add the component to existing app instances\n for (const appName of Object.keys(apps)) {\n (apps[appName] as _FirebaseApp)._addComponent(component);\n }\n\n return component.type === ComponentType.PUBLIC\n ? // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (namespace as any)[componentName]\n : null;\n }\n\n function registerVersion(\n libraryKeyOrName: string,\n version: string,\n variant?: string\n ): void {\n // TODO: We can use this check to whitelist strings when/if we set up\n // a good whitelist system.\n let library = PLATFORM_LOG_STRING[libraryKeyOrName] ?? libraryKeyOrName;\n if (variant) {\n library += `-${variant}`;\n }\n const libraryMismatch = library.match(/\\s|\\//);\n const versionMismatch = version.match(/\\s|\\//);\n if (libraryMismatch || versionMismatch) {\n const warning = [\n `Unable to register library \"${library}\" with version \"${version}\":`\n ];\n if (libraryMismatch) {\n warning.push(\n `library name \"${library}\" contains illegal characters (whitespace or \"/\")`\n );\n }\n if (libraryMismatch && versionMismatch) {\n warning.push('and');\n }\n if (versionMismatch) {\n warning.push(\n `version name \"${version}\" contains illegal characters (whitespace or \"/\")`\n );\n }\n logger.warn(warning.join(' '));\n return;\n }\n registerComponent(\n new Component(\n `${library}-version` as Name,\n () => ({ library, version }),\n ComponentType.VERSION\n )\n );\n }\n\n function onLog(logCallback: LogCallback | null, options?: LogOptions): void {\n if (logCallback !== null && typeof logCallback !== 'function') {\n throw ERROR_FACTORY.create(AppError.INVALID_LOG_ARGUMENT, {\n appName: name\n });\n }\n setUserLogHandler(logCallback, options);\n }\n\n // Map the requested service to a registered service name\n // (used to map auth to serverAuth service when needed).\n function useAsService(app: FirebaseApp, name: string): string | null {\n if (name === 'serverAuth') {\n return null;\n }\n\n const useService = name;\n\n return useService;\n }\n\n return namespace;\n}\n","/**\n * @license\n * Copyright 2019 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { FirebaseNamespace } from '@firebase/app-types';\nimport { _FirebaseApp, _FirebaseNamespace } from '@firebase/app-types/private';\nimport { createSubscribe, deepExtend, ErrorFactory } from '@firebase/util';\nimport { FirebaseAppImpl } from './firebaseApp';\nimport { createFirebaseNamespaceCore } from './firebaseNamespaceCore';\n\n/**\n * Return a firebase namespace object.\n *\n * In production, this will be called exactly once and the result\n * assigned to the 'firebase' global. It may be called multiple times\n * in unit tests.\n */\nexport function createFirebaseNamespace(): FirebaseNamespace {\n const namespace = createFirebaseNamespaceCore(FirebaseAppImpl);\n (namespace as _FirebaseNamespace).INTERNAL = {\n ...(namespace as _FirebaseNamespace).INTERNAL,\n createFirebaseNamespace,\n extendNamespace,\n createSubscribe,\n ErrorFactory,\n deepExtend\n };\n\n /**\n * Patch the top-level firebase namespace with additional properties.\n *\n * firebase.INTERNAL.extendNamespace()\n */\n function extendNamespace(props: { [prop: string]: unknown }): void {\n deepExtend(namespace, props);\n }\n\n return namespace;\n}\n\nexport const firebase = createFirebaseNamespace();\n","/**\n * @license\n * Copyright 2019 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n ComponentContainer,\n ComponentType,\n Provider,\n Name\n} from '@firebase/component';\n\nexport class PlatformLoggerService {\n constructor(private readonly container: ComponentContainer) {}\n // In initial implementation, this will be called by installations on\n // auth token refresh, and installations will send this string.\n getPlatformInfoString(): string {\n const providers = this.container.getProviders();\n // Loop through providers and get library/version pairs from any that are\n // version components.\n return providers\n .map(provider => {\n if (isVersionServiceProvider(provider)) {\n const service = provider.getImmediate();\n return `${service.library}/${service.version}`;\n } else {\n return null;\n }\n })\n .filter(logString => logString)\n .join(' ');\n }\n}\n/**\n *\n * @param provider check if this provider provides a VersionService\n *\n * NOTE: Using Provider<'app-version'> is a hack to indicate that the provider\n * provides VersionService. The provider is not necessarily a 'app-version'\n * provider.\n */\nfunction isVersionServiceProvider(\n provider: Provider\n): provider is Provider<'app-version'> {\n const component = provider.getComponent();\n return component?.type === ComponentType.VERSION;\n}\n","/**\n * @license\n * Copyright 2019 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { FirebaseNamespace } from '@firebase/app-types';\nimport { _FirebaseNamespace } from '@firebase/app-types/private';\nimport { Component, ComponentType } from '@firebase/component';\nimport { PlatformLoggerService } from './platformLoggerService';\nimport { name, version } from '../package.json';\n\nexport function registerCoreComponents(\n firebase: FirebaseNamespace,\n variant?: string\n): void {\n (firebase as _FirebaseNamespace).INTERNAL.registerComponent(\n new Component(\n 'platform-logger',\n container => new PlatformLoggerService(container),\n ComponentType.PRIVATE\n )\n );\n // Register `app` package.\n firebase.registerVersion(name, version, variant);\n // Register platform SDK identifier (no version).\n firebase.registerVersion('fire-js', '');\n}\n","/**\n * @license\n * Copyright 2017 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { FirebaseNamespace } from '@firebase/app-types';\nimport { _FirebaseNamespace } from '@firebase/app-types/private';\nimport { firebase as _firebase } from './src/firebaseNamespace';\nimport { registerCoreComponents } from './src/registerCoreComponents';\n\n/**\n * To avoid having to include the @types/react-native package, which breaks\n * some of our tests because of duplicate symbols, we are using require syntax\n * here\n */\n// eslint-disable-next-line @typescript-eslint/no-require-imports\nconst { AsyncStorage } = require('react-native');\n\n(_firebase as _FirebaseNamespace).INTERNAL.extendNamespace({\n INTERNAL: {\n reactNative: {\n AsyncStorage\n }\n }\n});\n\nexport const firebase = _firebase as FirebaseNamespace;\n\nregisterCoreComponents(firebase, 'rn');\n\n// eslint-disable-next-line import/no-default-export\nexport default firebase;\n"],"names":["ErrorFactory","_a","appName","analyticsName","authName","databaseName","functionsName","installationsName","messagingName","performanceName","remoteConfigName","storageName","firestoreName","packageName","Logger","deepCopy","ComponentContainer","Component","__values","component","version","contains","deepExtend","setUserLogHandler","name","_firebase","firebase"],"mappings":"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"}