diff options
Diffstat (limited to 'frontend-old/node_modules/@firebase/app-compat/dist/index.lite.js')
| -rw-r--r-- | frontend-old/node_modules/@firebase/app-compat/dist/index.lite.js | 338 |
1 files changed, 338 insertions, 0 deletions
diff --git a/frontend-old/node_modules/@firebase/app-compat/dist/index.lite.js b/frontend-old/node_modules/@firebase/app-compat/dist/index.lite.js new file mode 100644 index 0000000..cab66a2 --- /dev/null +++ b/frontend-old/node_modules/@firebase/app-compat/dist/index.lite.js @@ -0,0 +1,338 @@ +import * as modularAPIs from '@firebase/app'; +import { _addComponent, deleteApp, _DEFAULT_ENTRY_NAME, registerVersion } from '@firebase/app'; +import { Component } from '@firebase/component'; +import { ErrorFactory, contains, deepExtend } from '@firebase/util'; + +/** + * @license + * Copyright 2019 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/** + * Global context object for a collection of services using + * a shared authentication state. + */ +class FirebaseAppLiteImpl { + constructor(_delegate, firebase) { + this._delegate = _delegate; + this.firebase = firebase; + // add itself to container + _addComponent(_delegate, new Component('app-compat', () => this, "PUBLIC" /* ComponentType.PUBLIC */)); + } + get automaticDataCollectionEnabled() { + return this._delegate.automaticDataCollectionEnabled; + } + set automaticDataCollectionEnabled(val) { + this.automaticDataCollectionEnabled = val; + } + get name() { + return this._delegate.name; + } + get options() { + return this._delegate.options; + } + delete() { + this.firebase.INTERNAL.removeApp(this.name); + return deleteApp(this._delegate); + } + /** + * Return a service instance associated with this app (creating it + * on demand), identified by the passed instanceIdentifier. + * + * NOTE: Currently storage is the only one that is leveraging this + * functionality. They invoke it by calling: + * + * ```javascript + * firebase.app().storage('STORAGE BUCKET ID') + * ``` + * + * The service name is passed to this already + * @internal + */ + _getService(name, instanceIdentifier = _DEFAULT_ENTRY_NAME) { + this._delegate.checkDestroyed(); + // getImmediate will always succeed because _getService is only called for registered components. + return this._delegate.container.getProvider(name).getImmediate({ + identifier: instanceIdentifier + }); + } +} + +/** + * @license + * Copyright 2019 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +const ERRORS = { + ["no-app" /* AppError.NO_APP */]: "No Firebase App '{$appName}' has been created - " + + 'call Firebase App.initializeApp()', + ["invalid-app-argument" /* AppError.INVALID_APP_ARGUMENT */]: 'firebase.{$appName}() takes either no argument or a ' + + 'Firebase App instance.' +}; +const ERROR_FACTORY = new ErrorFactory('app-compat', 'Firebase', ERRORS); + +/** + * @license + * Copyright 2019 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/** + * Because auth can't share code with other components, we attach the utility functions + * in an internal namespace to share code. + * This function return a firebase namespace object without + * any utility functions, so it can be shared between the regular firebaseNamespace and + * the lite version. + */ +function createFirebaseNamespaceCore(firebaseAppImpl) { + const apps = {}; + // // eslint-disable-next-line @typescript-eslint/no-explicit-any + // const components = new Map<string, Component<any>>(); + // A namespace is a plain JavaScript Object. + const namespace = { + // Hack to prevent Babel from modifying the object returned + // as the firebase namespace. + // @ts-ignore + __esModule: true, + initializeApp: initializeAppCompat, + // @ts-ignore + app, + registerVersion: modularAPIs.registerVersion, + setLogLevel: modularAPIs.setLogLevel, + onLog: modularAPIs.onLog, + // @ts-ignore + apps: null, + SDK_VERSION: modularAPIs.SDK_VERSION, + INTERNAL: { + registerComponent: registerComponentCompat, + removeApp, + useAsService, + modularAPIs + } + }; + // Inject a circular default export to allow Babel users who were previously + // using: + // + // import firebase from 'firebase'; + // which becomes: var firebase = require('firebase').default; + // + // instead of + // + // import * as firebase from 'firebase'; + // which becomes: var firebase = require('firebase'); + // eslint-disable-next-line @typescript-eslint/no-explicit-any + namespace['default'] = namespace; + // firebase.apps is a read-only getter. + Object.defineProperty(namespace, 'apps', { + get: getApps + }); + /** + * Called by App.delete() - but before any services associated with the App + * are deleted. + */ + function removeApp(name) { + delete apps[name]; + } + /** + * Get the App object for a given name (or DEFAULT). + */ + function app(name) { + name = name || modularAPIs._DEFAULT_ENTRY_NAME; + if (!contains(apps, name)) { + throw ERROR_FACTORY.create("no-app" /* AppError.NO_APP */, { appName: name }); + } + return apps[name]; + } + // @ts-ignore + app['App'] = firebaseAppImpl; + /** + * Create a new App instance (name must be unique). + * + * This function is idempotent. It can be called more than once and return the same instance using the same options and config. + */ + function initializeAppCompat(options, rawConfig = {}) { + const app = modularAPIs.initializeApp(options, rawConfig); + if (contains(apps, app.name)) { + return apps[app.name]; + } + const appCompat = new firebaseAppImpl(app, namespace); + apps[app.name] = appCompat; + return appCompat; + } + /* + * Return an array of all the non-deleted FirebaseApps. + */ + function getApps() { + // Make a copy so caller cannot mutate the apps list. + return Object.keys(apps).map(name => apps[name]); + } + function registerComponentCompat(component) { + const componentName = component.name; + const componentNameWithoutCompat = componentName.replace('-compat', ''); + if (modularAPIs._registerComponent(component) && + component.type === "PUBLIC" /* ComponentType.PUBLIC */) { + // create service namespace for public components + // The Service namespace is an accessor function ... + const serviceNamespace = (appArg = app()) => { + // eslint-disable-next-line @typescript-eslint/no-explicit-any + if (typeof appArg[componentNameWithoutCompat] !== 'function') { + // Invalid argument. + // This happens in the following case: firebase.storage('gs:/') + throw ERROR_FACTORY.create("invalid-app-argument" /* AppError.INVALID_APP_ARGUMENT */, { + appName: componentName + }); + } + // Forward service instance lookup to the FirebaseApp. + // eslint-disable-next-line @typescript-eslint/no-explicit-any + return appArg[componentNameWithoutCompat](); + }; + // ... and a container for service-level properties. + if (component.serviceProps !== undefined) { + deepExtend(serviceNamespace, component.serviceProps); + } + // eslint-disable-next-line @typescript-eslint/no-explicit-any + namespace[componentNameWithoutCompat] = serviceNamespace; + // Patch the FirebaseAppImpl prototype + // eslint-disable-next-line @typescript-eslint/no-explicit-any + firebaseAppImpl.prototype[componentNameWithoutCompat] = + // TODO: The eslint disable can be removed and the 'ignoreRestArgs' + // option added to the no-explicit-any rule when ESlint releases it. + // eslint-disable-next-line @typescript-eslint/no-explicit-any + function (...args) { + const serviceFxn = this._getService.bind(this, componentName); + return serviceFxn.apply(this, component.multipleInstances ? args : []); + }; + } + return component.type === "PUBLIC" /* ComponentType.PUBLIC */ + ? // eslint-disable-next-line @typescript-eslint/no-explicit-any + namespace[componentNameWithoutCompat] + : null; + } + // Map the requested service to a registered service name + // (used to map auth to serverAuth service when needed). + function useAsService(app, name) { + if (name === 'serverAuth') { + return null; + } + const useService = name; + return useService; + } + return namespace; +} + +/** + * @license + * Copyright 2019 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +function createFirebaseNamespaceLite() { + const namespace = createFirebaseNamespaceCore(FirebaseAppLiteImpl); + namespace.SDK_VERSION = `${namespace.SDK_VERSION}_LITE`; + const registerComponent = namespace.INTERNAL.registerComponent; + namespace.INTERNAL.registerComponent = registerComponentForLite; + /** + * This is a special implementation, so it only works with performance. + * only allow performance SDK to register. + */ + function registerComponentForLite( + // eslint-disable-next-line @typescript-eslint/no-explicit-any + component) { + // only allow performance to register with firebase lite + if (component.type === "PUBLIC" /* ComponentType.PUBLIC */ && + !component.name.includes('performance') && + !component.name.includes('installations')) { + throw Error(`${name} cannot register with the standalone perf instance`); + } + return registerComponent(component); + } + return namespace; +} + +const name$1 = "@firebase/app-compat"; +const version = "0.5.5"; + +/** + * @license + * Copyright 2019 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +function registerCoreComponents(variant) { + // Register `app` package. + registerVersion(name$1, version, variant); +} + +/** + * @license + * Copyright 2019 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +const firebase = createFirebaseNamespaceLite(); +registerCoreComponents('lite'); + +export { firebase as default }; +//# sourceMappingURL=index.lite.js.map |
