Skip to content

Commit 014be21

Browse files
jymdmanjamesdaniels
authored andcommitted
fix(storage): Update to rxjs pipeable operators (#1624)
1 parent 3fbbb7d commit 014be21

File tree

5 files changed

+32
-25
lines changed

5 files changed

+32
-25
lines changed

src/storage/observable/fromTask.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { UploadTask, UploadTaskSnapshot } from '@firebase/storage-types';
2-
import { Observable } from 'rxjs/Observable';
2+
import { Observable } from 'rxjs';
33

44
export function fromTask(task: UploadTask) {
55
return new Observable<UploadTaskSnapshot>(subscriber => {

src/storage/ref.ts

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { SettableMetadata, UploadMetadata, Reference, StringFormat } from '@firebase/storage-types';
22
import { createUploadTask, AngularFireUploadTask } from './task';
3-
import { Observable } from 'rxjs/Observable';
3+
import { Observable } from 'rxjs';
44
import { from } from 'rxjs/observable/from';
55
import { FirebaseZoneScheduler } from 'angularfire2';
66

@@ -31,9 +31,9 @@ export function createStorageRef(ref: Reference, scheduler: FirebaseZoneSchedule
3131
from(ref.getMetadata())
3232
)
3333
),
34-
delete: () => from(ref.delete()),
34+
delete: () => Observable.from(ref.delete()),
3535
child: (path: string) => createStorageRef(ref.child(path), scheduler),
36-
updateMetatdata: (meta: SettableMetadata) => from(ref.updateMetadata(meta)),
36+
updateMetatdata: (meta: SettableMetadata) => Observable.from(ref.updateMetadata(meta)),
3737
put: (data: any, metadata?: UploadMetadata) => {
3838
const task = ref.put(data, metadata);
3939
return createUploadTask(task);

src/storage/storage.spec.ts

+26-19
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
1-
import { Observable } from 'rxjs/Observable'
1+
import { Observable } from 'rxjs'
22
import { forkJoin } from 'rxjs/observable/forkJoin';
3+
import { map, mergeMap, tap } from 'rxjs/operators';
34
import { TestBed, inject } from '@angular/core/testing';
45
import { FirebaseApp, FirebaseAppConfig, AngularFireModule, FirebaseAppName } from 'angularfire2';
56
import { AngularFireStorageModule, AngularFireStorage, AngularFireUploadTask, StorageBucket } from 'angularfire2/storage';
@@ -90,12 +91,14 @@ describe('AngularFireStorage', () => {
9091
const task = ref.put(blob);
9192
// Wait for the upload
9293
const sub = forkJoin(task.snapshotChanges())
93-
// get the url download
94-
.mergeMap(() => ref.getDownloadURL())
95-
// assert the URL
96-
.do(url => expect(url).toBeDefined())
97-
// Delete the file
98-
.mergeMap(url => ref.delete())
94+
.pipe(
95+
// get the url download
96+
mergeMap(() => ref.getDownloadURL()),
97+
// assert the URL
98+
tap(url => expect(url).toBeDefined()),
99+
// Delete the file
100+
mergeMap(url => ref.delete())
101+
)
99102
// finish the test
100103
.subscribe(done, done.fail);
101104
});
@@ -107,12 +110,14 @@ describe('AngularFireStorage', () => {
107110
const task = ref.put(blob, { customMetadata: { blah: 'blah' } });
108111
// Wait for the upload
109112
const sub = forkJoin(task.snapshotChanges())
110-
// get the metadata download
111-
.mergeMap(() => ref.getMetadata())
112-
// assert the URL
113-
.do(meta => expect(meta.customMetadata).toEqual({ blah: 'blah' }))
114-
// Delete the file
115-
.mergeMap(meta => ref.delete())
113+
.pipe(
114+
// get the metadata download
115+
mergeMap(() => ref.getMetadata()),
116+
// assert the URL
117+
tap(meta => expect(meta.customMetadata).toEqual({ blah: 'blah' })),
118+
// Delete the file
119+
mergeMap(meta => ref.delete())
120+
)
116121
// finish the test
117122
.subscribe(done, done.fail);
118123
});
@@ -180,12 +185,14 @@ describe('AngularFireStorage w/options', () => {
180185
const task = ref.put(blob);
181186
// Wait for the upload
182187
const sub = forkJoin(task.snapshotChanges())
183-
// get the url download
184-
.mergeMap(() => ref.getDownloadURL())
185-
// assert the URL
186-
.do(url => expect(url).toMatch(new RegExp(`https:\\/\\/firebasestorage\\.googleapis\\.com\\/v0\\/b\\/${FIREBASE_STORAGE_BUCKET}\\/o\\/af\\.json`)))
187-
// Delete the file
188-
.mergeMap(url => ref.delete())
188+
.pipe(
189+
// get the url download
190+
mergeMap(() => ref.getDownloadURL()),
191+
// assert the URL
192+
tap(url => expect(url).toMatch(new RegExp(`https:\\/\\/firebasestorage\\.googleapis\\.com\\/v0\\/b\\/${FIREBASE_STORAGE_BUCKET}\\/o\\/af\\.json`))),
193+
// Delete the file
194+
mergeMap(url => ref.delete())
195+
)
189196
// finish the test
190197
.subscribe(done, done.fail);
191198
});

src/storage/storage.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import { Injectable, Inject, Optional, InjectionToken, NgZone, PLATFORM_ID } fro
22
import { FirebaseStorage, UploadMetadata } from '@firebase/storage-types';
33
import { createStorageRef, AngularFireStorageReference } from './ref';
44
import { createUploadTask, AngularFireUploadTask } from './task';
5-
import { Observable } from 'rxjs/Observable';
5+
import { Observable } from 'rxjs';
66
import { FirebaseAppConfig, FirebaseAppName, FirebaseZoneScheduler, _firebaseAppFactory } from 'angularfire2';
77
import { FirebaseOptions } from '@firebase/app-types';
88

src/storage/task.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { UploadTaskSnapshot, UploadTask } from '@firebase/storage-types';
22
import { fromTask } from './observable/fromTask';
3-
import { Observable } from 'rxjs/Observable';
3+
import { Observable } from 'rxjs';
44
import { map, filter } from 'rxjs/operators';
55
import { from } from 'rxjs/observable/from';
66

0 commit comments

Comments
 (0)