UNPKG

@tangential/firebase-util

Version:

Utility classes and shared functionality for Tangential services that use Firebase.

40 lines 4.98 kB
import { Injectable } from '@angular/core'; import { getApp, initializeApp } from "firebase/app"; import { getDatabase } from 'firebase/database'; import { FirebaseConfig } from './firebase-config'; import * as i0 from "@angular/core"; import * as i1 from "./firebase-config"; /** * With the new function route in Firebase 9, this is basically useless. Possibly worse than useless given the complications that * injecting multiple providers involve. */ export class FirebaseProvider { constructor(config) { this.config = config; const name = 'defaultDb'; if (!config || !config.apiKey) { console.log('FirebaseProvider', 'constructor', config); throw new Error('FirebaseProvider requires an instance of FirebaseConfig to be set as a provider in your module.'); } try { this.app = initializeApp(config, name); } catch (e) { // re-init happens in unit tests. console.log("FirebaseProvider', 'Reinitializing firebase - if you're not running unit tests this is bad."); this.app = getApp(name); } } /** * refactoring stub so we can inline later, hopefully. */ getDatabase() { return getDatabase(this.app); } } FirebaseProvider.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: FirebaseProvider, deps: [{ token: i1.FirebaseConfig }], target: i0.ɵɵFactoryTarget.Injectable }); FirebaseProvider.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: FirebaseProvider }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: FirebaseProvider, decorators: [{ type: Injectable }], ctorParameters: function () { return [{ type: i1.FirebaseConfig }]; } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlyZWJhc2UtcHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nZW50aWFsL2ZpcmViYXNlLXV0aWwvc3JjL2xpYi9maXJlYmFzZS1wcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFBO0FBSXhDLE9BQU8sRUFBQyxNQUFNLEVBQUUsYUFBYSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3BELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUVoRCxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sbUJBQW1CLENBQUE7OztBQUVoRDs7O0dBR0c7QUFFSCxNQUFNLE9BQU8sZ0JBQWdCO0lBSTNCLFlBQW9CLE1BQXNCO1FBQXRCLFdBQU0sR0FBTixNQUFNLENBQWdCO1FBQ3hDLE1BQU0sSUFBSSxHQUFVLFdBQVcsQ0FBQTtRQUUvQixJQUFJLENBQUMsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRTtZQUM3QixPQUFPLENBQUMsR0FBRyxDQUFDLGtCQUFrQixFQUFFLGFBQWEsRUFBRSxNQUFNLENBQUMsQ0FBQTtZQUN0RCxNQUFNLElBQUksS0FBSyxDQUFDLGlHQUFpRyxDQUFDLENBQUE7U0FDbkg7UUFDRCxJQUFJO1lBQ0YsSUFBSSxDQUFDLEdBQUcsR0FBRyxhQUFhLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDO1NBQ3hDO1FBQUMsT0FBTyxDQUFDLEVBQUU7WUFDVixpQ0FBaUM7WUFDakMsT0FBTyxDQUFDLEdBQUcsQ0FBQyw2RkFBNkYsQ0FBQyxDQUFBO1lBQzFHLElBQUksQ0FBQyxHQUFHLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFBO1NBQ3hCO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0gsV0FBVztRQUNULE9BQU8sV0FBVyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQTtJQUM5QixDQUFDOzs4R0F6QlUsZ0JBQWdCO2tIQUFoQixnQkFBZ0I7NEZBQWhCLGdCQUFnQjtrQkFENUIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0YWJsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcblxuaW1wb3J0IHtGaXJlYmFzZUFwcH0gZnJvbSAnQGZpcmViYXNlL2FwcCdcbmltcG9ydCB7RGF0YWJhc2V9IGZyb20gJ0BmaXJlYmFzZS9kYXRhYmFzZSdcbmltcG9ydCB7Z2V0QXBwLCBpbml0aWFsaXplQXBwIH0gZnJvbSBcImZpcmViYXNlL2FwcFwiO1xuaW1wb3J0IHsgZ2V0RGF0YWJhc2UgfSBmcm9tICdmaXJlYmFzZS9kYXRhYmFzZSc7XG5cbmltcG9ydCB7RmlyZWJhc2VDb25maWd9IGZyb20gJy4vZmlyZWJhc2UtY29uZmlnJ1xuXG4vKipcbiAqIFdpdGggdGhlIG5ldyBmdW5jdGlvbiByb3V0ZSBpbiBGaXJlYmFzZSA5LCB0aGlzIGlzIGJhc2ljYWxseSB1c2VsZXNzLiBQb3NzaWJseSB3b3JzZSB0aGFuIHVzZWxlc3MgZ2l2ZW4gdGhlIGNvbXBsaWNhdGlvbnMgdGhhdFxuICogaW5qZWN0aW5nIG11bHRpcGxlIHByb3ZpZGVycyBpbnZvbHZlLlxuICovXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRmlyZWJhc2VQcm92aWRlciB7XG5cbiAgcHVibGljIGFwcDogRmlyZWJhc2VBcHBcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNvbmZpZzogRmlyZWJhc2VDb25maWcpIHtcbiAgICBjb25zdCBuYW1lOnN0cmluZyA9ICdkZWZhdWx0RGInXG5cbiAgICBpZiAoIWNvbmZpZyB8fCAhY29uZmlnLmFwaUtleSkge1xuICAgICAgY29uc29sZS5sb2coJ0ZpcmViYXNlUHJvdmlkZXInLCAnY29uc3RydWN0b3InLCBjb25maWcpXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ZpcmViYXNlUHJvdmlkZXIgcmVxdWlyZXMgYW4gaW5zdGFuY2Ugb2YgRmlyZWJhc2VDb25maWcgdG8gYmUgc2V0IGFzIGEgcHJvdmlkZXIgaW4geW91ciBtb2R1bGUuJylcbiAgICB9XG4gICAgdHJ5IHtcbiAgICAgIHRoaXMuYXBwID0gaW5pdGlhbGl6ZUFwcChjb25maWcsIG5hbWUpO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIC8vIHJlLWluaXQgaGFwcGVucyBpbiB1bml0IHRlc3RzLlxuICAgICAgY29uc29sZS5sb2coXCJGaXJlYmFzZVByb3ZpZGVyJywgJ1JlaW5pdGlhbGl6aW5nIGZpcmViYXNlIC0gaWYgeW91J3JlIG5vdCBydW5uaW5nIHVuaXQgdGVzdHMgdGhpcyBpcyBiYWQuXCIpXG4gICAgICB0aGlzLmFwcCA9IGdldEFwcChuYW1lKVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiByZWZhY3RvcmluZyBzdHViIHNvIHdlIGNhbiBpbmxpbmUgbGF0ZXIsIGhvcGVmdWxseS5cbiAgICovXG4gIGdldERhdGFiYXNlKCk6IERhdGFiYXNle1xuICAgIHJldHVybiBnZXREYXRhYmFzZSh0aGlzLmFwcClcbiAgfVxufVxuIl19