1
1
import { InjectionToken , NgZone , NgModule , Optional } from '@angular/core' ;
2
2
3
- import { FirebaseOptionsToken , FirebaseAppNameToken , FirebaseAppConfigToken } from './angularfire2' ;
3
+ import { FirebaseOptionsToken , FirebaseNameOrConfigToken } from './angularfire2' ;
4
4
5
5
import firebase from '@firebase/app' ;
6
6
import { FirebaseApp as _FirebaseApp , FirebaseOptions , FirebaseAppConfig } from '@firebase/app-types' ;
@@ -22,12 +22,10 @@ export class FirebaseApp implements _FirebaseApp {
22
22
firestore : ( ) => FirebaseFirestore ;
23
23
}
24
24
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 ;
31
29
const existingApp = firebase . apps . filter ( app => app . name === config . name ) [ 0 ] ;
32
30
return ( existingApp || firebase . initializeApp ( options , config ) ) as FirebaseApp ;
33
31
}
@@ -37,24 +35,20 @@ const FirebaseAppProvider = {
37
35
useFactory : _firebaseAppFactory ,
38
36
deps : [
39
37
FirebaseOptionsToken ,
40
- [ new Optional ( ) , FirebaseAppNameToken ] ,
41
- [ new Optional ( ) , FirebaseAppConfigToken ]
38
+ [ new Optional ( ) , FirebaseNameOrConfigToken ]
42
39
]
43
40
} ;
44
41
45
42
@NgModule ( {
46
43
providers : [ FirebaseAppProvider ] ,
47
44
} )
48
45
export 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 ) {
52
47
return {
53
48
ngModule : AngularFireModule ,
54
49
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 }
58
52
]
59
53
}
60
54
}
0 commit comments