69 lines
10 KiB
JavaScript
69 lines
10 KiB
JavaScript
|
import { InjectionToken, Inject, isDevMode, NgModule, NgZone, Optional, PLATFORM_ID, VERSION as NG_VERSION } from '@angular/core';
|
||
|
import firebase from 'firebase/compat/app';
|
||
|
import { VERSION } from '@angular/fire';
|
||
|
import { FirebaseApp } from './firebase.app';
|
||
|
import * as i0 from "@angular/core";
|
||
|
export const FIREBASE_OPTIONS = new InjectionToken('angularfire2.app.options');
|
||
|
export const FIREBASE_APP_NAME = new InjectionToken('angularfire2.app.name');
|
||
|
export function ɵfirebaseAppFactory(options, zone, nameOrConfig) {
|
||
|
const name = typeof nameOrConfig === 'string' && nameOrConfig || '[DEFAULT]';
|
||
|
const config = typeof nameOrConfig === 'object' && nameOrConfig || {};
|
||
|
config.name = config.name || name;
|
||
|
// Added any due to some inconsistency between @firebase/app and firebase types
|
||
|
const existingApp = firebase.apps.filter(app => app && app.name === config.name)[0];
|
||
|
// We support FirebaseConfig, initializeApp's public type only accepts string; need to cast as any
|
||
|
// Could be solved with https://github.com/firebase/firebase-js-sdk/pull/1206
|
||
|
const app = (existingApp || zone.runOutsideAngular(() => firebase.initializeApp(options, config)));
|
||
|
try {
|
||
|
if (JSON.stringify(options) !== JSON.stringify(app.options)) {
|
||
|
const hmr = !!module.hot;
|
||
|
log('error', `${app.name} Firebase App already initialized with different options${hmr ? ', you may need to reload as Firebase is not HMR aware.' : '.'}`);
|
||
|
}
|
||
|
}
|
||
|
catch (e) { }
|
||
|
return new FirebaseApp(app);
|
||
|
}
|
||
|
const log = (level, ...args) => {
|
||
|
if (isDevMode() && typeof console !== 'undefined') {
|
||
|
console[level](...args);
|
||
|
}
|
||
|
};
|
||
|
const FIREBASE_APP_PROVIDER = {
|
||
|
provide: FirebaseApp,
|
||
|
useFactory: ɵfirebaseAppFactory,
|
||
|
deps: [
|
||
|
FIREBASE_OPTIONS,
|
||
|
NgZone,
|
||
|
[new Optional(), FIREBASE_APP_NAME]
|
||
|
]
|
||
|
};
|
||
|
export class AngularFireModule {
|
||
|
// tslint:disable-next-line:ban-types
|
||
|
constructor(platformId) {
|
||
|
firebase.registerVersion('angularfire', VERSION.full, 'core');
|
||
|
firebase.registerVersion('angularfire', VERSION.full, 'app-compat');
|
||
|
firebase.registerVersion('angular', NG_VERSION.full, platformId.toString());
|
||
|
}
|
||
|
static initializeApp(options, nameOrConfig) {
|
||
|
return {
|
||
|
ngModule: AngularFireModule,
|
||
|
providers: [
|
||
|
{ provide: FIREBASE_OPTIONS, useValue: options },
|
||
|
{ provide: FIREBASE_APP_NAME, useValue: nameOrConfig }
|
||
|
]
|
||
|
};
|
||
|
}
|
||
|
}
|
||
|
AngularFireModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.3", ngImport: i0, type: AngularFireModule, deps: [{ token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.NgModule });
|
||
|
AngularFireModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.1.3", ngImport: i0, type: AngularFireModule });
|
||
|
AngularFireModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.1.3", ngImport: i0, type: AngularFireModule, providers: [FIREBASE_APP_PROVIDER] });
|
||
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.3", ngImport: i0, type: AngularFireModule, decorators: [{
|
||
|
type: NgModule,
|
||
|
args: [{
|
||
|
providers: [FIREBASE_APP_PROVIDER]
|
||
|
}]
|
||
|
}], ctorParameters: function () { return [{ type: Object, decorators: [{
|
||
|
type: Inject,
|
||
|
args: [PLATFORM_ID]
|
||
|
}] }]; } });
|
||
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlyZWJhc2UuYXBwLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wYXQvZmlyZWJhc2UuYXBwLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsY0FBYyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQXVCLFFBQVEsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxPQUFPLElBQUksVUFBVSxFQUN2SCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLFFBQVEsTUFBTSxxQkFBcUIsQ0FBQztBQUUzQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFFN0MsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxjQUFjLENBQWtCLDBCQUEwQixDQUFDLENBQUM7QUFDaEcsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsSUFBSSxjQUFjLENBQXFCLHVCQUF1QixDQUFDLENBQUM7QUFHakcsTUFBTSxVQUFVLG1CQUFtQixDQUFDLE9BQXdCLEVBQUUsSUFBWSxFQUFFLFlBQWtEO0lBQzVILE1BQU0sSUFBSSxHQUFHLE9BQU8sWUFBWSxLQUFLLFFBQVEsSUFBSSxZQUFZLElBQUksV0FBVyxDQUFDO0lBQzdFLE1BQU0sTUFBTSxHQUFHLE9BQU8sWUFBWSxLQUFLLFFBQVEsSUFBSSxZQUFZLElBQUksRUFBRSxDQUFDO0lBQ3RFLE1BQU0sQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUM7SUFDbEMsK0VBQStFO0lBQy9FLE1BQU0sV0FBVyxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLEdBQUcsQ0FBQyxJQUFJLEtBQUssTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3BGLGtHQUFrRztJQUNsRyw2RUFBNkU7SUFDN0UsTUFBTSxHQUFHLEdBQUcsQ0FBQyxXQUFXLElBQUksSUFBSSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsT0FBTyxFQUFFLE1BQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMxRyxJQUFJO1FBQ0YsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxLQUFLLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQzNELE1BQU0sR0FBRyxHQUFHLENBQUMsQ0FBRSxNQUFjLENBQUMsR0FBRyxDQUFDO1lBQ2xDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsR0FBRyxHQUFHLENBQUMsSUFBSSwyREFBMkQsR0FBRyxDQUFDLENBQUMsQ0FBQyx3REFBd0QsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQztTQUM1SjtLQUNGO0lBQUMsT0FBTyxDQUFDLEVBQUUsR0FBRztJQUNmLE9BQU8sSUFBSSxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDOUIsQ0FBQztBQUVELE1BQU0sR0FBRyxHQUFHLENBQUMsS0FBa0MsRUFBRSxHQUFHLElBQVMsRUFBRSxFQUFFO0lBQy9ELElBQUksU0FBUyxFQUFFLElBQUksT0FBTyxPQUFPLEtBQUssV0FBVyxFQUFFO1FBQ2pELE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDO0tBQ3pCO0FBQ0gsQ0FBQyxDQUFDO0FBRUYsTUFBTSxxQkFBcUIsR0FBRztJQUM1QixPQUFPLEVBQUUsV0FBVztJQUNwQixVQUFVLEVBQUUsbUJBQW1CO0lBQy9CLElBQUksRUFBRTtRQUNKLGdCQUFnQjtRQUNoQixNQUFNO1FBQ04sQ0FBQyxJQUFJLFFBQVEsRUFBRSxFQUFFLGlCQUFpQixDQUFDO0tBQ3BDO0NBQ0YsQ0FBQztBQUtGLE1BQU0sT0FBTyxpQkFBaUI7SUFXNUIscUNBQXFDO0lBQ3JDLFlBQWlDLFVBQWtCO1FBQ2pELFFBQVEsQ0FBQyxlQUFlLENBQUMsYUFBYSxFQUFFLE9BQU8sQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDOUQsUUFBUSxDQUFDLGVBQWUsQ0FBQyxhQUFhLEVBQUUsT0FBTyxDQUFDLElBQUksRUFBRSxZQUFZLENBQUMsQ0FBQztRQUNwRSxRQUFRLENBQUMsZUFBZSxDQUFDLFNBQVMsRUFBRSxVQUFVLENBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO0lBQzlFLENBQUM7SUFmRCxNQUFNLENBQUMsYUFBYSxDQUFDLE9BQXdCLEVBQUUsWUFBMkM7UUFDeEYsT0FBTztZQUNMLFFBQVEsRUFBRSxpQkFBaUI7WUFDM0IsU0FBUyxFQUFFO2dCQUNULEVBQUMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUM7Z0JBQzlDLEVBQUMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFFBQVEsRUFBRSxZQUFZLEVBQUM7YUFDckQ7U0FDRixDQUFDO0lBQ0osQ0FBQzs7OEdBVFUsaUJBQWlCLGtCQVlSLFdBQVc7K0dBWnBCLGlCQUFpQjsrR0FBakIsaUJBQWlCLGFBRmpCLENBQUMscUJBQXFCLENBQUM7MkZBRXZCLGlCQUFpQjtrQkFIN0IsUUFBUTttQkFBQztvQkFDUixTQUFTLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQztpQkFDbkM7MERBYThDLE1BQU07MEJBQXRDLE1BQU07MkJBQUMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEluamVjdGlvblRva2VuLCBJbmplY3QsIGlzRGV2TW9kZSwgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUsIE5nWm9uZSwgT3B0aW9uYWwsIFBMQVRGT1JNX0lELCBWRVJTSU9OIGFzIE5HX1ZFUlNJT04sIFZlcnNpb25cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgZmlyZWJhc2UgZnJvbSAnZmlyZWJhc2UvY29tcGF0L2FwcCc7XG5pbXBvcnQgeyBGaXJlYmFzZU9wdGlvbnMsIEZpcmViYXNlQXBwU2V0dGluZ3MgfSBmcm9tICdmaXJlYmFzZS9hcHAnO1xuaW1wb3J0IHsgVkVSU0lPTiB9IGZyb20gJ0Bhbmd1bGFyL2ZpcmUnO1xuaW1wb3J0IHsgRmlyZWJhc2VBcHAgfSBmcm9tICcuL2ZpcmViYXNlLmFwcCc7XG5cbmV4cG9ydCBjb25zdCBGSVJFQkFTRV9PUFRJT05TID0gbmV3IEluamVjdGlvblRva2VuPEZpcmViYXNlT3B0aW9ucz4oJ2FuZ3VsYXJmaXJlMi5hcHAub3B0aW9ucycpO1xuZXhwb3J0IGNvbnN0IEZJUkVCQVNFX0FQUF9OQU1FID0gbmV3IEluamVjdGlvblRva2VuPHN0cmluZyB8IHVuZGVmaW5lZD4oJ2FuZ3VsYXJma
|