Skip to content

Commit ee36144

Browse files
committed
Export FirebaseApp
1 parent 345e23c commit ee36144

File tree

15 files changed

+1384
-940
lines changed

15 files changed

+1384
-940
lines changed

package.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,6 @@
3434
"@angular/core": "^5.0.0",
3535
"@angular/platform-browser": "^5.0.0",
3636
"@angular/platform-browser-dynamic": "^5.0.0",
37-
"bufferutil": "^3.0.3",
3837
"@firebase/app": "^0.1.6",
3938
"@firebase/app-types": "^0.1.1",
4039
"@firebase/auth": "^0.3.2",
@@ -46,12 +45,13 @@
4645
"@firebase/messaging-types": "^0.1.1",
4746
"@firebase/storage": "^0.1.6",
4847
"@firebase/storage-types": "^0.1.1",
48+
"bufferutil": "^3.0.3",
4949
"firebase": "^4.8.2",
5050
"rxjs": "^5.5.4",
5151
"utf-8-validate": "^4.0.0",
5252
"ws": "^3.3.2",
53-
"zone.js": "^0.8.0",
54-
"xmlhttprequest": "^1.8.0"
53+
"xmlhttprequest": "^1.8.0",
54+
"zone.js": "^0.8.0"
5555
},
5656
"devDependencies": {
5757
"@angular/compiler-cli": "^5.0.0",

src/auth/auth.spec.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
import { FirebaseApp } from '@firebase/app-types';
21
import { User } from '@firebase/auth-types';
32
import { ReflectiveInjector, Provider } from '@angular/core';
43
import { Observable } from 'rxjs/Observable'
@@ -8,7 +7,7 @@ import { TestBed, inject } from '@angular/core/testing';
87
import { _do } from 'rxjs/operator/do';
98
import { take } from 'rxjs/operator/take';
109
import { skip } from 'rxjs/operator/skip';
11-
import { FirebaseAppConfig, AngularFireModule, FirebaseAppName } from 'angularfire2';
10+
import { FirebaseApp, FirebaseAppConfig, AngularFireModule, FirebaseAppName } from 'angularfire2';
1211
import { AngularFireAuth, AngularFireAuthModule } from 'angularfire2/auth';
1312
import { COMMON_CONFIG } from './test-config';
1413

src/auth/auth.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ export class AngularFireAuth {
3333
@Optional() @Inject(FirebaseAppName) name:string
3434
) {
3535
const app = _firebaseAppFactory(config, name);
36-
this.auth = app.auth!();
36+
this.auth = app.auth();
3737

3838
const authStateZone = new NgZone({});
3939
this.authState = authStateZone.runOutsideAngular(() => {

src/core/angularfire2.spec.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,8 @@
11

22
import { Reference } from '@firebase/database-types';
3-
import { FirebaseApp } from '@firebase/app-types';
43
import { TestBed, inject, withModule, async } from '@angular/core/testing';
54
import { ReflectiveInjector, Provider, PlatformRef, NgModule, Compiler, ApplicationRef, CompilerFactory } from '@angular/core';
6-
import { FirebaseAppConfig, AngularFireModule } from 'angularfire2';
5+
import { FirebaseApp, FirebaseAppConfig, AngularFireModule } from 'angularfire2';
76
import { Subscription } from 'rxjs/Subscription';
87
import { COMMON_CONFIG } from './test-config';
98
import { BrowserModule } from '@angular/platform-browser';

src/core/angularfire2.ts

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,6 @@ import { queue } from 'rxjs/scheduler/queue';
66
import firebase from '@firebase/app';
77
import { FirebaseApp, FirebaseOptions } from '@firebase/app-types';
88

9-
export function _firebaseAppFactory(config: FirebaseOptions, name?: string): FirebaseApp {
10-
const appName = name || '[DEFAULT]';
11-
const existingApp = firebase.apps.filter(app => app.name == appName)[0];
12-
return existingApp || firebase.initializeApp(config, appName);
13-
}
14-
159
export const FirebaseAppName = new InjectionToken<string>('angularfire2.appName');
1610
export const FirebaseAppConfig = new InjectionToken<FirebaseOptions>('angularfire2.config');
1711

src/core/firebase.app.module.ts

Lines changed: 26 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,31 @@
11
import { InjectionToken, NgZone, NgModule } from '@angular/core';
2-
import { FirebaseApp, FirebaseOptions } from '@firebase/app-types';
32

4-
import { _firebaseAppFactory, FirebaseAppConfig, FirebaseAppName } from './angularfire2';
3+
import { FirebaseAppConfig, FirebaseAppName } from './angularfire2';
4+
5+
import firebase from '@firebase/app';
6+
import { FirebaseApp as _FirebaseApp, FirebaseOptions } from '@firebase/app-types';
7+
import { FirebaseAuth } from '@firebase/auth-types';
8+
import { FirebaseDatabase } from '@firebase/database-types';
9+
import { FirebaseMessaging } from '@firebase/messaging-types';
10+
import { FirebaseStorage } from '@firebase/storage-types';
11+
import { FirebaseFirestore } from '@firebase/firestore-types';
12+
13+
export class FirebaseApp implements _FirebaseApp {
14+
name: string;
15+
options: {};
16+
auth: () => FirebaseAuth;
17+
database: (databaseURL?: string) => FirebaseDatabase;
18+
messaging: () => FirebaseMessaging;
19+
storage: (storageBucket?: string) => FirebaseStorage;
20+
delete: () => Promise<void>;
21+
firestore: () => FirebaseFirestore;
22+
}
23+
24+
export function _firebaseAppFactory(config: FirebaseOptions, name?: string): FirebaseApp {
25+
const appName = name || '[DEFAULT]';
26+
const existingApp = firebase.apps.filter(app => app.name == appName)[0] as FirebaseApp;
27+
return existingApp || firebase.initializeApp(config, appName) as FirebaseApp;
28+
}
529

630
const FirebaseAppProvider = {
731
provide: FirebaseApp,

src/database-deprecated/database.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ export class AngularFireDatabase {
2424
@Optional() @Inject(RealtimeDatabaseURL) databaseURL:string
2525
) {
2626
const app = _firebaseAppFactory(config, name);
27-
this.database = app.database!(databaseURL || undefined);
27+
this.database = app.database(databaseURL || undefined);
2828
}
2929

3030
list(pathOrRef: PathReference, opts?:FirebaseListFactoryOpts):FirebaseListObservable<any[]> {

src/database/database.spec.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
1-
import { FirebaseApp } from '@firebase/app-types';
2-
import { FirebaseAppConfig, AngularFireModule, FirebaseAppName } from 'angularfire2';
1+
import { FirebaseApp, FirebaseAppConfig, AngularFireModule, FirebaseAppName } from 'angularfire2';
32
import { AngularFireDatabase, AngularFireDatabaseModule, RealtimeDatabaseURL } from 'angularfire2/database';
43
import { TestBed, inject } from '@angular/core/testing';
54
import { COMMON_CONFIG } from './test-config';

src/database/database.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import { FirebaseDatabase } from '@firebase/database-types';
33
import { PathReference, DatabaseQuery, DatabaseReference, DatabaseSnapshot, ChildEvent, ListenEvent, QueryFn, AngularFireList, AngularFireObject } from './interfaces';
44
import { getRef } from './utils';
55
import { InjectionToken } from '@angular/core';
6-
import { FirebaseApp, FirebaseOptions } from '@firebase/app-types';
6+
import { FirebaseOptions } from '@firebase/app-types';
77
import { createListReference } from './list/create-reference';
88
import { createObjectReference } from './object/create-reference';
99
import { FirebaseAppConfig, FirebaseAppName, RealtimeDatabaseURL, _firebaseAppFactory } from 'angularfire2';
@@ -18,7 +18,7 @@ export class AngularFireDatabase {
1818
@Optional() @Inject(RealtimeDatabaseURL) databaseURL:string
1919
) {
2020
const app = _firebaseAppFactory(config, name);
21-
this.database = app.database!(databaseURL || undefined);
21+
this.database = app.database(databaseURL || undefined);
2222
}
2323

2424
list<T>(pathOrRef: PathReference, queryFn?: QueryFn): AngularFireList<T> {

src/firestore/firestore.spec.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
1-
import { FirebaseApp } from '@firebase/app-types';
2-
import { FirebaseAppConfig, AngularFireModule, FirebaseAppName } from 'angularfire2';
1+
import { FirebaseApp, FirebaseAppConfig, AngularFireModule, FirebaseAppName } from 'angularfire2';
32
import { AngularFirestore } from './firestore';
43
import { AngularFirestoreModule } from './firestore.module';
54
import { AngularFirestoreDocument } from './document/document';

src/firestore/firestore.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,7 @@ export class AngularFirestore {
110110
@Optional() @Inject(EnablePersistenceToken) shouldEnablePersistence: boolean
111111
) {
112112
const app = _firebaseAppFactory(config, name);
113-
this.firestore = app.firestore!();
113+
this.firestore = app.firestore();
114114

115115
this.persistenceEnabled$ = shouldEnablePersistence ?
116116
from(this.firestore.enablePersistence().then(() => true, () => false)) :

src/storage/storage.spec.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
1-
import { FirebaseApp } from '@firebase/app-types';
21
import { Observable } from 'rxjs/Observable'
32
import { forkJoin } from 'rxjs/observable/forkJoin';
43
import { TestBed, inject } from '@angular/core/testing';
5-
import { FirebaseAppConfig, AngularFireModule, FirebaseAppName } from 'angularfire2';
4+
import { FirebaseApp, FirebaseAppConfig, AngularFireModule, FirebaseAppName } from 'angularfire2';
65
import { AngularFireStorageModule, AngularFireStorage, AngularFireUploadTask, StorageBucket } from 'angularfire2/storage';
76
import { COMMON_CONFIG } from './test-config';
87

src/storage/storage.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ export class AngularFireStorage {
2525
@Optional() @Inject(StorageBucket) storageBucket:string
2626
) {
2727
const app = _firebaseAppFactory(config, name);
28-
this.storage = app.storage!(storageBucket || undefined);
28+
this.storage = app.storage(storageBucket || undefined);
2929
}
3030

3131
ref(path: string) {

tools/build.js

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,6 @@ const GLOBALS = {
6666
'@firebase/storage': 'firebase',
6767
'@firebase/util': 'firebase',
6868
'@firebase/webchannel-wrapper': 'firebase',
69-
'@firebase/app-types': 'firebase',
7069
'rxjs/scheduler/queue': 'Rx.Scheduler',
7170
'@angular/core/testing': 'ng.core.testing',
7271
'angularfire2': 'angularfire2',

0 commit comments

Comments
 (0)