11import { InjectionToken , NgZone , NgModule , Optional } from '@angular/core' ;
22
3- import { FirebaseOptionsToken , FirebaseAppNameToken , FirebaseAppConfigToken } from './angularfire2' ;
3+ import { FirebaseOptionsToken , FirebaseNameOrConfigToken } from './angularfire2' ;
44
55import firebase from '@firebase/app' ;
66import { FirebaseApp as _FirebaseApp , FirebaseOptions , FirebaseAppConfig } from '@firebase/app-types' ;
@@ -22,12 +22,10 @@ export class FirebaseApp implements _FirebaseApp {
2222 firestore : ( ) => FirebaseFirestore ;
2323}
2424
25- export function _firebaseAppFactory ( options : FirebaseOptions , name ?: string , appConfig ?: FirebaseAppConfig ) : FirebaseApp {
26- const config = appConfig || { } ;
27- if ( name && config . name && config . name !== name ) {
28- console . warn ( 'FirebaseAppNameToken and FirebaseAppConfigToken.name don\'t match, FirebaseAppNameToken takes precedence.' ) ;
29- }
30- config . name = name || config . name || '[DEFAULT]' ;
25+ export function _firebaseAppFactory ( options : FirebaseOptions , nameOrConfig ?: string | FirebaseAppConfig ) {
26+ const name = typeof nameOrConfig === 'string' && nameOrConfig || '[DEFAULT]' ;
27+ const config = typeof nameOrConfig === 'object' && nameOrConfig || { } ;
28+ config . name = config . name || name ;
3129 const existingApp = firebase . apps . filter ( app => app . name === config . name ) [ 0 ] ;
3230 return ( existingApp || firebase . initializeApp ( options , config ) ) as FirebaseApp ;
3331}
@@ -37,24 +35,20 @@ const FirebaseAppProvider = {
3735 useFactory : _firebaseAppFactory ,
3836 deps : [
3937 FirebaseOptionsToken ,
40- [ new Optional ( ) , FirebaseAppNameToken ] ,
41- [ new Optional ( ) , FirebaseAppConfigToken ]
38+ [ new Optional ( ) , FirebaseNameOrConfigToken ]
4239 ]
4340} ;
4441
4542@NgModule ( {
4643 providers : [ FirebaseAppProvider ] ,
4744} )
4845export class AngularFireModule {
49- static initializeApp ( options : FirebaseOptions , appNameOrConfig ?: string | FirebaseAppConfig ) {
50- const name = typeof appNameOrConfig === 'string' && appNameOrConfig || undefined
51- const config = typeof appNameOrConfig === 'object' && appNameOrConfig || undefined
46+ static initializeApp ( options : FirebaseOptions , nameOrConfig ?: string | FirebaseAppConfig ) {
5247 return {
5348 ngModule : AngularFireModule ,
5449 providers : [
55- { provide : FirebaseOptionsToken , useValue : options } ,
56- { provide : FirebaseAppNameToken , useValue : name } ,
57- { provide : FirebaseAppConfigToken , useValue : config }
50+ { provide : FirebaseOptionsToken , useValue : options } ,
51+ { provide : FirebaseNameOrConfigToken , useValue : nameOrConfig }
5852 ]
5953 }
6054 }
0 commit comments