Skip to content

Commit

Permalink
feat(): Support Firebase JS SDK 5.0 (#1628)
Browse files Browse the repository at this point in the history
  • Loading branch information
jamesdaniels authored and davideast committed May 12, 2018
1 parent 57906bd commit b99bfa3
Show file tree
Hide file tree
Showing 6 changed files with 95 additions and 84 deletions.
1 change: 0 additions & 1 deletion karma.conf.js
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,6 @@ module.exports = function(config) {

'karma-test-shim.js',
'node_modules/firebase/firebase.js',
'node_modules/firebase/firebase-firestore.js',
'dist/packages-dist/bundles/core.umd.{js,map}',
'dist/packages-dist/bundles/auth.umd.{js,map}',
'dist/packages-dist/bundles/database.umd.{js,map}',
Expand Down
24 changes: 12 additions & 12 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -34,19 +34,19 @@
"@angular/core": "^5.0.0",
"@angular/platform-browser": "^5.0.0",
"@angular/platform-browser-dynamic": "^5.0.0",
"@firebase/app": "^0.2.0",
"@firebase/app-types": "^0.2.0",
"@firebase/auth": "^0.4.2",
"@firebase/auth-types": "^0.2.1",
"@firebase/database": "^0.2.2",
"@firebase/database-types": "^0.2.1",
"@firebase/firestore": "^0.4.1",
"@firebase/firestore-types": "^0.3.0",
"@firebase/messaging-types": "^0.1.3",
"@firebase/storage": "^0.1.9",
"@firebase/storage-types": "^0.1.3",
"@firebase/app": "^0.3.1",
"@firebase/app-types": "^0.3.1",
"@firebase/auth": "^0.5.2",
"@firebase/auth-types": "^0.3.2",
"@firebase/database": "^0.3.1",
"@firebase/database-types": "^0.3.1",
"@firebase/firestore": "^0.5.2",
"@firebase/firestore-types": "^0.4.1",
"@firebase/messaging-types": "^0.2.2",
"@firebase/storage": "^0.2.2",
"@firebase/storage-types": "^0.2.2",
"bufferutil": "^3.0.3",
"firebase": "^4.13.0",
"firebase": "^5.0.2",
"rxjs": "^5.5.4",
"utf-8-validate": "^4.0.0",
"ws": "^3.3.2",
Expand Down
4 changes: 2 additions & 2 deletions src/firestore/collection/changes.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ export function docChanges(query: Query): Observable<DocumentChangeAction[]> {
return fromCollectionRef(query)
.pipe(
map(action =>
action.payload.docChanges
action.payload.docChanges()
.map(change => ({ type: change.type, payload: change }))));
}

Expand All @@ -25,7 +25,7 @@ export function docChanges(query: Query): Observable<DocumentChangeAction[]> {
export function sortedChanges(query: Query, events: DocumentChangeType[]): Observable<DocumentChangeAction[]> {
return fromCollectionRef(query)
.pipe(
map(changes => changes.payload.docChanges),
map(changes => changes.payload.docChanges()),
scan((current, changes) => combineChanges(current, changes, events), []),
map(changes => changes.map(c => ({ type: c.type, payload: c }))));
}
Expand Down
15 changes: 8 additions & 7 deletions src/storage/storage.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -60,13 +60,14 @@ describe('AngularFireStorage', () => {
const data = { angular: "fire" };
const blob = new Blob([JSON.stringify(data)], { type : 'application/json' });
const ref = afStorage.ref('af.json');
const task = ref.put(blob);
const url$ = task.downloadURL();
url$.subscribe(
url => { expect(url).toBeDefined(); },
e => { done.fail(); },
() => { ref.delete().subscribe(done, done.fail); }
);
const task = ref.put(blob).then(() => {;
const url$ = ref.getDownloadURL();
url$.subscribe(
url => { expect(url).toBeDefined(); },
e => { done.fail(); },
() => { ref.delete().subscribe(done, done.fail); }
);
});
});

it('should resolve the task as a promise', (done) => {
Expand Down
2 changes: 0 additions & 2 deletions src/storage/task.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@ export interface AngularFireUploadTask {
task: UploadTask,
snapshotChanges(): Observable<UploadTaskSnapshot | undefined>;
percentageChanges(): Observable<number | undefined>;
downloadURL(): Observable<string | null>;
pause(): boolean;
cancel(): boolean;
resume(): boolean;
Expand All @@ -35,7 +34,6 @@ export function createUploadTask(task: UploadTask): AngularFireUploadTask {
cancel: task.cancel.bind(task),
resume: task.resume.bind(task),
snapshotChanges: () => inner$,
downloadURL: () => from(task.then(s => s.downloadURL)),
percentageChanges: () => inner$.pipe(
map(s => s.bytesTransferred / s.totalBytes * 100)
)
Expand Down
133 changes: 73 additions & 60 deletions yarn.lock
Original file line number Diff line number Diff line change
Expand Up @@ -49,17 +49,36 @@
tslib "^1.7.1"
xhr2 "^0.1.4"

"@firebase/app-types@0.2.0", "@firebase/app-types@^0.2.0":
version "0.2.0"
resolved "https://registry.yarnpkg.com/@firebase/app-types/-/app-types-0.2.0.tgz#2a0e9c433d5f39e428358c5cd8065010d5a07985"
"@firebase/app-types@0.3.1", "@firebase/app-types@^0.3.1":
version "0.3.1"
resolved "https://registry.yarnpkg.com/@firebase/app-types/-/app-types-0.3.1.tgz#df4e79c38f759e606a421e866cecb7da4577b606"

"@firebase/app@0.2.0", "@firebase/app@^0.2.0":
version "0.2.0"
resolved "https://registry.yarnpkg.com/@firebase/app/-/app-0.2.0.tgz#015c270f07be2b01cf64129a2d0f9b3b87f3c135"
"@firebase/app@0.3.1", "@firebase/app@^0.3.1":
version "0.3.1"
resolved "https://registry.yarnpkg.com/@firebase/app/-/app-0.3.1.tgz#282a217bc904fd5168e43c3e2d30e6658ceca278"
dependencies:
"@firebase/app-types" "0.2.0"
"@firebase/util" "0.1.11"
"@firebase/app-types" "0.3.1"
"@firebase/util" "0.2.0"
dom-storage "2.1.0"
tslib "1.9.0"
xmlhttprequest "1.8.0"
"@firebase/auth-types@0.3.2", "@firebase/auth-types@^0.3.2":
version "0.3.2"
resolved "https://registry.yarnpkg.com/@firebase/auth-types/-/auth-types-0.3.2.tgz#fc636084eb82cb098e4e76efc5fffd315e22abdd"

"@firebase/auth@0.5.2", "@firebase/auth@^0.5.2":
version "0.5.2"
resolved "https://registry.yarnpkg.com/@firebase/auth/-/auth-0.5.2.tgz#f4d7b699e21523b412f5af21a5507f44625d056c"
dependencies:
"@firebase/auth-types" "0.3.2"

"@firebase/database-types@0.3.1", "@firebase/database-types@^0.3.1":
version "0.3.1"
resolved "https://registry.yarnpkg.com/@firebase/database-types/-/database-types-0.3.1.tgz#4a15423f3b2cb3bed111f5a353c5c1bb2e2787ba"

"@firebase/database@0.3.1", "@firebase/database@^0.3.1":
version "0.3.1"
resolved "https://registry.yarnpkg.com/@firebase/database/-/database-0.3.1.tgz#1ca0797b8e9a243d383d31b1873373b84a2048b9"

"@firebase/auth-types@0.2.1", "@firebase/auth-types@^0.2.1":
version "0.2.1"
Expand All @@ -78,53 +97,48 @@
"@firebase/database@0.2.2", "@firebase/database@^0.2.2":
version "0.2.2"
resolved "https://registry.yarnpkg.com/@firebase/database/-/database-0.2.2.tgz#a8a0709644d7f281b400e983c71c8c65fba90c70"
dependencies:
"@firebase/database-types" "0.2.1"
"@firebase/logger" "0.1.1"
"@firebase/util" "0.1.11"
faye-websocket "0.11.1"
tslib "1.9.0"

"@firebase/firestore-types@0.3.0", "@firebase/firestore-types@^0.3.0":
version "0.3.0"
resolved "https://registry.yarnpkg.com/@firebase/firestore-types/-/firestore-types-0.3.0.tgz#9df0af784145c568c6d306eda1dd25198b5a2b50"
"@firebase/firestore-types@0.4.1", "@firebase/firestore-types@^0.4.1":

"@firebase/firestore@0.4.1", "@firebase/firestore@^0.4.1":
version "0.4.1"
resolved "https://registry.yarnpkg.com/@firebase/firestore/-/firestore-0.4.1.tgz#c42e0c7aebab96eecec5e8ac4a3fe944d573458f"
resolved "https://registry.yarnpkg.com/@firebase/firestore-types/-/firestore-types-0.4.1.tgz#9a96dff26f0537b13ff119b5e7ab4bddad2068d1"

"@firebase/firestore@0.5.2", "@firebase/firestore@^0.5.2":
version "0.5.2"
resolved "https://registry.yarnpkg.com/@firebase/firestore/-/firestore-0.5.2.tgz#92dcbc604e41d97d371e115280f917dbdeaab21a"
dependencies:
"@firebase/firestore-types" "0.3.0"
"@firebase/firestore-types" "0.4.1"
"@firebase/logger" "0.1.1"
"@firebase/webchannel-wrapper" "0.2.8"
grpc "1.10.1"
tslib "1.9.0"

"@firebase/functions-types@0.1.2":
version "0.1.2"
resolved "https://registry.yarnpkg.com/@firebase/functions-types/-/functions-types-0.1.2.tgz#f291b2945218a97d9ab0e20f2fdec2cef6f90f94"

"@firebase/functions-types@0.1.1":
version "0.1.1"
resolved "https://registry.yarnpkg.com/@firebase/functions-types/-/functions-types-0.1.1.tgz#3b2176bdb30a4682321eb2ff79e796f6d9c010e0"

"@firebase/functions@0.1.1":
version "0.1.1"
resolved "https://registry.yarnpkg.com/@firebase/functions/-/functions-0.1.1.tgz#5b351c24de82db823dda1c82d25b76fe5c176141"
"@firebase/functions@0.2.2":
version "0.2.2"
resolved "https://registry.yarnpkg.com/@firebase/functions/-/functions-0.2.2.tgz#fd919deede5ec48870ecf751e4300066fc9424dc"
dependencies:
"@firebase/functions-types" "0.1.1"
"@firebase/messaging-types" "0.1.3"
"@firebase/functions-types" "0.1.2"
"@firebase/messaging-types" "0.2.2"
isomorphic-fetch "2.2.1"

"@firebase/logger@0.1.1":
version "0.1.1"
resolved "https://registry.yarnpkg.com/@firebase/logger/-/logger-0.1.1.tgz#af5df54253286993f4b367c3dabe569c848860d3"

"@firebase/messaging-types@0.1.3", "@firebase/messaging-types@^0.1.3":
version "0.1.3"
resolved "https://registry.yarnpkg.com/@firebase/messaging-types/-/messaging-types-0.1.3.tgz#0a80c69c8f791e3aa94b28f4d2e296d0ea2571bc"
"@firebase/messaging-types@0.2.2", "@firebase/messaging-types@^0.2.2":
version "0.2.2"
resolved "https://registry.yarnpkg.com/@firebase/messaging-types/-/messaging-types-0.2.2.tgz#7d97abb87b599445f09df0085cbd89e9405984c6"

"@firebase/messaging@0.2.4":
version "0.2.4"
resolved "https://registry.yarnpkg.com/@firebase/messaging/-/messaging-0.2.4.tgz#f6404c82f7cb86538f5fa62b4549b28a4edb9f90"
"@firebase/messaging@0.3.2":
version "0.3.2"
resolved "https://registry.yarnpkg.com/@firebase/messaging/-/messaging-0.3.2.tgz#4851b41773deb890f6919a67270d3fd34863756b"
dependencies:
"@firebase/messaging-types" "0.1.3"
"@firebase/util" "0.1.11"
"@firebase/messaging-types" "0.2.2"
"@firebase/util" "0.2.0"
tslib "1.9.0"

"@firebase/polyfill@0.3.1":
Expand All @@ -135,20 +149,20 @@
promise-polyfill "7.1.2"
whatwg-fetch "2.0.4"

"@firebase/storage-types@0.1.3", "@firebase/storage-types@^0.1.3":
version "0.1.3"
resolved "https://registry.yarnpkg.com/@firebase/storage-types/-/storage-types-0.1.3.tgz#3e68942c5aab9f5f7180a797dff22d239821668e"
"@firebase/storage-types@0.2.2", "@firebase/storage-types@^0.2.2":
version "0.2.2"
resolved "https://registry.yarnpkg.com/@firebase/storage-types/-/storage-types-0.2.2.tgz#14b56a3b61005e72dfd9ac3ec6bcb160bc3736d3"

"@firebase/storage@0.1.9", "@firebase/storage@^0.1.9":
version "0.1.9"
resolved "https://registry.yarnpkg.com/@firebase/storage/-/storage-0.1.9.tgz#1a32bd3f48a98f7eb1472cb3e5e4e37e04464c48"
"@firebase/storage@0.2.2", "@firebase/storage@^0.2.2":
version "0.2.2"
resolved "https://registry.yarnpkg.com/@firebase/storage/-/storage-0.2.2.tgz#97a90e41b008f6c3b6193e7fed1f4afd3cfda8b4"
dependencies:
"@firebase/storage-types" "0.1.3"
"@firebase/storage-types" "0.2.2"
tslib "1.9.0"

"@firebase/util@0.1.11":
version "0.1.11"
resolved "https://registry.yarnpkg.com/@firebase/util/-/util-0.1.11.tgz#9990dff53930aa9fcae31494ebe8de5c5b8e815c"
"@firebase/util@0.2.0":
version "0.2.0"
resolved "https://registry.yarnpkg.com/@firebase/util/-/util-0.2.0.tgz#b9e176703deda671b823522759f88f8356aaf624"
dependencies:
tslib "1.9.0"

Expand Down Expand Up @@ -1904,20 +1918,19 @@ fined@^1.0.1:
object.pick "^1.2.0"
parse-filepath "^1.0.1"

firebase@^4.13.0:
version "4.13.1"
resolved "https://registry.yarnpkg.com/firebase/-/firebase-4.13.1.tgz#87ab64bbb7f707244fb878f2a28235b0e3aed3ec"
dependencies:
"@firebase/app" "0.2.0"
"@firebase/auth" "0.4.2"
"@firebase/database" "0.2.2"
"@firebase/firestore" "0.4.1"
"@firebase/functions" "0.1.1"
"@firebase/messaging" "0.2.4"

firebase@^5.0.2:
version "5.0.2"
resolved "https://registry.yarnpkg.com/firebase/-/firebase-5.0.2.tgz#5c0d647acc10552d15169e5f8482413aff1264cb"
dependencies:
"@firebase/app" "0.3.1"
"@firebase/auth" "0.5.2"
"@firebase/database" "0.3.1"
"@firebase/firestore" "0.5.2"
"@firebase/functions" "0.2.2"
"@firebase/messaging" "0.3.2"
"@firebase/polyfill" "0.3.1"
"@firebase/storage" "0.1.9"
dom-storage "2.1.0"
xmlhttprequest "1.8.0"
"@firebase/storage" "0.2.2"

first-chunk-stream@^1.0.0:
version "1.0.0"
Expand Down

0 comments on commit b99bfa3

Please sign in to comment.