@firebase/app-compat 0.1.39 → 0.2.0-canary.20e5ef7fb

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,19 @@
1
1
  # @firebase/app-compat
2
2
 
3
+ ## 0.2.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [`1625f7a95`](https://github.com/firebase/firebase-js-sdk/commit/1625f7a95cc3ffb666845db0a8044329be74b5be) [#6799](https://github.com/firebase/firebase-js-sdk/pull/6799) - Update TypeScript version to 4.7.4.
8
+
9
+ ### Patch Changes
10
+
11
+ - Updated dependencies [[`c20633ed3`](https://github.com/firebase/firebase-js-sdk/commit/c20633ed35056cbadc9d65d9ceddf4e28d1ea666), [`1625f7a95`](https://github.com/firebase/firebase-js-sdk/commit/1625f7a95cc3ffb666845db0a8044329be74b5be)]:
12
+ - @firebase/util@1.8.0
13
+ - @firebase/app@0.9.0
14
+ - @firebase/component@0.6.0
15
+ - @firebase/logger@0.4.0
16
+
3
17
  ## 0.1.39
4
18
 
5
19
  ### Patch Changes
@@ -32,7 +32,7 @@ class FirebaseAppImpl {
32
32
  this._delegate = _delegate;
33
33
  this.firebase = firebase;
34
34
  // add itself to container
35
- _addComponent(_delegate, new Component('app-compat', () => this, "PUBLIC" /* PUBLIC */));
35
+ _addComponent(_delegate, new Component('app-compat', () => this, "PUBLIC" /* ComponentType.PUBLIC */));
36
36
  this.container = _delegate.container;
37
37
  }
38
38
  get automaticDataCollectionEnabled() {
@@ -76,7 +76,7 @@ class FirebaseAppImpl {
76
76
  // Initialize instance if InstatiationMode is `EXPLICIT`.
77
77
  const provider = this._delegate.container.getProvider(name);
78
78
  if (!provider.isInitialized() &&
79
- ((_a = provider.getComponent()) === null || _a === void 0 ? void 0 : _a.instantiationMode) === "EXPLICIT" /* EXPLICIT */) {
79
+ ((_a = provider.getComponent()) === null || _a === void 0 ? void 0 : _a.instantiationMode) === "EXPLICIT" /* InstantiationMode.EXPLICIT */) {
80
80
  provider.initialize();
81
81
  }
82
82
  // getImmediate will always succeed because _getService is only called for registered components.
@@ -142,9 +142,9 @@ class FirebaseAppImpl {
142
142
  * limitations under the License.
143
143
  */
144
144
  const ERRORS = {
145
- ["no-app" /* NO_APP */]: "No Firebase App '{$appName}' has been created - " +
145
+ ["no-app" /* AppError.NO_APP */]: "No Firebase App '{$appName}' has been created - " +
146
146
  'call Firebase App.initializeApp()',
147
- ["invalid-app-argument" /* INVALID_APP_ARGUMENT */]: 'firebase.{$appName}() takes either no argument or a ' +
147
+ ["invalid-app-argument" /* AppError.INVALID_APP_ARGUMENT */]: 'firebase.{$appName}() takes either no argument or a ' +
148
148
  'Firebase App instance.'
149
149
  };
150
150
  const ERROR_FACTORY = new ErrorFactory('app-compat', 'Firebase', ERRORS);
@@ -227,7 +227,7 @@ function createFirebaseNamespaceCore(firebaseAppImpl) {
227
227
  function app(name) {
228
228
  name = name || modularAPIs._DEFAULT_ENTRY_NAME;
229
229
  if (!contains(apps, name)) {
230
- throw ERROR_FACTORY.create("no-app" /* NO_APP */, { appName: name });
230
+ throw ERROR_FACTORY.create("no-app" /* AppError.NO_APP */, { appName: name });
231
231
  }
232
232
  return apps[name];
233
233
  }
@@ -258,7 +258,7 @@ function createFirebaseNamespaceCore(firebaseAppImpl) {
258
258
  const componentName = component.name;
259
259
  const componentNameWithoutCompat = componentName.replace('-compat', '');
260
260
  if (modularAPIs._registerComponent(component) &&
261
- component.type === "PUBLIC" /* PUBLIC */) {
261
+ component.type === "PUBLIC" /* ComponentType.PUBLIC */) {
262
262
  // create service namespace for public components
263
263
  // The Service namespace is an accessor function ...
264
264
  const serviceNamespace = (appArg = app()) => {
@@ -266,7 +266,7 @@ function createFirebaseNamespaceCore(firebaseAppImpl) {
266
266
  if (typeof appArg[componentNameWithoutCompat] !== 'function') {
267
267
  // Invalid argument.
268
268
  // This happens in the following case: firebase.storage('gs:/')
269
- throw ERROR_FACTORY.create("invalid-app-argument" /* INVALID_APP_ARGUMENT */, {
269
+ throw ERROR_FACTORY.create("invalid-app-argument" /* AppError.INVALID_APP_ARGUMENT */, {
270
270
  appName: componentName
271
271
  });
272
272
  }
@@ -291,7 +291,7 @@ function createFirebaseNamespaceCore(firebaseAppImpl) {
291
291
  return serviceFxn.apply(this, component.multipleInstances ? args : []);
292
292
  };
293
293
  }
294
- return component.type === "PUBLIC" /* PUBLIC */
294
+ return component.type === "PUBLIC" /* ComponentType.PUBLIC */
295
295
  ? // eslint-disable-next-line @typescript-eslint/no-explicit-any
296
296
  namespace[componentNameWithoutCompat]
297
297
  : null;
@@ -369,7 +369,7 @@ const firebase$1 = createFirebaseNamespace();
369
369
  const logger = new Logger('@firebase/app-compat');
370
370
 
371
371
  const name = "@firebase/app-compat";
372
- const version = "0.1.39";
372
+ const version = "0.2.0-canary.20e5ef7fb";
373
373
 
374
374
  /**
375
375
  * @license
@@ -1 +1 @@
1
- {"version":3,"file":"index.esm2017.js","sources":["../../src/firebaseApp.ts","../../src/errors.ts","../../src/firebaseNamespaceCore.ts","../../src/firebaseNamespace.ts","../../src/logger.ts","../../src/registerCoreComponents.ts","../../src/index.ts"],"sourcesContent":["/**\n * @license\n * Copyright 2020 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 { FirebaseOptions } from './public-types';\nimport {\n Component,\n ComponentContainer,\n ComponentType,\n InstantiationMode,\n Name\n} from '@firebase/component';\nimport {\n deleteApp,\n _addComponent,\n _addOrOverwriteComponent,\n _DEFAULT_ENTRY_NAME,\n _FirebaseAppInternal as _FirebaseAppExp\n} from '@firebase/app';\nimport { _FirebaseService, _FirebaseNamespace } from './types';\nimport { Compat } from '@firebase/util';\n\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport interface _FirebaseApp {\n /**\n * The (read-only) name (identifier) for this App. '[DEFAULT]' is the default\n * App.\n */\n name: string;\n\n /**\n * The (read-only) configuration options from the app initialization.\n */\n options: FirebaseOptions;\n\n /**\n * The settable config flag for GDPR opt-in/opt-out\n */\n automaticDataCollectionEnabled: boolean;\n\n /**\n * Make the given App unusable and free resources.\n */\n delete(): Promise<void>;\n}\n/**\n * Global context object for a collection of services using\n * a shared authentication state.\n *\n * marked as internal because it references internal types exported from @firebase/app\n * @internal\n */\nexport class FirebaseAppImpl implements Compat<_FirebaseAppExp>, _FirebaseApp {\n private container: ComponentContainer;\n\n constructor(\n readonly _delegate: _FirebaseAppExp,\n private readonly firebase: _FirebaseNamespace\n ) {\n // add itself to container\n _addComponent(\n _delegate,\n new Component('app-compat', () => this, ComponentType.PUBLIC)\n );\n\n this.container = _delegate.container;\n }\n\n get automaticDataCollectionEnabled(): boolean {\n return this._delegate.automaticDataCollectionEnabled;\n }\n\n set automaticDataCollectionEnabled(val) {\n this._delegate.automaticDataCollectionEnabled = val;\n }\n\n get name(): string {\n return this._delegate.name;\n }\n\n get options(): FirebaseOptions {\n return this._delegate.options;\n }\n\n delete(): Promise<void> {\n return new Promise<void>(resolve => {\n this._delegate.checkDestroyed();\n resolve();\n }).then(() => {\n this.firebase.INTERNAL.removeApp(this.name);\n return deleteApp(this._delegate);\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._delegate.checkDestroyed();\n\n // Initialize instance if InstatiationMode is `EXPLICIT`.\n const provider = this._delegate.container.getProvider(name as Name);\n if (\n !provider.isInitialized() &&\n provider.getComponent()?.instantiationMode === InstantiationMode.EXPLICIT\n ) {\n provider.initialize();\n }\n\n // getImmediate will always succeed because _getService is only called for registered components.\n return provider.getImmediate({\n identifier: instanceIdentifier\n }) as unknown as _FirebaseService;\n }\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 it again.\n *\n * NOTE: currently only firestore uses 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 this._delegate.container\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n .getProvider(name as any)\n .clearInstance(instanceIdentifier);\n }\n\n /**\n * @param component the component being added to this app's container\n * @internal\n */\n _addComponent(component: Component): void {\n _addComponent(this._delegate, component);\n }\n\n _addOrOverwriteComponent(component: Component): void {\n _addOrOverwriteComponent(this._delegate, component);\n }\n\n toJSON(): object {\n return {\n name: this.name,\n automaticDataCollectionEnabled: this.automaticDataCollectionEnabled,\n options: this.options\n };\n }\n}\n\n// TODO: investigate why the following needs to be commented out\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 { ErrorFactory, ErrorMap } from '@firebase/util';\n\nexport const enum AppError {\n NO_APP = 'no-app',\n INVALID_APP_ARGUMENT = 'invalid-app-argument'\n}\n\nconst ERRORS: ErrorMap<AppError> = {\n [AppError.NO_APP]:\n \"No Firebase App '{$appName}' has been created - \" +\n 'call Firebase App.initializeApp()',\n [AppError.INVALID_APP_ARGUMENT]:\n 'firebase.{$appName}() takes either no argument or a ' +\n 'Firebase App instance.'\n};\n\ntype ErrorParams = { [key in AppError]: { appName: string } };\n\nexport const ERROR_FACTORY = new ErrorFactory<AppError, ErrorParams>(\n 'app-compat',\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\nimport { FirebaseApp, FirebaseOptions } from './public-types';\nimport {\n _FirebaseNamespace,\n _FirebaseService,\n FirebaseServiceNamespace\n} from './types';\nimport * as modularAPIs from '@firebase/app';\nimport { _FirebaseAppInternal as _FirebaseAppExp } from '@firebase/app';\nimport { Component, ComponentType, Name } from '@firebase/component';\n\nimport { deepExtend, contains } from '@firebase/util';\nimport { FirebaseAppImpl } from './firebaseApp';\nimport { ERROR_FACTORY, AppError } from './errors';\nimport { FirebaseAppLiteImpl } from './lite/firebaseAppLite';\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<string, Component<any>>();\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: initializeAppCompat,\n // @ts-ignore\n app,\n registerVersion: modularAPIs.registerVersion,\n setLogLevel: modularAPIs.setLogLevel,\n onLog: modularAPIs.onLog,\n // @ts-ignore\n apps: null,\n SDK_VERSION: modularAPIs.SDK_VERSION,\n INTERNAL: {\n registerComponent: registerComponentCompat,\n removeApp,\n useAsService,\n modularAPIs\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 || modularAPIs._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 /**\n * Create a new App instance (name must be unique).\n *\n * This function is idempotent. It can be called more than once and return the same instance using the same options and config.\n */\n function initializeAppCompat(\n options: FirebaseOptions,\n rawConfig = {}\n ): FirebaseApp {\n const app = modularAPIs.initializeApp(\n options,\n rawConfig\n ) as _FirebaseAppExp;\n\n if (contains(apps, app.name)) {\n return apps[app.name];\n }\n\n const appCompat = new firebaseAppImpl(app, namespace);\n apps[app.name] = appCompat;\n return appCompat;\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 registerComponentCompat<T extends Name>(\n component: Component<T>\n ): FirebaseServiceNamespace<_FirebaseService> | null {\n const componentName = component.name;\n const componentNameWithoutCompat = componentName.replace('-compat', '');\n if (\n modularAPIs._registerComponent(component) &&\n component.type === ComponentType.PUBLIC\n ) {\n // create service namespace for public components\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)[componentNameWithoutCompat] !== '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)[componentNameWithoutCompat]();\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)[componentNameWithoutCompat] = serviceNamespace;\n\n // Patch the FirebaseAppImpl prototype\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (firebaseAppImpl.prototype as any)[componentNameWithoutCompat] =\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 return component.type === ComponentType.PUBLIC\n ? // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (namespace as any)[componentNameWithoutCompat]\n : null;\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 './public-types';\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.INTERNAL = {\n ...namespace.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 { Logger } from '@firebase/logger';\n\nexport const logger = new Logger('@firebase/app-compat');\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 { registerVersion } from '@firebase/app';\n\nimport { name, version } from '../package.json';\n\nexport function registerCoreComponents(variant?: string): void {\n // Register `app` package.\n registerVersion(name, version, variant);\n}\n","/**\n * @license\n * Copyright 2020 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 './public-types';\nimport { isBrowser } from '@firebase/util';\nimport { firebase as firebaseNamespace } from './firebaseNamespace';\nimport { logger } from './logger';\nimport { registerCoreComponents } from './registerCoreComponents';\n\n// Firebase Lite detection\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nif (isBrowser() && (self as any).firebase !== undefined) {\n logger.warn(`\n Warning: Firebase is already defined in the global scope. Please make sure\n Firebase library is only loaded once.\n `);\n\n // eslint-disable-next-line\n const sdkVersion = ((self as any).firebase as FirebaseNamespace).SDK_VERSION;\n if (sdkVersion && sdkVersion.indexOf('LITE') >= 0) {\n logger.warn(`\n Warning: You are trying to load Firebase while using Firebase Performance standalone script.\n You should load Firebase Performance with this instance of Firebase to avoid loading duplicate code.\n `);\n }\n}\n\nconst firebase = firebaseNamespace;\n\nregisterCoreComponents();\n\n// eslint-disable-next-line import/no-default-export\nexport default firebase;\n\nexport { _FirebaseNamespace, _FirebaseService } from './types';\nexport { FirebaseApp, FirebaseNamespace } from './public-types';\n"],"names":["firebase","firebaseNamespace"],"mappings":";;;;;;AAAA;;;;;;;;;;;;;;;AAeG;AA2CH;;;;;;AAMG;MACU,eAAe,CAAA;IAG1B,WACW,CAAA,SAA0B,EAClB,QAA4B,EAAA;QADpC,IAAS,CAAA,SAAA,GAAT,SAAS,CAAiB;QAClB,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAoB;;AAG7C,QAAA,aAAa,CACX,SAAS,EACT,IAAI,SAAS,CAAC,YAAY,EAAE,MAAM,IAAI,EAAA,QAAA,cAAuB,CAC9D,CAAC;AAEF,QAAA,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC;KACtC;AAED,IAAA,IAAI,8BAA8B,GAAA;AAChC,QAAA,OAAO,IAAI,CAAC,SAAS,CAAC,8BAA8B,CAAC;KACtD;IAED,IAAI,8BAA8B,CAAC,GAAG,EAAA;AACpC,QAAA,IAAI,CAAC,SAAS,CAAC,8BAA8B,GAAG,GAAG,CAAC;KACrD;AAED,IAAA,IAAI,IAAI,GAAA;AACN,QAAA,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;KAC5B;AAED,IAAA,IAAI,OAAO,GAAA;AACT,QAAA,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;KAC/B;IAED,MAAM,GAAA;AACJ,QAAA,OAAO,IAAI,OAAO,CAAO,OAAO,IAAG;AACjC,YAAA,IAAI,CAAC,SAAS,CAAC,cAAc,EAAE,CAAC;AAChC,YAAA,OAAO,EAAE,CAAC;AACZ,SAAC,CAAC,CAAC,IAAI,CAAC,MAAK;YACX,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC5C,YAAA,OAAO,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AACnC,SAAC,CAAC,CAAC;KACJ;AAED;;;;;;;;;;;;;AAaG;AACH,IAAA,WAAW,CACT,IAAY,EACZ,kBAAA,GAA6B,mBAAmB,EAAA;;AAEhD,QAAA,IAAI,CAAC,SAAS,CAAC,cAAc,EAAE,CAAC;;AAGhC,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,WAAW,CAAC,IAAY,CAAC,CAAC;AACpE,QAAA,IACE,CAAC,QAAQ,CAAC,aAAa,EAAE;YACzB,CAAA,CAAA,EAAA,GAAA,QAAQ,CAAC,YAAY,EAAE,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,iBAAiB,iCAC1C;YACA,QAAQ,CAAC,UAAU,EAAE,CAAC;AACvB,SAAA;;QAGD,OAAO,QAAQ,CAAC,YAAY,CAAC;AAC3B,YAAA,UAAU,EAAE,kBAAkB;AAC/B,SAAA,CAAgC,CAAC;KACnC;AAED;;;;;;;;;AASG;AACH,IAAA,sBAAsB,CACpB,IAAY,EACZ,kBAAA,GAA6B,mBAAmB,EAAA;QAEhD,IAAI,CAAC,SAAS,CAAC,SAAS;;aAErB,WAAW,CAAC,IAAW,CAAC;aACxB,aAAa,CAAC,kBAAkB,CAAC,CAAC;KACtC;AAED;;;AAGG;AACH,IAAA,aAAa,CAAC,SAAoB,EAAA;AAChC,QAAA,aAAa,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;KAC1C;AAED,IAAA,wBAAwB,CAAC,SAAoB,EAAA;AAC3C,QAAA,wBAAwB,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;KACrD;IAED,MAAM,GAAA;QACJ,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,8BAA8B,EAAE,IAAI,CAAC,8BAA8B;YACnE,OAAO,EAAE,IAAI,CAAC,OAAO;SACtB,CAAC;KACH;AACF,CAAA;AAED;AACA;AACA;AACA;AACA;AACA;;AC5LA;;;;;;;;;;;;;;;AAeG;AASH,MAAM,MAAM,GAAuB;AACjC,IAAA,CAAA,QAAA,gBACE,kDAAkD;QAClD,mCAAmC;AACrC,IAAA,CAAA,sBAAA,8BACE,sDAAsD;QACtD,wBAAwB;CAC3B,CAAC;AAIK,MAAM,aAAa,GAAG,IAAI,YAAY,CAC3C,YAAY,EACZ,UAAU,EACV,MAAM,CACP;;ACvCD;;;;;;;;;;;;;;;AAeG;AAiBH;;;;;;AAMG;AACG,SAAU,2BAA2B,CACzC,eAAoE,EAAA;IAEpE,MAAM,IAAI,GAAoC,EAAE,CAAC;;;;AAKjD,IAAA,MAAM,SAAS,GAAuB;;;;AAIpC,QAAA,UAAU,EAAE,IAAI;AAChB,QAAA,aAAa,EAAE,mBAAmB;;QAElC,GAAG;QACH,eAAe,EAAE,WAAW,CAAC,eAAe;QAC5C,WAAW,EAAE,WAAW,CAAC,WAAW;QACpC,KAAK,EAAE,WAAW,CAAC,KAAK;;AAExB,QAAA,IAAI,EAAE,IAAI;QACV,WAAW,EAAE,WAAW,CAAC,WAAW;AACpC,QAAA,QAAQ,EAAE;AACR,YAAA,iBAAiB,EAAE,uBAAuB;YAC1C,SAAS;YACT,YAAY;YACZ,WAAW;AACZ,SAAA;KACF,CAAC;;;;;;;;;;;;AAaD,IAAA,SAAiB,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC;;AAG1C,IAAA,MAAM,CAAC,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE;AACvC,QAAA,GAAG,EAAE,OAAO;AACb,KAAA,CAAC,CAAC;AAEH;;;AAGG;IACH,SAAS,SAAS,CAAC,IAAY,EAAA;AAC7B,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC;KACnB;AAED;;AAEG;IACH,SAAS,GAAG,CAAC,IAAa,EAAA;AACxB,QAAA,IAAI,GAAG,IAAI,IAAI,WAAW,CAAC,mBAAmB,CAAC;AAC/C,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE;YACzB,MAAM,aAAa,CAAC,MAAM,CAAkB,QAAA,eAAA,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;AAChE,SAAA;AACD,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC;KACnB;;AAGD,IAAA,GAAG,CAAC,KAAK,CAAC,GAAG,eAAe,CAAC;AAE7B;;;;AAIG;AACH,IAAA,SAAS,mBAAmB,CAC1B,OAAwB,EACxB,SAAS,GAAG,EAAE,EAAA;QAEd,MAAM,GAAG,GAAG,WAAW,CAAC,aAAa,CACnC,OAAO,EACP,SAAS,CACS,CAAC;QAErB,IAAI,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE;AAC5B,YAAA,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACvB,SAAA;QAED,MAAM,SAAS,GAAG,IAAI,eAAe,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;AACtD,QAAA,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC;AAC3B,QAAA,OAAO,SAAS,CAAC;KAClB;AAED;;AAEG;AACH,IAAA,SAAS,OAAO,GAAA;;AAEd,QAAA,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;KAClD;IAED,SAAS,uBAAuB,CAC9B,SAAuB,EAAA;AAEvB,QAAA,MAAM,aAAa,GAAG,SAAS,CAAC,IAAI,CAAC;QACrC,MAAM,0BAA0B,GAAG,aAAa,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;AACxE,QAAA,IACE,WAAW,CAAC,kBAAkB,CAAC,SAAS,CAAC;YACzC,SAAS,CAAC,IAAI,KAAA,QAAA,eACd;;;AAGA,YAAA,MAAM,gBAAgB,GAAG,CACvB,SAAsB,GAAG,EAAE,KACP;;AAEpB,gBAAA,IAAI,OAAQ,MAAc,CAAC,0BAA0B,CAAC,KAAK,UAAU,EAAE;;;oBAGrE,MAAM,aAAa,CAAC,MAAM,CAAgC,sBAAA,6BAAA;AACxD,wBAAA,OAAO,EAAE,aAAa;AACvB,qBAAA,CAAC,CAAC;AACJ,iBAAA;;;AAID,gBAAA,OAAQ,MAAc,CAAC,0BAA0B,CAAC,EAAE,CAAC;AACvD,aAAC,CAAC;;AAGF,YAAA,IAAI,SAAS,CAAC,YAAY,KAAK,SAAS,EAAE;AACxC,gBAAA,UAAU,CAAC,gBAAgB,EAAE,SAAS,CAAC,YAAY,CAAC,CAAC;AACtD,aAAA;;AAGA,YAAA,SAAiB,CAAC,0BAA0B,CAAC,GAAG,gBAAgB,CAAC;;;AAIjE,YAAA,eAAe,CAAC,SAAiB,CAAC,0BAA0B,CAAC;;;;AAI5D,gBAAA,UAAU,GAAG,IAAS,EAAA;AACpB,oBAAA,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;AAC9D,oBAAA,OAAO,UAAU,CAAC,KAAK,CACrB,IAAI,EACJ,SAAS,CAAC,iBAAiB,GAAG,IAAI,GAAG,EAAE,CACxC,CAAC;AACJ,iBAAC,CAAC;AACL,SAAA;QAED,OAAO,SAAS,CAAC,IAAI,KAAyB,QAAA;AAC5C;gBACG,SAAiB,CAAC,0BAA0B,CAAC;cAC9C,IAAI,CAAC;KACV;;;AAID,IAAA,SAAS,YAAY,CAAC,GAAgB,EAAE,IAAY,EAAA;QAClD,IAAI,IAAI,KAAK,YAAY,EAAE;AACzB,YAAA,OAAO,IAAI,CAAC;AACb,SAAA;QAED,MAAM,UAAU,GAAG,IAAI,CAAC;AAExB,QAAA,OAAO,UAAU,CAAC;KACnB;AAED,IAAA,OAAO,SAAS,CAAC;AACnB;;AClNA;;;;;;;;;;;;;;;AAeG;AAOH;;;;;;AAMG;SACa,uBAAuB,GAAA;AACrC,IAAA,MAAM,SAAS,GAAG,2BAA2B,CAAC,eAAe,CAAC,CAAC;AAC/D,IAAA,SAAS,CAAC,QAAQ,GAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EACb,SAAS,CAAC,QAAQ,KACrB,uBAAuB;QACvB,eAAe;QACf,eAAe;QACf,YAAY;AACZ,QAAA,UAAU,GACX,CAAC;AAEF;;;;AAIG;IACH,SAAS,eAAe,CAAC,KAAkC,EAAA;AACzD,QAAA,UAAU,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;KAC9B;AAED,IAAA,OAAO,SAAS,CAAC;AACnB,CAAC;AAEM,MAAMA,UAAQ,GAAG,uBAAuB,EAAE;;ACpDjD;;;;;;;;;;;;;;;AAeG;AAII,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,sBAAsB,CAAC;;;;;ACnBxD;;;;;;;;;;;;;;;AAeG;AAMG,SAAU,sBAAsB,CAAC,OAAgB,EAAA;;AAErD,IAAA,eAAe,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;AAC1C;;ACxBA;;;;;;;;;;;;;;;AAeG;AAQH;AACA;AACA,IAAI,SAAS,EAAE,IAAK,IAAY,CAAC,QAAQ,KAAK,SAAS,EAAE;IACvD,MAAM,CAAC,IAAI,CAAC,CAAA;;;AAGX,EAAA,CAAA,CAAC,CAAC;;AAGH,IAAA,MAAM,UAAU,GAAK,IAAY,CAAC,QAA8B,CAAC,WAAW,CAAC;IAC7E,IAAI,UAAU,IAAI,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;QACjD,MAAM,CAAC,IAAI,CAAC,CAAA;;;AAGX,IAAA,CAAA,CAAC,CAAC;AACJ,KAAA;AACF,CAAA;AAEK,MAAA,QAAQ,GAAGC,WAAkB;AAEnC,sBAAsB,EAAE;;;;"}
1
+ {"version":3,"file":"index.esm2017.js","sources":["../../src/firebaseApp.ts","../../src/errors.ts","../../src/firebaseNamespaceCore.ts","../../src/firebaseNamespace.ts","../../src/logger.ts","../../src/registerCoreComponents.ts","../../src/index.ts"],"sourcesContent":["/**\n * @license\n * Copyright 2020 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 { FirebaseOptions } from './public-types';\nimport {\n Component,\n ComponentContainer,\n ComponentType,\n InstantiationMode,\n Name\n} from '@firebase/component';\nimport {\n deleteApp,\n _addComponent,\n _addOrOverwriteComponent,\n _DEFAULT_ENTRY_NAME,\n _FirebaseAppInternal as _FirebaseAppExp\n} from '@firebase/app';\nimport { _FirebaseService, _FirebaseNamespace } from './types';\nimport { Compat } from '@firebase/util';\n\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport interface _FirebaseApp {\n /**\n * The (read-only) name (identifier) for this App. '[DEFAULT]' is the default\n * App.\n */\n name: string;\n\n /**\n * The (read-only) configuration options from the app initialization.\n */\n options: FirebaseOptions;\n\n /**\n * The settable config flag for GDPR opt-in/opt-out\n */\n automaticDataCollectionEnabled: boolean;\n\n /**\n * Make the given App unusable and free resources.\n */\n delete(): Promise<void>;\n}\n/**\n * Global context object for a collection of services using\n * a shared authentication state.\n *\n * marked as internal because it references internal types exported from @firebase/app\n * @internal\n */\nexport class FirebaseAppImpl implements Compat<_FirebaseAppExp>, _FirebaseApp {\n private container: ComponentContainer;\n\n constructor(\n readonly _delegate: _FirebaseAppExp,\n private readonly firebase: _FirebaseNamespace\n ) {\n // add itself to container\n _addComponent(\n _delegate,\n new Component('app-compat', () => this, ComponentType.PUBLIC)\n );\n\n this.container = _delegate.container;\n }\n\n get automaticDataCollectionEnabled(): boolean {\n return this._delegate.automaticDataCollectionEnabled;\n }\n\n set automaticDataCollectionEnabled(val) {\n this._delegate.automaticDataCollectionEnabled = val;\n }\n\n get name(): string {\n return this._delegate.name;\n }\n\n get options(): FirebaseOptions {\n return this._delegate.options;\n }\n\n delete(): Promise<void> {\n return new Promise<void>(resolve => {\n this._delegate.checkDestroyed();\n resolve();\n }).then(() => {\n this.firebase.INTERNAL.removeApp(this.name);\n return deleteApp(this._delegate);\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._delegate.checkDestroyed();\n\n // Initialize instance if InstatiationMode is `EXPLICIT`.\n const provider = this._delegate.container.getProvider(name as Name);\n if (\n !provider.isInitialized() &&\n provider.getComponent()?.instantiationMode === InstantiationMode.EXPLICIT\n ) {\n provider.initialize();\n }\n\n // getImmediate will always succeed because _getService is only called for registered components.\n return provider.getImmediate({\n identifier: instanceIdentifier\n }) as unknown as _FirebaseService;\n }\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 it again.\n *\n * NOTE: currently only firestore uses 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 this._delegate.container\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n .getProvider(name as any)\n .clearInstance(instanceIdentifier);\n }\n\n /**\n * @param component the component being added to this app's container\n * @internal\n */\n _addComponent(component: Component): void {\n _addComponent(this._delegate, component);\n }\n\n _addOrOverwriteComponent(component: Component): void {\n _addOrOverwriteComponent(this._delegate, component);\n }\n\n toJSON(): object {\n return {\n name: this.name,\n automaticDataCollectionEnabled: this.automaticDataCollectionEnabled,\n options: this.options\n };\n }\n}\n\n// TODO: investigate why the following needs to be commented out\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 { ErrorFactory, ErrorMap } from '@firebase/util';\n\nexport const enum AppError {\n NO_APP = 'no-app',\n INVALID_APP_ARGUMENT = 'invalid-app-argument'\n}\n\nconst ERRORS: ErrorMap<AppError> = {\n [AppError.NO_APP]:\n \"No Firebase App '{$appName}' has been created - \" +\n 'call Firebase App.initializeApp()',\n [AppError.INVALID_APP_ARGUMENT]:\n 'firebase.{$appName}() takes either no argument or a ' +\n 'Firebase App instance.'\n};\n\ntype ErrorParams = { [key in AppError]: { appName: string } };\n\nexport const ERROR_FACTORY = new ErrorFactory<AppError, ErrorParams>(\n 'app-compat',\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\nimport { FirebaseApp, FirebaseOptions } from './public-types';\nimport {\n _FirebaseNamespace,\n _FirebaseService,\n FirebaseServiceNamespace\n} from './types';\nimport * as modularAPIs from '@firebase/app';\nimport { _FirebaseAppInternal as _FirebaseAppExp } from '@firebase/app';\nimport { Component, ComponentType, Name } from '@firebase/component';\n\nimport { deepExtend, contains } from '@firebase/util';\nimport { FirebaseAppImpl } from './firebaseApp';\nimport { ERROR_FACTORY, AppError } from './errors';\nimport { FirebaseAppLiteImpl } from './lite/firebaseAppLite';\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<string, Component<any>>();\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: initializeAppCompat,\n // @ts-ignore\n app,\n registerVersion: modularAPIs.registerVersion,\n setLogLevel: modularAPIs.setLogLevel,\n onLog: modularAPIs.onLog,\n // @ts-ignore\n apps: null,\n SDK_VERSION: modularAPIs.SDK_VERSION,\n INTERNAL: {\n registerComponent: registerComponentCompat,\n removeApp,\n useAsService,\n modularAPIs\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 || modularAPIs._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 /**\n * Create a new App instance (name must be unique).\n *\n * This function is idempotent. It can be called more than once and return the same instance using the same options and config.\n */\n function initializeAppCompat(\n options: FirebaseOptions,\n rawConfig = {}\n ): FirebaseApp {\n const app = modularAPIs.initializeApp(\n options,\n rawConfig\n ) as _FirebaseAppExp;\n\n if (contains(apps, app.name)) {\n return apps[app.name];\n }\n\n const appCompat = new firebaseAppImpl(app, namespace);\n apps[app.name] = appCompat;\n return appCompat;\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 registerComponentCompat<T extends Name>(\n component: Component<T>\n ): FirebaseServiceNamespace<_FirebaseService> | null {\n const componentName = component.name;\n const componentNameWithoutCompat = componentName.replace('-compat', '');\n if (\n modularAPIs._registerComponent(component) &&\n component.type === ComponentType.PUBLIC\n ) {\n // create service namespace for public components\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)[componentNameWithoutCompat] !== '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)[componentNameWithoutCompat]();\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)[componentNameWithoutCompat] = serviceNamespace;\n\n // Patch the FirebaseAppImpl prototype\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (firebaseAppImpl.prototype as any)[componentNameWithoutCompat] =\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 return component.type === ComponentType.PUBLIC\n ? // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (namespace as any)[componentNameWithoutCompat]\n : null;\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 './public-types';\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.INTERNAL = {\n ...namespace.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 { Logger } from '@firebase/logger';\n\nexport const logger = new Logger('@firebase/app-compat');\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 { registerVersion } from '@firebase/app';\n\nimport { name, version } from '../package.json';\n\nexport function registerCoreComponents(variant?: string): void {\n // Register `app` package.\n registerVersion(name, version, variant);\n}\n","/**\n * @license\n * Copyright 2020 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 './public-types';\nimport { isBrowser } from '@firebase/util';\nimport { firebase as firebaseNamespace } from './firebaseNamespace';\nimport { logger } from './logger';\nimport { registerCoreComponents } from './registerCoreComponents';\n\n// Firebase Lite detection\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nif (isBrowser() && (self as any).firebase !== undefined) {\n logger.warn(`\n Warning: Firebase is already defined in the global scope. Please make sure\n Firebase library is only loaded once.\n `);\n\n // eslint-disable-next-line\n const sdkVersion = ((self as any).firebase as FirebaseNamespace).SDK_VERSION;\n if (sdkVersion && sdkVersion.indexOf('LITE') >= 0) {\n logger.warn(`\n Warning: You are trying to load Firebase while using Firebase Performance standalone script.\n You should load Firebase Performance with this instance of Firebase to avoid loading duplicate code.\n `);\n }\n}\n\nconst firebase = firebaseNamespace;\n\nregisterCoreComponents();\n\n// eslint-disable-next-line import/no-default-export\nexport default firebase;\n\nexport { _FirebaseNamespace, _FirebaseService } from './types';\nexport { FirebaseApp, FirebaseNamespace } from './public-types';\n"],"names":["firebase","firebaseNamespace"],"mappings":"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"}
@@ -34,7 +34,7 @@ var FirebaseAppImpl = /** @class */ (function () {
34
34
  this._delegate = _delegate;
35
35
  this.firebase = firebase;
36
36
  // add itself to container
37
- _addComponent(_delegate, new Component('app-compat', function () { return _this; }, "PUBLIC" /* PUBLIC */));
37
+ _addComponent(_delegate, new Component('app-compat', function () { return _this; }, "PUBLIC" /* ComponentType.PUBLIC */));
38
38
  this.container = _delegate.container;
39
39
  }
40
40
  Object.defineProperty(FirebaseAppImpl.prototype, "automaticDataCollectionEnabled", {
@@ -92,7 +92,7 @@ var FirebaseAppImpl = /** @class */ (function () {
92
92
  // Initialize instance if InstatiationMode is `EXPLICIT`.
93
93
  var provider = this._delegate.container.getProvider(name);
94
94
  if (!provider.isInitialized() &&
95
- ((_a = provider.getComponent()) === null || _a === void 0 ? void 0 : _a.instantiationMode) === "EXPLICIT" /* EXPLICIT */) {
95
+ ((_a = provider.getComponent()) === null || _a === void 0 ? void 0 : _a.instantiationMode) === "EXPLICIT" /* InstantiationMode.EXPLICIT */) {
96
96
  provider.initialize();
97
97
  }
98
98
  // getImmediate will always succeed because _getService is only called for registered components.
@@ -161,9 +161,9 @@ var FirebaseAppImpl = /** @class */ (function () {
161
161
  */
162
162
  var _a;
163
163
  var ERRORS = (_a = {},
164
- _a["no-app" /* NO_APP */] = "No Firebase App '{$appName}' has been created - " +
164
+ _a["no-app" /* AppError.NO_APP */] = "No Firebase App '{$appName}' has been created - " +
165
165
  'call Firebase App.initializeApp()',
166
- _a["invalid-app-argument" /* INVALID_APP_ARGUMENT */] = 'firebase.{$appName}() takes either no argument or a ' +
166
+ _a["invalid-app-argument" /* AppError.INVALID_APP_ARGUMENT */] = 'firebase.{$appName}() takes either no argument or a ' +
167
167
  'Firebase App instance.',
168
168
  _a);
169
169
  var ERROR_FACTORY = new ErrorFactory('app-compat', 'Firebase', ERRORS);
@@ -246,7 +246,7 @@ function createFirebaseNamespaceCore(firebaseAppImpl) {
246
246
  function app(name) {
247
247
  name = name || modularAPIs._DEFAULT_ENTRY_NAME;
248
248
  if (!contains(apps, name)) {
249
- throw ERROR_FACTORY.create("no-app" /* NO_APP */, { appName: name });
249
+ throw ERROR_FACTORY.create("no-app" /* AppError.NO_APP */, { appName: name });
250
250
  }
251
251
  return apps[name];
252
252
  }
@@ -278,7 +278,7 @@ function createFirebaseNamespaceCore(firebaseAppImpl) {
278
278
  var componentName = component.name;
279
279
  var componentNameWithoutCompat = componentName.replace('-compat', '');
280
280
  if (modularAPIs._registerComponent(component) &&
281
- component.type === "PUBLIC" /* PUBLIC */) {
281
+ component.type === "PUBLIC" /* ComponentType.PUBLIC */) {
282
282
  // create service namespace for public components
283
283
  // The Service namespace is an accessor function ...
284
284
  var serviceNamespace = function (appArg) {
@@ -287,7 +287,7 @@ function createFirebaseNamespaceCore(firebaseAppImpl) {
287
287
  if (typeof appArg[componentNameWithoutCompat] !== 'function') {
288
288
  // Invalid argument.
289
289
  // This happens in the following case: firebase.storage('gs:/')
290
- throw ERROR_FACTORY.create("invalid-app-argument" /* INVALID_APP_ARGUMENT */, {
290
+ throw ERROR_FACTORY.create("invalid-app-argument" /* AppError.INVALID_APP_ARGUMENT */, {
291
291
  appName: componentName
292
292
  });
293
293
  }
@@ -316,7 +316,7 @@ function createFirebaseNamespaceCore(firebaseAppImpl) {
316
316
  return serviceFxn.apply(this, component.multipleInstances ? args : []);
317
317
  };
318
318
  }
319
- return component.type === "PUBLIC" /* PUBLIC */
319
+ return component.type === "PUBLIC" /* ComponentType.PUBLIC */
320
320
  ? // eslint-disable-next-line @typescript-eslint/no-explicit-any
321
321
  namespace[componentNameWithoutCompat]
322
322
  : null;
@@ -358,11 +358,7 @@ function createFirebaseNamespaceCore(firebaseAppImpl) {
358
358
  */
359
359
  function createFirebaseNamespace() {
360
360
  var namespace = createFirebaseNamespaceCore(FirebaseAppImpl);
361
- namespace.INTERNAL = __assign(__assign({}, namespace.INTERNAL), { createFirebaseNamespace: createFirebaseNamespace,
362
- extendNamespace: extendNamespace,
363
- createSubscribe: createSubscribe,
364
- ErrorFactory: ErrorFactory,
365
- deepExtend: deepExtend });
361
+ namespace.INTERNAL = __assign(__assign({}, namespace.INTERNAL), { createFirebaseNamespace: createFirebaseNamespace, extendNamespace: extendNamespace, createSubscribe: createSubscribe, ErrorFactory: ErrorFactory, deepExtend: deepExtend });
366
362
  /**
367
363
  * Patch the top-level firebase namespace with additional properties.
368
364
  *
@@ -394,7 +390,7 @@ var firebase$1 = createFirebaseNamespace();
394
390
  var logger = new Logger('@firebase/app-compat');
395
391
 
396
392
  var name = "@firebase/app-compat";
397
- var version = "0.1.39";
393
+ var version = "0.2.0-canary.20e5ef7fb";
398
394
 
399
395
  /**
400
396
  * @license
@@ -1 +1 @@
1
- {"version":3,"file":"index.esm5.js","sources":["../../src/firebaseApp.ts","../../src/errors.ts","../../src/firebaseNamespaceCore.ts","../../src/firebaseNamespace.ts","../../src/logger.ts","../../src/registerCoreComponents.ts","../../src/index.ts"],"sourcesContent":["/**\n * @license\n * Copyright 2020 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 { FirebaseOptions } from './public-types';\nimport {\n Component,\n ComponentContainer,\n ComponentType,\n InstantiationMode,\n Name\n} from '@firebase/component';\nimport {\n deleteApp,\n _addComponent,\n _addOrOverwriteComponent,\n _DEFAULT_ENTRY_NAME,\n _FirebaseAppInternal as _FirebaseAppExp\n} from '@firebase/app';\nimport { _FirebaseService, _FirebaseNamespace } from './types';\nimport { Compat } from '@firebase/util';\n\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport interface _FirebaseApp {\n /**\n * The (read-only) name (identifier) for this App. '[DEFAULT]' is the default\n * App.\n */\n name: string;\n\n /**\n * The (read-only) configuration options from the app initialization.\n */\n options: FirebaseOptions;\n\n /**\n * The settable config flag for GDPR opt-in/opt-out\n */\n automaticDataCollectionEnabled: boolean;\n\n /**\n * Make the given App unusable and free resources.\n */\n delete(): Promise<void>;\n}\n/**\n * Global context object for a collection of services using\n * a shared authentication state.\n *\n * marked as internal because it references internal types exported from @firebase/app\n * @internal\n */\nexport class FirebaseAppImpl implements Compat<_FirebaseAppExp>, _FirebaseApp {\n private container: ComponentContainer;\n\n constructor(\n readonly _delegate: _FirebaseAppExp,\n private readonly firebase: _FirebaseNamespace\n ) {\n // add itself to container\n _addComponent(\n _delegate,\n new Component('app-compat', () => this, ComponentType.PUBLIC)\n );\n\n this.container = _delegate.container;\n }\n\n get automaticDataCollectionEnabled(): boolean {\n return this._delegate.automaticDataCollectionEnabled;\n }\n\n set automaticDataCollectionEnabled(val) {\n this._delegate.automaticDataCollectionEnabled = val;\n }\n\n get name(): string {\n return this._delegate.name;\n }\n\n get options(): FirebaseOptions {\n return this._delegate.options;\n }\n\n delete(): Promise<void> {\n return new Promise<void>(resolve => {\n this._delegate.checkDestroyed();\n resolve();\n }).then(() => {\n this.firebase.INTERNAL.removeApp(this.name);\n return deleteApp(this._delegate);\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._delegate.checkDestroyed();\n\n // Initialize instance if InstatiationMode is `EXPLICIT`.\n const provider = this._delegate.container.getProvider(name as Name);\n if (\n !provider.isInitialized() &&\n provider.getComponent()?.instantiationMode === InstantiationMode.EXPLICIT\n ) {\n provider.initialize();\n }\n\n // getImmediate will always succeed because _getService is only called for registered components.\n return provider.getImmediate({\n identifier: instanceIdentifier\n }) as unknown as _FirebaseService;\n }\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 it again.\n *\n * NOTE: currently only firestore uses 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 this._delegate.container\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n .getProvider(name as any)\n .clearInstance(instanceIdentifier);\n }\n\n /**\n * @param component the component being added to this app's container\n * @internal\n */\n _addComponent(component: Component): void {\n _addComponent(this._delegate, component);\n }\n\n _addOrOverwriteComponent(component: Component): void {\n _addOrOverwriteComponent(this._delegate, component);\n }\n\n toJSON(): object {\n return {\n name: this.name,\n automaticDataCollectionEnabled: this.automaticDataCollectionEnabled,\n options: this.options\n };\n }\n}\n\n// TODO: investigate why the following needs to be commented out\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 { ErrorFactory, ErrorMap } from '@firebase/util';\n\nexport const enum AppError {\n NO_APP = 'no-app',\n INVALID_APP_ARGUMENT = 'invalid-app-argument'\n}\n\nconst ERRORS: ErrorMap<AppError> = {\n [AppError.NO_APP]:\n \"No Firebase App '{$appName}' has been created - \" +\n 'call Firebase App.initializeApp()',\n [AppError.INVALID_APP_ARGUMENT]:\n 'firebase.{$appName}() takes either no argument or a ' +\n 'Firebase App instance.'\n};\n\ntype ErrorParams = { [key in AppError]: { appName: string } };\n\nexport const ERROR_FACTORY = new ErrorFactory<AppError, ErrorParams>(\n 'app-compat',\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\nimport { FirebaseApp, FirebaseOptions } from './public-types';\nimport {\n _FirebaseNamespace,\n _FirebaseService,\n FirebaseServiceNamespace\n} from './types';\nimport * as modularAPIs from '@firebase/app';\nimport { _FirebaseAppInternal as _FirebaseAppExp } from '@firebase/app';\nimport { Component, ComponentType, Name } from '@firebase/component';\n\nimport { deepExtend, contains } from '@firebase/util';\nimport { FirebaseAppImpl } from './firebaseApp';\nimport { ERROR_FACTORY, AppError } from './errors';\nimport { FirebaseAppLiteImpl } from './lite/firebaseAppLite';\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<string, Component<any>>();\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: initializeAppCompat,\n // @ts-ignore\n app,\n registerVersion: modularAPIs.registerVersion,\n setLogLevel: modularAPIs.setLogLevel,\n onLog: modularAPIs.onLog,\n // @ts-ignore\n apps: null,\n SDK_VERSION: modularAPIs.SDK_VERSION,\n INTERNAL: {\n registerComponent: registerComponentCompat,\n removeApp,\n useAsService,\n modularAPIs\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 || modularAPIs._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 /**\n * Create a new App instance (name must be unique).\n *\n * This function is idempotent. It can be called more than once and return the same instance using the same options and config.\n */\n function initializeAppCompat(\n options: FirebaseOptions,\n rawConfig = {}\n ): FirebaseApp {\n const app = modularAPIs.initializeApp(\n options,\n rawConfig\n ) as _FirebaseAppExp;\n\n if (contains(apps, app.name)) {\n return apps[app.name];\n }\n\n const appCompat = new firebaseAppImpl(app, namespace);\n apps[app.name] = appCompat;\n return appCompat;\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 registerComponentCompat<T extends Name>(\n component: Component<T>\n ): FirebaseServiceNamespace<_FirebaseService> | null {\n const componentName = component.name;\n const componentNameWithoutCompat = componentName.replace('-compat', '');\n if (\n modularAPIs._registerComponent(component) &&\n component.type === ComponentType.PUBLIC\n ) {\n // create service namespace for public components\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)[componentNameWithoutCompat] !== '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)[componentNameWithoutCompat]();\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)[componentNameWithoutCompat] = serviceNamespace;\n\n // Patch the FirebaseAppImpl prototype\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (firebaseAppImpl.prototype as any)[componentNameWithoutCompat] =\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 return component.type === ComponentType.PUBLIC\n ? // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (namespace as any)[componentNameWithoutCompat]\n : null;\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 './public-types';\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.INTERNAL = {\n ...namespace.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 { Logger } from '@firebase/logger';\n\nexport const logger = new Logger('@firebase/app-compat');\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 { registerVersion } from '@firebase/app';\n\nimport { name, version } from '../package.json';\n\nexport function registerCoreComponents(variant?: string): void {\n // Register `app` package.\n registerVersion(name, version, variant);\n}\n","/**\n * @license\n * Copyright 2020 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 './public-types';\nimport { isBrowser } from '@firebase/util';\nimport { firebase as firebaseNamespace } from './firebaseNamespace';\nimport { logger } from './logger';\nimport { registerCoreComponents } from './registerCoreComponents';\n\n// Firebase Lite detection\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nif (isBrowser() && (self as any).firebase !== undefined) {\n logger.warn(`\n Warning: Firebase is already defined in the global scope. Please make sure\n Firebase library is only loaded once.\n `);\n\n // eslint-disable-next-line\n const sdkVersion = ((self as any).firebase as FirebaseNamespace).SDK_VERSION;\n if (sdkVersion && sdkVersion.indexOf('LITE') >= 0) {\n logger.warn(`\n Warning: You are trying to load Firebase while using Firebase Performance standalone script.\n You should load Firebase Performance with this instance of Firebase to avoid loading duplicate code.\n `);\n }\n}\n\nconst firebase = firebaseNamespace;\n\nregisterCoreComponents();\n\n// eslint-disable-next-line import/no-default-export\nexport default firebase;\n\nexport { _FirebaseNamespace, _FirebaseService } from './types';\nexport { FirebaseApp, FirebaseNamespace } from './public-types';\n"],"names":["firebase","firebaseNamespace"],"mappings":"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"}
1
+ {"version":3,"file":"index.esm5.js","sources":["../../src/firebaseApp.ts","../../src/errors.ts","../../src/firebaseNamespaceCore.ts","../../src/firebaseNamespace.ts","../../src/logger.ts","../../src/registerCoreComponents.ts","../../src/index.ts"],"sourcesContent":["/**\n * @license\n * Copyright 2020 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 { FirebaseOptions } from './public-types';\nimport {\n Component,\n ComponentContainer,\n ComponentType,\n InstantiationMode,\n Name\n} from '@firebase/component';\nimport {\n deleteApp,\n _addComponent,\n _addOrOverwriteComponent,\n _DEFAULT_ENTRY_NAME,\n _FirebaseAppInternal as _FirebaseAppExp\n} from '@firebase/app';\nimport { _FirebaseService, _FirebaseNamespace } from './types';\nimport { Compat } from '@firebase/util';\n\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport interface _FirebaseApp {\n /**\n * The (read-only) name (identifier) for this App. '[DEFAULT]' is the default\n * App.\n */\n name: string;\n\n /**\n * The (read-only) configuration options from the app initialization.\n */\n options: FirebaseOptions;\n\n /**\n * The settable config flag for GDPR opt-in/opt-out\n */\n automaticDataCollectionEnabled: boolean;\n\n /**\n * Make the given App unusable and free resources.\n */\n delete(): Promise<void>;\n}\n/**\n * Global context object for a collection of services using\n * a shared authentication state.\n *\n * marked as internal because it references internal types exported from @firebase/app\n * @internal\n */\nexport class FirebaseAppImpl implements Compat<_FirebaseAppExp>, _FirebaseApp {\n private container: ComponentContainer;\n\n constructor(\n readonly _delegate: _FirebaseAppExp,\n private readonly firebase: _FirebaseNamespace\n ) {\n // add itself to container\n _addComponent(\n _delegate,\n new Component('app-compat', () => this, ComponentType.PUBLIC)\n );\n\n this.container = _delegate.container;\n }\n\n get automaticDataCollectionEnabled(): boolean {\n return this._delegate.automaticDataCollectionEnabled;\n }\n\n set automaticDataCollectionEnabled(val) {\n this._delegate.automaticDataCollectionEnabled = val;\n }\n\n get name(): string {\n return this._delegate.name;\n }\n\n get options(): FirebaseOptions {\n return this._delegate.options;\n }\n\n delete(): Promise<void> {\n return new Promise<void>(resolve => {\n this._delegate.checkDestroyed();\n resolve();\n }).then(() => {\n this.firebase.INTERNAL.removeApp(this.name);\n return deleteApp(this._delegate);\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._delegate.checkDestroyed();\n\n // Initialize instance if InstatiationMode is `EXPLICIT`.\n const provider = this._delegate.container.getProvider(name as Name);\n if (\n !provider.isInitialized() &&\n provider.getComponent()?.instantiationMode === InstantiationMode.EXPLICIT\n ) {\n provider.initialize();\n }\n\n // getImmediate will always succeed because _getService is only called for registered components.\n return provider.getImmediate({\n identifier: instanceIdentifier\n }) as unknown as _FirebaseService;\n }\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 it again.\n *\n * NOTE: currently only firestore uses 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 this._delegate.container\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n .getProvider(name as any)\n .clearInstance(instanceIdentifier);\n }\n\n /**\n * @param component the component being added to this app's container\n * @internal\n */\n _addComponent(component: Component): void {\n _addComponent(this._delegate, component);\n }\n\n _addOrOverwriteComponent(component: Component): void {\n _addOrOverwriteComponent(this._delegate, component);\n }\n\n toJSON(): object {\n return {\n name: this.name,\n automaticDataCollectionEnabled: this.automaticDataCollectionEnabled,\n options: this.options\n };\n }\n}\n\n// TODO: investigate why the following needs to be commented out\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 { ErrorFactory, ErrorMap } from '@firebase/util';\n\nexport const enum AppError {\n NO_APP = 'no-app',\n INVALID_APP_ARGUMENT = 'invalid-app-argument'\n}\n\nconst ERRORS: ErrorMap<AppError> = {\n [AppError.NO_APP]:\n \"No Firebase App '{$appName}' has been created - \" +\n 'call Firebase App.initializeApp()',\n [AppError.INVALID_APP_ARGUMENT]:\n 'firebase.{$appName}() takes either no argument or a ' +\n 'Firebase App instance.'\n};\n\ntype ErrorParams = { [key in AppError]: { appName: string } };\n\nexport const ERROR_FACTORY = new ErrorFactory<AppError, ErrorParams>(\n 'app-compat',\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\nimport { FirebaseApp, FirebaseOptions } from './public-types';\nimport {\n _FirebaseNamespace,\n _FirebaseService,\n FirebaseServiceNamespace\n} from './types';\nimport * as modularAPIs from '@firebase/app';\nimport { _FirebaseAppInternal as _FirebaseAppExp } from '@firebase/app';\nimport { Component, ComponentType, Name } from '@firebase/component';\n\nimport { deepExtend, contains } from '@firebase/util';\nimport { FirebaseAppImpl } from './firebaseApp';\nimport { ERROR_FACTORY, AppError } from './errors';\nimport { FirebaseAppLiteImpl } from './lite/firebaseAppLite';\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<string, Component<any>>();\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: initializeAppCompat,\n // @ts-ignore\n app,\n registerVersion: modularAPIs.registerVersion,\n setLogLevel: modularAPIs.setLogLevel,\n onLog: modularAPIs.onLog,\n // @ts-ignore\n apps: null,\n SDK_VERSION: modularAPIs.SDK_VERSION,\n INTERNAL: {\n registerComponent: registerComponentCompat,\n removeApp,\n useAsService,\n modularAPIs\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 || modularAPIs._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 /**\n * Create a new App instance (name must be unique).\n *\n * This function is idempotent. It can be called more than once and return the same instance using the same options and config.\n */\n function initializeAppCompat(\n options: FirebaseOptions,\n rawConfig = {}\n ): FirebaseApp {\n const app = modularAPIs.initializeApp(\n options,\n rawConfig\n ) as _FirebaseAppExp;\n\n if (contains(apps, app.name)) {\n return apps[app.name];\n }\n\n const appCompat = new firebaseAppImpl(app, namespace);\n apps[app.name] = appCompat;\n return appCompat;\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 registerComponentCompat<T extends Name>(\n component: Component<T>\n ): FirebaseServiceNamespace<_FirebaseService> | null {\n const componentName = component.name;\n const componentNameWithoutCompat = componentName.replace('-compat', '');\n if (\n modularAPIs._registerComponent(component) &&\n component.type === ComponentType.PUBLIC\n ) {\n // create service namespace for public components\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)[componentNameWithoutCompat] !== '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)[componentNameWithoutCompat]();\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)[componentNameWithoutCompat] = serviceNamespace;\n\n // Patch the FirebaseAppImpl prototype\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (firebaseAppImpl.prototype as any)[componentNameWithoutCompat] =\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 return component.type === ComponentType.PUBLIC\n ? // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (namespace as any)[componentNameWithoutCompat]\n : null;\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 './public-types';\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.INTERNAL = {\n ...namespace.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 { Logger } from '@firebase/logger';\n\nexport const logger = new Logger('@firebase/app-compat');\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 { registerVersion } from '@firebase/app';\n\nimport { name, version } from '../package.json';\n\nexport function registerCoreComponents(variant?: string): void {\n // Register `app` package.\n registerVersion(name, version, variant);\n}\n","/**\n * @license\n * Copyright 2020 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 './public-types';\nimport { isBrowser } from '@firebase/util';\nimport { firebase as firebaseNamespace } from './firebaseNamespace';\nimport { logger } from './logger';\nimport { registerCoreComponents } from './registerCoreComponents';\n\n// Firebase Lite detection\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nif (isBrowser() && (self as any).firebase !== undefined) {\n logger.warn(`\n Warning: Firebase is already defined in the global scope. Please make sure\n Firebase library is only loaded once.\n `);\n\n // eslint-disable-next-line\n const sdkVersion = ((self as any).firebase as FirebaseNamespace).SDK_VERSION;\n if (sdkVersion && sdkVersion.indexOf('LITE') >= 0) {\n logger.warn(`\n Warning: You are trying to load Firebase while using Firebase Performance standalone script.\n You should load Firebase Performance with this instance of Firebase to avoid loading duplicate code.\n `);\n }\n}\n\nconst firebase = firebaseNamespace;\n\nregisterCoreComponents();\n\n// eslint-disable-next-line import/no-default-export\nexport default firebase;\n\nexport { _FirebaseNamespace, _FirebaseService } from './types';\nexport { FirebaseApp, FirebaseNamespace } from './public-types';\n"],"names":["firebase","firebaseNamespace"],"mappings":"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"}
package/dist/index.cjs.js CHANGED
@@ -55,7 +55,7 @@ var FirebaseAppImpl = /** @class */ (function () {
55
55
  this._delegate = _delegate;
56
56
  this.firebase = firebase;
57
57
  // add itself to container
58
- modularAPIs._addComponent(_delegate, new component.Component('app-compat', function () { return _this; }, "PUBLIC" /* PUBLIC */));
58
+ modularAPIs._addComponent(_delegate, new component.Component('app-compat', function () { return _this; }, "PUBLIC" /* ComponentType.PUBLIC */));
59
59
  this.container = _delegate.container;
60
60
  }
61
61
  Object.defineProperty(FirebaseAppImpl.prototype, "automaticDataCollectionEnabled", {
@@ -113,7 +113,7 @@ var FirebaseAppImpl = /** @class */ (function () {
113
113
  // Initialize instance if InstatiationMode is `EXPLICIT`.
114
114
  var provider = this._delegate.container.getProvider(name);
115
115
  if (!provider.isInitialized() &&
116
- ((_a = provider.getComponent()) === null || _a === void 0 ? void 0 : _a.instantiationMode) === "EXPLICIT" /* EXPLICIT */) {
116
+ ((_a = provider.getComponent()) === null || _a === void 0 ? void 0 : _a.instantiationMode) === "EXPLICIT" /* InstantiationMode.EXPLICIT */) {
117
117
  provider.initialize();
118
118
  }
119
119
  // getImmediate will always succeed because _getService is only called for registered components.
@@ -182,9 +182,9 @@ var FirebaseAppImpl = /** @class */ (function () {
182
182
  */
183
183
  var _a;
184
184
  var ERRORS = (_a = {},
185
- _a["no-app" /* NO_APP */] = "No Firebase App '{$appName}' has been created - " +
185
+ _a["no-app" /* AppError.NO_APP */] = "No Firebase App '{$appName}' has been created - " +
186
186
  'call Firebase App.initializeApp()',
187
- _a["invalid-app-argument" /* INVALID_APP_ARGUMENT */] = 'firebase.{$appName}() takes either no argument or a ' +
187
+ _a["invalid-app-argument" /* AppError.INVALID_APP_ARGUMENT */] = 'firebase.{$appName}() takes either no argument or a ' +
188
188
  'Firebase App instance.',
189
189
  _a);
190
190
  var ERROR_FACTORY = new util.ErrorFactory('app-compat', 'Firebase', ERRORS);
@@ -267,7 +267,7 @@ function createFirebaseNamespaceCore(firebaseAppImpl) {
267
267
  function app(name) {
268
268
  name = name || modularAPIs__namespace._DEFAULT_ENTRY_NAME;
269
269
  if (!util.contains(apps, name)) {
270
- throw ERROR_FACTORY.create("no-app" /* NO_APP */, { appName: name });
270
+ throw ERROR_FACTORY.create("no-app" /* AppError.NO_APP */, { appName: name });
271
271
  }
272
272
  return apps[name];
273
273
  }
@@ -299,7 +299,7 @@ function createFirebaseNamespaceCore(firebaseAppImpl) {
299
299
  var componentName = component.name;
300
300
  var componentNameWithoutCompat = componentName.replace('-compat', '');
301
301
  if (modularAPIs__namespace._registerComponent(component) &&
302
- component.type === "PUBLIC" /* PUBLIC */) {
302
+ component.type === "PUBLIC" /* ComponentType.PUBLIC */) {
303
303
  // create service namespace for public components
304
304
  // The Service namespace is an accessor function ...
305
305
  var serviceNamespace = function (appArg) {
@@ -308,7 +308,7 @@ function createFirebaseNamespaceCore(firebaseAppImpl) {
308
308
  if (typeof appArg[componentNameWithoutCompat] !== 'function') {
309
309
  // Invalid argument.
310
310
  // This happens in the following case: firebase.storage('gs:/')
311
- throw ERROR_FACTORY.create("invalid-app-argument" /* INVALID_APP_ARGUMENT */, {
311
+ throw ERROR_FACTORY.create("invalid-app-argument" /* AppError.INVALID_APP_ARGUMENT */, {
312
312
  appName: componentName
313
313
  });
314
314
  }
@@ -337,7 +337,7 @@ function createFirebaseNamespaceCore(firebaseAppImpl) {
337
337
  return serviceFxn.apply(this, component.multipleInstances ? args : []);
338
338
  };
339
339
  }
340
- return component.type === "PUBLIC" /* PUBLIC */
340
+ return component.type === "PUBLIC" /* ComponentType.PUBLIC */
341
341
  ? // eslint-disable-next-line @typescript-eslint/no-explicit-any
342
342
  namespace[componentNameWithoutCompat]
343
343
  : null;
@@ -379,11 +379,7 @@ function createFirebaseNamespaceCore(firebaseAppImpl) {
379
379
  */
380
380
  function createFirebaseNamespace() {
381
381
  var namespace = createFirebaseNamespaceCore(FirebaseAppImpl);
382
- namespace.INTERNAL = tslib.__assign(tslib.__assign({}, namespace.INTERNAL), { createFirebaseNamespace: createFirebaseNamespace,
383
- extendNamespace: extendNamespace,
384
- createSubscribe: util.createSubscribe,
385
- ErrorFactory: util.ErrorFactory,
386
- deepExtend: util.deepExtend });
382
+ namespace.INTERNAL = tslib.__assign(tslib.__assign({}, namespace.INTERNAL), { createFirebaseNamespace: createFirebaseNamespace, extendNamespace: extendNamespace, createSubscribe: util.createSubscribe, ErrorFactory: util.ErrorFactory, deepExtend: util.deepExtend });
387
383
  /**
388
384
  * Patch the top-level firebase namespace with additional properties.
389
385
  *
@@ -415,7 +411,7 @@ var firebase$1 = createFirebaseNamespace();
415
411
  var logger = new logger$1.Logger('@firebase/app-compat');
416
412
 
417
413
  var name = "@firebase/app-compat";
418
- var version = "0.1.39";
414
+ var version = "0.2.0-canary.20e5ef7fb";
419
415
 
420
416
  /**
421
417
  * @license
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs.js","sources":["../src/firebaseApp.ts","../src/errors.ts","../src/firebaseNamespaceCore.ts","../src/firebaseNamespace.ts","../src/logger.ts","../src/registerCoreComponents.ts","../src/index.ts"],"sourcesContent":["/**\n * @license\n * Copyright 2020 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 { FirebaseOptions } from './public-types';\nimport {\n Component,\n ComponentContainer,\n ComponentType,\n InstantiationMode,\n Name\n} from '@firebase/component';\nimport {\n deleteApp,\n _addComponent,\n _addOrOverwriteComponent,\n _DEFAULT_ENTRY_NAME,\n _FirebaseAppInternal as _FirebaseAppExp\n} from '@firebase/app';\nimport { _FirebaseService, _FirebaseNamespace } from './types';\nimport { Compat } from '@firebase/util';\n\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport interface _FirebaseApp {\n /**\n * The (read-only) name (identifier) for this App. '[DEFAULT]' is the default\n * App.\n */\n name: string;\n\n /**\n * The (read-only) configuration options from the app initialization.\n */\n options: FirebaseOptions;\n\n /**\n * The settable config flag for GDPR opt-in/opt-out\n */\n automaticDataCollectionEnabled: boolean;\n\n /**\n * Make the given App unusable and free resources.\n */\n delete(): Promise<void>;\n}\n/**\n * Global context object for a collection of services using\n * a shared authentication state.\n *\n * marked as internal because it references internal types exported from @firebase/app\n * @internal\n */\nexport class FirebaseAppImpl implements Compat<_FirebaseAppExp>, _FirebaseApp {\n private container: ComponentContainer;\n\n constructor(\n readonly _delegate: _FirebaseAppExp,\n private readonly firebase: _FirebaseNamespace\n ) {\n // add itself to container\n _addComponent(\n _delegate,\n new Component('app-compat', () => this, ComponentType.PUBLIC)\n );\n\n this.container = _delegate.container;\n }\n\n get automaticDataCollectionEnabled(): boolean {\n return this._delegate.automaticDataCollectionEnabled;\n }\n\n set automaticDataCollectionEnabled(val) {\n this._delegate.automaticDataCollectionEnabled = val;\n }\n\n get name(): string {\n return this._delegate.name;\n }\n\n get options(): FirebaseOptions {\n return this._delegate.options;\n }\n\n delete(): Promise<void> {\n return new Promise<void>(resolve => {\n this._delegate.checkDestroyed();\n resolve();\n }).then(() => {\n this.firebase.INTERNAL.removeApp(this.name);\n return deleteApp(this._delegate);\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._delegate.checkDestroyed();\n\n // Initialize instance if InstatiationMode is `EXPLICIT`.\n const provider = this._delegate.container.getProvider(name as Name);\n if (\n !provider.isInitialized() &&\n provider.getComponent()?.instantiationMode === InstantiationMode.EXPLICIT\n ) {\n provider.initialize();\n }\n\n // getImmediate will always succeed because _getService is only called for registered components.\n return provider.getImmediate({\n identifier: instanceIdentifier\n }) as unknown as _FirebaseService;\n }\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 it again.\n *\n * NOTE: currently only firestore uses 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 this._delegate.container\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n .getProvider(name as any)\n .clearInstance(instanceIdentifier);\n }\n\n /**\n * @param component the component being added to this app's container\n * @internal\n */\n _addComponent(component: Component): void {\n _addComponent(this._delegate, component);\n }\n\n _addOrOverwriteComponent(component: Component): void {\n _addOrOverwriteComponent(this._delegate, component);\n }\n\n toJSON(): object {\n return {\n name: this.name,\n automaticDataCollectionEnabled: this.automaticDataCollectionEnabled,\n options: this.options\n };\n }\n}\n\n// TODO: investigate why the following needs to be commented out\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 { ErrorFactory, ErrorMap } from '@firebase/util';\n\nexport const enum AppError {\n NO_APP = 'no-app',\n INVALID_APP_ARGUMENT = 'invalid-app-argument'\n}\n\nconst ERRORS: ErrorMap<AppError> = {\n [AppError.NO_APP]:\n \"No Firebase App '{$appName}' has been created - \" +\n 'call Firebase App.initializeApp()',\n [AppError.INVALID_APP_ARGUMENT]:\n 'firebase.{$appName}() takes either no argument or a ' +\n 'Firebase App instance.'\n};\n\ntype ErrorParams = { [key in AppError]: { appName: string } };\n\nexport const ERROR_FACTORY = new ErrorFactory<AppError, ErrorParams>(\n 'app-compat',\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\nimport { FirebaseApp, FirebaseOptions } from './public-types';\nimport {\n _FirebaseNamespace,\n _FirebaseService,\n FirebaseServiceNamespace\n} from './types';\nimport * as modularAPIs from '@firebase/app';\nimport { _FirebaseAppInternal as _FirebaseAppExp } from '@firebase/app';\nimport { Component, ComponentType, Name } from '@firebase/component';\n\nimport { deepExtend, contains } from '@firebase/util';\nimport { FirebaseAppImpl } from './firebaseApp';\nimport { ERROR_FACTORY, AppError } from './errors';\nimport { FirebaseAppLiteImpl } from './lite/firebaseAppLite';\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<string, Component<any>>();\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: initializeAppCompat,\n // @ts-ignore\n app,\n registerVersion: modularAPIs.registerVersion,\n setLogLevel: modularAPIs.setLogLevel,\n onLog: modularAPIs.onLog,\n // @ts-ignore\n apps: null,\n SDK_VERSION: modularAPIs.SDK_VERSION,\n INTERNAL: {\n registerComponent: registerComponentCompat,\n removeApp,\n useAsService,\n modularAPIs\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 || modularAPIs._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 /**\n * Create a new App instance (name must be unique).\n *\n * This function is idempotent. It can be called more than once and return the same instance using the same options and config.\n */\n function initializeAppCompat(\n options: FirebaseOptions,\n rawConfig = {}\n ): FirebaseApp {\n const app = modularAPIs.initializeApp(\n options,\n rawConfig\n ) as _FirebaseAppExp;\n\n if (contains(apps, app.name)) {\n return apps[app.name];\n }\n\n const appCompat = new firebaseAppImpl(app, namespace);\n apps[app.name] = appCompat;\n return appCompat;\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 registerComponentCompat<T extends Name>(\n component: Component<T>\n ): FirebaseServiceNamespace<_FirebaseService> | null {\n const componentName = component.name;\n const componentNameWithoutCompat = componentName.replace('-compat', '');\n if (\n modularAPIs._registerComponent(component) &&\n component.type === ComponentType.PUBLIC\n ) {\n // create service namespace for public components\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)[componentNameWithoutCompat] !== '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)[componentNameWithoutCompat]();\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)[componentNameWithoutCompat] = serviceNamespace;\n\n // Patch the FirebaseAppImpl prototype\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (firebaseAppImpl.prototype as any)[componentNameWithoutCompat] =\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 return component.type === ComponentType.PUBLIC\n ? // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (namespace as any)[componentNameWithoutCompat]\n : null;\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 './public-types';\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.INTERNAL = {\n ...namespace.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 { Logger } from '@firebase/logger';\n\nexport const logger = new Logger('@firebase/app-compat');\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 { registerVersion } from '@firebase/app';\n\nimport { name, version } from '../package.json';\n\nexport function registerCoreComponents(variant?: string): void {\n // Register `app` package.\n registerVersion(name, version, variant);\n}\n","/**\n * @license\n * Copyright 2020 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 './public-types';\nimport { isBrowser } from '@firebase/util';\nimport { firebase as firebaseNamespace } from './firebaseNamespace';\nimport { logger } from './logger';\nimport { registerCoreComponents } from './registerCoreComponents';\n\n// Firebase Lite detection\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nif (isBrowser() && (self as any).firebase !== undefined) {\n logger.warn(`\n Warning: Firebase is already defined in the global scope. Please make sure\n Firebase library is only loaded once.\n `);\n\n // eslint-disable-next-line\n const sdkVersion = ((self as any).firebase as FirebaseNamespace).SDK_VERSION;\n if (sdkVersion && sdkVersion.indexOf('LITE') >= 0) {\n logger.warn(`\n Warning: You are trying to load Firebase while using Firebase Performance standalone script.\n You should load Firebase Performance with this instance of Firebase to avoid loading duplicate code.\n `);\n }\n}\n\nconst firebase = firebaseNamespace;\n\nregisterCoreComponents();\n\n// eslint-disable-next-line import/no-default-export\nexport default firebase;\n\nexport { _FirebaseNamespace, _FirebaseService } from './types';\nexport { FirebaseApp, FirebaseNamespace } from './public-types';\n"],"names":["_addComponent","Component","deleteApp","_DEFAULT_ENTRY_NAME","_addOrOverwriteComponent","ErrorFactory","modularAPIs","contains","deepExtend","__assign","createSubscribe","firebase","Logger","registerVersion","isBrowser","firebaseNamespace"],"mappings":"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"}
1
+ {"version":3,"file":"index.cjs.js","sources":["../src/firebaseApp.ts","../src/errors.ts","../src/firebaseNamespaceCore.ts","../src/firebaseNamespace.ts","../src/logger.ts","../src/registerCoreComponents.ts","../src/index.ts"],"sourcesContent":["/**\n * @license\n * Copyright 2020 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 { FirebaseOptions } from './public-types';\nimport {\n Component,\n ComponentContainer,\n ComponentType,\n InstantiationMode,\n Name\n} from '@firebase/component';\nimport {\n deleteApp,\n _addComponent,\n _addOrOverwriteComponent,\n _DEFAULT_ENTRY_NAME,\n _FirebaseAppInternal as _FirebaseAppExp\n} from '@firebase/app';\nimport { _FirebaseService, _FirebaseNamespace } from './types';\nimport { Compat } from '@firebase/util';\n\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport interface _FirebaseApp {\n /**\n * The (read-only) name (identifier) for this App. '[DEFAULT]' is the default\n * App.\n */\n name: string;\n\n /**\n * The (read-only) configuration options from the app initialization.\n */\n options: FirebaseOptions;\n\n /**\n * The settable config flag for GDPR opt-in/opt-out\n */\n automaticDataCollectionEnabled: boolean;\n\n /**\n * Make the given App unusable and free resources.\n */\n delete(): Promise<void>;\n}\n/**\n * Global context object for a collection of services using\n * a shared authentication state.\n *\n * marked as internal because it references internal types exported from @firebase/app\n * @internal\n */\nexport class FirebaseAppImpl implements Compat<_FirebaseAppExp>, _FirebaseApp {\n private container: ComponentContainer;\n\n constructor(\n readonly _delegate: _FirebaseAppExp,\n private readonly firebase: _FirebaseNamespace\n ) {\n // add itself to container\n _addComponent(\n _delegate,\n new Component('app-compat', () => this, ComponentType.PUBLIC)\n );\n\n this.container = _delegate.container;\n }\n\n get automaticDataCollectionEnabled(): boolean {\n return this._delegate.automaticDataCollectionEnabled;\n }\n\n set automaticDataCollectionEnabled(val) {\n this._delegate.automaticDataCollectionEnabled = val;\n }\n\n get name(): string {\n return this._delegate.name;\n }\n\n get options(): FirebaseOptions {\n return this._delegate.options;\n }\n\n delete(): Promise<void> {\n return new Promise<void>(resolve => {\n this._delegate.checkDestroyed();\n resolve();\n }).then(() => {\n this.firebase.INTERNAL.removeApp(this.name);\n return deleteApp(this._delegate);\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._delegate.checkDestroyed();\n\n // Initialize instance if InstatiationMode is `EXPLICIT`.\n const provider = this._delegate.container.getProvider(name as Name);\n if (\n !provider.isInitialized() &&\n provider.getComponent()?.instantiationMode === InstantiationMode.EXPLICIT\n ) {\n provider.initialize();\n }\n\n // getImmediate will always succeed because _getService is only called for registered components.\n return provider.getImmediate({\n identifier: instanceIdentifier\n }) as unknown as _FirebaseService;\n }\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 it again.\n *\n * NOTE: currently only firestore uses 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 this._delegate.container\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n .getProvider(name as any)\n .clearInstance(instanceIdentifier);\n }\n\n /**\n * @param component the component being added to this app's container\n * @internal\n */\n _addComponent(component: Component): void {\n _addComponent(this._delegate, component);\n }\n\n _addOrOverwriteComponent(component: Component): void {\n _addOrOverwriteComponent(this._delegate, component);\n }\n\n toJSON(): object {\n return {\n name: this.name,\n automaticDataCollectionEnabled: this.automaticDataCollectionEnabled,\n options: this.options\n };\n }\n}\n\n// TODO: investigate why the following needs to be commented out\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 { ErrorFactory, ErrorMap } from '@firebase/util';\n\nexport const enum AppError {\n NO_APP = 'no-app',\n INVALID_APP_ARGUMENT = 'invalid-app-argument'\n}\n\nconst ERRORS: ErrorMap<AppError> = {\n [AppError.NO_APP]:\n \"No Firebase App '{$appName}' has been created - \" +\n 'call Firebase App.initializeApp()',\n [AppError.INVALID_APP_ARGUMENT]:\n 'firebase.{$appName}() takes either no argument or a ' +\n 'Firebase App instance.'\n};\n\ntype ErrorParams = { [key in AppError]: { appName: string } };\n\nexport const ERROR_FACTORY = new ErrorFactory<AppError, ErrorParams>(\n 'app-compat',\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\nimport { FirebaseApp, FirebaseOptions } from './public-types';\nimport {\n _FirebaseNamespace,\n _FirebaseService,\n FirebaseServiceNamespace\n} from './types';\nimport * as modularAPIs from '@firebase/app';\nimport { _FirebaseAppInternal as _FirebaseAppExp } from '@firebase/app';\nimport { Component, ComponentType, Name } from '@firebase/component';\n\nimport { deepExtend, contains } from '@firebase/util';\nimport { FirebaseAppImpl } from './firebaseApp';\nimport { ERROR_FACTORY, AppError } from './errors';\nimport { FirebaseAppLiteImpl } from './lite/firebaseAppLite';\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<string, Component<any>>();\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: initializeAppCompat,\n // @ts-ignore\n app,\n registerVersion: modularAPIs.registerVersion,\n setLogLevel: modularAPIs.setLogLevel,\n onLog: modularAPIs.onLog,\n // @ts-ignore\n apps: null,\n SDK_VERSION: modularAPIs.SDK_VERSION,\n INTERNAL: {\n registerComponent: registerComponentCompat,\n removeApp,\n useAsService,\n modularAPIs\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 || modularAPIs._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 /**\n * Create a new App instance (name must be unique).\n *\n * This function is idempotent. It can be called more than once and return the same instance using the same options and config.\n */\n function initializeAppCompat(\n options: FirebaseOptions,\n rawConfig = {}\n ): FirebaseApp {\n const app = modularAPIs.initializeApp(\n options,\n rawConfig\n ) as _FirebaseAppExp;\n\n if (contains(apps, app.name)) {\n return apps[app.name];\n }\n\n const appCompat = new firebaseAppImpl(app, namespace);\n apps[app.name] = appCompat;\n return appCompat;\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 registerComponentCompat<T extends Name>(\n component: Component<T>\n ): FirebaseServiceNamespace<_FirebaseService> | null {\n const componentName = component.name;\n const componentNameWithoutCompat = componentName.replace('-compat', '');\n if (\n modularAPIs._registerComponent(component) &&\n component.type === ComponentType.PUBLIC\n ) {\n // create service namespace for public components\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)[componentNameWithoutCompat] !== '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)[componentNameWithoutCompat]();\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)[componentNameWithoutCompat] = serviceNamespace;\n\n // Patch the FirebaseAppImpl prototype\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (firebaseAppImpl.prototype as any)[componentNameWithoutCompat] =\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 return component.type === ComponentType.PUBLIC\n ? // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (namespace as any)[componentNameWithoutCompat]\n : null;\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 './public-types';\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.INTERNAL = {\n ...namespace.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 { Logger } from '@firebase/logger';\n\nexport const logger = new Logger('@firebase/app-compat');\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 { registerVersion } from '@firebase/app';\n\nimport { name, version } from '../package.json';\n\nexport function registerCoreComponents(variant?: string): void {\n // Register `app` package.\n registerVersion(name, version, variant);\n}\n","/**\n * @license\n * Copyright 2020 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 './public-types';\nimport { isBrowser } from '@firebase/util';\nimport { firebase as firebaseNamespace } from './firebaseNamespace';\nimport { logger } from './logger';\nimport { registerCoreComponents } from './registerCoreComponents';\n\n// Firebase Lite detection\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nif (isBrowser() && (self as any).firebase !== undefined) {\n logger.warn(`\n Warning: Firebase is already defined in the global scope. Please make sure\n Firebase library is only loaded once.\n `);\n\n // eslint-disable-next-line\n const sdkVersion = ((self as any).firebase as FirebaseNamespace).SDK_VERSION;\n if (sdkVersion && sdkVersion.indexOf('LITE') >= 0) {\n logger.warn(`\n Warning: You are trying to load Firebase while using Firebase Performance standalone script.\n You should load Firebase Performance with this instance of Firebase to avoid loading duplicate code.\n `);\n }\n}\n\nconst firebase = firebaseNamespace;\n\nregisterCoreComponents();\n\n// eslint-disable-next-line import/no-default-export\nexport default firebase;\n\nexport { _FirebaseNamespace, _FirebaseService } from './types';\nexport { FirebaseApp, FirebaseNamespace } from './public-types';\n"],"names":["_addComponent","Component","deleteApp","_DEFAULT_ENTRY_NAME","_addOrOverwriteComponent","ErrorFactory","modularAPIs","contains","deepExtend","__assign","firebase","Logger","registerVersion","isBrowser","firebaseNamespace"],"mappings":"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"}
@@ -29,7 +29,7 @@ var FirebaseAppLiteImpl = /** @class */ (function () {
29
29
  this._delegate = _delegate;
30
30
  this.firebase = firebase;
31
31
  // add itself to container
32
- _addComponent(_delegate, new Component('app-compat', function () { return _this; }, "PUBLIC" /* PUBLIC */));
32
+ _addComponent(_delegate, new Component('app-compat', function () { return _this; }, "PUBLIC" /* ComponentType.PUBLIC */));
33
33
  }
34
34
  Object.defineProperty(FirebaseAppLiteImpl.prototype, "automaticDataCollectionEnabled", {
35
35
  get: function () {
@@ -102,9 +102,9 @@ var FirebaseAppLiteImpl = /** @class */ (function () {
102
102
  */
103
103
  var _a;
104
104
  var ERRORS = (_a = {},
105
- _a["no-app" /* NO_APP */] = "No Firebase App '{$appName}' has been created - " +
105
+ _a["no-app" /* AppError.NO_APP */] = "No Firebase App '{$appName}' has been created - " +
106
106
  'call Firebase App.initializeApp()',
107
- _a["invalid-app-argument" /* INVALID_APP_ARGUMENT */] = 'firebase.{$appName}() takes either no argument or a ' +
107
+ _a["invalid-app-argument" /* AppError.INVALID_APP_ARGUMENT */] = 'firebase.{$appName}() takes either no argument or a ' +
108
108
  'Firebase App instance.',
109
109
  _a);
110
110
  var ERROR_FACTORY = new ErrorFactory('app-compat', 'Firebase', ERRORS);
@@ -187,7 +187,7 @@ function createFirebaseNamespaceCore(firebaseAppImpl) {
187
187
  function app(name) {
188
188
  name = name || modularAPIs._DEFAULT_ENTRY_NAME;
189
189
  if (!contains(apps, name)) {
190
- throw ERROR_FACTORY.create("no-app" /* NO_APP */, { appName: name });
190
+ throw ERROR_FACTORY.create("no-app" /* AppError.NO_APP */, { appName: name });
191
191
  }
192
192
  return apps[name];
193
193
  }
@@ -219,7 +219,7 @@ function createFirebaseNamespaceCore(firebaseAppImpl) {
219
219
  var componentName = component.name;
220
220
  var componentNameWithoutCompat = componentName.replace('-compat', '');
221
221
  if (modularAPIs._registerComponent(component) &&
222
- component.type === "PUBLIC" /* PUBLIC */) {
222
+ component.type === "PUBLIC" /* ComponentType.PUBLIC */) {
223
223
  // create service namespace for public components
224
224
  // The Service namespace is an accessor function ...
225
225
  var serviceNamespace = function (appArg) {
@@ -228,7 +228,7 @@ function createFirebaseNamespaceCore(firebaseAppImpl) {
228
228
  if (typeof appArg[componentNameWithoutCompat] !== 'function') {
229
229
  // Invalid argument.
230
230
  // This happens in the following case: firebase.storage('gs:/')
231
- throw ERROR_FACTORY.create("invalid-app-argument" /* INVALID_APP_ARGUMENT */, {
231
+ throw ERROR_FACTORY.create("invalid-app-argument" /* AppError.INVALID_APP_ARGUMENT */, {
232
232
  appName: componentName
233
233
  });
234
234
  }
@@ -257,7 +257,7 @@ function createFirebaseNamespaceCore(firebaseAppImpl) {
257
257
  return serviceFxn.apply(this, component.multipleInstances ? args : []);
258
258
  };
259
259
  }
260
- return component.type === "PUBLIC" /* PUBLIC */
260
+ return component.type === "PUBLIC" /* ComponentType.PUBLIC */
261
261
  ? // eslint-disable-next-line @typescript-eslint/no-explicit-any
262
262
  namespace[componentNameWithoutCompat]
263
263
  : null;
@@ -292,7 +292,7 @@ function createFirebaseNamespaceCore(firebaseAppImpl) {
292
292
  */
293
293
  function createFirebaseNamespaceLite() {
294
294
  var namespace = createFirebaseNamespaceCore(FirebaseAppLiteImpl);
295
- namespace.SDK_VERSION = namespace.SDK_VERSION + "_LITE";
295
+ namespace.SDK_VERSION = "".concat(namespace.SDK_VERSION, "_LITE");
296
296
  var registerComponent = namespace.INTERNAL.registerComponent;
297
297
  namespace.INTERNAL.registerComponent = registerComponentForLite;
298
298
  /**
@@ -303,10 +303,10 @@ function createFirebaseNamespaceLite() {
303
303
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
304
304
  component) {
305
305
  // only allow performance to register with firebase lite
306
- if (component.type === "PUBLIC" /* PUBLIC */ &&
306
+ if (component.type === "PUBLIC" /* ComponentType.PUBLIC */ &&
307
307
  !component.name.includes('performance') &&
308
308
  !component.name.includes('installations')) {
309
- throw Error(name + " cannot register with the standalone perf instance");
309
+ throw Error("".concat(name, " cannot register with the standalone perf instance"));
310
310
  }
311
311
  return registerComponent(component);
312
312
  }
@@ -314,7 +314,7 @@ function createFirebaseNamespaceLite() {
314
314
  }
315
315
 
316
316
  var name$1 = "@firebase/app-compat";
317
- var version = "0.1.39";
317
+ var version = "0.2.0-canary.20e5ef7fb";
318
318
 
319
319
  /**
320
320
  * @license
@@ -1 +1 @@
1
- {"version":3,"file":"index.lite.esm5.js","sources":["../src/lite/firebaseAppLite.ts","../src/errors.ts","../src/firebaseNamespaceCore.ts","../src/lite/firebaseNamespaceLite.ts","../src/registerCoreComponents.ts","../src/index.lite.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 { FirebaseApp, FirebaseOptions } from '../public-types';\nimport { _FirebaseNamespace, _FirebaseService } from '../types';\nimport {\n deleteApp,\n _addComponent,\n _DEFAULT_ENTRY_NAME,\n _FirebaseAppInternal as FirebaseAppExp\n} from '@firebase/app';\nimport { Component, ComponentType, Name } from '@firebase/component';\nimport { Compat } from '@firebase/util';\n\n/**\n * Global context object for a collection of services using\n * a shared authentication state.\n */\nexport class FirebaseAppLiteImpl\n implements FirebaseApp, Compat<FirebaseAppExp>\n{\n constructor(\n readonly _delegate: FirebaseAppExp,\n private readonly firebase: _FirebaseNamespace\n ) {\n // add itself to container\n _addComponent(\n _delegate,\n new Component('app-compat', () => this, ComponentType.PUBLIC)\n );\n }\n\n get automaticDataCollectionEnabled(): boolean {\n return this._delegate.automaticDataCollectionEnabled;\n }\n\n set automaticDataCollectionEnabled(val) {\n this.automaticDataCollectionEnabled = val;\n }\n\n get name(): string {\n return this._delegate.name;\n }\n\n get options(): FirebaseOptions {\n return this._delegate.options;\n }\n\n delete(): Promise<void> {\n this.firebase.INTERNAL.removeApp(this.name);\n return deleteApp(this._delegate);\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 is the only one that is 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._delegate.checkDestroyed();\n\n // getImmediate will always succeed because _getService is only called for registered components.\n return this._delegate.container.getProvider(name as Name).getImmediate({\n identifier: instanceIdentifier\n }) as unknown as _FirebaseService;\n }\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 { ErrorFactory, ErrorMap } from '@firebase/util';\n\nexport const enum AppError {\n NO_APP = 'no-app',\n INVALID_APP_ARGUMENT = 'invalid-app-argument'\n}\n\nconst ERRORS: ErrorMap<AppError> = {\n [AppError.NO_APP]:\n \"No Firebase App '{$appName}' has been created - \" +\n 'call Firebase App.initializeApp()',\n [AppError.INVALID_APP_ARGUMENT]:\n 'firebase.{$appName}() takes either no argument or a ' +\n 'Firebase App instance.'\n};\n\ntype ErrorParams = { [key in AppError]: { appName: string } };\n\nexport const ERROR_FACTORY = new ErrorFactory<AppError, ErrorParams>(\n 'app-compat',\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\nimport { FirebaseApp, FirebaseOptions } from './public-types';\nimport {\n _FirebaseNamespace,\n _FirebaseService,\n FirebaseServiceNamespace\n} from './types';\nimport * as modularAPIs from '@firebase/app';\nimport { _FirebaseAppInternal as _FirebaseAppExp } from '@firebase/app';\nimport { Component, ComponentType, Name } from '@firebase/component';\n\nimport { deepExtend, contains } from '@firebase/util';\nimport { FirebaseAppImpl } from './firebaseApp';\nimport { ERROR_FACTORY, AppError } from './errors';\nimport { FirebaseAppLiteImpl } from './lite/firebaseAppLite';\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<string, Component<any>>();\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: initializeAppCompat,\n // @ts-ignore\n app,\n registerVersion: modularAPIs.registerVersion,\n setLogLevel: modularAPIs.setLogLevel,\n onLog: modularAPIs.onLog,\n // @ts-ignore\n apps: null,\n SDK_VERSION: modularAPIs.SDK_VERSION,\n INTERNAL: {\n registerComponent: registerComponentCompat,\n removeApp,\n useAsService,\n modularAPIs\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 || modularAPIs._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 /**\n * Create a new App instance (name must be unique).\n *\n * This function is idempotent. It can be called more than once and return the same instance using the same options and config.\n */\n function initializeAppCompat(\n options: FirebaseOptions,\n rawConfig = {}\n ): FirebaseApp {\n const app = modularAPIs.initializeApp(\n options,\n rawConfig\n ) as _FirebaseAppExp;\n\n if (contains(apps, app.name)) {\n return apps[app.name];\n }\n\n const appCompat = new firebaseAppImpl(app, namespace);\n apps[app.name] = appCompat;\n return appCompat;\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 registerComponentCompat<T extends Name>(\n component: Component<T>\n ): FirebaseServiceNamespace<_FirebaseService> | null {\n const componentName = component.name;\n const componentNameWithoutCompat = componentName.replace('-compat', '');\n if (\n modularAPIs._registerComponent(component) &&\n component.type === ComponentType.PUBLIC\n ) {\n // create service namespace for public components\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)[componentNameWithoutCompat] !== '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)[componentNameWithoutCompat]();\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)[componentNameWithoutCompat] = serviceNamespace;\n\n // Patch the FirebaseAppImpl prototype\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (firebaseAppImpl.prototype as any)[componentNameWithoutCompat] =\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 return component.type === ComponentType.PUBLIC\n ? // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (namespace as any)[componentNameWithoutCompat]\n : null;\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 '../public-types';\nimport { FirebaseServiceNamespace, _FirebaseService } from '../types';\nimport { FirebaseAppLiteImpl } from './firebaseAppLite';\nimport { createFirebaseNamespaceCore } from '../firebaseNamespaceCore';\nimport { Component, ComponentType } from '@firebase/component';\n\nexport function createFirebaseNamespaceLite(): FirebaseNamespace {\n const namespace = createFirebaseNamespaceCore(FirebaseAppLiteImpl);\n\n namespace.SDK_VERSION = `${namespace.SDK_VERSION}_LITE`;\n\n const registerComponent = namespace.INTERNAL.registerComponent;\n namespace.INTERNAL.registerComponent = registerComponentForLite;\n\n /**\n * This is a special implementation, so it only works with performance.\n * only allow performance SDK to register.\n */\n function registerComponentForLite(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n component: Component<any>\n ): FirebaseServiceNamespace<_FirebaseService> | null {\n // only allow performance to register with firebase lite\n if (\n component.type === ComponentType.PUBLIC &&\n !component.name.includes('performance') &&\n !component.name.includes('installations')\n ) {\n throw Error(`${name} cannot register with the standalone perf instance`);\n }\n\n return registerComponent(component);\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 { registerVersion } from '@firebase/app';\n\nimport { name, version } from '../package.json';\n\nexport function registerCoreComponents(variant?: string): void {\n // Register `app` package.\n registerVersion(name, version, variant);\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 { createFirebaseNamespaceLite } from './lite/firebaseNamespaceLite';\nimport { registerCoreComponents } from './registerCoreComponents';\n\nconst firebase = createFirebaseNamespaceLite();\n\nregisterCoreComponents('lite');\n\n// eslint-disable-next-line import/no-default-export\nexport default firebase;\n"],"names":["name"],"mappings":"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"}
1
+ {"version":3,"file":"index.lite.esm5.js","sources":["../src/lite/firebaseAppLite.ts","../src/errors.ts","../src/firebaseNamespaceCore.ts","../src/lite/firebaseNamespaceLite.ts","../src/registerCoreComponents.ts","../src/index.lite.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 { FirebaseApp, FirebaseOptions } from '../public-types';\nimport { _FirebaseNamespace, _FirebaseService } from '../types';\nimport {\n deleteApp,\n _addComponent,\n _DEFAULT_ENTRY_NAME,\n _FirebaseAppInternal as FirebaseAppExp\n} from '@firebase/app';\nimport { Component, ComponentType, Name } from '@firebase/component';\nimport { Compat } from '@firebase/util';\n\n/**\n * Global context object for a collection of services using\n * a shared authentication state.\n */\nexport class FirebaseAppLiteImpl\n implements FirebaseApp, Compat<FirebaseAppExp>\n{\n constructor(\n readonly _delegate: FirebaseAppExp,\n private readonly firebase: _FirebaseNamespace\n ) {\n // add itself to container\n _addComponent(\n _delegate,\n new Component('app-compat', () => this, ComponentType.PUBLIC)\n );\n }\n\n get automaticDataCollectionEnabled(): boolean {\n return this._delegate.automaticDataCollectionEnabled;\n }\n\n set automaticDataCollectionEnabled(val) {\n this.automaticDataCollectionEnabled = val;\n }\n\n get name(): string {\n return this._delegate.name;\n }\n\n get options(): FirebaseOptions {\n return this._delegate.options;\n }\n\n delete(): Promise<void> {\n this.firebase.INTERNAL.removeApp(this.name);\n return deleteApp(this._delegate);\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 is the only one that is 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._delegate.checkDestroyed();\n\n // getImmediate will always succeed because _getService is only called for registered components.\n return this._delegate.container.getProvider(name as Name).getImmediate({\n identifier: instanceIdentifier\n }) as unknown as _FirebaseService;\n }\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 { ErrorFactory, ErrorMap } from '@firebase/util';\n\nexport const enum AppError {\n NO_APP = 'no-app',\n INVALID_APP_ARGUMENT = 'invalid-app-argument'\n}\n\nconst ERRORS: ErrorMap<AppError> = {\n [AppError.NO_APP]:\n \"No Firebase App '{$appName}' has been created - \" +\n 'call Firebase App.initializeApp()',\n [AppError.INVALID_APP_ARGUMENT]:\n 'firebase.{$appName}() takes either no argument or a ' +\n 'Firebase App instance.'\n};\n\ntype ErrorParams = { [key in AppError]: { appName: string } };\n\nexport const ERROR_FACTORY = new ErrorFactory<AppError, ErrorParams>(\n 'app-compat',\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\nimport { FirebaseApp, FirebaseOptions } from './public-types';\nimport {\n _FirebaseNamespace,\n _FirebaseService,\n FirebaseServiceNamespace\n} from './types';\nimport * as modularAPIs from '@firebase/app';\nimport { _FirebaseAppInternal as _FirebaseAppExp } from '@firebase/app';\nimport { Component, ComponentType, Name } from '@firebase/component';\n\nimport { deepExtend, contains } from '@firebase/util';\nimport { FirebaseAppImpl } from './firebaseApp';\nimport { ERROR_FACTORY, AppError } from './errors';\nimport { FirebaseAppLiteImpl } from './lite/firebaseAppLite';\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<string, Component<any>>();\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: initializeAppCompat,\n // @ts-ignore\n app,\n registerVersion: modularAPIs.registerVersion,\n setLogLevel: modularAPIs.setLogLevel,\n onLog: modularAPIs.onLog,\n // @ts-ignore\n apps: null,\n SDK_VERSION: modularAPIs.SDK_VERSION,\n INTERNAL: {\n registerComponent: registerComponentCompat,\n removeApp,\n useAsService,\n modularAPIs\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 || modularAPIs._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 /**\n * Create a new App instance (name must be unique).\n *\n * This function is idempotent. It can be called more than once and return the same instance using the same options and config.\n */\n function initializeAppCompat(\n options: FirebaseOptions,\n rawConfig = {}\n ): FirebaseApp {\n const app = modularAPIs.initializeApp(\n options,\n rawConfig\n ) as _FirebaseAppExp;\n\n if (contains(apps, app.name)) {\n return apps[app.name];\n }\n\n const appCompat = new firebaseAppImpl(app, namespace);\n apps[app.name] = appCompat;\n return appCompat;\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 registerComponentCompat<T extends Name>(\n component: Component<T>\n ): FirebaseServiceNamespace<_FirebaseService> | null {\n const componentName = component.name;\n const componentNameWithoutCompat = componentName.replace('-compat', '');\n if (\n modularAPIs._registerComponent(component) &&\n component.type === ComponentType.PUBLIC\n ) {\n // create service namespace for public components\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)[componentNameWithoutCompat] !== '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)[componentNameWithoutCompat]();\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)[componentNameWithoutCompat] = serviceNamespace;\n\n // Patch the FirebaseAppImpl prototype\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (firebaseAppImpl.prototype as any)[componentNameWithoutCompat] =\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 return component.type === ComponentType.PUBLIC\n ? // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (namespace as any)[componentNameWithoutCompat]\n : null;\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 '../public-types';\nimport { FirebaseServiceNamespace, _FirebaseService } from '../types';\nimport { FirebaseAppLiteImpl } from './firebaseAppLite';\nimport { createFirebaseNamespaceCore } from '../firebaseNamespaceCore';\nimport { Component, ComponentType } from '@firebase/component';\n\nexport function createFirebaseNamespaceLite(): FirebaseNamespace {\n const namespace = createFirebaseNamespaceCore(FirebaseAppLiteImpl);\n\n namespace.SDK_VERSION = `${namespace.SDK_VERSION}_LITE`;\n\n const registerComponent = namespace.INTERNAL.registerComponent;\n namespace.INTERNAL.registerComponent = registerComponentForLite;\n\n /**\n * This is a special implementation, so it only works with performance.\n * only allow performance SDK to register.\n */\n function registerComponentForLite(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n component: Component<any>\n ): FirebaseServiceNamespace<_FirebaseService> | null {\n // only allow performance to register with firebase lite\n if (\n component.type === ComponentType.PUBLIC &&\n !component.name.includes('performance') &&\n !component.name.includes('installations')\n ) {\n throw Error(`${name} cannot register with the standalone perf instance`);\n }\n\n return registerComponent(component);\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 { registerVersion } from '@firebase/app';\n\nimport { name, version } from '../package.json';\n\nexport function registerCoreComponents(variant?: string): void {\n // Register `app` package.\n registerVersion(name, version, variant);\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 { createFirebaseNamespaceLite } from './lite/firebaseNamespaceLite';\nimport { registerCoreComponents } from './registerCoreComponents';\n\nconst firebase = createFirebaseNamespaceLite();\n\nregisterCoreComponents('lite');\n\n// eslint-disable-next-line import/no-default-export\nexport default firebase;\n"],"names":["name"],"mappings":"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"}
@@ -28,7 +28,7 @@ class FirebaseAppLiteImpl {
28
28
  this._delegate = _delegate;
29
29
  this.firebase = firebase;
30
30
  // add itself to container
31
- _addComponent(_delegate, new Component('app-compat', () => this, "PUBLIC" /* PUBLIC */));
31
+ _addComponent(_delegate, new Component('app-compat', () => this, "PUBLIC" /* ComponentType.PUBLIC */));
32
32
  }
33
33
  get automaticDataCollectionEnabled() {
34
34
  return this._delegate.automaticDataCollectionEnabled;
@@ -86,9 +86,9 @@ class FirebaseAppLiteImpl {
86
86
  * limitations under the License.
87
87
  */
88
88
  const ERRORS = {
89
- ["no-app" /* NO_APP */]: "No Firebase App '{$appName}' has been created - " +
89
+ ["no-app" /* AppError.NO_APP */]: "No Firebase App '{$appName}' has been created - " +
90
90
  'call Firebase App.initializeApp()',
91
- ["invalid-app-argument" /* INVALID_APP_ARGUMENT */]: 'firebase.{$appName}() takes either no argument or a ' +
91
+ ["invalid-app-argument" /* AppError.INVALID_APP_ARGUMENT */]: 'firebase.{$appName}() takes either no argument or a ' +
92
92
  'Firebase App instance.'
93
93
  };
94
94
  const ERROR_FACTORY = new ErrorFactory('app-compat', 'Firebase', ERRORS);
@@ -171,7 +171,7 @@ function createFirebaseNamespaceCore(firebaseAppImpl) {
171
171
  function app(name) {
172
172
  name = name || modularAPIs._DEFAULT_ENTRY_NAME;
173
173
  if (!contains(apps, name)) {
174
- throw ERROR_FACTORY.create("no-app" /* NO_APP */, { appName: name });
174
+ throw ERROR_FACTORY.create("no-app" /* AppError.NO_APP */, { appName: name });
175
175
  }
176
176
  return apps[name];
177
177
  }
@@ -202,7 +202,7 @@ function createFirebaseNamespaceCore(firebaseAppImpl) {
202
202
  const componentName = component.name;
203
203
  const componentNameWithoutCompat = componentName.replace('-compat', '');
204
204
  if (modularAPIs._registerComponent(component) &&
205
- component.type === "PUBLIC" /* PUBLIC */) {
205
+ component.type === "PUBLIC" /* ComponentType.PUBLIC */) {
206
206
  // create service namespace for public components
207
207
  // The Service namespace is an accessor function ...
208
208
  const serviceNamespace = (appArg = app()) => {
@@ -210,7 +210,7 @@ function createFirebaseNamespaceCore(firebaseAppImpl) {
210
210
  if (typeof appArg[componentNameWithoutCompat] !== 'function') {
211
211
  // Invalid argument.
212
212
  // This happens in the following case: firebase.storage('gs:/')
213
- throw ERROR_FACTORY.create("invalid-app-argument" /* INVALID_APP_ARGUMENT */, {
213
+ throw ERROR_FACTORY.create("invalid-app-argument" /* AppError.INVALID_APP_ARGUMENT */, {
214
214
  appName: componentName
215
215
  });
216
216
  }
@@ -235,7 +235,7 @@ function createFirebaseNamespaceCore(firebaseAppImpl) {
235
235
  return serviceFxn.apply(this, component.multipleInstances ? args : []);
236
236
  };
237
237
  }
238
- return component.type === "PUBLIC" /* PUBLIC */
238
+ return component.type === "PUBLIC" /* ComponentType.PUBLIC */
239
239
  ? // eslint-disable-next-line @typescript-eslint/no-explicit-any
240
240
  namespace[componentNameWithoutCompat]
241
241
  : null;
@@ -281,7 +281,7 @@ function createFirebaseNamespaceLite() {
281
281
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
282
282
  component) {
283
283
  // only allow performance to register with firebase lite
284
- if (component.type === "PUBLIC" /* PUBLIC */ &&
284
+ if (component.type === "PUBLIC" /* ComponentType.PUBLIC */ &&
285
285
  !component.name.includes('performance') &&
286
286
  !component.name.includes('installations')) {
287
287
  throw Error(`${name} cannot register with the standalone perf instance`);
@@ -292,7 +292,7 @@ function createFirebaseNamespaceLite() {
292
292
  }
293
293
 
294
294
  const name$1 = "@firebase/app-compat";
295
- const version = "0.1.39";
295
+ const version = "0.2.0-canary.20e5ef7fb";
296
296
 
297
297
  /**
298
298
  * @license
@@ -1 +1 @@
1
- {"version":3,"file":"index.lite.js","sources":["../src/lite/firebaseAppLite.ts","../src/errors.ts","../src/firebaseNamespaceCore.ts","../src/lite/firebaseNamespaceLite.ts","../src/registerCoreComponents.ts","../src/index.lite.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 { FirebaseApp, FirebaseOptions } from '../public-types';\nimport { _FirebaseNamespace, _FirebaseService } from '../types';\nimport {\n deleteApp,\n _addComponent,\n _DEFAULT_ENTRY_NAME,\n _FirebaseAppInternal as FirebaseAppExp\n} from '@firebase/app';\nimport { Component, ComponentType, Name } from '@firebase/component';\nimport { Compat } from '@firebase/util';\n\n/**\n * Global context object for a collection of services using\n * a shared authentication state.\n */\nexport class FirebaseAppLiteImpl\n implements FirebaseApp, Compat<FirebaseAppExp>\n{\n constructor(\n readonly _delegate: FirebaseAppExp,\n private readonly firebase: _FirebaseNamespace\n ) {\n // add itself to container\n _addComponent(\n _delegate,\n new Component('app-compat', () => this, ComponentType.PUBLIC)\n );\n }\n\n get automaticDataCollectionEnabled(): boolean {\n return this._delegate.automaticDataCollectionEnabled;\n }\n\n set automaticDataCollectionEnabled(val) {\n this.automaticDataCollectionEnabled = val;\n }\n\n get name(): string {\n return this._delegate.name;\n }\n\n get options(): FirebaseOptions {\n return this._delegate.options;\n }\n\n delete(): Promise<void> {\n this.firebase.INTERNAL.removeApp(this.name);\n return deleteApp(this._delegate);\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 is the only one that is 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._delegate.checkDestroyed();\n\n // getImmediate will always succeed because _getService is only called for registered components.\n return this._delegate.container.getProvider(name as Name).getImmediate({\n identifier: instanceIdentifier\n }) as unknown as _FirebaseService;\n }\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 { ErrorFactory, ErrorMap } from '@firebase/util';\n\nexport const enum AppError {\n NO_APP = 'no-app',\n INVALID_APP_ARGUMENT = 'invalid-app-argument'\n}\n\nconst ERRORS: ErrorMap<AppError> = {\n [AppError.NO_APP]:\n \"No Firebase App '{$appName}' has been created - \" +\n 'call Firebase App.initializeApp()',\n [AppError.INVALID_APP_ARGUMENT]:\n 'firebase.{$appName}() takes either no argument or a ' +\n 'Firebase App instance.'\n};\n\ntype ErrorParams = { [key in AppError]: { appName: string } };\n\nexport const ERROR_FACTORY = new ErrorFactory<AppError, ErrorParams>(\n 'app-compat',\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\nimport { FirebaseApp, FirebaseOptions } from './public-types';\nimport {\n _FirebaseNamespace,\n _FirebaseService,\n FirebaseServiceNamespace\n} from './types';\nimport * as modularAPIs from '@firebase/app';\nimport { _FirebaseAppInternal as _FirebaseAppExp } from '@firebase/app';\nimport { Component, ComponentType, Name } from '@firebase/component';\n\nimport { deepExtend, contains } from '@firebase/util';\nimport { FirebaseAppImpl } from './firebaseApp';\nimport { ERROR_FACTORY, AppError } from './errors';\nimport { FirebaseAppLiteImpl } from './lite/firebaseAppLite';\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<string, Component<any>>();\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: initializeAppCompat,\n // @ts-ignore\n app,\n registerVersion: modularAPIs.registerVersion,\n setLogLevel: modularAPIs.setLogLevel,\n onLog: modularAPIs.onLog,\n // @ts-ignore\n apps: null,\n SDK_VERSION: modularAPIs.SDK_VERSION,\n INTERNAL: {\n registerComponent: registerComponentCompat,\n removeApp,\n useAsService,\n modularAPIs\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 || modularAPIs._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 /**\n * Create a new App instance (name must be unique).\n *\n * This function is idempotent. It can be called more than once and return the same instance using the same options and config.\n */\n function initializeAppCompat(\n options: FirebaseOptions,\n rawConfig = {}\n ): FirebaseApp {\n const app = modularAPIs.initializeApp(\n options,\n rawConfig\n ) as _FirebaseAppExp;\n\n if (contains(apps, app.name)) {\n return apps[app.name];\n }\n\n const appCompat = new firebaseAppImpl(app, namespace);\n apps[app.name] = appCompat;\n return appCompat;\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 registerComponentCompat<T extends Name>(\n component: Component<T>\n ): FirebaseServiceNamespace<_FirebaseService> | null {\n const componentName = component.name;\n const componentNameWithoutCompat = componentName.replace('-compat', '');\n if (\n modularAPIs._registerComponent(component) &&\n component.type === ComponentType.PUBLIC\n ) {\n // create service namespace for public components\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)[componentNameWithoutCompat] !== '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)[componentNameWithoutCompat]();\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)[componentNameWithoutCompat] = serviceNamespace;\n\n // Patch the FirebaseAppImpl prototype\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (firebaseAppImpl.prototype as any)[componentNameWithoutCompat] =\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 return component.type === ComponentType.PUBLIC\n ? // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (namespace as any)[componentNameWithoutCompat]\n : null;\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 '../public-types';\nimport { FirebaseServiceNamespace, _FirebaseService } from '../types';\nimport { FirebaseAppLiteImpl } from './firebaseAppLite';\nimport { createFirebaseNamespaceCore } from '../firebaseNamespaceCore';\nimport { Component, ComponentType } from '@firebase/component';\n\nexport function createFirebaseNamespaceLite(): FirebaseNamespace {\n const namespace = createFirebaseNamespaceCore(FirebaseAppLiteImpl);\n\n namespace.SDK_VERSION = `${namespace.SDK_VERSION}_LITE`;\n\n const registerComponent = namespace.INTERNAL.registerComponent;\n namespace.INTERNAL.registerComponent = registerComponentForLite;\n\n /**\n * This is a special implementation, so it only works with performance.\n * only allow performance SDK to register.\n */\n function registerComponentForLite(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n component: Component<any>\n ): FirebaseServiceNamespace<_FirebaseService> | null {\n // only allow performance to register with firebase lite\n if (\n component.type === ComponentType.PUBLIC &&\n !component.name.includes('performance') &&\n !component.name.includes('installations')\n ) {\n throw Error(`${name} cannot register with the standalone perf instance`);\n }\n\n return registerComponent(component);\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 { registerVersion } from '@firebase/app';\n\nimport { name, version } from '../package.json';\n\nexport function registerCoreComponents(variant?: string): void {\n // Register `app` package.\n registerVersion(name, version, variant);\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 { createFirebaseNamespaceLite } from './lite/firebaseNamespaceLite';\nimport { registerCoreComponents } from './registerCoreComponents';\n\nconst firebase = createFirebaseNamespaceLite();\n\nregisterCoreComponents('lite');\n\n// eslint-disable-next-line import/no-default-export\nexport default firebase;\n"],"names":["name"],"mappings":"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"}
1
+ {"version":3,"file":"index.lite.js","sources":["../src/lite/firebaseAppLite.ts","../src/errors.ts","../src/firebaseNamespaceCore.ts","../src/lite/firebaseNamespaceLite.ts","../src/registerCoreComponents.ts","../src/index.lite.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 { FirebaseApp, FirebaseOptions } from '../public-types';\nimport { _FirebaseNamespace, _FirebaseService } from '../types';\nimport {\n deleteApp,\n _addComponent,\n _DEFAULT_ENTRY_NAME,\n _FirebaseAppInternal as FirebaseAppExp\n} from '@firebase/app';\nimport { Component, ComponentType, Name } from '@firebase/component';\nimport { Compat } from '@firebase/util';\n\n/**\n * Global context object for a collection of services using\n * a shared authentication state.\n */\nexport class FirebaseAppLiteImpl\n implements FirebaseApp, Compat<FirebaseAppExp>\n{\n constructor(\n readonly _delegate: FirebaseAppExp,\n private readonly firebase: _FirebaseNamespace\n ) {\n // add itself to container\n _addComponent(\n _delegate,\n new Component('app-compat', () => this, ComponentType.PUBLIC)\n );\n }\n\n get automaticDataCollectionEnabled(): boolean {\n return this._delegate.automaticDataCollectionEnabled;\n }\n\n set automaticDataCollectionEnabled(val) {\n this.automaticDataCollectionEnabled = val;\n }\n\n get name(): string {\n return this._delegate.name;\n }\n\n get options(): FirebaseOptions {\n return this._delegate.options;\n }\n\n delete(): Promise<void> {\n this.firebase.INTERNAL.removeApp(this.name);\n return deleteApp(this._delegate);\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 is the only one that is 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._delegate.checkDestroyed();\n\n // getImmediate will always succeed because _getService is only called for registered components.\n return this._delegate.container.getProvider(name as Name).getImmediate({\n identifier: instanceIdentifier\n }) as unknown as _FirebaseService;\n }\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 { ErrorFactory, ErrorMap } from '@firebase/util';\n\nexport const enum AppError {\n NO_APP = 'no-app',\n INVALID_APP_ARGUMENT = 'invalid-app-argument'\n}\n\nconst ERRORS: ErrorMap<AppError> = {\n [AppError.NO_APP]:\n \"No Firebase App '{$appName}' has been created - \" +\n 'call Firebase App.initializeApp()',\n [AppError.INVALID_APP_ARGUMENT]:\n 'firebase.{$appName}() takes either no argument or a ' +\n 'Firebase App instance.'\n};\n\ntype ErrorParams = { [key in AppError]: { appName: string } };\n\nexport const ERROR_FACTORY = new ErrorFactory<AppError, ErrorParams>(\n 'app-compat',\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\nimport { FirebaseApp, FirebaseOptions } from './public-types';\nimport {\n _FirebaseNamespace,\n _FirebaseService,\n FirebaseServiceNamespace\n} from './types';\nimport * as modularAPIs from '@firebase/app';\nimport { _FirebaseAppInternal as _FirebaseAppExp } from '@firebase/app';\nimport { Component, ComponentType, Name } from '@firebase/component';\n\nimport { deepExtend, contains } from '@firebase/util';\nimport { FirebaseAppImpl } from './firebaseApp';\nimport { ERROR_FACTORY, AppError } from './errors';\nimport { FirebaseAppLiteImpl } from './lite/firebaseAppLite';\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<string, Component<any>>();\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: initializeAppCompat,\n // @ts-ignore\n app,\n registerVersion: modularAPIs.registerVersion,\n setLogLevel: modularAPIs.setLogLevel,\n onLog: modularAPIs.onLog,\n // @ts-ignore\n apps: null,\n SDK_VERSION: modularAPIs.SDK_VERSION,\n INTERNAL: {\n registerComponent: registerComponentCompat,\n removeApp,\n useAsService,\n modularAPIs\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 || modularAPIs._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 /**\n * Create a new App instance (name must be unique).\n *\n * This function is idempotent. It can be called more than once and return the same instance using the same options and config.\n */\n function initializeAppCompat(\n options: FirebaseOptions,\n rawConfig = {}\n ): FirebaseApp {\n const app = modularAPIs.initializeApp(\n options,\n rawConfig\n ) as _FirebaseAppExp;\n\n if (contains(apps, app.name)) {\n return apps[app.name];\n }\n\n const appCompat = new firebaseAppImpl(app, namespace);\n apps[app.name] = appCompat;\n return appCompat;\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 registerComponentCompat<T extends Name>(\n component: Component<T>\n ): FirebaseServiceNamespace<_FirebaseService> | null {\n const componentName = component.name;\n const componentNameWithoutCompat = componentName.replace('-compat', '');\n if (\n modularAPIs._registerComponent(component) &&\n component.type === ComponentType.PUBLIC\n ) {\n // create service namespace for public components\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)[componentNameWithoutCompat] !== '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)[componentNameWithoutCompat]();\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)[componentNameWithoutCompat] = serviceNamespace;\n\n // Patch the FirebaseAppImpl prototype\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (firebaseAppImpl.prototype as any)[componentNameWithoutCompat] =\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 return component.type === ComponentType.PUBLIC\n ? // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (namespace as any)[componentNameWithoutCompat]\n : null;\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 '../public-types';\nimport { FirebaseServiceNamespace, _FirebaseService } from '../types';\nimport { FirebaseAppLiteImpl } from './firebaseAppLite';\nimport { createFirebaseNamespaceCore } from '../firebaseNamespaceCore';\nimport { Component, ComponentType } from '@firebase/component';\n\nexport function createFirebaseNamespaceLite(): FirebaseNamespace {\n const namespace = createFirebaseNamespaceCore(FirebaseAppLiteImpl);\n\n namespace.SDK_VERSION = `${namespace.SDK_VERSION}_LITE`;\n\n const registerComponent = namespace.INTERNAL.registerComponent;\n namespace.INTERNAL.registerComponent = registerComponentForLite;\n\n /**\n * This is a special implementation, so it only works with performance.\n * only allow performance SDK to register.\n */\n function registerComponentForLite(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n component: Component<any>\n ): FirebaseServiceNamespace<_FirebaseService> | null {\n // only allow performance to register with firebase lite\n if (\n component.type === ComponentType.PUBLIC &&\n !component.name.includes('performance') &&\n !component.name.includes('installations')\n ) {\n throw Error(`${name} cannot register with the standalone perf instance`);\n }\n\n return registerComponent(component);\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 { registerVersion } from '@firebase/app';\n\nimport { name, version } from '../package.json';\n\nexport function registerCoreComponents(variant?: string): void {\n // Register `app` package.\n registerVersion(name, version, variant);\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 { createFirebaseNamespaceLite } from './lite/firebaseNamespaceLite';\nimport { registerCoreComponents } from './registerCoreComponents';\n\nconst firebase = createFirebaseNamespaceLite();\n\nregisterCoreComponents('lite');\n\n// eslint-disable-next-line import/no-default-export\nexport default firebase;\n"],"names":["name"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@firebase/app-compat",
3
- "version": "0.1.39",
3
+ "version": "0.2.0-canary.20e5ef7fb",
4
4
  "description": "The primary entrypoint to the Firebase JS SDK",
5
5
  "author": "Firebase <firebase-support@google.com> (https://firebase.google.com/)",
6
6
  "main": "dist/index.cjs.js",
@@ -40,10 +40,10 @@
40
40
  },
41
41
  "license": "Apache-2.0",
42
42
  "dependencies": {
43
- "@firebase/app": "0.8.4",
44
- "@firebase/util": "1.7.3",
45
- "@firebase/logger": "0.3.4",
46
- "@firebase/component": "0.5.21",
43
+ "@firebase/app": "0.9.0-canary.20e5ef7fb",
44
+ "@firebase/util": "1.8.0-canary.20e5ef7fb",
45
+ "@firebase/logger": "0.4.0-canary.20e5ef7fb",
46
+ "@firebase/component": "0.6.0-canary.20e5ef7fb",
47
47
  "tslib": "^2.1.0"
48
48
  },
49
49
  "devDependencies": {
@@ -51,7 +51,7 @@
51
51
  "@rollup/plugin-json": "4.1.0",
52
52
  "rollup-plugin-replace": "2.2.0",
53
53
  "rollup-plugin-typescript2": "0.31.2",
54
- "typescript": "4.2.2"
54
+ "typescript": "4.7.4"
55
55
  },
56
56
  "repository": {
57
57
  "directory": "packages/app-compat",