From 9c96738c5c058b368914b24b2933886e15b3714d Mon Sep 17 00:00:00 2001 From: Feiyang1 Date: Mon, 29 Jun 2020 13:52:17 -0700 Subject: [PATCH 1/3] Make onSnapshot work with rxjs observers --- packages/firestore/src/api/database.ts | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/packages/firestore/src/api/database.ts b/packages/firestore/src/api/database.ts index 248bcbc8e53..12c0c73a870 100644 --- a/packages/firestore/src/api/database.ts +++ b/packages/firestore/src/api/database.ts @@ -1169,9 +1169,9 @@ export class DocumentReference const userObserver = args[currArg] as PartialObserver< firestore.DocumentSnapshot >; - args[currArg] = userObserver.next; - args[currArg + 1] = userObserver.error; - args[currArg + 2] = userObserver.complete; + args[currArg] = userObserver.next?.bind(userObserver); + args[currArg + 1] = userObserver.error?.bind(userObserver); + args[currArg + 2] = userObserver.complete?.bind(userObserver); } else { validateArgType( 'DocumentReference.onSnapshot', @@ -2122,9 +2122,9 @@ export class Query extends BaseQuery const userObserver = args[currArg] as PartialObserver< firestore.QuerySnapshot >; - args[currArg] = userObserver.next; - args[currArg + 1] = userObserver.error; - args[currArg + 2] = userObserver.complete; + args[currArg] = userObserver.next?.bind(userObserver); + args[currArg + 1] = userObserver.error?.bind(userObserver); + args[currArg + 2] = userObserver.complete?.bind(userObserver); } else { validateArgType('Query.onSnapshot', 'function', currArg, args[currArg]); validateOptionalArgType( From 2b8be3e2fbef99abbdec6e462d280194f35dffd2 Mon Sep 17 00:00:00 2001 From: Feiyang Date: Mon, 29 Jun 2020 14:24:48 -0700 Subject: [PATCH 2/3] Create thin-ligers-fold.md --- .changeset/thin-ligers-fold.md | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 .changeset/thin-ligers-fold.md diff --git a/.changeset/thin-ligers-fold.md b/.changeset/thin-ligers-fold.md new file mode 100644 index 00000000000..7748b17ca6a --- /dev/null +++ b/.changeset/thin-ligers-fold.md @@ -0,0 +1,6 @@ +--- +"@firebase/firestore": patch +"firebase": patch +--- + +Fixed an issue where `onSnapshot` doesn't work with rxjs [Observer](https://rxjs-dev.firebaseapp.com/guide/observer). From 1a7a3b5f6a5f26d12d854e5f5fce0dc361ab8acc Mon Sep 17 00:00:00 2001 From: Feiyang Date: Mon, 29 Jun 2020 16:11:29 -0700 Subject: [PATCH 3/3] Update thin-ligers-fold.md --- .changeset/thin-ligers-fold.md | 4 ---- 1 file changed, 4 deletions(-) diff --git a/.changeset/thin-ligers-fold.md b/.changeset/thin-ligers-fold.md index 7748b17ca6a..a845151cc84 100644 --- a/.changeset/thin-ligers-fold.md +++ b/.changeset/thin-ligers-fold.md @@ -1,6 +1,2 @@ --- -"@firebase/firestore": patch -"firebase": patch --- - -Fixed an issue where `onSnapshot` doesn't work with rxjs [Observer](https://rxjs-dev.firebaseapp.com/guide/observer).