@firebase/app 0.3.17-canary.f7a46de → 0.3.17
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/dist/index.cjs.js +1 -1
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.esm.js +1 -1
- package/dist/index.esm.js.map +1 -1
- package/dist/index.esm2017.js +1 -1
- package/dist/index.esm2017.js.map +1 -1
- package/dist/index.lite.esm2017.js +2 -2
- package/dist/index.lite.esm2017.js.map +1 -1
- package/dist/index.lite.js +2 -2
- package/dist/index.lite.js.map +1 -1
- package/dist/index.node.cjs.js +1 -1
- package/dist/index.node.cjs.js.map +1 -1
- package/dist/index.rn.cjs.js +1 -1
- package/dist/index.rn.cjs.js.map +1 -1
- package/package.json +3 -3
package/dist/index.cjs.js
CHANGED
|
@@ -267,7 +267,7 @@ function createFirebaseNamespaceCore(firebaseAppImpl) {
|
|
|
267
267
|
app: app,
|
|
268
268
|
apps: null,
|
|
269
269
|
Promise: Promise,
|
|
270
|
-
SDK_VERSION: '5.11.0
|
|
270
|
+
SDK_VERSION: '5.11.0',
|
|
271
271
|
INTERNAL: {
|
|
272
272
|
registerService: registerService,
|
|
273
273
|
removeApp: removeApp,
|
package/dist/index.cjs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs.js","sources":["../src/errors.ts","../src/constants.ts","../src/firebaseApp.ts","../src/firebaseNamespaceCore.ts","../src/firebaseNamespace.ts","../index.ts"],"sourcesContent":["/**\n * @license\n * Copyright 2019 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { ErrorFactory, ErrorMap } from '@firebase/util';\n\nexport const enum AppError {\n NO_APP = 'no-app',\n BAD_APP_NAME = 'bad-app-name',\n DUPLICATE_APP = 'duplicate-app',\n APP_DELETED = 'app-deleted',\n DUPLICATE_SERVICE = 'duplicate-service',\n INVALID_APP_ARGUMENT = 'invalid-app-argument'\n}\n\nconst ERRORS: ErrorMap<AppError> = {\n [AppError.NO_APP]:\n \"No Firebase App '{$name}' has been created - \" +\n 'call Firebase App.initializeApp()',\n [AppError.BAD_APP_NAME]: \"Illegal App name: '{$name}\",\n [AppError.DUPLICATE_APP]: \"Firebase App named '{$name}' already exists\",\n [AppError.APP_DELETED]: \"Firebase App named '{$name}' already deleted\",\n [AppError.DUPLICATE_SERVICE]:\n \"Firebase service named '{$name}' already registered\",\n [AppError.INVALID_APP_ARGUMENT]:\n 'firebase.{$name}() takes either no argument or a ' +\n 'Firebase App instance.'\n};\n\nconst appErrors = new ErrorFactory<AppError>('app', 'Firebase', ERRORS);\n\nexport function error(code: AppError, args?: { [name: string]: any }) {\n throw appErrors.create(code, args);\n}\n","/**\n * @license\n * Copyright 2019 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport const DEFAULT_ENTRY_NAME = '[DEFAULT]';\n","/**\n * @license\n * Copyright 2017 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n FirebaseApp,\n FirebaseOptions,\n FirebaseAppConfig\n} from '@firebase/app-types';\nimport {\n _FirebaseApp,\n _FirebaseNamespace,\n FirebaseService,\n FirebaseAppInternals\n} from '@firebase/app-types/private';\nimport { deepCopy, deepExtend } from '@firebase/util';\nimport { error, AppError } from './errors';\nimport { DEFAULT_ENTRY_NAME } from './constants';\n\ninterface ServicesCache {\n [name: string]: {\n [serviceName: string]: FirebaseService;\n };\n}\n\n// An array to capture listeners before the true auth functions\n// exist\nlet tokenListeners: any[] = [];\n\n/**\n * Global context object for a collection of services using\n * a shared authentication state.\n */\nexport class FirebaseAppImpl implements FirebaseApp {\n private readonly options_: FirebaseOptions;\n private readonly name_: string;\n private isDeleted_ = false;\n private services_: ServicesCache = {};\n private automaticDataCollectionEnabled_: boolean;\n\n INTERNAL: FirebaseAppInternals;\n\n constructor(\n options: FirebaseOptions,\n config: FirebaseAppConfig,\n private readonly firebase_: _FirebaseNamespace\n ) {\n this.name_ = config.name!;\n this.automaticDataCollectionEnabled_ =\n config.automaticDataCollectionEnabled || false;\n this.options_ = deepCopy<FirebaseOptions>(options);\n this.INTERNAL = {\n getUid: () => null,\n getToken: () => Promise.resolve(null),\n addAuthTokenListener: (callback: (token: string | null) => void) => {\n tokenListeners.push(callback);\n // Make sure callback is called, asynchronously, in the absence of the auth module\n setTimeout(() => callback(null), 0);\n },\n removeAuthTokenListener: callback => {\n tokenListeners = tokenListeners.filter(\n listener => listener !== callback\n );\n }\n };\n }\n\n get automaticDataCollectionEnabled(): boolean {\n this.checkDestroyed_();\n return this.automaticDataCollectionEnabled_;\n }\n\n set automaticDataCollectionEnabled(val) {\n this.checkDestroyed_();\n this.automaticDataCollectionEnabled_ = val;\n }\n\n get name(): string {\n this.checkDestroyed_();\n return this.name_;\n }\n\n get options(): FirebaseOptions {\n this.checkDestroyed_();\n return this.options_;\n }\n\n delete(): Promise<void> {\n return new Promise(resolve => {\n this.checkDestroyed_();\n resolve();\n })\n .then(() => {\n this.firebase_.INTERNAL.removeApp(this.name_);\n const services: FirebaseService[] = [];\n\n for (const serviceKey of Object.keys(this.services_)) {\n for (const instanceKey of Object.keys(this.services_[serviceKey])) {\n services.push(this.services_[serviceKey][instanceKey]);\n }\n }\n\n return Promise.all(\n services.map(service => {\n return service.INTERNAL.delete();\n })\n );\n })\n .then(\n (): void => {\n this.isDeleted_ = true;\n this.services_ = {};\n }\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 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.checkDestroyed_();\n\n if (!this.services_[name]) {\n this.services_[name] = {};\n }\n\n if (!this.services_[name][instanceIdentifier]) {\n /**\n * If a custom instance has been defined (i.e. not '[DEFAULT]')\n * then we will pass that instance on, otherwise we pass `null`\n */\n const instanceSpecifier =\n instanceIdentifier !== DEFAULT_ENTRY_NAME\n ? instanceIdentifier\n : undefined;\n const service = this.firebase_.INTERNAL.factories[name](\n this,\n this.extendApp.bind(this),\n instanceSpecifier\n );\n this.services_[name][instanceIdentifier] = service;\n }\n\n return this.services_[name][instanceIdentifier];\n }\n\n /**\n * Callback function used to extend an App instance at the time\n * of service instance creation.\n */\n private extendApp(props: { [name: string]: any }): void {\n // Copy the object onto the FirebaseAppImpl prototype\n deepExtend(this, props);\n\n /**\n * If the app has overwritten the addAuthTokenListener stub, forward\n * the active token listeners on to the true fxn.\n *\n * TODO: This function is required due to our current module\n * structure. Once we are able to rely strictly upon a single module\n * implementation, this code should be refactored and Auth should\n * provide these stubs and the upgrade logic\n */\n if (props.INTERNAL && props.INTERNAL.addAuthTokenListener) {\n tokenListeners.forEach(listener => {\n this.INTERNAL.addAuthTokenListener(listener);\n });\n tokenListeners = [];\n }\n }\n\n /**\n * This function will throw an Error if the App has already been deleted -\n * use before performing API actions on the App.\n */\n private checkDestroyed_(): void {\n if (this.isDeleted_) {\n error(AppError.APP_DELETED, { name: this.name_ });\n }\n }\n}\n\n// Prevent dead-code elimination of these methods w/o invalid property\n// copying.\n(FirebaseAppImpl.prototype.name && FirebaseAppImpl.prototype.options) ||\n FirebaseAppImpl.prototype.delete ||\n console.log('dc');\n","/**\n * @license\n * Copyright 2019 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n FirebaseApp,\n FirebaseOptions,\n FirebaseNamespace,\n FirebaseAppConfig\n} from '@firebase/app-types';\nimport {\n _FirebaseApp,\n _FirebaseNamespace,\n FirebaseService,\n FirebaseServiceFactory,\n FirebaseServiceNamespace,\n AppHook\n} from '@firebase/app-types/private';\nimport { deepExtend, patchProperty } from '@firebase/util';\nimport { FirebaseAppImpl } from './firebaseApp';\nimport { error, AppError } from './errors';\nimport { FirebaseAppLiteImpl } from './lite/firebaseAppLite';\nimport { DEFAULT_ENTRY_NAME } from './constants';\n\nfunction contains(obj: object, key: string) {\n return Object.prototype.hasOwnProperty.call(obj, key);\n}\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 const factories: { [service: string]: FirebaseServiceFactory } = {};\n const appHooks: { [service: string]: AppHook } = {};\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: initializeApp,\n app: app as any,\n apps: null as any,\n Promise: Promise,\n SDK_VERSION: '${JSCORE_VERSION}',\n INTERNAL: {\n registerService,\n removeApp,\n factories,\n useAsService\n }\n };\n\n // Inject a circular default export to allow Babel users who were previously\n // using:\n //\n // import firebase from 'firebase';\n // which becomes: var firebase = require('firebase').default;\n //\n // instead of\n //\n // import * as firebase from 'firebase';\n // which becomes: var firebase = require('firebase');\n patchProperty(namespace, '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 const app = apps[name];\n callAppHooks(app, 'delete');\n delete apps[name];\n }\n\n /**\n * Get the App object for a given name (or DEFAULT).\n */\n function app(name?: string): FirebaseApp {\n name = name || DEFAULT_ENTRY_NAME;\n if (!contains(apps, name)) {\n error(AppError.NO_APP, { name: name });\n }\n return apps[name];\n }\n\n patchProperty(app, 'App', firebaseAppImpl);\n /**\n * Create a new App instance (name must be unique).\n */\n function initializeApp(\n options: FirebaseOptions,\n config?: FirebaseAppConfig\n ): FirebaseApp;\n function initializeApp(options: FirebaseOptions, name?: string): FirebaseApp;\n function initializeApp(options: FirebaseOptions, rawConfig = {}) {\n if (typeof rawConfig !== 'object' || rawConfig === null) {\n const name = rawConfig;\n rawConfig = { name };\n }\n\n const config = rawConfig as FirebaseAppConfig;\n\n if (config.name === undefined) {\n config.name = DEFAULT_ENTRY_NAME;\n }\n\n const { name } = config;\n\n if (typeof name !== 'string' || !name) {\n error(AppError.BAD_APP_NAME, { name: String(name) });\n }\n\n if (contains(apps, name)) {\n error(AppError.DUPLICATE_APP, { name: name });\n }\n\n const app = new firebaseAppImpl(\n options,\n config,\n namespace as _FirebaseNamespace\n );\n\n apps[name] = app;\n callAppHooks(app, 'create');\n\n return app;\n }\n\n /*\n * Return an array of all the non-deleted FirebaseApps.\n */\n function getApps(): FirebaseApp[] {\n // Make a copy so caller cannot mutate the apps list.\n return Object.keys(apps).map(name => apps[name]);\n }\n\n /*\n * Register a Firebase Service.\n *\n * firebase.INTERNAL.registerService()\n *\n * TODO: Implement serviceProperties.\n */\n function registerService(\n name: string,\n createService: FirebaseServiceFactory,\n serviceProperties?: { [prop: string]: unknown },\n appHook?: AppHook,\n allowMultipleInstances = false\n ): FirebaseServiceNamespace<FirebaseService> {\n // Cannot re-register a service that already exists\n if (factories[name]) {\n error(AppError.DUPLICATE_SERVICE, { name: name });\n }\n\n // Capture the service factory for later service instantiation\n factories[name] = createService;\n\n // Capture the appHook, if passed\n if (appHook) {\n appHooks[name] = appHook;\n\n // Run the **new** app hook on all existing apps\n getApps().forEach(app => {\n appHook('create', app);\n });\n }\n\n // The Service namespace is an accessor function ...\n function serviceNamespace(appArg: FirebaseApp = app()) {\n if (typeof appArg[name] !== 'function') {\n // Invalid argument.\n // This happens in the following case: firebase.storage('gs:/')\n error(AppError.INVALID_APP_ARGUMENT, { name: name });\n }\n\n // Forward service instance lookup to the FirebaseApp.\n return appArg[name]();\n }\n\n // ... and a container for service-level properties.\n if (serviceProperties !== undefined) {\n deepExtend(serviceNamespace, serviceProperties);\n }\n\n // Monkey-patch the serviceNamespace onto the firebase namespace\n namespace[name] = serviceNamespace;\n\n // Patch the FirebaseAppImpl prototype\n firebaseAppImpl.prototype[name] = function(...args) {\n const serviceFxn = this._getService.bind(this, name);\n return serviceFxn.apply(this, allowMultipleInstances ? args : []);\n };\n\n return serviceNamespace;\n }\n\n function callAppHooks(app: FirebaseApp, eventName: string) {\n for (const serviceName of Object.keys(factories)) {\n // Ignore virtual services\n const factoryName = useAsService(app, serviceName);\n if (factoryName === null) {\n return;\n }\n\n if (appHooks[factoryName]) {\n appHooks[factoryName](eventName, app);\n }\n }\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 const options = app.options;\n\n return useService;\n }\n\n return namespace;\n}\n","/**\n * @license\n * Copyright 2019 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { FirebaseNamespace } from '@firebase/app-types';\nimport { _FirebaseApp, _FirebaseNamespace } from '@firebase/app-types/private';\nimport { createSubscribe, deepExtend, ErrorFactory } from '@firebase/util';\nimport { FirebaseAppImpl } from './firebaseApp';\nimport { createFirebaseNamespaceCore } from './firebaseNamespaceCore';\n\n/**\n * Return a firebase namespace object.\n *\n * In production, this will be called exactly once and the result\n * assigned to the 'firebase' global. It may be called multiple times\n * in unit tests.\n */\nexport function createFirebaseNamespace(): FirebaseNamespace {\n const namespace = createFirebaseNamespaceCore(FirebaseAppImpl);\n (namespace as _FirebaseNamespace).INTERNAL = {\n ...(namespace as _FirebaseNamespace).INTERNAL,\n createFirebaseNamespace: createFirebaseNamespace,\n extendNamespace: extendNamespace,\n createSubscribe: createSubscribe,\n ErrorFactory: ErrorFactory,\n deepExtend: 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","/**\n * @license\n * Copyright 2017 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { FirebaseNamespace } from '@firebase/app-types';\nimport { createFirebaseNamespace } from './src/firebaseNamespace';\n\n// Node detection logic from: https://github.com/iliakan/detect-node/\nlet isNode = false;\ntry {\n isNode =\n Object.prototype.toString.call(global.process) === '[object process]';\n} catch (e) {}\n\nisNode &&\n console.warn(`\nWarning: This is a browser-targeted Firebase bundle but it appears it is being\nrun in a Node environment. If running in a Node environment, make sure you\nare using the bundle specified by the \"main\" field in package.json.\n\nIf you are using Webpack, you can specify \"main\" as the first item in\n\"resolve.mainFields\":\nhttps://webpack.js.org/configuration/resolve/#resolvemainfields\n\nIf using Rollup, use the rollup-plugin-node-resolve plugin and set \"module\"\nto false and \"main\" to true:\nhttps://github.com/rollup/rollup-plugin-node-resolve\n`);\n\n// Firebase Lite detection\nif (self && 'firebase' in self) {\n console.warn(`\n Warning: Firebase is already defined in the global scope. Please make sure\n Firebase library is only loaded once.\n `);\n\n const sdkVersion = ((self as any).firebase as FirebaseNamespace).SDK_VERSION;\n if (sdkVersion && sdkVersion.indexOf('LITE') >= 0) {\n console.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\nexport const firebase = createFirebaseNamespace();\n\nexport default firebase;\n"],"names":["ErrorFactory","deepCopy","deepExtend","patchProperty","createSubscribe"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.cjs.js","sources":["../src/errors.ts","../src/constants.ts","../src/firebaseApp.ts","../src/firebaseNamespaceCore.ts","../src/firebaseNamespace.ts","../index.ts"],"sourcesContent":["/**\n * @license\n * Copyright 2019 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { ErrorFactory, ErrorMap } from '@firebase/util';\n\nexport const enum AppError {\n NO_APP = 'no-app',\n BAD_APP_NAME = 'bad-app-name',\n DUPLICATE_APP = 'duplicate-app',\n APP_DELETED = 'app-deleted',\n DUPLICATE_SERVICE = 'duplicate-service',\n INVALID_APP_ARGUMENT = 'invalid-app-argument'\n}\n\nconst ERRORS: ErrorMap<AppError> = {\n [AppError.NO_APP]:\n \"No Firebase App '{$name}' has been created - \" +\n 'call Firebase App.initializeApp()',\n [AppError.BAD_APP_NAME]: \"Illegal App name: '{$name}\",\n [AppError.DUPLICATE_APP]: \"Firebase App named '{$name}' already exists\",\n [AppError.APP_DELETED]: \"Firebase App named '{$name}' already deleted\",\n [AppError.DUPLICATE_SERVICE]:\n \"Firebase service named '{$name}' already registered\",\n [AppError.INVALID_APP_ARGUMENT]:\n 'firebase.{$name}() takes either no argument or a ' +\n 'Firebase App instance.'\n};\n\nconst appErrors = new ErrorFactory<AppError>('app', 'Firebase', ERRORS);\n\nexport function error(code: AppError, args?: { [name: string]: any }) {\n throw appErrors.create(code, args);\n}\n","/**\n * @license\n * Copyright 2019 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport const DEFAULT_ENTRY_NAME = '[DEFAULT]';\n","/**\n * @license\n * Copyright 2017 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n FirebaseApp,\n FirebaseOptions,\n FirebaseAppConfig\n} from '@firebase/app-types';\nimport {\n _FirebaseApp,\n _FirebaseNamespace,\n FirebaseService,\n FirebaseAppInternals\n} from '@firebase/app-types/private';\nimport { deepCopy, deepExtend } from '@firebase/util';\nimport { error, AppError } from './errors';\nimport { DEFAULT_ENTRY_NAME } from './constants';\n\ninterface ServicesCache {\n [name: string]: {\n [serviceName: string]: FirebaseService;\n };\n}\n\n// An array to capture listeners before the true auth functions\n// exist\nlet tokenListeners: any[] = [];\n\n/**\n * Global context object for a collection of services using\n * a shared authentication state.\n */\nexport class FirebaseAppImpl implements FirebaseApp {\n private readonly options_: FirebaseOptions;\n private readonly name_: string;\n private isDeleted_ = false;\n private services_: ServicesCache = {};\n private automaticDataCollectionEnabled_: boolean;\n\n INTERNAL: FirebaseAppInternals;\n\n constructor(\n options: FirebaseOptions,\n config: FirebaseAppConfig,\n private readonly firebase_: _FirebaseNamespace\n ) {\n this.name_ = config.name!;\n this.automaticDataCollectionEnabled_ =\n config.automaticDataCollectionEnabled || false;\n this.options_ = deepCopy<FirebaseOptions>(options);\n this.INTERNAL = {\n getUid: () => null,\n getToken: () => Promise.resolve(null),\n addAuthTokenListener: (callback: (token: string | null) => void) => {\n tokenListeners.push(callback);\n // Make sure callback is called, asynchronously, in the absence of the auth module\n setTimeout(() => callback(null), 0);\n },\n removeAuthTokenListener: callback => {\n tokenListeners = tokenListeners.filter(\n listener => listener !== callback\n );\n }\n };\n }\n\n get automaticDataCollectionEnabled(): boolean {\n this.checkDestroyed_();\n return this.automaticDataCollectionEnabled_;\n }\n\n set automaticDataCollectionEnabled(val) {\n this.checkDestroyed_();\n this.automaticDataCollectionEnabled_ = val;\n }\n\n get name(): string {\n this.checkDestroyed_();\n return this.name_;\n }\n\n get options(): FirebaseOptions {\n this.checkDestroyed_();\n return this.options_;\n }\n\n delete(): Promise<void> {\n return new Promise(resolve => {\n this.checkDestroyed_();\n resolve();\n })\n .then(() => {\n this.firebase_.INTERNAL.removeApp(this.name_);\n const services: FirebaseService[] = [];\n\n for (const serviceKey of Object.keys(this.services_)) {\n for (const instanceKey of Object.keys(this.services_[serviceKey])) {\n services.push(this.services_[serviceKey][instanceKey]);\n }\n }\n\n return Promise.all(\n services.map(service => {\n return service.INTERNAL.delete();\n })\n );\n })\n .then(\n (): void => {\n this.isDeleted_ = true;\n this.services_ = {};\n }\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 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.checkDestroyed_();\n\n if (!this.services_[name]) {\n this.services_[name] = {};\n }\n\n if (!this.services_[name][instanceIdentifier]) {\n /**\n * If a custom instance has been defined (i.e. not '[DEFAULT]')\n * then we will pass that instance on, otherwise we pass `null`\n */\n const instanceSpecifier =\n instanceIdentifier !== DEFAULT_ENTRY_NAME\n ? instanceIdentifier\n : undefined;\n const service = this.firebase_.INTERNAL.factories[name](\n this,\n this.extendApp.bind(this),\n instanceSpecifier\n );\n this.services_[name][instanceIdentifier] = service;\n }\n\n return this.services_[name][instanceIdentifier];\n }\n\n /**\n * Callback function used to extend an App instance at the time\n * of service instance creation.\n */\n private extendApp(props: { [name: string]: any }): void {\n // Copy the object onto the FirebaseAppImpl prototype\n deepExtend(this, props);\n\n /**\n * If the app has overwritten the addAuthTokenListener stub, forward\n * the active token listeners on to the true fxn.\n *\n * TODO: This function is required due to our current module\n * structure. Once we are able to rely strictly upon a single module\n * implementation, this code should be refactored and Auth should\n * provide these stubs and the upgrade logic\n */\n if (props.INTERNAL && props.INTERNAL.addAuthTokenListener) {\n tokenListeners.forEach(listener => {\n this.INTERNAL.addAuthTokenListener(listener);\n });\n tokenListeners = [];\n }\n }\n\n /**\n * This function will throw an Error if the App has already been deleted -\n * use before performing API actions on the App.\n */\n private checkDestroyed_(): void {\n if (this.isDeleted_) {\n error(AppError.APP_DELETED, { name: this.name_ });\n }\n }\n}\n\n// Prevent dead-code elimination of these methods w/o invalid property\n// copying.\n(FirebaseAppImpl.prototype.name && FirebaseAppImpl.prototype.options) ||\n FirebaseAppImpl.prototype.delete ||\n console.log('dc');\n","/**\n * @license\n * Copyright 2019 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n FirebaseApp,\n FirebaseOptions,\n FirebaseNamespace,\n FirebaseAppConfig\n} from '@firebase/app-types';\nimport {\n _FirebaseApp,\n _FirebaseNamespace,\n FirebaseService,\n FirebaseServiceFactory,\n FirebaseServiceNamespace,\n AppHook\n} from '@firebase/app-types/private';\nimport { deepExtend, patchProperty } from '@firebase/util';\nimport { FirebaseAppImpl } from './firebaseApp';\nimport { error, AppError } from './errors';\nimport { FirebaseAppLiteImpl } from './lite/firebaseAppLite';\nimport { DEFAULT_ENTRY_NAME } from './constants';\n\nfunction contains(obj: object, key: string) {\n return Object.prototype.hasOwnProperty.call(obj, key);\n}\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 const factories: { [service: string]: FirebaseServiceFactory } = {};\n const appHooks: { [service: string]: AppHook } = {};\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: initializeApp,\n app: app as any,\n apps: null as any,\n Promise: Promise,\n SDK_VERSION: '${JSCORE_VERSION}',\n INTERNAL: {\n registerService,\n removeApp,\n factories,\n useAsService\n }\n };\n\n // Inject a circular default export to allow Babel users who were previously\n // using:\n //\n // import firebase from 'firebase';\n // which becomes: var firebase = require('firebase').default;\n //\n // instead of\n //\n // import * as firebase from 'firebase';\n // which becomes: var firebase = require('firebase');\n patchProperty(namespace, '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 const app = apps[name];\n callAppHooks(app, 'delete');\n delete apps[name];\n }\n\n /**\n * Get the App object for a given name (or DEFAULT).\n */\n function app(name?: string): FirebaseApp {\n name = name || DEFAULT_ENTRY_NAME;\n if (!contains(apps, name)) {\n error(AppError.NO_APP, { name: name });\n }\n return apps[name];\n }\n\n patchProperty(app, 'App', firebaseAppImpl);\n /**\n * Create a new App instance (name must be unique).\n */\n function initializeApp(\n options: FirebaseOptions,\n config?: FirebaseAppConfig\n ): FirebaseApp;\n function initializeApp(options: FirebaseOptions, name?: string): FirebaseApp;\n function initializeApp(options: FirebaseOptions, rawConfig = {}) {\n if (typeof rawConfig !== 'object' || rawConfig === null) {\n const name = rawConfig;\n rawConfig = { name };\n }\n\n const config = rawConfig as FirebaseAppConfig;\n\n if (config.name === undefined) {\n config.name = DEFAULT_ENTRY_NAME;\n }\n\n const { name } = config;\n\n if (typeof name !== 'string' || !name) {\n error(AppError.BAD_APP_NAME, { name: String(name) });\n }\n\n if (contains(apps, name)) {\n error(AppError.DUPLICATE_APP, { name: name });\n }\n\n const app = new firebaseAppImpl(\n options,\n config,\n namespace as _FirebaseNamespace\n );\n\n apps[name] = app;\n callAppHooks(app, 'create');\n\n return app;\n }\n\n /*\n * Return an array of all the non-deleted FirebaseApps.\n */\n function getApps(): FirebaseApp[] {\n // Make a copy so caller cannot mutate the apps list.\n return Object.keys(apps).map(name => apps[name]);\n }\n\n /*\n * Register a Firebase Service.\n *\n * firebase.INTERNAL.registerService()\n *\n * TODO: Implement serviceProperties.\n */\n function registerService(\n name: string,\n createService: FirebaseServiceFactory,\n serviceProperties?: { [prop: string]: unknown },\n appHook?: AppHook,\n allowMultipleInstances = false\n ): FirebaseServiceNamespace<FirebaseService> {\n // Cannot re-register a service that already exists\n if (factories[name]) {\n error(AppError.DUPLICATE_SERVICE, { name: name });\n }\n\n // Capture the service factory for later service instantiation\n factories[name] = createService;\n\n // Capture the appHook, if passed\n if (appHook) {\n appHooks[name] = appHook;\n\n // Run the **new** app hook on all existing apps\n getApps().forEach(app => {\n appHook('create', app);\n });\n }\n\n // The Service namespace is an accessor function ...\n function serviceNamespace(appArg: FirebaseApp = app()) {\n if (typeof appArg[name] !== 'function') {\n // Invalid argument.\n // This happens in the following case: firebase.storage('gs:/')\n error(AppError.INVALID_APP_ARGUMENT, { name: name });\n }\n\n // Forward service instance lookup to the FirebaseApp.\n return appArg[name]();\n }\n\n // ... and a container for service-level properties.\n if (serviceProperties !== undefined) {\n deepExtend(serviceNamespace, serviceProperties);\n }\n\n // Monkey-patch the serviceNamespace onto the firebase namespace\n namespace[name] = serviceNamespace;\n\n // Patch the FirebaseAppImpl prototype\n firebaseAppImpl.prototype[name] = function(...args) {\n const serviceFxn = this._getService.bind(this, name);\n return serviceFxn.apply(this, allowMultipleInstances ? args : []);\n };\n\n return serviceNamespace;\n }\n\n function callAppHooks(app: FirebaseApp, eventName: string) {\n for (const serviceName of Object.keys(factories)) {\n // Ignore virtual services\n const factoryName = useAsService(app, serviceName);\n if (factoryName === null) {\n return;\n }\n\n if (appHooks[factoryName]) {\n appHooks[factoryName](eventName, app);\n }\n }\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 const options = app.options;\n\n return useService;\n }\n\n return namespace;\n}\n","/**\n * @license\n * Copyright 2019 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { FirebaseNamespace } from '@firebase/app-types';\nimport { _FirebaseApp, _FirebaseNamespace } from '@firebase/app-types/private';\nimport { createSubscribe, deepExtend, ErrorFactory } from '@firebase/util';\nimport { FirebaseAppImpl } from './firebaseApp';\nimport { createFirebaseNamespaceCore } from './firebaseNamespaceCore';\n\n/**\n * Return a firebase namespace object.\n *\n * In production, this will be called exactly once and the result\n * assigned to the 'firebase' global. It may be called multiple times\n * in unit tests.\n */\nexport function createFirebaseNamespace(): FirebaseNamespace {\n const namespace = createFirebaseNamespaceCore(FirebaseAppImpl);\n (namespace as _FirebaseNamespace).INTERNAL = {\n ...(namespace as _FirebaseNamespace).INTERNAL,\n createFirebaseNamespace: createFirebaseNamespace,\n extendNamespace: extendNamespace,\n createSubscribe: createSubscribe,\n ErrorFactory: ErrorFactory,\n deepExtend: 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","/**\n * @license\n * Copyright 2017 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { FirebaseNamespace } from '@firebase/app-types';\nimport { createFirebaseNamespace } from './src/firebaseNamespace';\n\n// Node detection logic from: https://github.com/iliakan/detect-node/\nlet isNode = false;\ntry {\n isNode =\n Object.prototype.toString.call(global.process) === '[object process]';\n} catch (e) {}\n\nisNode &&\n console.warn(`\nWarning: This is a browser-targeted Firebase bundle but it appears it is being\nrun in a Node environment. If running in a Node environment, make sure you\nare using the bundle specified by the \"main\" field in package.json.\n\nIf you are using Webpack, you can specify \"main\" as the first item in\n\"resolve.mainFields\":\nhttps://webpack.js.org/configuration/resolve/#resolvemainfields\n\nIf using Rollup, use the rollup-plugin-node-resolve plugin and set \"module\"\nto false and \"main\" to true:\nhttps://github.com/rollup/rollup-plugin-node-resolve\n`);\n\n// Firebase Lite detection\nif (self && 'firebase' in self) {\n console.warn(`\n Warning: Firebase is already defined in the global scope. Please make sure\n Firebase library is only loaded once.\n `);\n\n const sdkVersion = ((self as any).firebase as FirebaseNamespace).SDK_VERSION;\n if (sdkVersion && sdkVersion.indexOf('LITE') >= 0) {\n console.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\nexport const firebase = createFirebaseNamespace();\n\nexport default firebase;\n"],"names":["ErrorFactory","deepCopy","deepExtend","patchProperty","createSubscribe"],"mappings":"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"}
|
package/dist/index.esm.js
CHANGED
|
@@ -263,7 +263,7 @@ function createFirebaseNamespaceCore(firebaseAppImpl) {
|
|
|
263
263
|
app: app,
|
|
264
264
|
apps: null,
|
|
265
265
|
Promise: Promise,
|
|
266
|
-
SDK_VERSION: '5.11.0
|
|
266
|
+
SDK_VERSION: '5.11.0',
|
|
267
267
|
INTERNAL: {
|
|
268
268
|
registerService: registerService,
|
|
269
269
|
removeApp: removeApp,
|
package/dist/index.esm.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.esm.js","sources":["../src/errors.ts","../src/constants.ts","../src/firebaseApp.ts","../src/firebaseNamespaceCore.ts","../src/firebaseNamespace.ts","../index.ts"],"sourcesContent":["/**\n * @license\n * Copyright 2019 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { ErrorFactory, ErrorMap } from '@firebase/util';\n\nexport const enum AppError {\n NO_APP = 'no-app',\n BAD_APP_NAME = 'bad-app-name',\n DUPLICATE_APP = 'duplicate-app',\n APP_DELETED = 'app-deleted',\n DUPLICATE_SERVICE = 'duplicate-service',\n INVALID_APP_ARGUMENT = 'invalid-app-argument'\n}\n\nconst ERRORS: ErrorMap<AppError> = {\n [AppError.NO_APP]:\n \"No Firebase App '{$name}' has been created - \" +\n 'call Firebase App.initializeApp()',\n [AppError.BAD_APP_NAME]: \"Illegal App name: '{$name}\",\n [AppError.DUPLICATE_APP]: \"Firebase App named '{$name}' already exists\",\n [AppError.APP_DELETED]: \"Firebase App named '{$name}' already deleted\",\n [AppError.DUPLICATE_SERVICE]:\n \"Firebase service named '{$name}' already registered\",\n [AppError.INVALID_APP_ARGUMENT]:\n 'firebase.{$name}() takes either no argument or a ' +\n 'Firebase App instance.'\n};\n\nconst appErrors = new ErrorFactory<AppError>('app', 'Firebase', ERRORS);\n\nexport function error(code: AppError, args?: { [name: string]: any }) {\n throw appErrors.create(code, args);\n}\n","/**\n * @license\n * Copyright 2019 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport const DEFAULT_ENTRY_NAME = '[DEFAULT]';\n","/**\n * @license\n * Copyright 2017 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n FirebaseApp,\n FirebaseOptions,\n FirebaseAppConfig\n} from '@firebase/app-types';\nimport {\n _FirebaseApp,\n _FirebaseNamespace,\n FirebaseService,\n FirebaseAppInternals\n} from '@firebase/app-types/private';\nimport { deepCopy, deepExtend } from '@firebase/util';\nimport { error, AppError } from './errors';\nimport { DEFAULT_ENTRY_NAME } from './constants';\n\ninterface ServicesCache {\n [name: string]: {\n [serviceName: string]: FirebaseService;\n };\n}\n\n// An array to capture listeners before the true auth functions\n// exist\nlet tokenListeners: any[] = [];\n\n/**\n * Global context object for a collection of services using\n * a shared authentication state.\n */\nexport class FirebaseAppImpl implements FirebaseApp {\n private readonly options_: FirebaseOptions;\n private readonly name_: string;\n private isDeleted_ = false;\n private services_: ServicesCache = {};\n private automaticDataCollectionEnabled_: boolean;\n\n INTERNAL: FirebaseAppInternals;\n\n constructor(\n options: FirebaseOptions,\n config: FirebaseAppConfig,\n private readonly firebase_: _FirebaseNamespace\n ) {\n this.name_ = config.name!;\n this.automaticDataCollectionEnabled_ =\n config.automaticDataCollectionEnabled || false;\n this.options_ = deepCopy<FirebaseOptions>(options);\n this.INTERNAL = {\n getUid: () => null,\n getToken: () => Promise.resolve(null),\n addAuthTokenListener: (callback: (token: string | null) => void) => {\n tokenListeners.push(callback);\n // Make sure callback is called, asynchronously, in the absence of the auth module\n setTimeout(() => callback(null), 0);\n },\n removeAuthTokenListener: callback => {\n tokenListeners = tokenListeners.filter(\n listener => listener !== callback\n );\n }\n };\n }\n\n get automaticDataCollectionEnabled(): boolean {\n this.checkDestroyed_();\n return this.automaticDataCollectionEnabled_;\n }\n\n set automaticDataCollectionEnabled(val) {\n this.checkDestroyed_();\n this.automaticDataCollectionEnabled_ = val;\n }\n\n get name(): string {\n this.checkDestroyed_();\n return this.name_;\n }\n\n get options(): FirebaseOptions {\n this.checkDestroyed_();\n return this.options_;\n }\n\n delete(): Promise<void> {\n return new Promise(resolve => {\n this.checkDestroyed_();\n resolve();\n })\n .then(() => {\n this.firebase_.INTERNAL.removeApp(this.name_);\n const services: FirebaseService[] = [];\n\n for (const serviceKey of Object.keys(this.services_)) {\n for (const instanceKey of Object.keys(this.services_[serviceKey])) {\n services.push(this.services_[serviceKey][instanceKey]);\n }\n }\n\n return Promise.all(\n services.map(service => {\n return service.INTERNAL.delete();\n })\n );\n })\n .then(\n (): void => {\n this.isDeleted_ = true;\n this.services_ = {};\n }\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 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.checkDestroyed_();\n\n if (!this.services_[name]) {\n this.services_[name] = {};\n }\n\n if (!this.services_[name][instanceIdentifier]) {\n /**\n * If a custom instance has been defined (i.e. not '[DEFAULT]')\n * then we will pass that instance on, otherwise we pass `null`\n */\n const instanceSpecifier =\n instanceIdentifier !== DEFAULT_ENTRY_NAME\n ? instanceIdentifier\n : undefined;\n const service = this.firebase_.INTERNAL.factories[name](\n this,\n this.extendApp.bind(this),\n instanceSpecifier\n );\n this.services_[name][instanceIdentifier] = service;\n }\n\n return this.services_[name][instanceIdentifier];\n }\n\n /**\n * Callback function used to extend an App instance at the time\n * of service instance creation.\n */\n private extendApp(props: { [name: string]: any }): void {\n // Copy the object onto the FirebaseAppImpl prototype\n deepExtend(this, props);\n\n /**\n * If the app has overwritten the addAuthTokenListener stub, forward\n * the active token listeners on to the true fxn.\n *\n * TODO: This function is required due to our current module\n * structure. Once we are able to rely strictly upon a single module\n * implementation, this code should be refactored and Auth should\n * provide these stubs and the upgrade logic\n */\n if (props.INTERNAL && props.INTERNAL.addAuthTokenListener) {\n tokenListeners.forEach(listener => {\n this.INTERNAL.addAuthTokenListener(listener);\n });\n tokenListeners = [];\n }\n }\n\n /**\n * This function will throw an Error if the App has already been deleted -\n * use before performing API actions on the App.\n */\n private checkDestroyed_(): void {\n if (this.isDeleted_) {\n error(AppError.APP_DELETED, { name: this.name_ });\n }\n }\n}\n\n// Prevent dead-code elimination of these methods w/o invalid property\n// copying.\n(FirebaseAppImpl.prototype.name && FirebaseAppImpl.prototype.options) ||\n FirebaseAppImpl.prototype.delete ||\n console.log('dc');\n","/**\n * @license\n * Copyright 2019 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n FirebaseApp,\n FirebaseOptions,\n FirebaseNamespace,\n FirebaseAppConfig\n} from '@firebase/app-types';\nimport {\n _FirebaseApp,\n _FirebaseNamespace,\n FirebaseService,\n FirebaseServiceFactory,\n FirebaseServiceNamespace,\n AppHook\n} from '@firebase/app-types/private';\nimport { deepExtend, patchProperty } from '@firebase/util';\nimport { FirebaseAppImpl } from './firebaseApp';\nimport { error, AppError } from './errors';\nimport { FirebaseAppLiteImpl } from './lite/firebaseAppLite';\nimport { DEFAULT_ENTRY_NAME } from './constants';\n\nfunction contains(obj: object, key: string) {\n return Object.prototype.hasOwnProperty.call(obj, key);\n}\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 const factories: { [service: string]: FirebaseServiceFactory } = {};\n const appHooks: { [service: string]: AppHook } = {};\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: initializeApp,\n app: app as any,\n apps: null as any,\n Promise: Promise,\n SDK_VERSION: '${JSCORE_VERSION}',\n INTERNAL: {\n registerService,\n removeApp,\n factories,\n useAsService\n }\n };\n\n // Inject a circular default export to allow Babel users who were previously\n // using:\n //\n // import firebase from 'firebase';\n // which becomes: var firebase = require('firebase').default;\n //\n // instead of\n //\n // import * as firebase from 'firebase';\n // which becomes: var firebase = require('firebase');\n patchProperty(namespace, '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 const app = apps[name];\n callAppHooks(app, 'delete');\n delete apps[name];\n }\n\n /**\n * Get the App object for a given name (or DEFAULT).\n */\n function app(name?: string): FirebaseApp {\n name = name || DEFAULT_ENTRY_NAME;\n if (!contains(apps, name)) {\n error(AppError.NO_APP, { name: name });\n }\n return apps[name];\n }\n\n patchProperty(app, 'App', firebaseAppImpl);\n /**\n * Create a new App instance (name must be unique).\n */\n function initializeApp(\n options: FirebaseOptions,\n config?: FirebaseAppConfig\n ): FirebaseApp;\n function initializeApp(options: FirebaseOptions, name?: string): FirebaseApp;\n function initializeApp(options: FirebaseOptions, rawConfig = {}) {\n if (typeof rawConfig !== 'object' || rawConfig === null) {\n const name = rawConfig;\n rawConfig = { name };\n }\n\n const config = rawConfig as FirebaseAppConfig;\n\n if (config.name === undefined) {\n config.name = DEFAULT_ENTRY_NAME;\n }\n\n const { name } = config;\n\n if (typeof name !== 'string' || !name) {\n error(AppError.BAD_APP_NAME, { name: String(name) });\n }\n\n if (contains(apps, name)) {\n error(AppError.DUPLICATE_APP, { name: name });\n }\n\n const app = new firebaseAppImpl(\n options,\n config,\n namespace as _FirebaseNamespace\n );\n\n apps[name] = app;\n callAppHooks(app, 'create');\n\n return app;\n }\n\n /*\n * Return an array of all the non-deleted FirebaseApps.\n */\n function getApps(): FirebaseApp[] {\n // Make a copy so caller cannot mutate the apps list.\n return Object.keys(apps).map(name => apps[name]);\n }\n\n /*\n * Register a Firebase Service.\n *\n * firebase.INTERNAL.registerService()\n *\n * TODO: Implement serviceProperties.\n */\n function registerService(\n name: string,\n createService: FirebaseServiceFactory,\n serviceProperties?: { [prop: string]: unknown },\n appHook?: AppHook,\n allowMultipleInstances = false\n ): FirebaseServiceNamespace<FirebaseService> {\n // Cannot re-register a service that already exists\n if (factories[name]) {\n error(AppError.DUPLICATE_SERVICE, { name: name });\n }\n\n // Capture the service factory for later service instantiation\n factories[name] = createService;\n\n // Capture the appHook, if passed\n if (appHook) {\n appHooks[name] = appHook;\n\n // Run the **new** app hook on all existing apps\n getApps().forEach(app => {\n appHook('create', app);\n });\n }\n\n // The Service namespace is an accessor function ...\n function serviceNamespace(appArg: FirebaseApp = app()) {\n if (typeof appArg[name] !== 'function') {\n // Invalid argument.\n // This happens in the following case: firebase.storage('gs:/')\n error(AppError.INVALID_APP_ARGUMENT, { name: name });\n }\n\n // Forward service instance lookup to the FirebaseApp.\n return appArg[name]();\n }\n\n // ... and a container for service-level properties.\n if (serviceProperties !== undefined) {\n deepExtend(serviceNamespace, serviceProperties);\n }\n\n // Monkey-patch the serviceNamespace onto the firebase namespace\n namespace[name] = serviceNamespace;\n\n // Patch the FirebaseAppImpl prototype\n firebaseAppImpl.prototype[name] = function(...args) {\n const serviceFxn = this._getService.bind(this, name);\n return serviceFxn.apply(this, allowMultipleInstances ? args : []);\n };\n\n return serviceNamespace;\n }\n\n function callAppHooks(app: FirebaseApp, eventName: string) {\n for (const serviceName of Object.keys(factories)) {\n // Ignore virtual services\n const factoryName = useAsService(app, serviceName);\n if (factoryName === null) {\n return;\n }\n\n if (appHooks[factoryName]) {\n appHooks[factoryName](eventName, app);\n }\n }\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 const options = app.options;\n\n return useService;\n }\n\n return namespace;\n}\n","/**\n * @license\n * Copyright 2019 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { FirebaseNamespace } from '@firebase/app-types';\nimport { _FirebaseApp, _FirebaseNamespace } from '@firebase/app-types/private';\nimport { createSubscribe, deepExtend, ErrorFactory } from '@firebase/util';\nimport { FirebaseAppImpl } from './firebaseApp';\nimport { createFirebaseNamespaceCore } from './firebaseNamespaceCore';\n\n/**\n * Return a firebase namespace object.\n *\n * In production, this will be called exactly once and the result\n * assigned to the 'firebase' global. It may be called multiple times\n * in unit tests.\n */\nexport function createFirebaseNamespace(): FirebaseNamespace {\n const namespace = createFirebaseNamespaceCore(FirebaseAppImpl);\n (namespace as _FirebaseNamespace).INTERNAL = {\n ...(namespace as _FirebaseNamespace).INTERNAL,\n createFirebaseNamespace: createFirebaseNamespace,\n extendNamespace: extendNamespace,\n createSubscribe: createSubscribe,\n ErrorFactory: ErrorFactory,\n deepExtend: 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","/**\n * @license\n * Copyright 2017 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { FirebaseNamespace } from '@firebase/app-types';\nimport { createFirebaseNamespace } from './src/firebaseNamespace';\n\n// Node detection logic from: https://github.com/iliakan/detect-node/\nlet isNode = false;\ntry {\n isNode =\n Object.prototype.toString.call(global.process) === '[object process]';\n} catch (e) {}\n\nisNode &&\n console.warn(`\nWarning: This is a browser-targeted Firebase bundle but it appears it is being\nrun in a Node environment. If running in a Node environment, make sure you\nare using the bundle specified by the \"main\" field in package.json.\n\nIf you are using Webpack, you can specify \"main\" as the first item in\n\"resolve.mainFields\":\nhttps://webpack.js.org/configuration/resolve/#resolvemainfields\n\nIf using Rollup, use the rollup-plugin-node-resolve plugin and set \"module\"\nto false and \"main\" to true:\nhttps://github.com/rollup/rollup-plugin-node-resolve\n`);\n\n// Firebase Lite detection\nif (self && 'firebase' in self) {\n console.warn(`\n Warning: Firebase is already defined in the global scope. Please make sure\n Firebase library is only loaded once.\n `);\n\n const sdkVersion = ((self as any).firebase as FirebaseNamespace).SDK_VERSION;\n if (sdkVersion && sdkVersion.indexOf('LITE') >= 0) {\n console.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\nexport const firebase = createFirebaseNamespace();\n\nexport default firebase;\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.esm.js","sources":["../src/errors.ts","../src/constants.ts","../src/firebaseApp.ts","../src/firebaseNamespaceCore.ts","../src/firebaseNamespace.ts","../index.ts"],"sourcesContent":["/**\n * @license\n * Copyright 2019 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { ErrorFactory, ErrorMap } from '@firebase/util';\n\nexport const enum AppError {\n NO_APP = 'no-app',\n BAD_APP_NAME = 'bad-app-name',\n DUPLICATE_APP = 'duplicate-app',\n APP_DELETED = 'app-deleted',\n DUPLICATE_SERVICE = 'duplicate-service',\n INVALID_APP_ARGUMENT = 'invalid-app-argument'\n}\n\nconst ERRORS: ErrorMap<AppError> = {\n [AppError.NO_APP]:\n \"No Firebase App '{$name}' has been created - \" +\n 'call Firebase App.initializeApp()',\n [AppError.BAD_APP_NAME]: \"Illegal App name: '{$name}\",\n [AppError.DUPLICATE_APP]: \"Firebase App named '{$name}' already exists\",\n [AppError.APP_DELETED]: \"Firebase App named '{$name}' already deleted\",\n [AppError.DUPLICATE_SERVICE]:\n \"Firebase service named '{$name}' already registered\",\n [AppError.INVALID_APP_ARGUMENT]:\n 'firebase.{$name}() takes either no argument or a ' +\n 'Firebase App instance.'\n};\n\nconst appErrors = new ErrorFactory<AppError>('app', 'Firebase', ERRORS);\n\nexport function error(code: AppError, args?: { [name: string]: any }) {\n throw appErrors.create(code, args);\n}\n","/**\n * @license\n * Copyright 2019 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport const DEFAULT_ENTRY_NAME = '[DEFAULT]';\n","/**\n * @license\n * Copyright 2017 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n FirebaseApp,\n FirebaseOptions,\n FirebaseAppConfig\n} from '@firebase/app-types';\nimport {\n _FirebaseApp,\n _FirebaseNamespace,\n FirebaseService,\n FirebaseAppInternals\n} from '@firebase/app-types/private';\nimport { deepCopy, deepExtend } from '@firebase/util';\nimport { error, AppError } from './errors';\nimport { DEFAULT_ENTRY_NAME } from './constants';\n\ninterface ServicesCache {\n [name: string]: {\n [serviceName: string]: FirebaseService;\n };\n}\n\n// An array to capture listeners before the true auth functions\n// exist\nlet tokenListeners: any[] = [];\n\n/**\n * Global context object for a collection of services using\n * a shared authentication state.\n */\nexport class FirebaseAppImpl implements FirebaseApp {\n private readonly options_: FirebaseOptions;\n private readonly name_: string;\n private isDeleted_ = false;\n private services_: ServicesCache = {};\n private automaticDataCollectionEnabled_: boolean;\n\n INTERNAL: FirebaseAppInternals;\n\n constructor(\n options: FirebaseOptions,\n config: FirebaseAppConfig,\n private readonly firebase_: _FirebaseNamespace\n ) {\n this.name_ = config.name!;\n this.automaticDataCollectionEnabled_ =\n config.automaticDataCollectionEnabled || false;\n this.options_ = deepCopy<FirebaseOptions>(options);\n this.INTERNAL = {\n getUid: () => null,\n getToken: () => Promise.resolve(null),\n addAuthTokenListener: (callback: (token: string | null) => void) => {\n tokenListeners.push(callback);\n // Make sure callback is called, asynchronously, in the absence of the auth module\n setTimeout(() => callback(null), 0);\n },\n removeAuthTokenListener: callback => {\n tokenListeners = tokenListeners.filter(\n listener => listener !== callback\n );\n }\n };\n }\n\n get automaticDataCollectionEnabled(): boolean {\n this.checkDestroyed_();\n return this.automaticDataCollectionEnabled_;\n }\n\n set automaticDataCollectionEnabled(val) {\n this.checkDestroyed_();\n this.automaticDataCollectionEnabled_ = val;\n }\n\n get name(): string {\n this.checkDestroyed_();\n return this.name_;\n }\n\n get options(): FirebaseOptions {\n this.checkDestroyed_();\n return this.options_;\n }\n\n delete(): Promise<void> {\n return new Promise(resolve => {\n this.checkDestroyed_();\n resolve();\n })\n .then(() => {\n this.firebase_.INTERNAL.removeApp(this.name_);\n const services: FirebaseService[] = [];\n\n for (const serviceKey of Object.keys(this.services_)) {\n for (const instanceKey of Object.keys(this.services_[serviceKey])) {\n services.push(this.services_[serviceKey][instanceKey]);\n }\n }\n\n return Promise.all(\n services.map(service => {\n return service.INTERNAL.delete();\n })\n );\n })\n .then(\n (): void => {\n this.isDeleted_ = true;\n this.services_ = {};\n }\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 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.checkDestroyed_();\n\n if (!this.services_[name]) {\n this.services_[name] = {};\n }\n\n if (!this.services_[name][instanceIdentifier]) {\n /**\n * If a custom instance has been defined (i.e. not '[DEFAULT]')\n * then we will pass that instance on, otherwise we pass `null`\n */\n const instanceSpecifier =\n instanceIdentifier !== DEFAULT_ENTRY_NAME\n ? instanceIdentifier\n : undefined;\n const service = this.firebase_.INTERNAL.factories[name](\n this,\n this.extendApp.bind(this),\n instanceSpecifier\n );\n this.services_[name][instanceIdentifier] = service;\n }\n\n return this.services_[name][instanceIdentifier];\n }\n\n /**\n * Callback function used to extend an App instance at the time\n * of service instance creation.\n */\n private extendApp(props: { [name: string]: any }): void {\n // Copy the object onto the FirebaseAppImpl prototype\n deepExtend(this, props);\n\n /**\n * If the app has overwritten the addAuthTokenListener stub, forward\n * the active token listeners on to the true fxn.\n *\n * TODO: This function is required due to our current module\n * structure. Once we are able to rely strictly upon a single module\n * implementation, this code should be refactored and Auth should\n * provide these stubs and the upgrade logic\n */\n if (props.INTERNAL && props.INTERNAL.addAuthTokenListener) {\n tokenListeners.forEach(listener => {\n this.INTERNAL.addAuthTokenListener(listener);\n });\n tokenListeners = [];\n }\n }\n\n /**\n * This function will throw an Error if the App has already been deleted -\n * use before performing API actions on the App.\n */\n private checkDestroyed_(): void {\n if (this.isDeleted_) {\n error(AppError.APP_DELETED, { name: this.name_ });\n }\n }\n}\n\n// Prevent dead-code elimination of these methods w/o invalid property\n// copying.\n(FirebaseAppImpl.prototype.name && FirebaseAppImpl.prototype.options) ||\n FirebaseAppImpl.prototype.delete ||\n console.log('dc');\n","/**\n * @license\n * Copyright 2019 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n FirebaseApp,\n FirebaseOptions,\n FirebaseNamespace,\n FirebaseAppConfig\n} from '@firebase/app-types';\nimport {\n _FirebaseApp,\n _FirebaseNamespace,\n FirebaseService,\n FirebaseServiceFactory,\n FirebaseServiceNamespace,\n AppHook\n} from '@firebase/app-types/private';\nimport { deepExtend, patchProperty } from '@firebase/util';\nimport { FirebaseAppImpl } from './firebaseApp';\nimport { error, AppError } from './errors';\nimport { FirebaseAppLiteImpl } from './lite/firebaseAppLite';\nimport { DEFAULT_ENTRY_NAME } from './constants';\n\nfunction contains(obj: object, key: string) {\n return Object.prototype.hasOwnProperty.call(obj, key);\n}\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 const factories: { [service: string]: FirebaseServiceFactory } = {};\n const appHooks: { [service: string]: AppHook } = {};\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: initializeApp,\n app: app as any,\n apps: null as any,\n Promise: Promise,\n SDK_VERSION: '${JSCORE_VERSION}',\n INTERNAL: {\n registerService,\n removeApp,\n factories,\n useAsService\n }\n };\n\n // Inject a circular default export to allow Babel users who were previously\n // using:\n //\n // import firebase from 'firebase';\n // which becomes: var firebase = require('firebase').default;\n //\n // instead of\n //\n // import * as firebase from 'firebase';\n // which becomes: var firebase = require('firebase');\n patchProperty(namespace, '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 const app = apps[name];\n callAppHooks(app, 'delete');\n delete apps[name];\n }\n\n /**\n * Get the App object for a given name (or DEFAULT).\n */\n function app(name?: string): FirebaseApp {\n name = name || DEFAULT_ENTRY_NAME;\n if (!contains(apps, name)) {\n error(AppError.NO_APP, { name: name });\n }\n return apps[name];\n }\n\n patchProperty(app, 'App', firebaseAppImpl);\n /**\n * Create a new App instance (name must be unique).\n */\n function initializeApp(\n options: FirebaseOptions,\n config?: FirebaseAppConfig\n ): FirebaseApp;\n function initializeApp(options: FirebaseOptions, name?: string): FirebaseApp;\n function initializeApp(options: FirebaseOptions, rawConfig = {}) {\n if (typeof rawConfig !== 'object' || rawConfig === null) {\n const name = rawConfig;\n rawConfig = { name };\n }\n\n const config = rawConfig as FirebaseAppConfig;\n\n if (config.name === undefined) {\n config.name = DEFAULT_ENTRY_NAME;\n }\n\n const { name } = config;\n\n if (typeof name !== 'string' || !name) {\n error(AppError.BAD_APP_NAME, { name: String(name) });\n }\n\n if (contains(apps, name)) {\n error(AppError.DUPLICATE_APP, { name: name });\n }\n\n const app = new firebaseAppImpl(\n options,\n config,\n namespace as _FirebaseNamespace\n );\n\n apps[name] = app;\n callAppHooks(app, 'create');\n\n return app;\n }\n\n /*\n * Return an array of all the non-deleted FirebaseApps.\n */\n function getApps(): FirebaseApp[] {\n // Make a copy so caller cannot mutate the apps list.\n return Object.keys(apps).map(name => apps[name]);\n }\n\n /*\n * Register a Firebase Service.\n *\n * firebase.INTERNAL.registerService()\n *\n * TODO: Implement serviceProperties.\n */\n function registerService(\n name: string,\n createService: FirebaseServiceFactory,\n serviceProperties?: { [prop: string]: unknown },\n appHook?: AppHook,\n allowMultipleInstances = false\n ): FirebaseServiceNamespace<FirebaseService> {\n // Cannot re-register a service that already exists\n if (factories[name]) {\n error(AppError.DUPLICATE_SERVICE, { name: name });\n }\n\n // Capture the service factory for later service instantiation\n factories[name] = createService;\n\n // Capture the appHook, if passed\n if (appHook) {\n appHooks[name] = appHook;\n\n // Run the **new** app hook on all existing apps\n getApps().forEach(app => {\n appHook('create', app);\n });\n }\n\n // The Service namespace is an accessor function ...\n function serviceNamespace(appArg: FirebaseApp = app()) {\n if (typeof appArg[name] !== 'function') {\n // Invalid argument.\n // This happens in the following case: firebase.storage('gs:/')\n error(AppError.INVALID_APP_ARGUMENT, { name: name });\n }\n\n // Forward service instance lookup to the FirebaseApp.\n return appArg[name]();\n }\n\n // ... and a container for service-level properties.\n if (serviceProperties !== undefined) {\n deepExtend(serviceNamespace, serviceProperties);\n }\n\n // Monkey-patch the serviceNamespace onto the firebase namespace\n namespace[name] = serviceNamespace;\n\n // Patch the FirebaseAppImpl prototype\n firebaseAppImpl.prototype[name] = function(...args) {\n const serviceFxn = this._getService.bind(this, name);\n return serviceFxn.apply(this, allowMultipleInstances ? args : []);\n };\n\n return serviceNamespace;\n }\n\n function callAppHooks(app: FirebaseApp, eventName: string) {\n for (const serviceName of Object.keys(factories)) {\n // Ignore virtual services\n const factoryName = useAsService(app, serviceName);\n if (factoryName === null) {\n return;\n }\n\n if (appHooks[factoryName]) {\n appHooks[factoryName](eventName, app);\n }\n }\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 const options = app.options;\n\n return useService;\n }\n\n return namespace;\n}\n","/**\n * @license\n * Copyright 2019 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { FirebaseNamespace } from '@firebase/app-types';\nimport { _FirebaseApp, _FirebaseNamespace } from '@firebase/app-types/private';\nimport { createSubscribe, deepExtend, ErrorFactory } from '@firebase/util';\nimport { FirebaseAppImpl } from './firebaseApp';\nimport { createFirebaseNamespaceCore } from './firebaseNamespaceCore';\n\n/**\n * Return a firebase namespace object.\n *\n * In production, this will be called exactly once and the result\n * assigned to the 'firebase' global. It may be called multiple times\n * in unit tests.\n */\nexport function createFirebaseNamespace(): FirebaseNamespace {\n const namespace = createFirebaseNamespaceCore(FirebaseAppImpl);\n (namespace as _FirebaseNamespace).INTERNAL = {\n ...(namespace as _FirebaseNamespace).INTERNAL,\n createFirebaseNamespace: createFirebaseNamespace,\n extendNamespace: extendNamespace,\n createSubscribe: createSubscribe,\n ErrorFactory: ErrorFactory,\n deepExtend: 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","/**\n * @license\n * Copyright 2017 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { FirebaseNamespace } from '@firebase/app-types';\nimport { createFirebaseNamespace } from './src/firebaseNamespace';\n\n// Node detection logic from: https://github.com/iliakan/detect-node/\nlet isNode = false;\ntry {\n isNode =\n Object.prototype.toString.call(global.process) === '[object process]';\n} catch (e) {}\n\nisNode &&\n console.warn(`\nWarning: This is a browser-targeted Firebase bundle but it appears it is being\nrun in a Node environment. If running in a Node environment, make sure you\nare using the bundle specified by the \"main\" field in package.json.\n\nIf you are using Webpack, you can specify \"main\" as the first item in\n\"resolve.mainFields\":\nhttps://webpack.js.org/configuration/resolve/#resolvemainfields\n\nIf using Rollup, use the rollup-plugin-node-resolve plugin and set \"module\"\nto false and \"main\" to true:\nhttps://github.com/rollup/rollup-plugin-node-resolve\n`);\n\n// Firebase Lite detection\nif (self && 'firebase' in self) {\n console.warn(`\n Warning: Firebase is already defined in the global scope. Please make sure\n Firebase library is only loaded once.\n `);\n\n const sdkVersion = ((self as any).firebase as FirebaseNamespace).SDK_VERSION;\n if (sdkVersion && sdkVersion.indexOf('LITE') >= 0) {\n console.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\nexport const firebase = createFirebaseNamespace();\n\nexport default firebase;\n"],"names":[],"mappings":"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"}
|
package/dist/index.esm2017.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.esm2017.js","sources":["../src/errors.ts","../src/constants.ts","../src/firebaseApp.ts","../src/firebaseNamespaceCore.ts","../src/firebaseNamespace.ts","../index.ts"],"sourcesContent":["/**\n * @license\n * Copyright 2019 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { ErrorFactory, ErrorMap } from '@firebase/util';\n\nexport const enum AppError {\n NO_APP = 'no-app',\n BAD_APP_NAME = 'bad-app-name',\n DUPLICATE_APP = 'duplicate-app',\n APP_DELETED = 'app-deleted',\n DUPLICATE_SERVICE = 'duplicate-service',\n INVALID_APP_ARGUMENT = 'invalid-app-argument'\n}\n\nconst ERRORS: ErrorMap<AppError> = {\n [AppError.NO_APP]:\n \"No Firebase App '{$name}' has been created - \" +\n 'call Firebase App.initializeApp()',\n [AppError.BAD_APP_NAME]: \"Illegal App name: '{$name}\",\n [AppError.DUPLICATE_APP]: \"Firebase App named '{$name}' already exists\",\n [AppError.APP_DELETED]: \"Firebase App named '{$name}' already deleted\",\n [AppError.DUPLICATE_SERVICE]:\n \"Firebase service named '{$name}' already registered\",\n [AppError.INVALID_APP_ARGUMENT]:\n 'firebase.{$name}() takes either no argument or a ' +\n 'Firebase App instance.'\n};\n\nconst appErrors = new ErrorFactory<AppError>('app', 'Firebase', ERRORS);\n\nexport function error(code: AppError, args?: { [name: string]: any }) {\n throw appErrors.create(code, args);\n}\n","/**\n * @license\n * Copyright 2019 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport const DEFAULT_ENTRY_NAME = '[DEFAULT]';\n","/**\n * @license\n * Copyright 2017 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n FirebaseApp,\n FirebaseOptions,\n FirebaseAppConfig\n} from '@firebase/app-types';\nimport {\n _FirebaseApp,\n _FirebaseNamespace,\n FirebaseService,\n FirebaseAppInternals\n} from '@firebase/app-types/private';\nimport { deepCopy, deepExtend } from '@firebase/util';\nimport { error, AppError } from './errors';\nimport { DEFAULT_ENTRY_NAME } from './constants';\n\ninterface ServicesCache {\n [name: string]: {\n [serviceName: string]: FirebaseService;\n };\n}\n\n// An array to capture listeners before the true auth functions\n// exist\nlet tokenListeners: any[] = [];\n\n/**\n * Global context object for a collection of services using\n * a shared authentication state.\n */\nexport class FirebaseAppImpl implements FirebaseApp {\n private readonly options_: FirebaseOptions;\n private readonly name_: string;\n private isDeleted_ = false;\n private services_: ServicesCache = {};\n private automaticDataCollectionEnabled_: boolean;\n\n INTERNAL: FirebaseAppInternals;\n\n constructor(\n options: FirebaseOptions,\n config: FirebaseAppConfig,\n private readonly firebase_: _FirebaseNamespace\n ) {\n this.name_ = config.name!;\n this.automaticDataCollectionEnabled_ =\n config.automaticDataCollectionEnabled || false;\n this.options_ = deepCopy<FirebaseOptions>(options);\n this.INTERNAL = {\n getUid: () => null,\n getToken: () => Promise.resolve(null),\n addAuthTokenListener: (callback: (token: string | null) => void) => {\n tokenListeners.push(callback);\n // Make sure callback is called, asynchronously, in the absence of the auth module\n setTimeout(() => callback(null), 0);\n },\n removeAuthTokenListener: callback => {\n tokenListeners = tokenListeners.filter(\n listener => listener !== callback\n );\n }\n };\n }\n\n get automaticDataCollectionEnabled(): boolean {\n this.checkDestroyed_();\n return this.automaticDataCollectionEnabled_;\n }\n\n set automaticDataCollectionEnabled(val) {\n this.checkDestroyed_();\n this.automaticDataCollectionEnabled_ = val;\n }\n\n get name(): string {\n this.checkDestroyed_();\n return this.name_;\n }\n\n get options(): FirebaseOptions {\n this.checkDestroyed_();\n return this.options_;\n }\n\n delete(): Promise<void> {\n return new Promise(resolve => {\n this.checkDestroyed_();\n resolve();\n })\n .then(() => {\n this.firebase_.INTERNAL.removeApp(this.name_);\n const services: FirebaseService[] = [];\n\n for (const serviceKey of Object.keys(this.services_)) {\n for (const instanceKey of Object.keys(this.services_[serviceKey])) {\n services.push(this.services_[serviceKey][instanceKey]);\n }\n }\n\n return Promise.all(\n services.map(service => {\n return service.INTERNAL.delete();\n })\n );\n })\n .then(\n (): void => {\n this.isDeleted_ = true;\n this.services_ = {};\n }\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 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.checkDestroyed_();\n\n if (!this.services_[name]) {\n this.services_[name] = {};\n }\n\n if (!this.services_[name][instanceIdentifier]) {\n /**\n * If a custom instance has been defined (i.e. not '[DEFAULT]')\n * then we will pass that instance on, otherwise we pass `null`\n */\n const instanceSpecifier =\n instanceIdentifier !== DEFAULT_ENTRY_NAME\n ? instanceIdentifier\n : undefined;\n const service = this.firebase_.INTERNAL.factories[name](\n this,\n this.extendApp.bind(this),\n instanceSpecifier\n );\n this.services_[name][instanceIdentifier] = service;\n }\n\n return this.services_[name][instanceIdentifier];\n }\n\n /**\n * Callback function used to extend an App instance at the time\n * of service instance creation.\n */\n private extendApp(props: { [name: string]: any }): void {\n // Copy the object onto the FirebaseAppImpl prototype\n deepExtend(this, props);\n\n /**\n * If the app has overwritten the addAuthTokenListener stub, forward\n * the active token listeners on to the true fxn.\n *\n * TODO: This function is required due to our current module\n * structure. Once we are able to rely strictly upon a single module\n * implementation, this code should be refactored and Auth should\n * provide these stubs and the upgrade logic\n */\n if (props.INTERNAL && props.INTERNAL.addAuthTokenListener) {\n tokenListeners.forEach(listener => {\n this.INTERNAL.addAuthTokenListener(listener);\n });\n tokenListeners = [];\n }\n }\n\n /**\n * This function will throw an Error if the App has already been deleted -\n * use before performing API actions on the App.\n */\n private checkDestroyed_(): void {\n if (this.isDeleted_) {\n error(AppError.APP_DELETED, { name: this.name_ });\n }\n }\n}\n\n// Prevent dead-code elimination of these methods w/o invalid property\n// copying.\n(FirebaseAppImpl.prototype.name && FirebaseAppImpl.prototype.options) ||\n FirebaseAppImpl.prototype.delete ||\n console.log('dc');\n","/**\n * @license\n * Copyright 2019 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n FirebaseApp,\n FirebaseOptions,\n FirebaseNamespace,\n FirebaseAppConfig\n} from '@firebase/app-types';\nimport {\n _FirebaseApp,\n _FirebaseNamespace,\n FirebaseService,\n FirebaseServiceFactory,\n FirebaseServiceNamespace,\n AppHook\n} from '@firebase/app-types/private';\nimport { deepExtend, patchProperty } from '@firebase/util';\nimport { FirebaseAppImpl } from './firebaseApp';\nimport { error, AppError } from './errors';\nimport { FirebaseAppLiteImpl } from './lite/firebaseAppLite';\nimport { DEFAULT_ENTRY_NAME } from './constants';\n\nfunction contains(obj: object, key: string) {\n return Object.prototype.hasOwnProperty.call(obj, key);\n}\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 const factories: { [service: string]: FirebaseServiceFactory } = {};\n const appHooks: { [service: string]: AppHook } = {};\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: initializeApp,\n app: app as any,\n apps: null as any,\n Promise: Promise,\n SDK_VERSION: '${JSCORE_VERSION}',\n INTERNAL: {\n registerService,\n removeApp,\n factories,\n useAsService\n }\n };\n\n // Inject a circular default export to allow Babel users who were previously\n // using:\n //\n // import firebase from 'firebase';\n // which becomes: var firebase = require('firebase').default;\n //\n // instead of\n //\n // import * as firebase from 'firebase';\n // which becomes: var firebase = require('firebase');\n patchProperty(namespace, '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 const app = apps[name];\n callAppHooks(app, 'delete');\n delete apps[name];\n }\n\n /**\n * Get the App object for a given name (or DEFAULT).\n */\n function app(name?: string): FirebaseApp {\n name = name || DEFAULT_ENTRY_NAME;\n if (!contains(apps, name)) {\n error(AppError.NO_APP, { name: name });\n }\n return apps[name];\n }\n\n patchProperty(app, 'App', firebaseAppImpl);\n /**\n * Create a new App instance (name must be unique).\n */\n function initializeApp(\n options: FirebaseOptions,\n config?: FirebaseAppConfig\n ): FirebaseApp;\n function initializeApp(options: FirebaseOptions, name?: string): FirebaseApp;\n function initializeApp(options: FirebaseOptions, rawConfig = {}) {\n if (typeof rawConfig !== 'object' || rawConfig === null) {\n const name = rawConfig;\n rawConfig = { name };\n }\n\n const config = rawConfig as FirebaseAppConfig;\n\n if (config.name === undefined) {\n config.name = DEFAULT_ENTRY_NAME;\n }\n\n const { name } = config;\n\n if (typeof name !== 'string' || !name) {\n error(AppError.BAD_APP_NAME, { name: String(name) });\n }\n\n if (contains(apps, name)) {\n error(AppError.DUPLICATE_APP, { name: name });\n }\n\n const app = new firebaseAppImpl(\n options,\n config,\n namespace as _FirebaseNamespace\n );\n\n apps[name] = app;\n callAppHooks(app, 'create');\n\n return app;\n }\n\n /*\n * Return an array of all the non-deleted FirebaseApps.\n */\n function getApps(): FirebaseApp[] {\n // Make a copy so caller cannot mutate the apps list.\n return Object.keys(apps).map(name => apps[name]);\n }\n\n /*\n * Register a Firebase Service.\n *\n * firebase.INTERNAL.registerService()\n *\n * TODO: Implement serviceProperties.\n */\n function registerService(\n name: string,\n createService: FirebaseServiceFactory,\n serviceProperties?: { [prop: string]: unknown },\n appHook?: AppHook,\n allowMultipleInstances = false\n ): FirebaseServiceNamespace<FirebaseService> {\n // Cannot re-register a service that already exists\n if (factories[name]) {\n error(AppError.DUPLICATE_SERVICE, { name: name });\n }\n\n // Capture the service factory for later service instantiation\n factories[name] = createService;\n\n // Capture the appHook, if passed\n if (appHook) {\n appHooks[name] = appHook;\n\n // Run the **new** app hook on all existing apps\n getApps().forEach(app => {\n appHook('create', app);\n });\n }\n\n // The Service namespace is an accessor function ...\n function serviceNamespace(appArg: FirebaseApp = app()) {\n if (typeof appArg[name] !== 'function') {\n // Invalid argument.\n // This happens in the following case: firebase.storage('gs:/')\n error(AppError.INVALID_APP_ARGUMENT, { name: name });\n }\n\n // Forward service instance lookup to the FirebaseApp.\n return appArg[name]();\n }\n\n // ... and a container for service-level properties.\n if (serviceProperties !== undefined) {\n deepExtend(serviceNamespace, serviceProperties);\n }\n\n // Monkey-patch the serviceNamespace onto the firebase namespace\n namespace[name] = serviceNamespace;\n\n // Patch the FirebaseAppImpl prototype\n firebaseAppImpl.prototype[name] = function(...args) {\n const serviceFxn = this._getService.bind(this, name);\n return serviceFxn.apply(this, allowMultipleInstances ? args : []);\n };\n\n return serviceNamespace;\n }\n\n function callAppHooks(app: FirebaseApp, eventName: string) {\n for (const serviceName of Object.keys(factories)) {\n // Ignore virtual services\n const factoryName = useAsService(app, serviceName);\n if (factoryName === null) {\n return;\n }\n\n if (appHooks[factoryName]) {\n appHooks[factoryName](eventName, app);\n }\n }\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 const options = app.options;\n\n return useService;\n }\n\n return namespace;\n}\n","/**\n * @license\n * Copyright 2019 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { FirebaseNamespace } from '@firebase/app-types';\nimport { _FirebaseApp, _FirebaseNamespace } from '@firebase/app-types/private';\nimport { createSubscribe, deepExtend, ErrorFactory } from '@firebase/util';\nimport { FirebaseAppImpl } from './firebaseApp';\nimport { createFirebaseNamespaceCore } from './firebaseNamespaceCore';\n\n/**\n * Return a firebase namespace object.\n *\n * In production, this will be called exactly once and the result\n * assigned to the 'firebase' global. It may be called multiple times\n * in unit tests.\n */\nexport function createFirebaseNamespace(): FirebaseNamespace {\n const namespace = createFirebaseNamespaceCore(FirebaseAppImpl);\n (namespace as _FirebaseNamespace).INTERNAL = {\n ...(namespace as _FirebaseNamespace).INTERNAL,\n createFirebaseNamespace: createFirebaseNamespace,\n extendNamespace: extendNamespace,\n createSubscribe: createSubscribe,\n ErrorFactory: ErrorFactory,\n deepExtend: 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","/**\n * @license\n * Copyright 2017 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { FirebaseNamespace } from '@firebase/app-types';\nimport { createFirebaseNamespace } from './src/firebaseNamespace';\n\n// Node detection logic from: https://github.com/iliakan/detect-node/\nlet isNode = false;\ntry {\n isNode =\n Object.prototype.toString.call(global.process) === '[object process]';\n} catch (e) {}\n\nisNode &&\n console.warn(`\nWarning: This is a browser-targeted Firebase bundle but it appears it is being\nrun in a Node environment. If running in a Node environment, make sure you\nare using the bundle specified by the \"main\" field in package.json.\n\nIf you are using Webpack, you can specify \"main\" as the first item in\n\"resolve.mainFields\":\nhttps://webpack.js.org/configuration/resolve/#resolvemainfields\n\nIf using Rollup, use the rollup-plugin-node-resolve plugin and set \"module\"\nto false and \"main\" to true:\nhttps://github.com/rollup/rollup-plugin-node-resolve\n`);\n\n// Firebase Lite detection\nif (self && 'firebase' in self) {\n console.warn(`\n Warning: Firebase is already defined in the global scope. Please make sure\n Firebase library is only loaded once.\n `);\n\n const sdkVersion = ((self as any).firebase as FirebaseNamespace).SDK_VERSION;\n if (sdkVersion && sdkVersion.indexOf('LITE') >= 0) {\n console.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\nexport const firebase = createFirebaseNamespace();\n\nexport default firebase;\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.esm2017.js","sources":["../src/errors.ts","../src/constants.ts","../src/firebaseApp.ts","../src/firebaseNamespaceCore.ts","../src/firebaseNamespace.ts","../index.ts"],"sourcesContent":["/**\n * @license\n * Copyright 2019 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { ErrorFactory, ErrorMap } from '@firebase/util';\n\nexport const enum AppError {\n NO_APP = 'no-app',\n BAD_APP_NAME = 'bad-app-name',\n DUPLICATE_APP = 'duplicate-app',\n APP_DELETED = 'app-deleted',\n DUPLICATE_SERVICE = 'duplicate-service',\n INVALID_APP_ARGUMENT = 'invalid-app-argument'\n}\n\nconst ERRORS: ErrorMap<AppError> = {\n [AppError.NO_APP]:\n \"No Firebase App '{$name}' has been created - \" +\n 'call Firebase App.initializeApp()',\n [AppError.BAD_APP_NAME]: \"Illegal App name: '{$name}\",\n [AppError.DUPLICATE_APP]: \"Firebase App named '{$name}' already exists\",\n [AppError.APP_DELETED]: \"Firebase App named '{$name}' already deleted\",\n [AppError.DUPLICATE_SERVICE]:\n \"Firebase service named '{$name}' already registered\",\n [AppError.INVALID_APP_ARGUMENT]:\n 'firebase.{$name}() takes either no argument or a ' +\n 'Firebase App instance.'\n};\n\nconst appErrors = new ErrorFactory<AppError>('app', 'Firebase', ERRORS);\n\nexport function error(code: AppError, args?: { [name: string]: any }) {\n throw appErrors.create(code, args);\n}\n","/**\n * @license\n * Copyright 2019 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport const DEFAULT_ENTRY_NAME = '[DEFAULT]';\n","/**\n * @license\n * Copyright 2017 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n FirebaseApp,\n FirebaseOptions,\n FirebaseAppConfig\n} from '@firebase/app-types';\nimport {\n _FirebaseApp,\n _FirebaseNamespace,\n FirebaseService,\n FirebaseAppInternals\n} from '@firebase/app-types/private';\nimport { deepCopy, deepExtend } from '@firebase/util';\nimport { error, AppError } from './errors';\nimport { DEFAULT_ENTRY_NAME } from './constants';\n\ninterface ServicesCache {\n [name: string]: {\n [serviceName: string]: FirebaseService;\n };\n}\n\n// An array to capture listeners before the true auth functions\n// exist\nlet tokenListeners: any[] = [];\n\n/**\n * Global context object for a collection of services using\n * a shared authentication state.\n */\nexport class FirebaseAppImpl implements FirebaseApp {\n private readonly options_: FirebaseOptions;\n private readonly name_: string;\n private isDeleted_ = false;\n private services_: ServicesCache = {};\n private automaticDataCollectionEnabled_: boolean;\n\n INTERNAL: FirebaseAppInternals;\n\n constructor(\n options: FirebaseOptions,\n config: FirebaseAppConfig,\n private readonly firebase_: _FirebaseNamespace\n ) {\n this.name_ = config.name!;\n this.automaticDataCollectionEnabled_ =\n config.automaticDataCollectionEnabled || false;\n this.options_ = deepCopy<FirebaseOptions>(options);\n this.INTERNAL = {\n getUid: () => null,\n getToken: () => Promise.resolve(null),\n addAuthTokenListener: (callback: (token: string | null) => void) => {\n tokenListeners.push(callback);\n // Make sure callback is called, asynchronously, in the absence of the auth module\n setTimeout(() => callback(null), 0);\n },\n removeAuthTokenListener: callback => {\n tokenListeners = tokenListeners.filter(\n listener => listener !== callback\n );\n }\n };\n }\n\n get automaticDataCollectionEnabled(): boolean {\n this.checkDestroyed_();\n return this.automaticDataCollectionEnabled_;\n }\n\n set automaticDataCollectionEnabled(val) {\n this.checkDestroyed_();\n this.automaticDataCollectionEnabled_ = val;\n }\n\n get name(): string {\n this.checkDestroyed_();\n return this.name_;\n }\n\n get options(): FirebaseOptions {\n this.checkDestroyed_();\n return this.options_;\n }\n\n delete(): Promise<void> {\n return new Promise(resolve => {\n this.checkDestroyed_();\n resolve();\n })\n .then(() => {\n this.firebase_.INTERNAL.removeApp(this.name_);\n const services: FirebaseService[] = [];\n\n for (const serviceKey of Object.keys(this.services_)) {\n for (const instanceKey of Object.keys(this.services_[serviceKey])) {\n services.push(this.services_[serviceKey][instanceKey]);\n }\n }\n\n return Promise.all(\n services.map(service => {\n return service.INTERNAL.delete();\n })\n );\n })\n .then(\n (): void => {\n this.isDeleted_ = true;\n this.services_ = {};\n }\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 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.checkDestroyed_();\n\n if (!this.services_[name]) {\n this.services_[name] = {};\n }\n\n if (!this.services_[name][instanceIdentifier]) {\n /**\n * If a custom instance has been defined (i.e. not '[DEFAULT]')\n * then we will pass that instance on, otherwise we pass `null`\n */\n const instanceSpecifier =\n instanceIdentifier !== DEFAULT_ENTRY_NAME\n ? instanceIdentifier\n : undefined;\n const service = this.firebase_.INTERNAL.factories[name](\n this,\n this.extendApp.bind(this),\n instanceSpecifier\n );\n this.services_[name][instanceIdentifier] = service;\n }\n\n return this.services_[name][instanceIdentifier];\n }\n\n /**\n * Callback function used to extend an App instance at the time\n * of service instance creation.\n */\n private extendApp(props: { [name: string]: any }): void {\n // Copy the object onto the FirebaseAppImpl prototype\n deepExtend(this, props);\n\n /**\n * If the app has overwritten the addAuthTokenListener stub, forward\n * the active token listeners on to the true fxn.\n *\n * TODO: This function is required due to our current module\n * structure. Once we are able to rely strictly upon a single module\n * implementation, this code should be refactored and Auth should\n * provide these stubs and the upgrade logic\n */\n if (props.INTERNAL && props.INTERNAL.addAuthTokenListener) {\n tokenListeners.forEach(listener => {\n this.INTERNAL.addAuthTokenListener(listener);\n });\n tokenListeners = [];\n }\n }\n\n /**\n * This function will throw an Error if the App has already been deleted -\n * use before performing API actions on the App.\n */\n private checkDestroyed_(): void {\n if (this.isDeleted_) {\n error(AppError.APP_DELETED, { name: this.name_ });\n }\n }\n}\n\n// Prevent dead-code elimination of these methods w/o invalid property\n// copying.\n(FirebaseAppImpl.prototype.name && FirebaseAppImpl.prototype.options) ||\n FirebaseAppImpl.prototype.delete ||\n console.log('dc');\n","/**\n * @license\n * Copyright 2019 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n FirebaseApp,\n FirebaseOptions,\n FirebaseNamespace,\n FirebaseAppConfig\n} from '@firebase/app-types';\nimport {\n _FirebaseApp,\n _FirebaseNamespace,\n FirebaseService,\n FirebaseServiceFactory,\n FirebaseServiceNamespace,\n AppHook\n} from '@firebase/app-types/private';\nimport { deepExtend, patchProperty } from '@firebase/util';\nimport { FirebaseAppImpl } from './firebaseApp';\nimport { error, AppError } from './errors';\nimport { FirebaseAppLiteImpl } from './lite/firebaseAppLite';\nimport { DEFAULT_ENTRY_NAME } from './constants';\n\nfunction contains(obj: object, key: string) {\n return Object.prototype.hasOwnProperty.call(obj, key);\n}\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 const factories: { [service: string]: FirebaseServiceFactory } = {};\n const appHooks: { [service: string]: AppHook } = {};\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: initializeApp,\n app: app as any,\n apps: null as any,\n Promise: Promise,\n SDK_VERSION: '${JSCORE_VERSION}',\n INTERNAL: {\n registerService,\n removeApp,\n factories,\n useAsService\n }\n };\n\n // Inject a circular default export to allow Babel users who were previously\n // using:\n //\n // import firebase from 'firebase';\n // which becomes: var firebase = require('firebase').default;\n //\n // instead of\n //\n // import * as firebase from 'firebase';\n // which becomes: var firebase = require('firebase');\n patchProperty(namespace, '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 const app = apps[name];\n callAppHooks(app, 'delete');\n delete apps[name];\n }\n\n /**\n * Get the App object for a given name (or DEFAULT).\n */\n function app(name?: string): FirebaseApp {\n name = name || DEFAULT_ENTRY_NAME;\n if (!contains(apps, name)) {\n error(AppError.NO_APP, { name: name });\n }\n return apps[name];\n }\n\n patchProperty(app, 'App', firebaseAppImpl);\n /**\n * Create a new App instance (name must be unique).\n */\n function initializeApp(\n options: FirebaseOptions,\n config?: FirebaseAppConfig\n ): FirebaseApp;\n function initializeApp(options: FirebaseOptions, name?: string): FirebaseApp;\n function initializeApp(options: FirebaseOptions, rawConfig = {}) {\n if (typeof rawConfig !== 'object' || rawConfig === null) {\n const name = rawConfig;\n rawConfig = { name };\n }\n\n const config = rawConfig as FirebaseAppConfig;\n\n if (config.name === undefined) {\n config.name = DEFAULT_ENTRY_NAME;\n }\n\n const { name } = config;\n\n if (typeof name !== 'string' || !name) {\n error(AppError.BAD_APP_NAME, { name: String(name) });\n }\n\n if (contains(apps, name)) {\n error(AppError.DUPLICATE_APP, { name: name });\n }\n\n const app = new firebaseAppImpl(\n options,\n config,\n namespace as _FirebaseNamespace\n );\n\n apps[name] = app;\n callAppHooks(app, 'create');\n\n return app;\n }\n\n /*\n * Return an array of all the non-deleted FirebaseApps.\n */\n function getApps(): FirebaseApp[] {\n // Make a copy so caller cannot mutate the apps list.\n return Object.keys(apps).map(name => apps[name]);\n }\n\n /*\n * Register a Firebase Service.\n *\n * firebase.INTERNAL.registerService()\n *\n * TODO: Implement serviceProperties.\n */\n function registerService(\n name: string,\n createService: FirebaseServiceFactory,\n serviceProperties?: { [prop: string]: unknown },\n appHook?: AppHook,\n allowMultipleInstances = false\n ): FirebaseServiceNamespace<FirebaseService> {\n // Cannot re-register a service that already exists\n if (factories[name]) {\n error(AppError.DUPLICATE_SERVICE, { name: name });\n }\n\n // Capture the service factory for later service instantiation\n factories[name] = createService;\n\n // Capture the appHook, if passed\n if (appHook) {\n appHooks[name] = appHook;\n\n // Run the **new** app hook on all existing apps\n getApps().forEach(app => {\n appHook('create', app);\n });\n }\n\n // The Service namespace is an accessor function ...\n function serviceNamespace(appArg: FirebaseApp = app()) {\n if (typeof appArg[name] !== 'function') {\n // Invalid argument.\n // This happens in the following case: firebase.storage('gs:/')\n error(AppError.INVALID_APP_ARGUMENT, { name: name });\n }\n\n // Forward service instance lookup to the FirebaseApp.\n return appArg[name]();\n }\n\n // ... and a container for service-level properties.\n if (serviceProperties !== undefined) {\n deepExtend(serviceNamespace, serviceProperties);\n }\n\n // Monkey-patch the serviceNamespace onto the firebase namespace\n namespace[name] = serviceNamespace;\n\n // Patch the FirebaseAppImpl prototype\n firebaseAppImpl.prototype[name] = function(...args) {\n const serviceFxn = this._getService.bind(this, name);\n return serviceFxn.apply(this, allowMultipleInstances ? args : []);\n };\n\n return serviceNamespace;\n }\n\n function callAppHooks(app: FirebaseApp, eventName: string) {\n for (const serviceName of Object.keys(factories)) {\n // Ignore virtual services\n const factoryName = useAsService(app, serviceName);\n if (factoryName === null) {\n return;\n }\n\n if (appHooks[factoryName]) {\n appHooks[factoryName](eventName, app);\n }\n }\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 const options = app.options;\n\n return useService;\n }\n\n return namespace;\n}\n","/**\n * @license\n * Copyright 2019 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { FirebaseNamespace } from '@firebase/app-types';\nimport { _FirebaseApp, _FirebaseNamespace } from '@firebase/app-types/private';\nimport { createSubscribe, deepExtend, ErrorFactory } from '@firebase/util';\nimport { FirebaseAppImpl } from './firebaseApp';\nimport { createFirebaseNamespaceCore } from './firebaseNamespaceCore';\n\n/**\n * Return a firebase namespace object.\n *\n * In production, this will be called exactly once and the result\n * assigned to the 'firebase' global. It may be called multiple times\n * in unit tests.\n */\nexport function createFirebaseNamespace(): FirebaseNamespace {\n const namespace = createFirebaseNamespaceCore(FirebaseAppImpl);\n (namespace as _FirebaseNamespace).INTERNAL = {\n ...(namespace as _FirebaseNamespace).INTERNAL,\n createFirebaseNamespace: createFirebaseNamespace,\n extendNamespace: extendNamespace,\n createSubscribe: createSubscribe,\n ErrorFactory: ErrorFactory,\n deepExtend: 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","/**\n * @license\n * Copyright 2017 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { FirebaseNamespace } from '@firebase/app-types';\nimport { createFirebaseNamespace } from './src/firebaseNamespace';\n\n// Node detection logic from: https://github.com/iliakan/detect-node/\nlet isNode = false;\ntry {\n isNode =\n Object.prototype.toString.call(global.process) === '[object process]';\n} catch (e) {}\n\nisNode &&\n console.warn(`\nWarning: This is a browser-targeted Firebase bundle but it appears it is being\nrun in a Node environment. If running in a Node environment, make sure you\nare using the bundle specified by the \"main\" field in package.json.\n\nIf you are using Webpack, you can specify \"main\" as the first item in\n\"resolve.mainFields\":\nhttps://webpack.js.org/configuration/resolve/#resolvemainfields\n\nIf using Rollup, use the rollup-plugin-node-resolve plugin and set \"module\"\nto false and \"main\" to true:\nhttps://github.com/rollup/rollup-plugin-node-resolve\n`);\n\n// Firebase Lite detection\nif (self && 'firebase' in self) {\n console.warn(`\n Warning: Firebase is already defined in the global scope. Please make sure\n Firebase library is only loaded once.\n `);\n\n const sdkVersion = ((self as any).firebase as FirebaseNamespace).SDK_VERSION;\n if (sdkVersion && sdkVersion.indexOf('LITE') >= 0) {\n console.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\nexport const firebase = createFirebaseNamespace();\n\nexport default firebase;\n"],"names":[],"mappings":"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"}
|
|
@@ -210,7 +210,7 @@ function createFirebaseNamespaceCore(firebaseAppImpl) {
|
|
|
210
210
|
app: app,
|
|
211
211
|
apps: null,
|
|
212
212
|
Promise: Promise,
|
|
213
|
-
SDK_VERSION: '5.11.0
|
|
213
|
+
SDK_VERSION: '5.11.0',
|
|
214
214
|
INTERNAL: {
|
|
215
215
|
registerService,
|
|
216
216
|
removeApp,
|
|
@@ -369,7 +369,7 @@ function createFirebaseNamespaceCore(firebaseAppImpl) {
|
|
|
369
369
|
*/
|
|
370
370
|
function createFirebaseNamespaceLite() {
|
|
371
371
|
const namespace = createFirebaseNamespaceCore(FirebaseAppLiteImpl);
|
|
372
|
-
namespace.SDK_VERSION = '5.11.
|
|
372
|
+
namespace.SDK_VERSION = '5.11.0_LITE';
|
|
373
373
|
const registerService = namespace.INTERNAL
|
|
374
374
|
.registerService;
|
|
375
375
|
namespace.INTERNAL.registerService = registerServiceForLite;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.lite.esm2017.js","sources":["../src/errors.ts","../src/constants.ts","../src/lite/firebaseAppLite.ts","../src/firebaseNamespaceCore.ts","../src/lite/firebaseNamespaceLite.ts","../index.lite.ts"],"sourcesContent":["/**\n * @license\n * Copyright 2019 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { ErrorFactory, ErrorMap } from '@firebase/util';\n\nexport const enum AppError {\n NO_APP = 'no-app',\n BAD_APP_NAME = 'bad-app-name',\n DUPLICATE_APP = 'duplicate-app',\n APP_DELETED = 'app-deleted',\n DUPLICATE_SERVICE = 'duplicate-service',\n INVALID_APP_ARGUMENT = 'invalid-app-argument'\n}\n\nconst ERRORS: ErrorMap<AppError> = {\n [AppError.NO_APP]:\n \"No Firebase App '{$name}' has been created - \" +\n 'call Firebase App.initializeApp()',\n [AppError.BAD_APP_NAME]: \"Illegal App name: '{$name}\",\n [AppError.DUPLICATE_APP]: \"Firebase App named '{$name}' already exists\",\n [AppError.APP_DELETED]: \"Firebase App named '{$name}' already deleted\",\n [AppError.DUPLICATE_SERVICE]:\n \"Firebase service named '{$name}' already registered\",\n [AppError.INVALID_APP_ARGUMENT]:\n 'firebase.{$name}() takes either no argument or a ' +\n 'Firebase App instance.'\n};\n\nconst appErrors = new ErrorFactory<AppError>('app', 'Firebase', ERRORS);\n\nexport function error(code: AppError, args?: { [name: string]: any }) {\n throw appErrors.create(code, args);\n}\n","/**\n * @license\n * Copyright 2019 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport const DEFAULT_ENTRY_NAME = '[DEFAULT]';\n","/**\n * @license\n * Copyright 2019 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n FirebaseApp,\n FirebaseOptions,\n FirebaseAppConfig\n} from '@firebase/app-types';\nimport {\n _FirebaseApp,\n _FirebaseNamespace,\n FirebaseService\n} from '@firebase/app-types/private';\nimport { deepCopy, deepExtend } from '@firebase/util';\nimport { error, AppError } from '../errors';\nimport { DEFAULT_ENTRY_NAME } from '../constants';\n\ninterface ServicesCache {\n [name: string]: {\n [serviceName: string]: FirebaseService;\n };\n}\n\n/**\n * Global context object for a collection of services using\n * a shared authentication state.\n */\nexport class FirebaseAppLiteImpl implements FirebaseApp {\n private readonly options_: FirebaseOptions;\n private readonly name_: string;\n private isDeleted_ = false;\n private services_: ServicesCache = {};\n private automaticDataCollectionEnabled_: boolean;\n\n // lite version has an empty INTERNAL namespace\n readonly INTERNAL = {};\n\n constructor(\n options: FirebaseOptions,\n config: FirebaseAppConfig,\n private readonly firebase_: _FirebaseNamespace\n ) {\n this.name_ = config.name!;\n this.automaticDataCollectionEnabled_ =\n config.automaticDataCollectionEnabled || false;\n this.options_ = deepCopy<FirebaseOptions>(options);\n }\n\n get automaticDataCollectionEnabled(): boolean {\n this.checkDestroyed_();\n return this.automaticDataCollectionEnabled_;\n }\n\n set automaticDataCollectionEnabled(val) {\n this.checkDestroyed_();\n this.automaticDataCollectionEnabled_ = val;\n }\n\n get name(): string {\n this.checkDestroyed_();\n return this.name_;\n }\n\n get options(): FirebaseOptions {\n this.checkDestroyed_();\n return this.options_;\n }\n\n delete(): Promise<void> {\n return new Promise(resolve => {\n this.checkDestroyed_();\n resolve();\n })\n .then(() => {\n this.firebase_.INTERNAL.removeApp(this.name_);\n const services: FirebaseService[] = [];\n\n for (const serviceKey of Object.keys(this.services_)) {\n for (const instanceKey of Object.keys(this.services_[serviceKey])) {\n services.push(this.services_[serviceKey][instanceKey]);\n }\n }\n\n return Promise.all(\n services.map(service => {\n return service.INTERNAL.delete();\n })\n );\n })\n .then(\n (): void => {\n this.isDeleted_ = true;\n this.services_ = {};\n }\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 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.checkDestroyed_();\n\n if (!this.services_[name]) {\n this.services_[name] = {};\n }\n\n if (!this.services_[name][instanceIdentifier]) {\n /**\n * If a custom instance has been defined (i.e. not '[DEFAULT]')\n * then we will pass that instance on, otherwise we pass `null`\n */\n const instanceSpecifier =\n instanceIdentifier !== DEFAULT_ENTRY_NAME\n ? instanceIdentifier\n : undefined;\n const service = this.firebase_.INTERNAL.factories[name](\n this,\n this.extendApp.bind(this),\n instanceSpecifier\n );\n this.services_[name][instanceIdentifier] = service;\n }\n\n return this.services_[name][instanceIdentifier];\n }\n\n /**\n * Callback function used to extend an App instance at the time\n * of service instance creation.\n */\n private extendApp(props: { [name: string]: any }): void {\n // Copy the object onto the FirebaseAppImpl prototype\n deepExtend(this, props);\n }\n\n /**\n * This function will throw an Error if the App has already been deleted -\n * use before performing API actions on the App.\n */\n private checkDestroyed_(): void {\n if (this.isDeleted_) {\n error(AppError.APP_DELETED, { name: this.name_ });\n }\n }\n}\n","/**\n * @license\n * Copyright 2019 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n FirebaseApp,\n FirebaseOptions,\n FirebaseNamespace,\n FirebaseAppConfig\n} from '@firebase/app-types';\nimport {\n _FirebaseApp,\n _FirebaseNamespace,\n FirebaseService,\n FirebaseServiceFactory,\n FirebaseServiceNamespace,\n AppHook\n} from '@firebase/app-types/private';\nimport { deepExtend, patchProperty } from '@firebase/util';\nimport { FirebaseAppImpl } from './firebaseApp';\nimport { error, AppError } from './errors';\nimport { FirebaseAppLiteImpl } from './lite/firebaseAppLite';\nimport { DEFAULT_ENTRY_NAME } from './constants';\n\nfunction contains(obj: object, key: string) {\n return Object.prototype.hasOwnProperty.call(obj, key);\n}\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 const factories: { [service: string]: FirebaseServiceFactory } = {};\n const appHooks: { [service: string]: AppHook } = {};\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: initializeApp,\n app: app as any,\n apps: null as any,\n Promise: Promise,\n SDK_VERSION: '${JSCORE_VERSION}',\n INTERNAL: {\n registerService,\n removeApp,\n factories,\n useAsService\n }\n };\n\n // Inject a circular default export to allow Babel users who were previously\n // using:\n //\n // import firebase from 'firebase';\n // which becomes: var firebase = require('firebase').default;\n //\n // instead of\n //\n // import * as firebase from 'firebase';\n // which becomes: var firebase = require('firebase');\n patchProperty(namespace, '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 const app = apps[name];\n callAppHooks(app, 'delete');\n delete apps[name];\n }\n\n /**\n * Get the App object for a given name (or DEFAULT).\n */\n function app(name?: string): FirebaseApp {\n name = name || DEFAULT_ENTRY_NAME;\n if (!contains(apps, name)) {\n error(AppError.NO_APP, { name: name });\n }\n return apps[name];\n }\n\n patchProperty(app, 'App', firebaseAppImpl);\n /**\n * Create a new App instance (name must be unique).\n */\n function initializeApp(\n options: FirebaseOptions,\n config?: FirebaseAppConfig\n ): FirebaseApp;\n function initializeApp(options: FirebaseOptions, name?: string): FirebaseApp;\n function initializeApp(options: FirebaseOptions, rawConfig = {}) {\n if (typeof rawConfig !== 'object' || rawConfig === null) {\n const name = rawConfig;\n rawConfig = { name };\n }\n\n const config = rawConfig as FirebaseAppConfig;\n\n if (config.name === undefined) {\n config.name = DEFAULT_ENTRY_NAME;\n }\n\n const { name } = config;\n\n if (typeof name !== 'string' || !name) {\n error(AppError.BAD_APP_NAME, { name: String(name) });\n }\n\n if (contains(apps, name)) {\n error(AppError.DUPLICATE_APP, { name: name });\n }\n\n const app = new firebaseAppImpl(\n options,\n config,\n namespace as _FirebaseNamespace\n );\n\n apps[name] = app;\n callAppHooks(app, 'create');\n\n return app;\n }\n\n /*\n * Return an array of all the non-deleted FirebaseApps.\n */\n function getApps(): FirebaseApp[] {\n // Make a copy so caller cannot mutate the apps list.\n return Object.keys(apps).map(name => apps[name]);\n }\n\n /*\n * Register a Firebase Service.\n *\n * firebase.INTERNAL.registerService()\n *\n * TODO: Implement serviceProperties.\n */\n function registerService(\n name: string,\n createService: FirebaseServiceFactory,\n serviceProperties?: { [prop: string]: unknown },\n appHook?: AppHook,\n allowMultipleInstances = false\n ): FirebaseServiceNamespace<FirebaseService> {\n // Cannot re-register a service that already exists\n if (factories[name]) {\n error(AppError.DUPLICATE_SERVICE, { name: name });\n }\n\n // Capture the service factory for later service instantiation\n factories[name] = createService;\n\n // Capture the appHook, if passed\n if (appHook) {\n appHooks[name] = appHook;\n\n // Run the **new** app hook on all existing apps\n getApps().forEach(app => {\n appHook('create', app);\n });\n }\n\n // The Service namespace is an accessor function ...\n function serviceNamespace(appArg: FirebaseApp = app()) {\n if (typeof appArg[name] !== 'function') {\n // Invalid argument.\n // This happens in the following case: firebase.storage('gs:/')\n error(AppError.INVALID_APP_ARGUMENT, { name: name });\n }\n\n // Forward service instance lookup to the FirebaseApp.\n return appArg[name]();\n }\n\n // ... and a container for service-level properties.\n if (serviceProperties !== undefined) {\n deepExtend(serviceNamespace, serviceProperties);\n }\n\n // Monkey-patch the serviceNamespace onto the firebase namespace\n namespace[name] = serviceNamespace;\n\n // Patch the FirebaseAppImpl prototype\n firebaseAppImpl.prototype[name] = function(...args) {\n const serviceFxn = this._getService.bind(this, name);\n return serviceFxn.apply(this, allowMultipleInstances ? args : []);\n };\n\n return serviceNamespace;\n }\n\n function callAppHooks(app: FirebaseApp, eventName: string) {\n for (const serviceName of Object.keys(factories)) {\n // Ignore virtual services\n const factoryName = useAsService(app, serviceName);\n if (factoryName === null) {\n return;\n }\n\n if (appHooks[factoryName]) {\n appHooks[factoryName](eventName, app);\n }\n }\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 const options = app.options;\n\n return useService;\n }\n\n return namespace;\n}\n","/**\n * @license\n * Copyright 2019 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { FirebaseNamespace } from '@firebase/app-types';\nimport {\n _FirebaseApp,\n _FirebaseNamespace,\n FirebaseServiceFactory,\n AppHook\n} from '@firebase/app-types/private';\nimport { FirebaseAppLiteImpl } from './firebaseAppLite';\nimport { createFirebaseNamespaceCore } from '../firebaseNamespaceCore';\n\nexport function createFirebaseNamespaceLite(): FirebaseNamespace {\n const namespace = createFirebaseNamespaceCore(FirebaseAppLiteImpl);\n\n namespace.SDK_VERSION = '${JSCORE_VERSION}_LITE';\n\n const registerService = (namespace as _FirebaseNamespace).INTERNAL\n .registerService;\n (namespace as _FirebaseNamespace).INTERNAL.registerService = registerServiceForLite;\n\n /**\n * This is a special implementation, so it only works with performance.\n * only allow performance SDK to register.\n */\n function registerServiceForLite(\n name: string,\n createService: FirebaseServiceFactory,\n serviceProperties?: { [prop: string]: any },\n appHook?: AppHook,\n allowMultipleInstances?: boolean\n ) {\n // only allow performance to register with firebase lite\n if (name !== 'performance' && name !== 'installations') {\n throw Error(`${name} cannot register with the standalone perf instance`);\n }\n\n return registerService(\n name,\n createService,\n serviceProperties,\n appHook,\n allowMultipleInstances\n );\n }\n\n return namespace;\n}\n","/**\n * @license\n * Copyright 2019 Google Inc.\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 './src/lite/firebaseNamespaceLite';\n\nexport const firebase = createFirebaseNamespaceLite();\n\nexport default firebase;\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.lite.esm2017.js","sources":["../src/errors.ts","../src/constants.ts","../src/lite/firebaseAppLite.ts","../src/firebaseNamespaceCore.ts","../src/lite/firebaseNamespaceLite.ts","../index.lite.ts"],"sourcesContent":["/**\n * @license\n * Copyright 2019 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { ErrorFactory, ErrorMap } from '@firebase/util';\n\nexport const enum AppError {\n NO_APP = 'no-app',\n BAD_APP_NAME = 'bad-app-name',\n DUPLICATE_APP = 'duplicate-app',\n APP_DELETED = 'app-deleted',\n DUPLICATE_SERVICE = 'duplicate-service',\n INVALID_APP_ARGUMENT = 'invalid-app-argument'\n}\n\nconst ERRORS: ErrorMap<AppError> = {\n [AppError.NO_APP]:\n \"No Firebase App '{$name}' has been created - \" +\n 'call Firebase App.initializeApp()',\n [AppError.BAD_APP_NAME]: \"Illegal App name: '{$name}\",\n [AppError.DUPLICATE_APP]: \"Firebase App named '{$name}' already exists\",\n [AppError.APP_DELETED]: \"Firebase App named '{$name}' already deleted\",\n [AppError.DUPLICATE_SERVICE]:\n \"Firebase service named '{$name}' already registered\",\n [AppError.INVALID_APP_ARGUMENT]:\n 'firebase.{$name}() takes either no argument or a ' +\n 'Firebase App instance.'\n};\n\nconst appErrors = new ErrorFactory<AppError>('app', 'Firebase', ERRORS);\n\nexport function error(code: AppError, args?: { [name: string]: any }) {\n throw appErrors.create(code, args);\n}\n","/**\n * @license\n * Copyright 2019 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport const DEFAULT_ENTRY_NAME = '[DEFAULT]';\n","/**\n * @license\n * Copyright 2019 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n FirebaseApp,\n FirebaseOptions,\n FirebaseAppConfig\n} from '@firebase/app-types';\nimport {\n _FirebaseApp,\n _FirebaseNamespace,\n FirebaseService\n} from '@firebase/app-types/private';\nimport { deepCopy, deepExtend } from '@firebase/util';\nimport { error, AppError } from '../errors';\nimport { DEFAULT_ENTRY_NAME } from '../constants';\n\ninterface ServicesCache {\n [name: string]: {\n [serviceName: string]: FirebaseService;\n };\n}\n\n/**\n * Global context object for a collection of services using\n * a shared authentication state.\n */\nexport class FirebaseAppLiteImpl implements FirebaseApp {\n private readonly options_: FirebaseOptions;\n private readonly name_: string;\n private isDeleted_ = false;\n private services_: ServicesCache = {};\n private automaticDataCollectionEnabled_: boolean;\n\n // lite version has an empty INTERNAL namespace\n readonly INTERNAL = {};\n\n constructor(\n options: FirebaseOptions,\n config: FirebaseAppConfig,\n private readonly firebase_: _FirebaseNamespace\n ) {\n this.name_ = config.name!;\n this.automaticDataCollectionEnabled_ =\n config.automaticDataCollectionEnabled || false;\n this.options_ = deepCopy<FirebaseOptions>(options);\n }\n\n get automaticDataCollectionEnabled(): boolean {\n this.checkDestroyed_();\n return this.automaticDataCollectionEnabled_;\n }\n\n set automaticDataCollectionEnabled(val) {\n this.checkDestroyed_();\n this.automaticDataCollectionEnabled_ = val;\n }\n\n get name(): string {\n this.checkDestroyed_();\n return this.name_;\n }\n\n get options(): FirebaseOptions {\n this.checkDestroyed_();\n return this.options_;\n }\n\n delete(): Promise<void> {\n return new Promise(resolve => {\n this.checkDestroyed_();\n resolve();\n })\n .then(() => {\n this.firebase_.INTERNAL.removeApp(this.name_);\n const services: FirebaseService[] = [];\n\n for (const serviceKey of Object.keys(this.services_)) {\n for (const instanceKey of Object.keys(this.services_[serviceKey])) {\n services.push(this.services_[serviceKey][instanceKey]);\n }\n }\n\n return Promise.all(\n services.map(service => {\n return service.INTERNAL.delete();\n })\n );\n })\n .then(\n (): void => {\n this.isDeleted_ = true;\n this.services_ = {};\n }\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 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.checkDestroyed_();\n\n if (!this.services_[name]) {\n this.services_[name] = {};\n }\n\n if (!this.services_[name][instanceIdentifier]) {\n /**\n * If a custom instance has been defined (i.e. not '[DEFAULT]')\n * then we will pass that instance on, otherwise we pass `null`\n */\n const instanceSpecifier =\n instanceIdentifier !== DEFAULT_ENTRY_NAME\n ? instanceIdentifier\n : undefined;\n const service = this.firebase_.INTERNAL.factories[name](\n this,\n this.extendApp.bind(this),\n instanceSpecifier\n );\n this.services_[name][instanceIdentifier] = service;\n }\n\n return this.services_[name][instanceIdentifier];\n }\n\n /**\n * Callback function used to extend an App instance at the time\n * of service instance creation.\n */\n private extendApp(props: { [name: string]: any }): void {\n // Copy the object onto the FirebaseAppImpl prototype\n deepExtend(this, props);\n }\n\n /**\n * This function will throw an Error if the App has already been deleted -\n * use before performing API actions on the App.\n */\n private checkDestroyed_(): void {\n if (this.isDeleted_) {\n error(AppError.APP_DELETED, { name: this.name_ });\n }\n }\n}\n","/**\n * @license\n * Copyright 2019 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n FirebaseApp,\n FirebaseOptions,\n FirebaseNamespace,\n FirebaseAppConfig\n} from '@firebase/app-types';\nimport {\n _FirebaseApp,\n _FirebaseNamespace,\n FirebaseService,\n FirebaseServiceFactory,\n FirebaseServiceNamespace,\n AppHook\n} from '@firebase/app-types/private';\nimport { deepExtend, patchProperty } from '@firebase/util';\nimport { FirebaseAppImpl } from './firebaseApp';\nimport { error, AppError } from './errors';\nimport { FirebaseAppLiteImpl } from './lite/firebaseAppLite';\nimport { DEFAULT_ENTRY_NAME } from './constants';\n\nfunction contains(obj: object, key: string) {\n return Object.prototype.hasOwnProperty.call(obj, key);\n}\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 const factories: { [service: string]: FirebaseServiceFactory } = {};\n const appHooks: { [service: string]: AppHook } = {};\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: initializeApp,\n app: app as any,\n apps: null as any,\n Promise: Promise,\n SDK_VERSION: '${JSCORE_VERSION}',\n INTERNAL: {\n registerService,\n removeApp,\n factories,\n useAsService\n }\n };\n\n // Inject a circular default export to allow Babel users who were previously\n // using:\n //\n // import firebase from 'firebase';\n // which becomes: var firebase = require('firebase').default;\n //\n // instead of\n //\n // import * as firebase from 'firebase';\n // which becomes: var firebase = require('firebase');\n patchProperty(namespace, '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 const app = apps[name];\n callAppHooks(app, 'delete');\n delete apps[name];\n }\n\n /**\n * Get the App object for a given name (or DEFAULT).\n */\n function app(name?: string): FirebaseApp {\n name = name || DEFAULT_ENTRY_NAME;\n if (!contains(apps, name)) {\n error(AppError.NO_APP, { name: name });\n }\n return apps[name];\n }\n\n patchProperty(app, 'App', firebaseAppImpl);\n /**\n * Create a new App instance (name must be unique).\n */\n function initializeApp(\n options: FirebaseOptions,\n config?: FirebaseAppConfig\n ): FirebaseApp;\n function initializeApp(options: FirebaseOptions, name?: string): FirebaseApp;\n function initializeApp(options: FirebaseOptions, rawConfig = {}) {\n if (typeof rawConfig !== 'object' || rawConfig === null) {\n const name = rawConfig;\n rawConfig = { name };\n }\n\n const config = rawConfig as FirebaseAppConfig;\n\n if (config.name === undefined) {\n config.name = DEFAULT_ENTRY_NAME;\n }\n\n const { name } = config;\n\n if (typeof name !== 'string' || !name) {\n error(AppError.BAD_APP_NAME, { name: String(name) });\n }\n\n if (contains(apps, name)) {\n error(AppError.DUPLICATE_APP, { name: name });\n }\n\n const app = new firebaseAppImpl(\n options,\n config,\n namespace as _FirebaseNamespace\n );\n\n apps[name] = app;\n callAppHooks(app, 'create');\n\n return app;\n }\n\n /*\n * Return an array of all the non-deleted FirebaseApps.\n */\n function getApps(): FirebaseApp[] {\n // Make a copy so caller cannot mutate the apps list.\n return Object.keys(apps).map(name => apps[name]);\n }\n\n /*\n * Register a Firebase Service.\n *\n * firebase.INTERNAL.registerService()\n *\n * TODO: Implement serviceProperties.\n */\n function registerService(\n name: string,\n createService: FirebaseServiceFactory,\n serviceProperties?: { [prop: string]: unknown },\n appHook?: AppHook,\n allowMultipleInstances = false\n ): FirebaseServiceNamespace<FirebaseService> {\n // Cannot re-register a service that already exists\n if (factories[name]) {\n error(AppError.DUPLICATE_SERVICE, { name: name });\n }\n\n // Capture the service factory for later service instantiation\n factories[name] = createService;\n\n // Capture the appHook, if passed\n if (appHook) {\n appHooks[name] = appHook;\n\n // Run the **new** app hook on all existing apps\n getApps().forEach(app => {\n appHook('create', app);\n });\n }\n\n // The Service namespace is an accessor function ...\n function serviceNamespace(appArg: FirebaseApp = app()) {\n if (typeof appArg[name] !== 'function') {\n // Invalid argument.\n // This happens in the following case: firebase.storage('gs:/')\n error(AppError.INVALID_APP_ARGUMENT, { name: name });\n }\n\n // Forward service instance lookup to the FirebaseApp.\n return appArg[name]();\n }\n\n // ... and a container for service-level properties.\n if (serviceProperties !== undefined) {\n deepExtend(serviceNamespace, serviceProperties);\n }\n\n // Monkey-patch the serviceNamespace onto the firebase namespace\n namespace[name] = serviceNamespace;\n\n // Patch the FirebaseAppImpl prototype\n firebaseAppImpl.prototype[name] = function(...args) {\n const serviceFxn = this._getService.bind(this, name);\n return serviceFxn.apply(this, allowMultipleInstances ? args : []);\n };\n\n return serviceNamespace;\n }\n\n function callAppHooks(app: FirebaseApp, eventName: string) {\n for (const serviceName of Object.keys(factories)) {\n // Ignore virtual services\n const factoryName = useAsService(app, serviceName);\n if (factoryName === null) {\n return;\n }\n\n if (appHooks[factoryName]) {\n appHooks[factoryName](eventName, app);\n }\n }\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 const options = app.options;\n\n return useService;\n }\n\n return namespace;\n}\n","/**\n * @license\n * Copyright 2019 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { FirebaseNamespace } from '@firebase/app-types';\nimport {\n _FirebaseApp,\n _FirebaseNamespace,\n FirebaseServiceFactory,\n AppHook\n} from '@firebase/app-types/private';\nimport { FirebaseAppLiteImpl } from './firebaseAppLite';\nimport { createFirebaseNamespaceCore } from '../firebaseNamespaceCore';\n\nexport function createFirebaseNamespaceLite(): FirebaseNamespace {\n const namespace = createFirebaseNamespaceCore(FirebaseAppLiteImpl);\n\n namespace.SDK_VERSION = '${JSCORE_VERSION}_LITE';\n\n const registerService = (namespace as _FirebaseNamespace).INTERNAL\n .registerService;\n (namespace as _FirebaseNamespace).INTERNAL.registerService = registerServiceForLite;\n\n /**\n * This is a special implementation, so it only works with performance.\n * only allow performance SDK to register.\n */\n function registerServiceForLite(\n name: string,\n createService: FirebaseServiceFactory,\n serviceProperties?: { [prop: string]: any },\n appHook?: AppHook,\n allowMultipleInstances?: boolean\n ) {\n // only allow performance to register with firebase lite\n if (name !== 'performance' && name !== 'installations') {\n throw Error(`${name} cannot register with the standalone perf instance`);\n }\n\n return registerService(\n name,\n createService,\n serviceProperties,\n appHook,\n allowMultipleInstances\n );\n }\n\n return namespace;\n}\n","/**\n * @license\n * Copyright 2019 Google Inc.\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 './src/lite/firebaseNamespaceLite';\n\nexport const firebase = createFirebaseNamespaceLite();\n\nexport default firebase;\n"],"names":[],"mappings":"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"}
|
package/dist/index.lite.js
CHANGED
|
@@ -228,7 +228,7 @@ function createFirebaseNamespaceCore(firebaseAppImpl) {
|
|
|
228
228
|
app: app,
|
|
229
229
|
apps: null,
|
|
230
230
|
Promise: Promise,
|
|
231
|
-
SDK_VERSION: '5.11.0
|
|
231
|
+
SDK_VERSION: '5.11.0',
|
|
232
232
|
INTERNAL: {
|
|
233
233
|
registerService: registerService,
|
|
234
234
|
removeApp: removeApp,
|
|
@@ -395,7 +395,7 @@ function createFirebaseNamespaceCore(firebaseAppImpl) {
|
|
|
395
395
|
*/
|
|
396
396
|
function createFirebaseNamespaceLite() {
|
|
397
397
|
var namespace = createFirebaseNamespaceCore(FirebaseAppLiteImpl);
|
|
398
|
-
namespace.SDK_VERSION = '5.11.
|
|
398
|
+
namespace.SDK_VERSION = '5.11.0_LITE';
|
|
399
399
|
var registerService = namespace.INTERNAL
|
|
400
400
|
.registerService;
|
|
401
401
|
namespace.INTERNAL.registerService = registerServiceForLite;
|
package/dist/index.lite.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.lite.js","sources":["../src/errors.ts","../src/constants.ts","../src/lite/firebaseAppLite.ts","../src/firebaseNamespaceCore.ts","../src/lite/firebaseNamespaceLite.ts","../index.lite.ts"],"sourcesContent":["/**\n * @license\n * Copyright 2019 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { ErrorFactory, ErrorMap } from '@firebase/util';\n\nexport const enum AppError {\n NO_APP = 'no-app',\n BAD_APP_NAME = 'bad-app-name',\n DUPLICATE_APP = 'duplicate-app',\n APP_DELETED = 'app-deleted',\n DUPLICATE_SERVICE = 'duplicate-service',\n INVALID_APP_ARGUMENT = 'invalid-app-argument'\n}\n\nconst ERRORS: ErrorMap<AppError> = {\n [AppError.NO_APP]:\n \"No Firebase App '{$name}' has been created - \" +\n 'call Firebase App.initializeApp()',\n [AppError.BAD_APP_NAME]: \"Illegal App name: '{$name}\",\n [AppError.DUPLICATE_APP]: \"Firebase App named '{$name}' already exists\",\n [AppError.APP_DELETED]: \"Firebase App named '{$name}' already deleted\",\n [AppError.DUPLICATE_SERVICE]:\n \"Firebase service named '{$name}' already registered\",\n [AppError.INVALID_APP_ARGUMENT]:\n 'firebase.{$name}() takes either no argument or a ' +\n 'Firebase App instance.'\n};\n\nconst appErrors = new ErrorFactory<AppError>('app', 'Firebase', ERRORS);\n\nexport function error(code: AppError, args?: { [name: string]: any }) {\n throw appErrors.create(code, args);\n}\n","/**\n * @license\n * Copyright 2019 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport const DEFAULT_ENTRY_NAME = '[DEFAULT]';\n","/**\n * @license\n * Copyright 2019 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n FirebaseApp,\n FirebaseOptions,\n FirebaseAppConfig\n} from '@firebase/app-types';\nimport {\n _FirebaseApp,\n _FirebaseNamespace,\n FirebaseService\n} from '@firebase/app-types/private';\nimport { deepCopy, deepExtend } from '@firebase/util';\nimport { error, AppError } from '../errors';\nimport { DEFAULT_ENTRY_NAME } from '../constants';\n\ninterface ServicesCache {\n [name: string]: {\n [serviceName: string]: FirebaseService;\n };\n}\n\n/**\n * Global context object for a collection of services using\n * a shared authentication state.\n */\nexport class FirebaseAppLiteImpl implements FirebaseApp {\n private readonly options_: FirebaseOptions;\n private readonly name_: string;\n private isDeleted_ = false;\n private services_: ServicesCache = {};\n private automaticDataCollectionEnabled_: boolean;\n\n // lite version has an empty INTERNAL namespace\n readonly INTERNAL = {};\n\n constructor(\n options: FirebaseOptions,\n config: FirebaseAppConfig,\n private readonly firebase_: _FirebaseNamespace\n ) {\n this.name_ = config.name!;\n this.automaticDataCollectionEnabled_ =\n config.automaticDataCollectionEnabled || false;\n this.options_ = deepCopy<FirebaseOptions>(options);\n }\n\n get automaticDataCollectionEnabled(): boolean {\n this.checkDestroyed_();\n return this.automaticDataCollectionEnabled_;\n }\n\n set automaticDataCollectionEnabled(val) {\n this.checkDestroyed_();\n this.automaticDataCollectionEnabled_ = val;\n }\n\n get name(): string {\n this.checkDestroyed_();\n return this.name_;\n }\n\n get options(): FirebaseOptions {\n this.checkDestroyed_();\n return this.options_;\n }\n\n delete(): Promise<void> {\n return new Promise(resolve => {\n this.checkDestroyed_();\n resolve();\n })\n .then(() => {\n this.firebase_.INTERNAL.removeApp(this.name_);\n const services: FirebaseService[] = [];\n\n for (const serviceKey of Object.keys(this.services_)) {\n for (const instanceKey of Object.keys(this.services_[serviceKey])) {\n services.push(this.services_[serviceKey][instanceKey]);\n }\n }\n\n return Promise.all(\n services.map(service => {\n return service.INTERNAL.delete();\n })\n );\n })\n .then(\n (): void => {\n this.isDeleted_ = true;\n this.services_ = {};\n }\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 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.checkDestroyed_();\n\n if (!this.services_[name]) {\n this.services_[name] = {};\n }\n\n if (!this.services_[name][instanceIdentifier]) {\n /**\n * If a custom instance has been defined (i.e. not '[DEFAULT]')\n * then we will pass that instance on, otherwise we pass `null`\n */\n const instanceSpecifier =\n instanceIdentifier !== DEFAULT_ENTRY_NAME\n ? instanceIdentifier\n : undefined;\n const service = this.firebase_.INTERNAL.factories[name](\n this,\n this.extendApp.bind(this),\n instanceSpecifier\n );\n this.services_[name][instanceIdentifier] = service;\n }\n\n return this.services_[name][instanceIdentifier];\n }\n\n /**\n * Callback function used to extend an App instance at the time\n * of service instance creation.\n */\n private extendApp(props: { [name: string]: any }): void {\n // Copy the object onto the FirebaseAppImpl prototype\n deepExtend(this, props);\n }\n\n /**\n * This function will throw an Error if the App has already been deleted -\n * use before performing API actions on the App.\n */\n private checkDestroyed_(): void {\n if (this.isDeleted_) {\n error(AppError.APP_DELETED, { name: this.name_ });\n }\n }\n}\n","/**\n * @license\n * Copyright 2019 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n FirebaseApp,\n FirebaseOptions,\n FirebaseNamespace,\n FirebaseAppConfig\n} from '@firebase/app-types';\nimport {\n _FirebaseApp,\n _FirebaseNamespace,\n FirebaseService,\n FirebaseServiceFactory,\n FirebaseServiceNamespace,\n AppHook\n} from '@firebase/app-types/private';\nimport { deepExtend, patchProperty } from '@firebase/util';\nimport { FirebaseAppImpl } from './firebaseApp';\nimport { error, AppError } from './errors';\nimport { FirebaseAppLiteImpl } from './lite/firebaseAppLite';\nimport { DEFAULT_ENTRY_NAME } from './constants';\n\nfunction contains(obj: object, key: string) {\n return Object.prototype.hasOwnProperty.call(obj, key);\n}\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 const factories: { [service: string]: FirebaseServiceFactory } = {};\n const appHooks: { [service: string]: AppHook } = {};\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: initializeApp,\n app: app as any,\n apps: null as any,\n Promise: Promise,\n SDK_VERSION: '${JSCORE_VERSION}',\n INTERNAL: {\n registerService,\n removeApp,\n factories,\n useAsService\n }\n };\n\n // Inject a circular default export to allow Babel users who were previously\n // using:\n //\n // import firebase from 'firebase';\n // which becomes: var firebase = require('firebase').default;\n //\n // instead of\n //\n // import * as firebase from 'firebase';\n // which becomes: var firebase = require('firebase');\n patchProperty(namespace, '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 const app = apps[name];\n callAppHooks(app, 'delete');\n delete apps[name];\n }\n\n /**\n * Get the App object for a given name (or DEFAULT).\n */\n function app(name?: string): FirebaseApp {\n name = name || DEFAULT_ENTRY_NAME;\n if (!contains(apps, name)) {\n error(AppError.NO_APP, { name: name });\n }\n return apps[name];\n }\n\n patchProperty(app, 'App', firebaseAppImpl);\n /**\n * Create a new App instance (name must be unique).\n */\n function initializeApp(\n options: FirebaseOptions,\n config?: FirebaseAppConfig\n ): FirebaseApp;\n function initializeApp(options: FirebaseOptions, name?: string): FirebaseApp;\n function initializeApp(options: FirebaseOptions, rawConfig = {}) {\n if (typeof rawConfig !== 'object' || rawConfig === null) {\n const name = rawConfig;\n rawConfig = { name };\n }\n\n const config = rawConfig as FirebaseAppConfig;\n\n if (config.name === undefined) {\n config.name = DEFAULT_ENTRY_NAME;\n }\n\n const { name } = config;\n\n if (typeof name !== 'string' || !name) {\n error(AppError.BAD_APP_NAME, { name: String(name) });\n }\n\n if (contains(apps, name)) {\n error(AppError.DUPLICATE_APP, { name: name });\n }\n\n const app = new firebaseAppImpl(\n options,\n config,\n namespace as _FirebaseNamespace\n );\n\n apps[name] = app;\n callAppHooks(app, 'create');\n\n return app;\n }\n\n /*\n * Return an array of all the non-deleted FirebaseApps.\n */\n function getApps(): FirebaseApp[] {\n // Make a copy so caller cannot mutate the apps list.\n return Object.keys(apps).map(name => apps[name]);\n }\n\n /*\n * Register a Firebase Service.\n *\n * firebase.INTERNAL.registerService()\n *\n * TODO: Implement serviceProperties.\n */\n function registerService(\n name: string,\n createService: FirebaseServiceFactory,\n serviceProperties?: { [prop: string]: unknown },\n appHook?: AppHook,\n allowMultipleInstances = false\n ): FirebaseServiceNamespace<FirebaseService> {\n // Cannot re-register a service that already exists\n if (factories[name]) {\n error(AppError.DUPLICATE_SERVICE, { name: name });\n }\n\n // Capture the service factory for later service instantiation\n factories[name] = createService;\n\n // Capture the appHook, if passed\n if (appHook) {\n appHooks[name] = appHook;\n\n // Run the **new** app hook on all existing apps\n getApps().forEach(app => {\n appHook('create', app);\n });\n }\n\n // The Service namespace is an accessor function ...\n function serviceNamespace(appArg: FirebaseApp = app()) {\n if (typeof appArg[name] !== 'function') {\n // Invalid argument.\n // This happens in the following case: firebase.storage('gs:/')\n error(AppError.INVALID_APP_ARGUMENT, { name: name });\n }\n\n // Forward service instance lookup to the FirebaseApp.\n return appArg[name]();\n }\n\n // ... and a container for service-level properties.\n if (serviceProperties !== undefined) {\n deepExtend(serviceNamespace, serviceProperties);\n }\n\n // Monkey-patch the serviceNamespace onto the firebase namespace\n namespace[name] = serviceNamespace;\n\n // Patch the FirebaseAppImpl prototype\n firebaseAppImpl.prototype[name] = function(...args) {\n const serviceFxn = this._getService.bind(this, name);\n return serviceFxn.apply(this, allowMultipleInstances ? args : []);\n };\n\n return serviceNamespace;\n }\n\n function callAppHooks(app: FirebaseApp, eventName: string) {\n for (const serviceName of Object.keys(factories)) {\n // Ignore virtual services\n const factoryName = useAsService(app, serviceName);\n if (factoryName === null) {\n return;\n }\n\n if (appHooks[factoryName]) {\n appHooks[factoryName](eventName, app);\n }\n }\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 const options = app.options;\n\n return useService;\n }\n\n return namespace;\n}\n","/**\n * @license\n * Copyright 2019 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { FirebaseNamespace } from '@firebase/app-types';\nimport {\n _FirebaseApp,\n _FirebaseNamespace,\n FirebaseServiceFactory,\n AppHook\n} from '@firebase/app-types/private';\nimport { FirebaseAppLiteImpl } from './firebaseAppLite';\nimport { createFirebaseNamespaceCore } from '../firebaseNamespaceCore';\n\nexport function createFirebaseNamespaceLite(): FirebaseNamespace {\n const namespace = createFirebaseNamespaceCore(FirebaseAppLiteImpl);\n\n namespace.SDK_VERSION = '${JSCORE_VERSION}_LITE';\n\n const registerService = (namespace as _FirebaseNamespace).INTERNAL\n .registerService;\n (namespace as _FirebaseNamespace).INTERNAL.registerService = registerServiceForLite;\n\n /**\n * This is a special implementation, so it only works with performance.\n * only allow performance SDK to register.\n */\n function registerServiceForLite(\n name: string,\n createService: FirebaseServiceFactory,\n serviceProperties?: { [prop: string]: any },\n appHook?: AppHook,\n allowMultipleInstances?: boolean\n ) {\n // only allow performance to register with firebase lite\n if (name !== 'performance' && name !== 'installations') {\n throw Error(`${name} cannot register with the standalone perf instance`);\n }\n\n return registerService(\n name,\n createService,\n serviceProperties,\n appHook,\n allowMultipleInstances\n );\n }\n\n return namespace;\n}\n","/**\n * @license\n * Copyright 2019 Google Inc.\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 './src/lite/firebaseNamespaceLite';\n\nexport const firebase = createFirebaseNamespaceLite();\n\nexport default firebase;\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.lite.js","sources":["../src/errors.ts","../src/constants.ts","../src/lite/firebaseAppLite.ts","../src/firebaseNamespaceCore.ts","../src/lite/firebaseNamespaceLite.ts","../index.lite.ts"],"sourcesContent":["/**\n * @license\n * Copyright 2019 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { ErrorFactory, ErrorMap } from '@firebase/util';\n\nexport const enum AppError {\n NO_APP = 'no-app',\n BAD_APP_NAME = 'bad-app-name',\n DUPLICATE_APP = 'duplicate-app',\n APP_DELETED = 'app-deleted',\n DUPLICATE_SERVICE = 'duplicate-service',\n INVALID_APP_ARGUMENT = 'invalid-app-argument'\n}\n\nconst ERRORS: ErrorMap<AppError> = {\n [AppError.NO_APP]:\n \"No Firebase App '{$name}' has been created - \" +\n 'call Firebase App.initializeApp()',\n [AppError.BAD_APP_NAME]: \"Illegal App name: '{$name}\",\n [AppError.DUPLICATE_APP]: \"Firebase App named '{$name}' already exists\",\n [AppError.APP_DELETED]: \"Firebase App named '{$name}' already deleted\",\n [AppError.DUPLICATE_SERVICE]:\n \"Firebase service named '{$name}' already registered\",\n [AppError.INVALID_APP_ARGUMENT]:\n 'firebase.{$name}() takes either no argument or a ' +\n 'Firebase App instance.'\n};\n\nconst appErrors = new ErrorFactory<AppError>('app', 'Firebase', ERRORS);\n\nexport function error(code: AppError, args?: { [name: string]: any }) {\n throw appErrors.create(code, args);\n}\n","/**\n * @license\n * Copyright 2019 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport const DEFAULT_ENTRY_NAME = '[DEFAULT]';\n","/**\n * @license\n * Copyright 2019 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n FirebaseApp,\n FirebaseOptions,\n FirebaseAppConfig\n} from '@firebase/app-types';\nimport {\n _FirebaseApp,\n _FirebaseNamespace,\n FirebaseService\n} from '@firebase/app-types/private';\nimport { deepCopy, deepExtend } from '@firebase/util';\nimport { error, AppError } from '../errors';\nimport { DEFAULT_ENTRY_NAME } from '../constants';\n\ninterface ServicesCache {\n [name: string]: {\n [serviceName: string]: FirebaseService;\n };\n}\n\n/**\n * Global context object for a collection of services using\n * a shared authentication state.\n */\nexport class FirebaseAppLiteImpl implements FirebaseApp {\n private readonly options_: FirebaseOptions;\n private readonly name_: string;\n private isDeleted_ = false;\n private services_: ServicesCache = {};\n private automaticDataCollectionEnabled_: boolean;\n\n // lite version has an empty INTERNAL namespace\n readonly INTERNAL = {};\n\n constructor(\n options: FirebaseOptions,\n config: FirebaseAppConfig,\n private readonly firebase_: _FirebaseNamespace\n ) {\n this.name_ = config.name!;\n this.automaticDataCollectionEnabled_ =\n config.automaticDataCollectionEnabled || false;\n this.options_ = deepCopy<FirebaseOptions>(options);\n }\n\n get automaticDataCollectionEnabled(): boolean {\n this.checkDestroyed_();\n return this.automaticDataCollectionEnabled_;\n }\n\n set automaticDataCollectionEnabled(val) {\n this.checkDestroyed_();\n this.automaticDataCollectionEnabled_ = val;\n }\n\n get name(): string {\n this.checkDestroyed_();\n return this.name_;\n }\n\n get options(): FirebaseOptions {\n this.checkDestroyed_();\n return this.options_;\n }\n\n delete(): Promise<void> {\n return new Promise(resolve => {\n this.checkDestroyed_();\n resolve();\n })\n .then(() => {\n this.firebase_.INTERNAL.removeApp(this.name_);\n const services: FirebaseService[] = [];\n\n for (const serviceKey of Object.keys(this.services_)) {\n for (const instanceKey of Object.keys(this.services_[serviceKey])) {\n services.push(this.services_[serviceKey][instanceKey]);\n }\n }\n\n return Promise.all(\n services.map(service => {\n return service.INTERNAL.delete();\n })\n );\n })\n .then(\n (): void => {\n this.isDeleted_ = true;\n this.services_ = {};\n }\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 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.checkDestroyed_();\n\n if (!this.services_[name]) {\n this.services_[name] = {};\n }\n\n if (!this.services_[name][instanceIdentifier]) {\n /**\n * If a custom instance has been defined (i.e. not '[DEFAULT]')\n * then we will pass that instance on, otherwise we pass `null`\n */\n const instanceSpecifier =\n instanceIdentifier !== DEFAULT_ENTRY_NAME\n ? instanceIdentifier\n : undefined;\n const service = this.firebase_.INTERNAL.factories[name](\n this,\n this.extendApp.bind(this),\n instanceSpecifier\n );\n this.services_[name][instanceIdentifier] = service;\n }\n\n return this.services_[name][instanceIdentifier];\n }\n\n /**\n * Callback function used to extend an App instance at the time\n * of service instance creation.\n */\n private extendApp(props: { [name: string]: any }): void {\n // Copy the object onto the FirebaseAppImpl prototype\n deepExtend(this, props);\n }\n\n /**\n * This function will throw an Error if the App has already been deleted -\n * use before performing API actions on the App.\n */\n private checkDestroyed_(): void {\n if (this.isDeleted_) {\n error(AppError.APP_DELETED, { name: this.name_ });\n }\n }\n}\n","/**\n * @license\n * Copyright 2019 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n FirebaseApp,\n FirebaseOptions,\n FirebaseNamespace,\n FirebaseAppConfig\n} from '@firebase/app-types';\nimport {\n _FirebaseApp,\n _FirebaseNamespace,\n FirebaseService,\n FirebaseServiceFactory,\n FirebaseServiceNamespace,\n AppHook\n} from '@firebase/app-types/private';\nimport { deepExtend, patchProperty } from '@firebase/util';\nimport { FirebaseAppImpl } from './firebaseApp';\nimport { error, AppError } from './errors';\nimport { FirebaseAppLiteImpl } from './lite/firebaseAppLite';\nimport { DEFAULT_ENTRY_NAME } from './constants';\n\nfunction contains(obj: object, key: string) {\n return Object.prototype.hasOwnProperty.call(obj, key);\n}\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 const factories: { [service: string]: FirebaseServiceFactory } = {};\n const appHooks: { [service: string]: AppHook } = {};\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: initializeApp,\n app: app as any,\n apps: null as any,\n Promise: Promise,\n SDK_VERSION: '${JSCORE_VERSION}',\n INTERNAL: {\n registerService,\n removeApp,\n factories,\n useAsService\n }\n };\n\n // Inject a circular default export to allow Babel users who were previously\n // using:\n //\n // import firebase from 'firebase';\n // which becomes: var firebase = require('firebase').default;\n //\n // instead of\n //\n // import * as firebase from 'firebase';\n // which becomes: var firebase = require('firebase');\n patchProperty(namespace, '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 const app = apps[name];\n callAppHooks(app, 'delete');\n delete apps[name];\n }\n\n /**\n * Get the App object for a given name (or DEFAULT).\n */\n function app(name?: string): FirebaseApp {\n name = name || DEFAULT_ENTRY_NAME;\n if (!contains(apps, name)) {\n error(AppError.NO_APP, { name: name });\n }\n return apps[name];\n }\n\n patchProperty(app, 'App', firebaseAppImpl);\n /**\n * Create a new App instance (name must be unique).\n */\n function initializeApp(\n options: FirebaseOptions,\n config?: FirebaseAppConfig\n ): FirebaseApp;\n function initializeApp(options: FirebaseOptions, name?: string): FirebaseApp;\n function initializeApp(options: FirebaseOptions, rawConfig = {}) {\n if (typeof rawConfig !== 'object' || rawConfig === null) {\n const name = rawConfig;\n rawConfig = { name };\n }\n\n const config = rawConfig as FirebaseAppConfig;\n\n if (config.name === undefined) {\n config.name = DEFAULT_ENTRY_NAME;\n }\n\n const { name } = config;\n\n if (typeof name !== 'string' || !name) {\n error(AppError.BAD_APP_NAME, { name: String(name) });\n }\n\n if (contains(apps, name)) {\n error(AppError.DUPLICATE_APP, { name: name });\n }\n\n const app = new firebaseAppImpl(\n options,\n config,\n namespace as _FirebaseNamespace\n );\n\n apps[name] = app;\n callAppHooks(app, 'create');\n\n return app;\n }\n\n /*\n * Return an array of all the non-deleted FirebaseApps.\n */\n function getApps(): FirebaseApp[] {\n // Make a copy so caller cannot mutate the apps list.\n return Object.keys(apps).map(name => apps[name]);\n }\n\n /*\n * Register a Firebase Service.\n *\n * firebase.INTERNAL.registerService()\n *\n * TODO: Implement serviceProperties.\n */\n function registerService(\n name: string,\n createService: FirebaseServiceFactory,\n serviceProperties?: { [prop: string]: unknown },\n appHook?: AppHook,\n allowMultipleInstances = false\n ): FirebaseServiceNamespace<FirebaseService> {\n // Cannot re-register a service that already exists\n if (factories[name]) {\n error(AppError.DUPLICATE_SERVICE, { name: name });\n }\n\n // Capture the service factory for later service instantiation\n factories[name] = createService;\n\n // Capture the appHook, if passed\n if (appHook) {\n appHooks[name] = appHook;\n\n // Run the **new** app hook on all existing apps\n getApps().forEach(app => {\n appHook('create', app);\n });\n }\n\n // The Service namespace is an accessor function ...\n function serviceNamespace(appArg: FirebaseApp = app()) {\n if (typeof appArg[name] !== 'function') {\n // Invalid argument.\n // This happens in the following case: firebase.storage('gs:/')\n error(AppError.INVALID_APP_ARGUMENT, { name: name });\n }\n\n // Forward service instance lookup to the FirebaseApp.\n return appArg[name]();\n }\n\n // ... and a container for service-level properties.\n if (serviceProperties !== undefined) {\n deepExtend(serviceNamespace, serviceProperties);\n }\n\n // Monkey-patch the serviceNamespace onto the firebase namespace\n namespace[name] = serviceNamespace;\n\n // Patch the FirebaseAppImpl prototype\n firebaseAppImpl.prototype[name] = function(...args) {\n const serviceFxn = this._getService.bind(this, name);\n return serviceFxn.apply(this, allowMultipleInstances ? args : []);\n };\n\n return serviceNamespace;\n }\n\n function callAppHooks(app: FirebaseApp, eventName: string) {\n for (const serviceName of Object.keys(factories)) {\n // Ignore virtual services\n const factoryName = useAsService(app, serviceName);\n if (factoryName === null) {\n return;\n }\n\n if (appHooks[factoryName]) {\n appHooks[factoryName](eventName, app);\n }\n }\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 const options = app.options;\n\n return useService;\n }\n\n return namespace;\n}\n","/**\n * @license\n * Copyright 2019 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { FirebaseNamespace } from '@firebase/app-types';\nimport {\n _FirebaseApp,\n _FirebaseNamespace,\n FirebaseServiceFactory,\n AppHook\n} from '@firebase/app-types/private';\nimport { FirebaseAppLiteImpl } from './firebaseAppLite';\nimport { createFirebaseNamespaceCore } from '../firebaseNamespaceCore';\n\nexport function createFirebaseNamespaceLite(): FirebaseNamespace {\n const namespace = createFirebaseNamespaceCore(FirebaseAppLiteImpl);\n\n namespace.SDK_VERSION = '${JSCORE_VERSION}_LITE';\n\n const registerService = (namespace as _FirebaseNamespace).INTERNAL\n .registerService;\n (namespace as _FirebaseNamespace).INTERNAL.registerService = registerServiceForLite;\n\n /**\n * This is a special implementation, so it only works with performance.\n * only allow performance SDK to register.\n */\n function registerServiceForLite(\n name: string,\n createService: FirebaseServiceFactory,\n serviceProperties?: { [prop: string]: any },\n appHook?: AppHook,\n allowMultipleInstances?: boolean\n ) {\n // only allow performance to register with firebase lite\n if (name !== 'performance' && name !== 'installations') {\n throw Error(`${name} cannot register with the standalone perf instance`);\n }\n\n return registerService(\n name,\n createService,\n serviceProperties,\n appHook,\n allowMultipleInstances\n );\n }\n\n return namespace;\n}\n","/**\n * @license\n * Copyright 2019 Google Inc.\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 './src/lite/firebaseNamespaceLite';\n\nexport const firebase = createFirebaseNamespaceLite();\n\nexport default firebase;\n"],"names":[],"mappings":"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"}
|
package/dist/index.node.cjs.js
CHANGED
|
@@ -271,7 +271,7 @@ function createFirebaseNamespaceCore(firebaseAppImpl) {
|
|
|
271
271
|
app: app,
|
|
272
272
|
apps: null,
|
|
273
273
|
Promise: Promise,
|
|
274
|
-
SDK_VERSION: '5.11.0
|
|
274
|
+
SDK_VERSION: '5.11.0',
|
|
275
275
|
INTERNAL: {
|
|
276
276
|
registerService: registerService,
|
|
277
277
|
removeApp: removeApp,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.node.cjs.js","sources":["../src/errors.ts","../src/constants.ts","../src/firebaseApp.ts","../src/firebaseNamespaceCore.ts","../src/firebaseNamespace.ts","../index.node.ts"],"sourcesContent":["/**\n * @license\n * Copyright 2019 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { ErrorFactory, ErrorMap } from '@firebase/util';\n\nexport const enum AppError {\n NO_APP = 'no-app',\n BAD_APP_NAME = 'bad-app-name',\n DUPLICATE_APP = 'duplicate-app',\n APP_DELETED = 'app-deleted',\n DUPLICATE_SERVICE = 'duplicate-service',\n INVALID_APP_ARGUMENT = 'invalid-app-argument'\n}\n\nconst ERRORS: ErrorMap<AppError> = {\n [AppError.NO_APP]:\n \"No Firebase App '{$name}' has been created - \" +\n 'call Firebase App.initializeApp()',\n [AppError.BAD_APP_NAME]: \"Illegal App name: '{$name}\",\n [AppError.DUPLICATE_APP]: \"Firebase App named '{$name}' already exists\",\n [AppError.APP_DELETED]: \"Firebase App named '{$name}' already deleted\",\n [AppError.DUPLICATE_SERVICE]:\n \"Firebase service named '{$name}' already registered\",\n [AppError.INVALID_APP_ARGUMENT]:\n 'firebase.{$name}() takes either no argument or a ' +\n 'Firebase App instance.'\n};\n\nconst appErrors = new ErrorFactory<AppError>('app', 'Firebase', ERRORS);\n\nexport function error(code: AppError, args?: { [name: string]: any }) {\n throw appErrors.create(code, args);\n}\n","/**\n * @license\n * Copyright 2019 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport const DEFAULT_ENTRY_NAME = '[DEFAULT]';\n","/**\n * @license\n * Copyright 2017 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n FirebaseApp,\n FirebaseOptions,\n FirebaseAppConfig\n} from '@firebase/app-types';\nimport {\n _FirebaseApp,\n _FirebaseNamespace,\n FirebaseService,\n FirebaseAppInternals\n} from '@firebase/app-types/private';\nimport { deepCopy, deepExtend } from '@firebase/util';\nimport { error, AppError } from './errors';\nimport { DEFAULT_ENTRY_NAME } from './constants';\n\ninterface ServicesCache {\n [name: string]: {\n [serviceName: string]: FirebaseService;\n };\n}\n\n// An array to capture listeners before the true auth functions\n// exist\nlet tokenListeners: any[] = [];\n\n/**\n * Global context object for a collection of services using\n * a shared authentication state.\n */\nexport class FirebaseAppImpl implements FirebaseApp {\n private readonly options_: FirebaseOptions;\n private readonly name_: string;\n private isDeleted_ = false;\n private services_: ServicesCache = {};\n private automaticDataCollectionEnabled_: boolean;\n\n INTERNAL: FirebaseAppInternals;\n\n constructor(\n options: FirebaseOptions,\n config: FirebaseAppConfig,\n private readonly firebase_: _FirebaseNamespace\n ) {\n this.name_ = config.name!;\n this.automaticDataCollectionEnabled_ =\n config.automaticDataCollectionEnabled || false;\n this.options_ = deepCopy<FirebaseOptions>(options);\n this.INTERNAL = {\n getUid: () => null,\n getToken: () => Promise.resolve(null),\n addAuthTokenListener: (callback: (token: string | null) => void) => {\n tokenListeners.push(callback);\n // Make sure callback is called, asynchronously, in the absence of the auth module\n setTimeout(() => callback(null), 0);\n },\n removeAuthTokenListener: callback => {\n tokenListeners = tokenListeners.filter(\n listener => listener !== callback\n );\n }\n };\n }\n\n get automaticDataCollectionEnabled(): boolean {\n this.checkDestroyed_();\n return this.automaticDataCollectionEnabled_;\n }\n\n set automaticDataCollectionEnabled(val) {\n this.checkDestroyed_();\n this.automaticDataCollectionEnabled_ = val;\n }\n\n get name(): string {\n this.checkDestroyed_();\n return this.name_;\n }\n\n get options(): FirebaseOptions {\n this.checkDestroyed_();\n return this.options_;\n }\n\n delete(): Promise<void> {\n return new Promise(resolve => {\n this.checkDestroyed_();\n resolve();\n })\n .then(() => {\n this.firebase_.INTERNAL.removeApp(this.name_);\n const services: FirebaseService[] = [];\n\n for (const serviceKey of Object.keys(this.services_)) {\n for (const instanceKey of Object.keys(this.services_[serviceKey])) {\n services.push(this.services_[serviceKey][instanceKey]);\n }\n }\n\n return Promise.all(\n services.map(service => {\n return service.INTERNAL.delete();\n })\n );\n })\n .then(\n (): void => {\n this.isDeleted_ = true;\n this.services_ = {};\n }\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 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.checkDestroyed_();\n\n if (!this.services_[name]) {\n this.services_[name] = {};\n }\n\n if (!this.services_[name][instanceIdentifier]) {\n /**\n * If a custom instance has been defined (i.e. not '[DEFAULT]')\n * then we will pass that instance on, otherwise we pass `null`\n */\n const instanceSpecifier =\n instanceIdentifier !== DEFAULT_ENTRY_NAME\n ? instanceIdentifier\n : undefined;\n const service = this.firebase_.INTERNAL.factories[name](\n this,\n this.extendApp.bind(this),\n instanceSpecifier\n );\n this.services_[name][instanceIdentifier] = service;\n }\n\n return this.services_[name][instanceIdentifier];\n }\n\n /**\n * Callback function used to extend an App instance at the time\n * of service instance creation.\n */\n private extendApp(props: { [name: string]: any }): void {\n // Copy the object onto the FirebaseAppImpl prototype\n deepExtend(this, props);\n\n /**\n * If the app has overwritten the addAuthTokenListener stub, forward\n * the active token listeners on to the true fxn.\n *\n * TODO: This function is required due to our current module\n * structure. Once we are able to rely strictly upon a single module\n * implementation, this code should be refactored and Auth should\n * provide these stubs and the upgrade logic\n */\n if (props.INTERNAL && props.INTERNAL.addAuthTokenListener) {\n tokenListeners.forEach(listener => {\n this.INTERNAL.addAuthTokenListener(listener);\n });\n tokenListeners = [];\n }\n }\n\n /**\n * This function will throw an Error if the App has already been deleted -\n * use before performing API actions on the App.\n */\n private checkDestroyed_(): void {\n if (this.isDeleted_) {\n error(AppError.APP_DELETED, { name: this.name_ });\n }\n }\n}\n\n// Prevent dead-code elimination of these methods w/o invalid property\n// copying.\n(FirebaseAppImpl.prototype.name && FirebaseAppImpl.prototype.options) ||\n FirebaseAppImpl.prototype.delete ||\n console.log('dc');\n","/**\n * @license\n * Copyright 2019 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n FirebaseApp,\n FirebaseOptions,\n FirebaseNamespace,\n FirebaseAppConfig\n} from '@firebase/app-types';\nimport {\n _FirebaseApp,\n _FirebaseNamespace,\n FirebaseService,\n FirebaseServiceFactory,\n FirebaseServiceNamespace,\n AppHook\n} from '@firebase/app-types/private';\nimport { deepExtend, patchProperty } from '@firebase/util';\nimport { FirebaseAppImpl } from './firebaseApp';\nimport { error, AppError } from './errors';\nimport { FirebaseAppLiteImpl } from './lite/firebaseAppLite';\nimport { DEFAULT_ENTRY_NAME } from './constants';\n\nfunction contains(obj: object, key: string) {\n return Object.prototype.hasOwnProperty.call(obj, key);\n}\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 const factories: { [service: string]: FirebaseServiceFactory } = {};\n const appHooks: { [service: string]: AppHook } = {};\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: initializeApp,\n app: app as any,\n apps: null as any,\n Promise: Promise,\n SDK_VERSION: '${JSCORE_VERSION}',\n INTERNAL: {\n registerService,\n removeApp,\n factories,\n useAsService\n }\n };\n\n // Inject a circular default export to allow Babel users who were previously\n // using:\n //\n // import firebase from 'firebase';\n // which becomes: var firebase = require('firebase').default;\n //\n // instead of\n //\n // import * as firebase from 'firebase';\n // which becomes: var firebase = require('firebase');\n patchProperty(namespace, '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 const app = apps[name];\n callAppHooks(app, 'delete');\n delete apps[name];\n }\n\n /**\n * Get the App object for a given name (or DEFAULT).\n */\n function app(name?: string): FirebaseApp {\n name = name || DEFAULT_ENTRY_NAME;\n if (!contains(apps, name)) {\n error(AppError.NO_APP, { name: name });\n }\n return apps[name];\n }\n\n patchProperty(app, 'App', firebaseAppImpl);\n /**\n * Create a new App instance (name must be unique).\n */\n function initializeApp(\n options: FirebaseOptions,\n config?: FirebaseAppConfig\n ): FirebaseApp;\n function initializeApp(options: FirebaseOptions, name?: string): FirebaseApp;\n function initializeApp(options: FirebaseOptions, rawConfig = {}) {\n if (typeof rawConfig !== 'object' || rawConfig === null) {\n const name = rawConfig;\n rawConfig = { name };\n }\n\n const config = rawConfig as FirebaseAppConfig;\n\n if (config.name === undefined) {\n config.name = DEFAULT_ENTRY_NAME;\n }\n\n const { name } = config;\n\n if (typeof name !== 'string' || !name) {\n error(AppError.BAD_APP_NAME, { name: String(name) });\n }\n\n if (contains(apps, name)) {\n error(AppError.DUPLICATE_APP, { name: name });\n }\n\n const app = new firebaseAppImpl(\n options,\n config,\n namespace as _FirebaseNamespace\n );\n\n apps[name] = app;\n callAppHooks(app, 'create');\n\n return app;\n }\n\n /*\n * Return an array of all the non-deleted FirebaseApps.\n */\n function getApps(): FirebaseApp[] {\n // Make a copy so caller cannot mutate the apps list.\n return Object.keys(apps).map(name => apps[name]);\n }\n\n /*\n * Register a Firebase Service.\n *\n * firebase.INTERNAL.registerService()\n *\n * TODO: Implement serviceProperties.\n */\n function registerService(\n name: string,\n createService: FirebaseServiceFactory,\n serviceProperties?: { [prop: string]: unknown },\n appHook?: AppHook,\n allowMultipleInstances = false\n ): FirebaseServiceNamespace<FirebaseService> {\n // Cannot re-register a service that already exists\n if (factories[name]) {\n error(AppError.DUPLICATE_SERVICE, { name: name });\n }\n\n // Capture the service factory for later service instantiation\n factories[name] = createService;\n\n // Capture the appHook, if passed\n if (appHook) {\n appHooks[name] = appHook;\n\n // Run the **new** app hook on all existing apps\n getApps().forEach(app => {\n appHook('create', app);\n });\n }\n\n // The Service namespace is an accessor function ...\n function serviceNamespace(appArg: FirebaseApp = app()) {\n if (typeof appArg[name] !== 'function') {\n // Invalid argument.\n // This happens in the following case: firebase.storage('gs:/')\n error(AppError.INVALID_APP_ARGUMENT, { name: name });\n }\n\n // Forward service instance lookup to the FirebaseApp.\n return appArg[name]();\n }\n\n // ... and a container for service-level properties.\n if (serviceProperties !== undefined) {\n deepExtend(serviceNamespace, serviceProperties);\n }\n\n // Monkey-patch the serviceNamespace onto the firebase namespace\n namespace[name] = serviceNamespace;\n\n // Patch the FirebaseAppImpl prototype\n firebaseAppImpl.prototype[name] = function(...args) {\n const serviceFxn = this._getService.bind(this, name);\n return serviceFxn.apply(this, allowMultipleInstances ? args : []);\n };\n\n return serviceNamespace;\n }\n\n function callAppHooks(app: FirebaseApp, eventName: string) {\n for (const serviceName of Object.keys(factories)) {\n // Ignore virtual services\n const factoryName = useAsService(app, serviceName);\n if (factoryName === null) {\n return;\n }\n\n if (appHooks[factoryName]) {\n appHooks[factoryName](eventName, app);\n }\n }\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 const options = app.options;\n\n return useService;\n }\n\n return namespace;\n}\n","/**\n * @license\n * Copyright 2019 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { FirebaseNamespace } from '@firebase/app-types';\nimport { _FirebaseApp, _FirebaseNamespace } from '@firebase/app-types/private';\nimport { createSubscribe, deepExtend, ErrorFactory } from '@firebase/util';\nimport { FirebaseAppImpl } from './firebaseApp';\nimport { createFirebaseNamespaceCore } from './firebaseNamespaceCore';\n\n/**\n * Return a firebase namespace object.\n *\n * In production, this will be called exactly once and the result\n * assigned to the 'firebase' global. It may be called multiple times\n * in unit tests.\n */\nexport function createFirebaseNamespace(): FirebaseNamespace {\n const namespace = createFirebaseNamespaceCore(FirebaseAppImpl);\n (namespace as _FirebaseNamespace).INTERNAL = {\n ...(namespace as _FirebaseNamespace).INTERNAL,\n createFirebaseNamespace: createFirebaseNamespace,\n extendNamespace: extendNamespace,\n createSubscribe: createSubscribe,\n ErrorFactory: ErrorFactory,\n deepExtend: 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","/**\n * @license\n * Copyright 2017 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { FirebaseNamespace } from '@firebase/app-types';\nimport { _FirebaseNamespace } from '@firebase/app-types/private';\nimport { createFirebaseNamespace } from './src/firebaseNamespace';\nimport Storage from 'dom-storage';\nimport { XMLHttpRequest } from 'xmlhttprequest';\n\nconst _firebase = createFirebaseNamespace() as _FirebaseNamespace;\n\n_firebase.INTERNAL.extendNamespace({\n INTERNAL: {\n node: {\n localStorage: new Storage(null, { strict: true }),\n sessionStorage: new Storage(null, { strict: true }),\n XMLHttpRequest\n }\n }\n});\n\nexport const firebase = _firebase as FirebaseNamespace;\n\nexport default firebase;\n"],"names":["ErrorFactory","deepCopy","deepExtend","patchProperty","createSubscribe"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.node.cjs.js","sources":["../src/errors.ts","../src/constants.ts","../src/firebaseApp.ts","../src/firebaseNamespaceCore.ts","../src/firebaseNamespace.ts","../index.node.ts"],"sourcesContent":["/**\n * @license\n * Copyright 2019 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { ErrorFactory, ErrorMap } from '@firebase/util';\n\nexport const enum AppError {\n NO_APP = 'no-app',\n BAD_APP_NAME = 'bad-app-name',\n DUPLICATE_APP = 'duplicate-app',\n APP_DELETED = 'app-deleted',\n DUPLICATE_SERVICE = 'duplicate-service',\n INVALID_APP_ARGUMENT = 'invalid-app-argument'\n}\n\nconst ERRORS: ErrorMap<AppError> = {\n [AppError.NO_APP]:\n \"No Firebase App '{$name}' has been created - \" +\n 'call Firebase App.initializeApp()',\n [AppError.BAD_APP_NAME]: \"Illegal App name: '{$name}\",\n [AppError.DUPLICATE_APP]: \"Firebase App named '{$name}' already exists\",\n [AppError.APP_DELETED]: \"Firebase App named '{$name}' already deleted\",\n [AppError.DUPLICATE_SERVICE]:\n \"Firebase service named '{$name}' already registered\",\n [AppError.INVALID_APP_ARGUMENT]:\n 'firebase.{$name}() takes either no argument or a ' +\n 'Firebase App instance.'\n};\n\nconst appErrors = new ErrorFactory<AppError>('app', 'Firebase', ERRORS);\n\nexport function error(code: AppError, args?: { [name: string]: any }) {\n throw appErrors.create(code, args);\n}\n","/**\n * @license\n * Copyright 2019 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport const DEFAULT_ENTRY_NAME = '[DEFAULT]';\n","/**\n * @license\n * Copyright 2017 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n FirebaseApp,\n FirebaseOptions,\n FirebaseAppConfig\n} from '@firebase/app-types';\nimport {\n _FirebaseApp,\n _FirebaseNamespace,\n FirebaseService,\n FirebaseAppInternals\n} from '@firebase/app-types/private';\nimport { deepCopy, deepExtend } from '@firebase/util';\nimport { error, AppError } from './errors';\nimport { DEFAULT_ENTRY_NAME } from './constants';\n\ninterface ServicesCache {\n [name: string]: {\n [serviceName: string]: FirebaseService;\n };\n}\n\n// An array to capture listeners before the true auth functions\n// exist\nlet tokenListeners: any[] = [];\n\n/**\n * Global context object for a collection of services using\n * a shared authentication state.\n */\nexport class FirebaseAppImpl implements FirebaseApp {\n private readonly options_: FirebaseOptions;\n private readonly name_: string;\n private isDeleted_ = false;\n private services_: ServicesCache = {};\n private automaticDataCollectionEnabled_: boolean;\n\n INTERNAL: FirebaseAppInternals;\n\n constructor(\n options: FirebaseOptions,\n config: FirebaseAppConfig,\n private readonly firebase_: _FirebaseNamespace\n ) {\n this.name_ = config.name!;\n this.automaticDataCollectionEnabled_ =\n config.automaticDataCollectionEnabled || false;\n this.options_ = deepCopy<FirebaseOptions>(options);\n this.INTERNAL = {\n getUid: () => null,\n getToken: () => Promise.resolve(null),\n addAuthTokenListener: (callback: (token: string | null) => void) => {\n tokenListeners.push(callback);\n // Make sure callback is called, asynchronously, in the absence of the auth module\n setTimeout(() => callback(null), 0);\n },\n removeAuthTokenListener: callback => {\n tokenListeners = tokenListeners.filter(\n listener => listener !== callback\n );\n }\n };\n }\n\n get automaticDataCollectionEnabled(): boolean {\n this.checkDestroyed_();\n return this.automaticDataCollectionEnabled_;\n }\n\n set automaticDataCollectionEnabled(val) {\n this.checkDestroyed_();\n this.automaticDataCollectionEnabled_ = val;\n }\n\n get name(): string {\n this.checkDestroyed_();\n return this.name_;\n }\n\n get options(): FirebaseOptions {\n this.checkDestroyed_();\n return this.options_;\n }\n\n delete(): Promise<void> {\n return new Promise(resolve => {\n this.checkDestroyed_();\n resolve();\n })\n .then(() => {\n this.firebase_.INTERNAL.removeApp(this.name_);\n const services: FirebaseService[] = [];\n\n for (const serviceKey of Object.keys(this.services_)) {\n for (const instanceKey of Object.keys(this.services_[serviceKey])) {\n services.push(this.services_[serviceKey][instanceKey]);\n }\n }\n\n return Promise.all(\n services.map(service => {\n return service.INTERNAL.delete();\n })\n );\n })\n .then(\n (): void => {\n this.isDeleted_ = true;\n this.services_ = {};\n }\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 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.checkDestroyed_();\n\n if (!this.services_[name]) {\n this.services_[name] = {};\n }\n\n if (!this.services_[name][instanceIdentifier]) {\n /**\n * If a custom instance has been defined (i.e. not '[DEFAULT]')\n * then we will pass that instance on, otherwise we pass `null`\n */\n const instanceSpecifier =\n instanceIdentifier !== DEFAULT_ENTRY_NAME\n ? instanceIdentifier\n : undefined;\n const service = this.firebase_.INTERNAL.factories[name](\n this,\n this.extendApp.bind(this),\n instanceSpecifier\n );\n this.services_[name][instanceIdentifier] = service;\n }\n\n return this.services_[name][instanceIdentifier];\n }\n\n /**\n * Callback function used to extend an App instance at the time\n * of service instance creation.\n */\n private extendApp(props: { [name: string]: any }): void {\n // Copy the object onto the FirebaseAppImpl prototype\n deepExtend(this, props);\n\n /**\n * If the app has overwritten the addAuthTokenListener stub, forward\n * the active token listeners on to the true fxn.\n *\n * TODO: This function is required due to our current module\n * structure. Once we are able to rely strictly upon a single module\n * implementation, this code should be refactored and Auth should\n * provide these stubs and the upgrade logic\n */\n if (props.INTERNAL && props.INTERNAL.addAuthTokenListener) {\n tokenListeners.forEach(listener => {\n this.INTERNAL.addAuthTokenListener(listener);\n });\n tokenListeners = [];\n }\n }\n\n /**\n * This function will throw an Error if the App has already been deleted -\n * use before performing API actions on the App.\n */\n private checkDestroyed_(): void {\n if (this.isDeleted_) {\n error(AppError.APP_DELETED, { name: this.name_ });\n }\n }\n}\n\n// Prevent dead-code elimination of these methods w/o invalid property\n// copying.\n(FirebaseAppImpl.prototype.name && FirebaseAppImpl.prototype.options) ||\n FirebaseAppImpl.prototype.delete ||\n console.log('dc');\n","/**\n * @license\n * Copyright 2019 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n FirebaseApp,\n FirebaseOptions,\n FirebaseNamespace,\n FirebaseAppConfig\n} from '@firebase/app-types';\nimport {\n _FirebaseApp,\n _FirebaseNamespace,\n FirebaseService,\n FirebaseServiceFactory,\n FirebaseServiceNamespace,\n AppHook\n} from '@firebase/app-types/private';\nimport { deepExtend, patchProperty } from '@firebase/util';\nimport { FirebaseAppImpl } from './firebaseApp';\nimport { error, AppError } from './errors';\nimport { FirebaseAppLiteImpl } from './lite/firebaseAppLite';\nimport { DEFAULT_ENTRY_NAME } from './constants';\n\nfunction contains(obj: object, key: string) {\n return Object.prototype.hasOwnProperty.call(obj, key);\n}\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 const factories: { [service: string]: FirebaseServiceFactory } = {};\n const appHooks: { [service: string]: AppHook } = {};\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: initializeApp,\n app: app as any,\n apps: null as any,\n Promise: Promise,\n SDK_VERSION: '${JSCORE_VERSION}',\n INTERNAL: {\n registerService,\n removeApp,\n factories,\n useAsService\n }\n };\n\n // Inject a circular default export to allow Babel users who were previously\n // using:\n //\n // import firebase from 'firebase';\n // which becomes: var firebase = require('firebase').default;\n //\n // instead of\n //\n // import * as firebase from 'firebase';\n // which becomes: var firebase = require('firebase');\n patchProperty(namespace, '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 const app = apps[name];\n callAppHooks(app, 'delete');\n delete apps[name];\n }\n\n /**\n * Get the App object for a given name (or DEFAULT).\n */\n function app(name?: string): FirebaseApp {\n name = name || DEFAULT_ENTRY_NAME;\n if (!contains(apps, name)) {\n error(AppError.NO_APP, { name: name });\n }\n return apps[name];\n }\n\n patchProperty(app, 'App', firebaseAppImpl);\n /**\n * Create a new App instance (name must be unique).\n */\n function initializeApp(\n options: FirebaseOptions,\n config?: FirebaseAppConfig\n ): FirebaseApp;\n function initializeApp(options: FirebaseOptions, name?: string): FirebaseApp;\n function initializeApp(options: FirebaseOptions, rawConfig = {}) {\n if (typeof rawConfig !== 'object' || rawConfig === null) {\n const name = rawConfig;\n rawConfig = { name };\n }\n\n const config = rawConfig as FirebaseAppConfig;\n\n if (config.name === undefined) {\n config.name = DEFAULT_ENTRY_NAME;\n }\n\n const { name } = config;\n\n if (typeof name !== 'string' || !name) {\n error(AppError.BAD_APP_NAME, { name: String(name) });\n }\n\n if (contains(apps, name)) {\n error(AppError.DUPLICATE_APP, { name: name });\n }\n\n const app = new firebaseAppImpl(\n options,\n config,\n namespace as _FirebaseNamespace\n );\n\n apps[name] = app;\n callAppHooks(app, 'create');\n\n return app;\n }\n\n /*\n * Return an array of all the non-deleted FirebaseApps.\n */\n function getApps(): FirebaseApp[] {\n // Make a copy so caller cannot mutate the apps list.\n return Object.keys(apps).map(name => apps[name]);\n }\n\n /*\n * Register a Firebase Service.\n *\n * firebase.INTERNAL.registerService()\n *\n * TODO: Implement serviceProperties.\n */\n function registerService(\n name: string,\n createService: FirebaseServiceFactory,\n serviceProperties?: { [prop: string]: unknown },\n appHook?: AppHook,\n allowMultipleInstances = false\n ): FirebaseServiceNamespace<FirebaseService> {\n // Cannot re-register a service that already exists\n if (factories[name]) {\n error(AppError.DUPLICATE_SERVICE, { name: name });\n }\n\n // Capture the service factory for later service instantiation\n factories[name] = createService;\n\n // Capture the appHook, if passed\n if (appHook) {\n appHooks[name] = appHook;\n\n // Run the **new** app hook on all existing apps\n getApps().forEach(app => {\n appHook('create', app);\n });\n }\n\n // The Service namespace is an accessor function ...\n function serviceNamespace(appArg: FirebaseApp = app()) {\n if (typeof appArg[name] !== 'function') {\n // Invalid argument.\n // This happens in the following case: firebase.storage('gs:/')\n error(AppError.INVALID_APP_ARGUMENT, { name: name });\n }\n\n // Forward service instance lookup to the FirebaseApp.\n return appArg[name]();\n }\n\n // ... and a container for service-level properties.\n if (serviceProperties !== undefined) {\n deepExtend(serviceNamespace, serviceProperties);\n }\n\n // Monkey-patch the serviceNamespace onto the firebase namespace\n namespace[name] = serviceNamespace;\n\n // Patch the FirebaseAppImpl prototype\n firebaseAppImpl.prototype[name] = function(...args) {\n const serviceFxn = this._getService.bind(this, name);\n return serviceFxn.apply(this, allowMultipleInstances ? args : []);\n };\n\n return serviceNamespace;\n }\n\n function callAppHooks(app: FirebaseApp, eventName: string) {\n for (const serviceName of Object.keys(factories)) {\n // Ignore virtual services\n const factoryName = useAsService(app, serviceName);\n if (factoryName === null) {\n return;\n }\n\n if (appHooks[factoryName]) {\n appHooks[factoryName](eventName, app);\n }\n }\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 const options = app.options;\n\n return useService;\n }\n\n return namespace;\n}\n","/**\n * @license\n * Copyright 2019 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { FirebaseNamespace } from '@firebase/app-types';\nimport { _FirebaseApp, _FirebaseNamespace } from '@firebase/app-types/private';\nimport { createSubscribe, deepExtend, ErrorFactory } from '@firebase/util';\nimport { FirebaseAppImpl } from './firebaseApp';\nimport { createFirebaseNamespaceCore } from './firebaseNamespaceCore';\n\n/**\n * Return a firebase namespace object.\n *\n * In production, this will be called exactly once and the result\n * assigned to the 'firebase' global. It may be called multiple times\n * in unit tests.\n */\nexport function createFirebaseNamespace(): FirebaseNamespace {\n const namespace = createFirebaseNamespaceCore(FirebaseAppImpl);\n (namespace as _FirebaseNamespace).INTERNAL = {\n ...(namespace as _FirebaseNamespace).INTERNAL,\n createFirebaseNamespace: createFirebaseNamespace,\n extendNamespace: extendNamespace,\n createSubscribe: createSubscribe,\n ErrorFactory: ErrorFactory,\n deepExtend: 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","/**\n * @license\n * Copyright 2017 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { FirebaseNamespace } from '@firebase/app-types';\nimport { _FirebaseNamespace } from '@firebase/app-types/private';\nimport { createFirebaseNamespace } from './src/firebaseNamespace';\nimport Storage from 'dom-storage';\nimport { XMLHttpRequest } from 'xmlhttprequest';\n\nconst _firebase = createFirebaseNamespace() as _FirebaseNamespace;\n\n_firebase.INTERNAL.extendNamespace({\n INTERNAL: {\n node: {\n localStorage: new Storage(null, { strict: true }),\n sessionStorage: new Storage(null, { strict: true }),\n XMLHttpRequest\n }\n }\n});\n\nexport const firebase = _firebase as FirebaseNamespace;\n\nexport default firebase;\n"],"names":["ErrorFactory","deepCopy","deepExtend","patchProperty","createSubscribe"],"mappings":"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"}
|
package/dist/index.rn.cjs.js
CHANGED
|
@@ -267,7 +267,7 @@ function createFirebaseNamespaceCore(firebaseAppImpl) {
|
|
|
267
267
|
app: app,
|
|
268
268
|
apps: null,
|
|
269
269
|
Promise: Promise,
|
|
270
|
-
SDK_VERSION: '5.11.0
|
|
270
|
+
SDK_VERSION: '5.11.0',
|
|
271
271
|
INTERNAL: {
|
|
272
272
|
registerService: registerService,
|
|
273
273
|
removeApp: removeApp,
|
package/dist/index.rn.cjs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.rn.cjs.js","sources":["../src/errors.ts","../src/constants.ts","../src/firebaseApp.ts","../src/firebaseNamespaceCore.ts","../src/firebaseNamespace.ts","../index.rn.ts"],"sourcesContent":["/**\n * @license\n * Copyright 2019 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { ErrorFactory, ErrorMap } from '@firebase/util';\n\nexport const enum AppError {\n NO_APP = 'no-app',\n BAD_APP_NAME = 'bad-app-name',\n DUPLICATE_APP = 'duplicate-app',\n APP_DELETED = 'app-deleted',\n DUPLICATE_SERVICE = 'duplicate-service',\n INVALID_APP_ARGUMENT = 'invalid-app-argument'\n}\n\nconst ERRORS: ErrorMap<AppError> = {\n [AppError.NO_APP]:\n \"No Firebase App '{$name}' has been created - \" +\n 'call Firebase App.initializeApp()',\n [AppError.BAD_APP_NAME]: \"Illegal App name: '{$name}\",\n [AppError.DUPLICATE_APP]: \"Firebase App named '{$name}' already exists\",\n [AppError.APP_DELETED]: \"Firebase App named '{$name}' already deleted\",\n [AppError.DUPLICATE_SERVICE]:\n \"Firebase service named '{$name}' already registered\",\n [AppError.INVALID_APP_ARGUMENT]:\n 'firebase.{$name}() takes either no argument or a ' +\n 'Firebase App instance.'\n};\n\nconst appErrors = new ErrorFactory<AppError>('app', 'Firebase', ERRORS);\n\nexport function error(code: AppError, args?: { [name: string]: any }) {\n throw appErrors.create(code, args);\n}\n","/**\n * @license\n * Copyright 2019 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport const DEFAULT_ENTRY_NAME = '[DEFAULT]';\n","/**\n * @license\n * Copyright 2017 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n FirebaseApp,\n FirebaseOptions,\n FirebaseAppConfig\n} from '@firebase/app-types';\nimport {\n _FirebaseApp,\n _FirebaseNamespace,\n FirebaseService,\n FirebaseAppInternals\n} from '@firebase/app-types/private';\nimport { deepCopy, deepExtend } from '@firebase/util';\nimport { error, AppError } from './errors';\nimport { DEFAULT_ENTRY_NAME } from './constants';\n\ninterface ServicesCache {\n [name: string]: {\n [serviceName: string]: FirebaseService;\n };\n}\n\n// An array to capture listeners before the true auth functions\n// exist\nlet tokenListeners: any[] = [];\n\n/**\n * Global context object for a collection of services using\n * a shared authentication state.\n */\nexport class FirebaseAppImpl implements FirebaseApp {\n private readonly options_: FirebaseOptions;\n private readonly name_: string;\n private isDeleted_ = false;\n private services_: ServicesCache = {};\n private automaticDataCollectionEnabled_: boolean;\n\n INTERNAL: FirebaseAppInternals;\n\n constructor(\n options: FirebaseOptions,\n config: FirebaseAppConfig,\n private readonly firebase_: _FirebaseNamespace\n ) {\n this.name_ = config.name!;\n this.automaticDataCollectionEnabled_ =\n config.automaticDataCollectionEnabled || false;\n this.options_ = deepCopy<FirebaseOptions>(options);\n this.INTERNAL = {\n getUid: () => null,\n getToken: () => Promise.resolve(null),\n addAuthTokenListener: (callback: (token: string | null) => void) => {\n tokenListeners.push(callback);\n // Make sure callback is called, asynchronously, in the absence of the auth module\n setTimeout(() => callback(null), 0);\n },\n removeAuthTokenListener: callback => {\n tokenListeners = tokenListeners.filter(\n listener => listener !== callback\n );\n }\n };\n }\n\n get automaticDataCollectionEnabled(): boolean {\n this.checkDestroyed_();\n return this.automaticDataCollectionEnabled_;\n }\n\n set automaticDataCollectionEnabled(val) {\n this.checkDestroyed_();\n this.automaticDataCollectionEnabled_ = val;\n }\n\n get name(): string {\n this.checkDestroyed_();\n return this.name_;\n }\n\n get options(): FirebaseOptions {\n this.checkDestroyed_();\n return this.options_;\n }\n\n delete(): Promise<void> {\n return new Promise(resolve => {\n this.checkDestroyed_();\n resolve();\n })\n .then(() => {\n this.firebase_.INTERNAL.removeApp(this.name_);\n const services: FirebaseService[] = [];\n\n for (const serviceKey of Object.keys(this.services_)) {\n for (const instanceKey of Object.keys(this.services_[serviceKey])) {\n services.push(this.services_[serviceKey][instanceKey]);\n }\n }\n\n return Promise.all(\n services.map(service => {\n return service.INTERNAL.delete();\n })\n );\n })\n .then(\n (): void => {\n this.isDeleted_ = true;\n this.services_ = {};\n }\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 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.checkDestroyed_();\n\n if (!this.services_[name]) {\n this.services_[name] = {};\n }\n\n if (!this.services_[name][instanceIdentifier]) {\n /**\n * If a custom instance has been defined (i.e. not '[DEFAULT]')\n * then we will pass that instance on, otherwise we pass `null`\n */\n const instanceSpecifier =\n instanceIdentifier !== DEFAULT_ENTRY_NAME\n ? instanceIdentifier\n : undefined;\n const service = this.firebase_.INTERNAL.factories[name](\n this,\n this.extendApp.bind(this),\n instanceSpecifier\n );\n this.services_[name][instanceIdentifier] = service;\n }\n\n return this.services_[name][instanceIdentifier];\n }\n\n /**\n * Callback function used to extend an App instance at the time\n * of service instance creation.\n */\n private extendApp(props: { [name: string]: any }): void {\n // Copy the object onto the FirebaseAppImpl prototype\n deepExtend(this, props);\n\n /**\n * If the app has overwritten the addAuthTokenListener stub, forward\n * the active token listeners on to the true fxn.\n *\n * TODO: This function is required due to our current module\n * structure. Once we are able to rely strictly upon a single module\n * implementation, this code should be refactored and Auth should\n * provide these stubs and the upgrade logic\n */\n if (props.INTERNAL && props.INTERNAL.addAuthTokenListener) {\n tokenListeners.forEach(listener => {\n this.INTERNAL.addAuthTokenListener(listener);\n });\n tokenListeners = [];\n }\n }\n\n /**\n * This function will throw an Error if the App has already been deleted -\n * use before performing API actions on the App.\n */\n private checkDestroyed_(): void {\n if (this.isDeleted_) {\n error(AppError.APP_DELETED, { name: this.name_ });\n }\n }\n}\n\n// Prevent dead-code elimination of these methods w/o invalid property\n// copying.\n(FirebaseAppImpl.prototype.name && FirebaseAppImpl.prototype.options) ||\n FirebaseAppImpl.prototype.delete ||\n console.log('dc');\n","/**\n * @license\n * Copyright 2019 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n FirebaseApp,\n FirebaseOptions,\n FirebaseNamespace,\n FirebaseAppConfig\n} from '@firebase/app-types';\nimport {\n _FirebaseApp,\n _FirebaseNamespace,\n FirebaseService,\n FirebaseServiceFactory,\n FirebaseServiceNamespace,\n AppHook\n} from '@firebase/app-types/private';\nimport { deepExtend, patchProperty } from '@firebase/util';\nimport { FirebaseAppImpl } from './firebaseApp';\nimport { error, AppError } from './errors';\nimport { FirebaseAppLiteImpl } from './lite/firebaseAppLite';\nimport { DEFAULT_ENTRY_NAME } from './constants';\n\nfunction contains(obj: object, key: string) {\n return Object.prototype.hasOwnProperty.call(obj, key);\n}\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 const factories: { [service: string]: FirebaseServiceFactory } = {};\n const appHooks: { [service: string]: AppHook } = {};\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: initializeApp,\n app: app as any,\n apps: null as any,\n Promise: Promise,\n SDK_VERSION: '${JSCORE_VERSION}',\n INTERNAL: {\n registerService,\n removeApp,\n factories,\n useAsService\n }\n };\n\n // Inject a circular default export to allow Babel users who were previously\n // using:\n //\n // import firebase from 'firebase';\n // which becomes: var firebase = require('firebase').default;\n //\n // instead of\n //\n // import * as firebase from 'firebase';\n // which becomes: var firebase = require('firebase');\n patchProperty(namespace, '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 const app = apps[name];\n callAppHooks(app, 'delete');\n delete apps[name];\n }\n\n /**\n * Get the App object for a given name (or DEFAULT).\n */\n function app(name?: string): FirebaseApp {\n name = name || DEFAULT_ENTRY_NAME;\n if (!contains(apps, name)) {\n error(AppError.NO_APP, { name: name });\n }\n return apps[name];\n }\n\n patchProperty(app, 'App', firebaseAppImpl);\n /**\n * Create a new App instance (name must be unique).\n */\n function initializeApp(\n options: FirebaseOptions,\n config?: FirebaseAppConfig\n ): FirebaseApp;\n function initializeApp(options: FirebaseOptions, name?: string): FirebaseApp;\n function initializeApp(options: FirebaseOptions, rawConfig = {}) {\n if (typeof rawConfig !== 'object' || rawConfig === null) {\n const name = rawConfig;\n rawConfig = { name };\n }\n\n const config = rawConfig as FirebaseAppConfig;\n\n if (config.name === undefined) {\n config.name = DEFAULT_ENTRY_NAME;\n }\n\n const { name } = config;\n\n if (typeof name !== 'string' || !name) {\n error(AppError.BAD_APP_NAME, { name: String(name) });\n }\n\n if (contains(apps, name)) {\n error(AppError.DUPLICATE_APP, { name: name });\n }\n\n const app = new firebaseAppImpl(\n options,\n config,\n namespace as _FirebaseNamespace\n );\n\n apps[name] = app;\n callAppHooks(app, 'create');\n\n return app;\n }\n\n /*\n * Return an array of all the non-deleted FirebaseApps.\n */\n function getApps(): FirebaseApp[] {\n // Make a copy so caller cannot mutate the apps list.\n return Object.keys(apps).map(name => apps[name]);\n }\n\n /*\n * Register a Firebase Service.\n *\n * firebase.INTERNAL.registerService()\n *\n * TODO: Implement serviceProperties.\n */\n function registerService(\n name: string,\n createService: FirebaseServiceFactory,\n serviceProperties?: { [prop: string]: unknown },\n appHook?: AppHook,\n allowMultipleInstances = false\n ): FirebaseServiceNamespace<FirebaseService> {\n // Cannot re-register a service that already exists\n if (factories[name]) {\n error(AppError.DUPLICATE_SERVICE, { name: name });\n }\n\n // Capture the service factory for later service instantiation\n factories[name] = createService;\n\n // Capture the appHook, if passed\n if (appHook) {\n appHooks[name] = appHook;\n\n // Run the **new** app hook on all existing apps\n getApps().forEach(app => {\n appHook('create', app);\n });\n }\n\n // The Service namespace is an accessor function ...\n function serviceNamespace(appArg: FirebaseApp = app()) {\n if (typeof appArg[name] !== 'function') {\n // Invalid argument.\n // This happens in the following case: firebase.storage('gs:/')\n error(AppError.INVALID_APP_ARGUMENT, { name: name });\n }\n\n // Forward service instance lookup to the FirebaseApp.\n return appArg[name]();\n }\n\n // ... and a container for service-level properties.\n if (serviceProperties !== undefined) {\n deepExtend(serviceNamespace, serviceProperties);\n }\n\n // Monkey-patch the serviceNamespace onto the firebase namespace\n namespace[name] = serviceNamespace;\n\n // Patch the FirebaseAppImpl prototype\n firebaseAppImpl.prototype[name] = function(...args) {\n const serviceFxn = this._getService.bind(this, name);\n return serviceFxn.apply(this, allowMultipleInstances ? args : []);\n };\n\n return serviceNamespace;\n }\n\n function callAppHooks(app: FirebaseApp, eventName: string) {\n for (const serviceName of Object.keys(factories)) {\n // Ignore virtual services\n const factoryName = useAsService(app, serviceName);\n if (factoryName === null) {\n return;\n }\n\n if (appHooks[factoryName]) {\n appHooks[factoryName](eventName, app);\n }\n }\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 const options = app.options;\n\n return useService;\n }\n\n return namespace;\n}\n","/**\n * @license\n * Copyright 2019 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { FirebaseNamespace } from '@firebase/app-types';\nimport { _FirebaseApp, _FirebaseNamespace } from '@firebase/app-types/private';\nimport { createSubscribe, deepExtend, ErrorFactory } from '@firebase/util';\nimport { FirebaseAppImpl } from './firebaseApp';\nimport { createFirebaseNamespaceCore } from './firebaseNamespaceCore';\n\n/**\n * Return a firebase namespace object.\n *\n * In production, this will be called exactly once and the result\n * assigned to the 'firebase' global. It may be called multiple times\n * in unit tests.\n */\nexport function createFirebaseNamespace(): FirebaseNamespace {\n const namespace = createFirebaseNamespaceCore(FirebaseAppImpl);\n (namespace as _FirebaseNamespace).INTERNAL = {\n ...(namespace as _FirebaseNamespace).INTERNAL,\n createFirebaseNamespace: createFirebaseNamespace,\n extendNamespace: extendNamespace,\n createSubscribe: createSubscribe,\n ErrorFactory: ErrorFactory,\n deepExtend: 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","/**\n * @license\n * Copyright 2017 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { FirebaseNamespace } from '@firebase/app-types';\nimport { _FirebaseNamespace } from '@firebase/app-types/private';\nimport { createFirebaseNamespace } from './src/firebaseNamespace';\n\n/**\n * To avoid having to include the @types/react-native package, which breaks\n * some of our tests because of duplicate symbols, we are using require syntax\n * here\n */\nconst { AsyncStorage } = require('react-native');\n\nconst _firebase = createFirebaseNamespace() as _FirebaseNamespace;\n\n_firebase.INTERNAL.extendNamespace({\n INTERNAL: {\n reactNative: {\n AsyncStorage\n }\n }\n});\n\nexport const firebase = _firebase as FirebaseNamespace;\n\nexport default firebase;\n"],"names":["ErrorFactory","deepCopy","deepExtend","patchProperty","createSubscribe"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.rn.cjs.js","sources":["../src/errors.ts","../src/constants.ts","../src/firebaseApp.ts","../src/firebaseNamespaceCore.ts","../src/firebaseNamespace.ts","../index.rn.ts"],"sourcesContent":["/**\n * @license\n * Copyright 2019 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { ErrorFactory, ErrorMap } from '@firebase/util';\n\nexport const enum AppError {\n NO_APP = 'no-app',\n BAD_APP_NAME = 'bad-app-name',\n DUPLICATE_APP = 'duplicate-app',\n APP_DELETED = 'app-deleted',\n DUPLICATE_SERVICE = 'duplicate-service',\n INVALID_APP_ARGUMENT = 'invalid-app-argument'\n}\n\nconst ERRORS: ErrorMap<AppError> = {\n [AppError.NO_APP]:\n \"No Firebase App '{$name}' has been created - \" +\n 'call Firebase App.initializeApp()',\n [AppError.BAD_APP_NAME]: \"Illegal App name: '{$name}\",\n [AppError.DUPLICATE_APP]: \"Firebase App named '{$name}' already exists\",\n [AppError.APP_DELETED]: \"Firebase App named '{$name}' already deleted\",\n [AppError.DUPLICATE_SERVICE]:\n \"Firebase service named '{$name}' already registered\",\n [AppError.INVALID_APP_ARGUMENT]:\n 'firebase.{$name}() takes either no argument or a ' +\n 'Firebase App instance.'\n};\n\nconst appErrors = new ErrorFactory<AppError>('app', 'Firebase', ERRORS);\n\nexport function error(code: AppError, args?: { [name: string]: any }) {\n throw appErrors.create(code, args);\n}\n","/**\n * @license\n * Copyright 2019 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport const DEFAULT_ENTRY_NAME = '[DEFAULT]';\n","/**\n * @license\n * Copyright 2017 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n FirebaseApp,\n FirebaseOptions,\n FirebaseAppConfig\n} from '@firebase/app-types';\nimport {\n _FirebaseApp,\n _FirebaseNamespace,\n FirebaseService,\n FirebaseAppInternals\n} from '@firebase/app-types/private';\nimport { deepCopy, deepExtend } from '@firebase/util';\nimport { error, AppError } from './errors';\nimport { DEFAULT_ENTRY_NAME } from './constants';\n\ninterface ServicesCache {\n [name: string]: {\n [serviceName: string]: FirebaseService;\n };\n}\n\n// An array to capture listeners before the true auth functions\n// exist\nlet tokenListeners: any[] = [];\n\n/**\n * Global context object for a collection of services using\n * a shared authentication state.\n */\nexport class FirebaseAppImpl implements FirebaseApp {\n private readonly options_: FirebaseOptions;\n private readonly name_: string;\n private isDeleted_ = false;\n private services_: ServicesCache = {};\n private automaticDataCollectionEnabled_: boolean;\n\n INTERNAL: FirebaseAppInternals;\n\n constructor(\n options: FirebaseOptions,\n config: FirebaseAppConfig,\n private readonly firebase_: _FirebaseNamespace\n ) {\n this.name_ = config.name!;\n this.automaticDataCollectionEnabled_ =\n config.automaticDataCollectionEnabled || false;\n this.options_ = deepCopy<FirebaseOptions>(options);\n this.INTERNAL = {\n getUid: () => null,\n getToken: () => Promise.resolve(null),\n addAuthTokenListener: (callback: (token: string | null) => void) => {\n tokenListeners.push(callback);\n // Make sure callback is called, asynchronously, in the absence of the auth module\n setTimeout(() => callback(null), 0);\n },\n removeAuthTokenListener: callback => {\n tokenListeners = tokenListeners.filter(\n listener => listener !== callback\n );\n }\n };\n }\n\n get automaticDataCollectionEnabled(): boolean {\n this.checkDestroyed_();\n return this.automaticDataCollectionEnabled_;\n }\n\n set automaticDataCollectionEnabled(val) {\n this.checkDestroyed_();\n this.automaticDataCollectionEnabled_ = val;\n }\n\n get name(): string {\n this.checkDestroyed_();\n return this.name_;\n }\n\n get options(): FirebaseOptions {\n this.checkDestroyed_();\n return this.options_;\n }\n\n delete(): Promise<void> {\n return new Promise(resolve => {\n this.checkDestroyed_();\n resolve();\n })\n .then(() => {\n this.firebase_.INTERNAL.removeApp(this.name_);\n const services: FirebaseService[] = [];\n\n for (const serviceKey of Object.keys(this.services_)) {\n for (const instanceKey of Object.keys(this.services_[serviceKey])) {\n services.push(this.services_[serviceKey][instanceKey]);\n }\n }\n\n return Promise.all(\n services.map(service => {\n return service.INTERNAL.delete();\n })\n );\n })\n .then(\n (): void => {\n this.isDeleted_ = true;\n this.services_ = {};\n }\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 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.checkDestroyed_();\n\n if (!this.services_[name]) {\n this.services_[name] = {};\n }\n\n if (!this.services_[name][instanceIdentifier]) {\n /**\n * If a custom instance has been defined (i.e. not '[DEFAULT]')\n * then we will pass that instance on, otherwise we pass `null`\n */\n const instanceSpecifier =\n instanceIdentifier !== DEFAULT_ENTRY_NAME\n ? instanceIdentifier\n : undefined;\n const service = this.firebase_.INTERNAL.factories[name](\n this,\n this.extendApp.bind(this),\n instanceSpecifier\n );\n this.services_[name][instanceIdentifier] = service;\n }\n\n return this.services_[name][instanceIdentifier];\n }\n\n /**\n * Callback function used to extend an App instance at the time\n * of service instance creation.\n */\n private extendApp(props: { [name: string]: any }): void {\n // Copy the object onto the FirebaseAppImpl prototype\n deepExtend(this, props);\n\n /**\n * If the app has overwritten the addAuthTokenListener stub, forward\n * the active token listeners on to the true fxn.\n *\n * TODO: This function is required due to our current module\n * structure. Once we are able to rely strictly upon a single module\n * implementation, this code should be refactored and Auth should\n * provide these stubs and the upgrade logic\n */\n if (props.INTERNAL && props.INTERNAL.addAuthTokenListener) {\n tokenListeners.forEach(listener => {\n this.INTERNAL.addAuthTokenListener(listener);\n });\n tokenListeners = [];\n }\n }\n\n /**\n * This function will throw an Error if the App has already been deleted -\n * use before performing API actions on the App.\n */\n private checkDestroyed_(): void {\n if (this.isDeleted_) {\n error(AppError.APP_DELETED, { name: this.name_ });\n }\n }\n}\n\n// Prevent dead-code elimination of these methods w/o invalid property\n// copying.\n(FirebaseAppImpl.prototype.name && FirebaseAppImpl.prototype.options) ||\n FirebaseAppImpl.prototype.delete ||\n console.log('dc');\n","/**\n * @license\n * Copyright 2019 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n FirebaseApp,\n FirebaseOptions,\n FirebaseNamespace,\n FirebaseAppConfig\n} from '@firebase/app-types';\nimport {\n _FirebaseApp,\n _FirebaseNamespace,\n FirebaseService,\n FirebaseServiceFactory,\n FirebaseServiceNamespace,\n AppHook\n} from '@firebase/app-types/private';\nimport { deepExtend, patchProperty } from '@firebase/util';\nimport { FirebaseAppImpl } from './firebaseApp';\nimport { error, AppError } from './errors';\nimport { FirebaseAppLiteImpl } from './lite/firebaseAppLite';\nimport { DEFAULT_ENTRY_NAME } from './constants';\n\nfunction contains(obj: object, key: string) {\n return Object.prototype.hasOwnProperty.call(obj, key);\n}\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 const factories: { [service: string]: FirebaseServiceFactory } = {};\n const appHooks: { [service: string]: AppHook } = {};\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: initializeApp,\n app: app as any,\n apps: null as any,\n Promise: Promise,\n SDK_VERSION: '${JSCORE_VERSION}',\n INTERNAL: {\n registerService,\n removeApp,\n factories,\n useAsService\n }\n };\n\n // Inject a circular default export to allow Babel users who were previously\n // using:\n //\n // import firebase from 'firebase';\n // which becomes: var firebase = require('firebase').default;\n //\n // instead of\n //\n // import * as firebase from 'firebase';\n // which becomes: var firebase = require('firebase');\n patchProperty(namespace, '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 const app = apps[name];\n callAppHooks(app, 'delete');\n delete apps[name];\n }\n\n /**\n * Get the App object for a given name (or DEFAULT).\n */\n function app(name?: string): FirebaseApp {\n name = name || DEFAULT_ENTRY_NAME;\n if (!contains(apps, name)) {\n error(AppError.NO_APP, { name: name });\n }\n return apps[name];\n }\n\n patchProperty(app, 'App', firebaseAppImpl);\n /**\n * Create a new App instance (name must be unique).\n */\n function initializeApp(\n options: FirebaseOptions,\n config?: FirebaseAppConfig\n ): FirebaseApp;\n function initializeApp(options: FirebaseOptions, name?: string): FirebaseApp;\n function initializeApp(options: FirebaseOptions, rawConfig = {}) {\n if (typeof rawConfig !== 'object' || rawConfig === null) {\n const name = rawConfig;\n rawConfig = { name };\n }\n\n const config = rawConfig as FirebaseAppConfig;\n\n if (config.name === undefined) {\n config.name = DEFAULT_ENTRY_NAME;\n }\n\n const { name } = config;\n\n if (typeof name !== 'string' || !name) {\n error(AppError.BAD_APP_NAME, { name: String(name) });\n }\n\n if (contains(apps, name)) {\n error(AppError.DUPLICATE_APP, { name: name });\n }\n\n const app = new firebaseAppImpl(\n options,\n config,\n namespace as _FirebaseNamespace\n );\n\n apps[name] = app;\n callAppHooks(app, 'create');\n\n return app;\n }\n\n /*\n * Return an array of all the non-deleted FirebaseApps.\n */\n function getApps(): FirebaseApp[] {\n // Make a copy so caller cannot mutate the apps list.\n return Object.keys(apps).map(name => apps[name]);\n }\n\n /*\n * Register a Firebase Service.\n *\n * firebase.INTERNAL.registerService()\n *\n * TODO: Implement serviceProperties.\n */\n function registerService(\n name: string,\n createService: FirebaseServiceFactory,\n serviceProperties?: { [prop: string]: unknown },\n appHook?: AppHook,\n allowMultipleInstances = false\n ): FirebaseServiceNamespace<FirebaseService> {\n // Cannot re-register a service that already exists\n if (factories[name]) {\n error(AppError.DUPLICATE_SERVICE, { name: name });\n }\n\n // Capture the service factory for later service instantiation\n factories[name] = createService;\n\n // Capture the appHook, if passed\n if (appHook) {\n appHooks[name] = appHook;\n\n // Run the **new** app hook on all existing apps\n getApps().forEach(app => {\n appHook('create', app);\n });\n }\n\n // The Service namespace is an accessor function ...\n function serviceNamespace(appArg: FirebaseApp = app()) {\n if (typeof appArg[name] !== 'function') {\n // Invalid argument.\n // This happens in the following case: firebase.storage('gs:/')\n error(AppError.INVALID_APP_ARGUMENT, { name: name });\n }\n\n // Forward service instance lookup to the FirebaseApp.\n return appArg[name]();\n }\n\n // ... and a container for service-level properties.\n if (serviceProperties !== undefined) {\n deepExtend(serviceNamespace, serviceProperties);\n }\n\n // Monkey-patch the serviceNamespace onto the firebase namespace\n namespace[name] = serviceNamespace;\n\n // Patch the FirebaseAppImpl prototype\n firebaseAppImpl.prototype[name] = function(...args) {\n const serviceFxn = this._getService.bind(this, name);\n return serviceFxn.apply(this, allowMultipleInstances ? args : []);\n };\n\n return serviceNamespace;\n }\n\n function callAppHooks(app: FirebaseApp, eventName: string) {\n for (const serviceName of Object.keys(factories)) {\n // Ignore virtual services\n const factoryName = useAsService(app, serviceName);\n if (factoryName === null) {\n return;\n }\n\n if (appHooks[factoryName]) {\n appHooks[factoryName](eventName, app);\n }\n }\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 const options = app.options;\n\n return useService;\n }\n\n return namespace;\n}\n","/**\n * @license\n * Copyright 2019 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { FirebaseNamespace } from '@firebase/app-types';\nimport { _FirebaseApp, _FirebaseNamespace } from '@firebase/app-types/private';\nimport { createSubscribe, deepExtend, ErrorFactory } from '@firebase/util';\nimport { FirebaseAppImpl } from './firebaseApp';\nimport { createFirebaseNamespaceCore } from './firebaseNamespaceCore';\n\n/**\n * Return a firebase namespace object.\n *\n * In production, this will be called exactly once and the result\n * assigned to the 'firebase' global. It may be called multiple times\n * in unit tests.\n */\nexport function createFirebaseNamespace(): FirebaseNamespace {\n const namespace = createFirebaseNamespaceCore(FirebaseAppImpl);\n (namespace as _FirebaseNamespace).INTERNAL = {\n ...(namespace as _FirebaseNamespace).INTERNAL,\n createFirebaseNamespace: createFirebaseNamespace,\n extendNamespace: extendNamespace,\n createSubscribe: createSubscribe,\n ErrorFactory: ErrorFactory,\n deepExtend: 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","/**\n * @license\n * Copyright 2017 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { FirebaseNamespace } from '@firebase/app-types';\nimport { _FirebaseNamespace } from '@firebase/app-types/private';\nimport { createFirebaseNamespace } from './src/firebaseNamespace';\n\n/**\n * To avoid having to include the @types/react-native package, which breaks\n * some of our tests because of duplicate symbols, we are using require syntax\n * here\n */\nconst { AsyncStorage } = require('react-native');\n\nconst _firebase = createFirebaseNamespace() as _FirebaseNamespace;\n\n_firebase.INTERNAL.extendNamespace({\n INTERNAL: {\n reactNative: {\n AsyncStorage\n }\n }\n});\n\nexport const firebase = _firebase as FirebaseNamespace;\n\nexport default firebase;\n"],"names":["ErrorFactory","deepCopy","deepExtend","patchProperty","createSubscribe"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@firebase/app",
|
|
3
|
-
"version": "0.3.17
|
|
3
|
+
"version": "0.3.17",
|
|
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.node.cjs.js",
|
|
@@ -24,8 +24,8 @@
|
|
|
24
24
|
},
|
|
25
25
|
"license": "Apache-2.0",
|
|
26
26
|
"dependencies": {
|
|
27
|
-
"@firebase/app-types": "0.3.10
|
|
28
|
-
"@firebase/util": "0.2.14
|
|
27
|
+
"@firebase/app-types": "0.3.10",
|
|
28
|
+
"@firebase/util": "0.2.14",
|
|
29
29
|
"tslib": "1.9.3",
|
|
30
30
|
"dom-storage": "2.1.0",
|
|
31
31
|
"xmlhttprequest": "1.8.0"
|