[🐛] Modular API discrepancies from firebase-js-sdk
Issue
Observed some modular API discrepancies between react-native-firebase and firebase-js-sdk.
For example, DocumentSnapshot::exists() is declared as a function in firebase-js-sdk while it is defined as a boolean value in react-native-firebase. There are some similar cases but unfortunately I am not able to identify all of them.
This issue bothered me because I want to write platform-specific codes with firebase-js-sdk and react-native-firebase.
Say I have two wrapper files named firebase.native.ts (import react-native-firebase) and firebase.web.ts (import firebase-js-sdk), then I have another file named test-api.ts which imports either firebase sdk based on platform. In this file, it tries to read from Firestore and want to check if snapshot exists. I expect the usage like snapshot.exists() can work for both native and js environment while currently it cannot.
Kindly ask if someone can help fix them? Thank you so much!
- 👉 Check out
React Native FirebaseandInvertaseon Twitter for updates on the library.
Hi, thanks for raising this. It would constitute a breaking change. I've raised this internally as we're thinking of having a breaking change in the nearish future, and this seems like it should be a part of that.
Note: the field .exists was a property in the Firebase Web Client SDK up to v8. It became a method .exists() in v9.
Hello 👋, to help manage issues we automatically close stale issues.
This issue has been automatically marked as stale because it has not had activity for quite some time.Has this issue been fixed, or does it still require attention?
This issue will be closed in 15 days if no further activity occurs.
Thank you for your contributions.