Skip to content

Commit b8c0ceb

Browse files
authored
Make onSnapshot work with rxjs observers (#3318)
* Make onSnapshot work with rxjs observers * Create thin-ligers-fold.md * Update thin-ligers-fold.md
1 parent bf485cd commit b8c0ceb

File tree

2 files changed

+8
-6
lines changed

2 files changed

+8
-6
lines changed

.changeset/thin-ligers-fold.md

+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
---
2+
---

packages/firestore/src/api/database.ts

+6-6
Original file line numberDiff line numberDiff line change
@@ -1169,9 +1169,9 @@ export class DocumentReference<T = firestore.DocumentData>
11691169
const userObserver = args[currArg] as PartialObserver<
11701170
firestore.DocumentSnapshot<T>
11711171
>;
1172-
args[currArg] = userObserver.next;
1173-
args[currArg + 1] = userObserver.error;
1174-
args[currArg + 2] = userObserver.complete;
1172+
args[currArg] = userObserver.next?.bind(userObserver);
1173+
args[currArg + 1] = userObserver.error?.bind(userObserver);
1174+
args[currArg + 2] = userObserver.complete?.bind(userObserver);
11751175
} else {
11761176
validateArgType(
11771177
'DocumentReference.onSnapshot',
@@ -2122,9 +2122,9 @@ export class Query<T = firestore.DocumentData> extends BaseQuery
21222122
const userObserver = args[currArg] as PartialObserver<
21232123
firestore.QuerySnapshot<T>
21242124
>;
2125-
args[currArg] = userObserver.next;
2126-
args[currArg + 1] = userObserver.error;
2127-
args[currArg + 2] = userObserver.complete;
2125+
args[currArg] = userObserver.next?.bind(userObserver);
2126+
args[currArg + 1] = userObserver.error?.bind(userObserver);
2127+
args[currArg + 2] = userObserver.complete?.bind(userObserver);
21282128
} else {
21292129
validateArgType('Query.onSnapshot', 'function', currArg, args[currArg]);
21302130
validateOptionalArgType(

0 commit comments

Comments
 (0)