@react-native-firebase/database 25.1.0 → 26.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +21 -0
- package/RNFBDatabase.podspec +20 -7
- package/android/build.gradle +19 -0
- package/android/src/main/java/io/invertase/firebase/database/UniversalFirebaseDatabaseModule.java +4 -14
- package/android/src/reactnative/java/io/invertase/firebase/database/DatabaseTurboModuleSupport.java +56 -0
- package/android/src/reactnative/java/io/invertase/firebase/database/{ReactNativeFirebaseDatabaseModule.java → NativeRNFBTurboDatabase.java} +16 -36
- package/android/src/reactnative/java/io/invertase/firebase/database/{ReactNativeFirebaseDatabaseOnDisconnectModule.java → NativeRNFBTurboDatabaseOnDisconnect.java} +19 -14
- package/android/src/reactnative/java/io/invertase/firebase/database/{ReactNativeFirebaseDatabaseQueryModule.java → NativeRNFBTurboDatabaseQuery.java} +41 -105
- package/android/src/reactnative/java/io/invertase/firebase/database/{ReactNativeFirebaseDatabaseReferenceModule.java → NativeRNFBTurboDatabaseReference.java} +27 -20
- package/android/src/reactnative/java/io/invertase/firebase/database/{ReactNativeFirebaseDatabaseTransactionModule.java → NativeRNFBTurboDatabaseTransaction.java} +41 -19
- package/android/src/reactnative/java/io/invertase/firebase/database/ReactNativeFirebaseDatabasePackage.java +5 -5
- package/android/src/reactnative/java/io/invertase/firebase/database/ReactNativeFirebaseDatabaseTransactionHandler.java +11 -0
- package/android/src/reactnative/java/io/invertase/firebase/database/generated/java/com/facebook/fbreact/specs/NativeRNFBTurboDatabaseOnDisconnectSpec.java +55 -0
- package/android/src/reactnative/java/io/invertase/firebase/database/generated/java/com/facebook/fbreact/specs/NativeRNFBTurboDatabaseQuerySpec.java +52 -0
- package/android/src/reactnative/java/io/invertase/firebase/database/generated/java/com/facebook/fbreact/specs/NativeRNFBTurboDatabaseReferenceSpec.java +55 -0
- package/android/src/reactnative/java/io/invertase/firebase/database/generated/java/com/facebook/fbreact/specs/NativeRNFBTurboDatabaseSpec.java +57 -0
- package/android/src/reactnative/java/io/invertase/firebase/database/generated/java/com/facebook/fbreact/specs/NativeRNFBTurboDatabaseTransactionSpec.java +42 -0
- package/android/src/reactnative/java/io/invertase/firebase/database/generated/jni/CMakeLists.txt +36 -0
- package/android/src/reactnative/java/io/invertase/firebase/database/generated/jni/RNFBDatabaseTurboModules-generated.cpp +182 -0
- package/android/src/reactnative/java/io/invertase/firebase/database/generated/jni/RNFBDatabaseTurboModules.h +63 -0
- package/android/src/reactnative/java/io/invertase/firebase/database/generated/jni/react/renderer/components/RNFBDatabaseTurboModules/RNFBDatabaseTurboModulesJSI-generated.cpp +257 -0
- package/android/src/reactnative/java/io/invertase/firebase/database/generated/jni/react/renderer/components/RNFBDatabaseTurboModules/RNFBDatabaseTurboModulesJSI.h +440 -0
- package/dist/module/DatabaseDataSnapshot.js +20 -6
- package/dist/module/DatabaseDataSnapshot.js.map +1 -1
- package/dist/module/DatabaseOnDisconnect.js.map +1 -1
- package/dist/module/DatabaseQuery.js +13 -16
- package/dist/module/DatabaseQuery.js.map +1 -1
- package/dist/module/DatabaseReference.js +16 -15
- package/dist/module/DatabaseReference.js.map +1 -1
- package/dist/module/DatabaseSyncTree.js +5 -4
- package/dist/module/DatabaseSyncTree.js.map +1 -1
- package/dist/module/DatabaseThenableReference.js +1 -2
- package/dist/module/DatabaseThenableReference.js.map +1 -1
- package/dist/module/index.js +210 -5
- package/dist/module/index.js.map +1 -1
- package/dist/module/modular/query.js +14 -15
- package/dist/module/modular/query.js.map +1 -1
- package/dist/module/modular/transaction.js +1 -2
- package/dist/module/modular/transaction.js.map +1 -1
- package/dist/module/version.js +1 -1
- package/dist/module/web/RNFBDatabaseModule.js +4 -8
- package/dist/module/web/RNFBDatabaseModule.js.map +1 -1
- package/dist/typescript/lib/DatabaseDataSnapshot.d.ts +9 -7
- package/dist/typescript/lib/DatabaseDataSnapshot.d.ts.map +1 -1
- package/dist/typescript/lib/DatabaseOnDisconnect.d.ts +3 -3
- package/dist/typescript/lib/DatabaseOnDisconnect.d.ts.map +1 -1
- package/dist/typescript/lib/DatabaseQuery.d.ts +18 -18
- package/dist/typescript/lib/DatabaseQuery.d.ts.map +1 -1
- package/dist/typescript/lib/DatabaseReference.d.ts +8 -8
- package/dist/typescript/lib/DatabaseReference.d.ts.map +1 -1
- package/dist/typescript/lib/DatabaseSyncTree.d.ts +2 -2
- package/dist/typescript/lib/DatabaseSyncTree.d.ts.map +1 -1
- package/dist/typescript/lib/DatabaseThenableReference.d.ts +8 -8
- package/dist/typescript/lib/DatabaseThenableReference.d.ts.map +1 -1
- package/dist/typescript/lib/index.d.ts +57 -4
- package/dist/typescript/lib/index.d.ts.map +1 -1
- package/dist/typescript/lib/modular/query.d.ts.map +1 -1
- package/dist/typescript/lib/modular/transaction.d.ts.map +1 -1
- package/dist/typescript/lib/types/database.d.ts +5 -5
- package/dist/typescript/lib/types/database.d.ts.map +1 -1
- package/dist/typescript/lib/types/internal.d.ts +32 -31
- package/dist/typescript/lib/types/internal.d.ts.map +1 -1
- package/dist/typescript/lib/version.d.ts +1 -1
- package/dist/typescript/lib/web/RNFBDatabaseModule.d.ts.map +1 -1
- package/ios/RNFBDatabase/RNFBDatabaseCommon.h +13 -6
- package/ios/RNFBDatabase/RNFBDatabaseCommon.m +2 -10
- package/ios/RNFBDatabase/RNFBDatabaseConstants.h +25 -0
- package/ios/RNFBDatabase/RNFBDatabaseModule.mm +90 -0
- package/ios/RNFBDatabase/RNFBDatabaseModuleHelper.h +39 -0
- package/ios/RNFBDatabase/RNFBDatabaseModuleHelper.m +64 -0
- package/ios/RNFBDatabase/RNFBDatabaseOnDisconnectHelper.h +59 -0
- package/ios/RNFBDatabase/{RNFBDatabaseOnDisconnectModule.m → RNFBDatabaseOnDisconnectHelper.m} +41 -47
- package/ios/RNFBDatabase/RNFBDatabaseOnDisconnectModule.mm +121 -0
- package/ios/RNFBDatabase/RNFBDatabaseQuery.h +11 -0
- package/ios/RNFBDatabase/RNFBDatabaseQueryHelper.h +49 -0
- package/ios/RNFBDatabase/{RNFBDatabaseQueryModule.m → RNFBDatabaseQueryHelper.m} +77 -91
- package/ios/RNFBDatabase/RNFBDatabaseQueryModule.h +5 -1
- package/ios/RNFBDatabase/RNFBDatabaseQueryModule.mm +105 -0
- package/ios/RNFBDatabase/RNFBDatabaseQueue.h +29 -0
- package/ios/RNFBDatabase/RNFBDatabaseQueue.m +31 -0
- package/ios/RNFBDatabase/RNFBDatabaseReferenceHelper.h +59 -0
- package/ios/RNFBDatabase/{RNFBDatabaseReferenceModule.m → RNFBDatabaseReferenceHelper.m} +42 -48
- package/ios/RNFBDatabase/RNFBDatabaseReferenceModule.mm +125 -0
- package/ios/RNFBDatabase/RNFBDatabaseTransactionHelper.h +38 -0
- package/ios/RNFBDatabase/{RNFBDatabaseTransactionModule.m → RNFBDatabaseTransactionHelper.m} +52 -51
- package/ios/RNFBDatabase/RNFBDatabaseTransactionModule.h +0 -1
- package/ios/RNFBDatabase/RNFBDatabaseTransactionModule.mm +86 -0
- package/ios/RNFBDatabase.xcodeproj/project.pbxproj +24 -24
- package/ios/generated/RCTAppDependencyProvider.h +25 -0
- package/ios/generated/RCTAppDependencyProvider.mm +55 -0
- package/ios/generated/RCTModulesConformingToProtocolsProvider.h +18 -0
- package/ios/generated/RCTModulesConformingToProtocolsProvider.mm +33 -0
- package/ios/generated/RCTThirdPartyComponentsProvider.h +16 -0
- package/ios/generated/RCTThirdPartyComponentsProvider.mm +23 -0
- package/ios/generated/RNFBDatabaseTurboModules/RNFBDatabaseTurboModules-generated.mm +254 -0
- package/ios/generated/RNFBDatabaseTurboModules/RNFBDatabaseTurboModules.h +264 -0
- package/ios/generated/RNFBDatabaseTurboModulesJSI-generated.cpp +257 -0
- package/ios/generated/RNFBDatabaseTurboModulesJSI.h +440 -0
- package/ios/generated/ReactAppDependencyProvider.podspec +34 -0
- package/lib/DatabaseDataSnapshot.ts +43 -38
- package/lib/DatabaseOnDisconnect.ts +3 -3
- package/lib/DatabaseQuery.ts +45 -77
- package/lib/DatabaseReference.ts +37 -66
- package/lib/DatabaseSyncTree.ts +8 -11
- package/lib/DatabaseThenableReference.ts +9 -17
- package/lib/index.ts +325 -6
- package/lib/modular/query.ts +14 -70
- package/lib/modular/transaction.ts +1 -4
- package/lib/types/database.ts +5 -5
- package/lib/types/internal.ts +31 -56
- package/lib/version.ts +1 -1
- package/lib/web/RNFBDatabaseModule.ts +6 -10
- package/package.json +26 -4
- package/react-native.config.js +10 -0
- package/specs/NativeRNFBTurboDatabase.ts +13 -0
- package/specs/NativeRNFBTurboDatabaseOnDisconnect.ts +18 -0
- package/specs/NativeRNFBTurboDatabaseQuery.ts +25 -0
- package/specs/NativeRNFBTurboDatabaseReference.ts +13 -0
- package/specs/NativeRNFBTurboDatabaseTransaction.ts +16 -0
- package/typedoc.json +1 -1
- package/dist/module/modular.js +0 -76
- package/dist/module/modular.js.map +0 -1
- package/dist/module/namespaced.js +0 -147
- package/dist/module/namespaced.js.map +0 -1
- package/dist/module/types/namespaced.js +0 -67
- package/dist/module/types/namespaced.js.map +0 -1
- package/dist/typescript/lib/modular.d.ts +0 -24
- package/dist/typescript/lib/modular.d.ts.map +0 -1
- package/dist/typescript/lib/namespaced.d.ts +0 -13
- package/dist/typescript/lib/namespaced.d.ts.map +0 -1
- package/dist/typescript/lib/types/namespaced.d.ts +0 -1230
- package/dist/typescript/lib/types/namespaced.d.ts.map +0 -1
- package/ios/RNFBDatabase/RNFBDatabaseModule.m +0 -100
- package/lib/modular.ts +0 -134
- package/lib/namespaced.ts +0 -253
- package/lib/types/namespaced.ts +0 -1366
|
@@ -0,0 +1,440 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen).
|
|
3
|
+
*
|
|
4
|
+
* Do not edit this file as changes may cause incorrect behavior and will be lost
|
|
5
|
+
* once the code is regenerated.
|
|
6
|
+
*
|
|
7
|
+
* @generated by codegen project: GenerateModuleH.js
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
#pragma once
|
|
11
|
+
|
|
12
|
+
#include <ReactCommon/TurboModule.h>
|
|
13
|
+
#include <react/bridging/Bridging.h>
|
|
14
|
+
|
|
15
|
+
namespace facebook::react {
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
class JSI_EXPORT NativeRNFBTurboDatabaseCxxSpecJSI : public TurboModule {
|
|
19
|
+
protected:
|
|
20
|
+
NativeRNFBTurboDatabaseCxxSpecJSI(std::shared_ptr<CallInvoker> jsInvoker);
|
|
21
|
+
|
|
22
|
+
public:
|
|
23
|
+
virtual void goOnline(jsi::Runtime &rt, jsi::String app, jsi::String dbURL) = 0;
|
|
24
|
+
virtual void goOffline(jsi::Runtime &rt, jsi::String app, jsi::String dbURL) = 0;
|
|
25
|
+
virtual void setPersistenceEnabled(jsi::Runtime &rt, jsi::String app, jsi::String dbURL, bool enabled) = 0;
|
|
26
|
+
virtual void setLoggingEnabled(jsi::Runtime &rt, jsi::String app, jsi::String dbURL, bool enabled) = 0;
|
|
27
|
+
virtual void setPersistenceCacheSizeBytes(jsi::Runtime &rt, jsi::String app, jsi::String dbURL, double cacheSizeBytes) = 0;
|
|
28
|
+
virtual void useEmulator(jsi::Runtime &rt, jsi::String app, jsi::String dbURL, jsi::String host, double port) = 0;
|
|
29
|
+
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
template <typename T>
|
|
33
|
+
class JSI_EXPORT NativeRNFBTurboDatabaseCxxSpec : public TurboModule {
|
|
34
|
+
public:
|
|
35
|
+
jsi::Value create(jsi::Runtime &rt, const jsi::PropNameID &propName) override {
|
|
36
|
+
return delegate_.create(rt, propName);
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
std::vector<jsi::PropNameID> getPropertyNames(jsi::Runtime& runtime) override {
|
|
40
|
+
return delegate_.getPropertyNames(runtime);
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
static constexpr std::string_view kModuleName = "NativeRNFBTurboDatabase";
|
|
44
|
+
|
|
45
|
+
protected:
|
|
46
|
+
NativeRNFBTurboDatabaseCxxSpec(std::shared_ptr<CallInvoker> jsInvoker)
|
|
47
|
+
: TurboModule(std::string{NativeRNFBTurboDatabaseCxxSpec::kModuleName}, jsInvoker),
|
|
48
|
+
delegate_(reinterpret_cast<T*>(this), jsInvoker) {}
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
private:
|
|
52
|
+
class Delegate : public NativeRNFBTurboDatabaseCxxSpecJSI {
|
|
53
|
+
public:
|
|
54
|
+
Delegate(T *instance, std::shared_ptr<CallInvoker> jsInvoker) :
|
|
55
|
+
NativeRNFBTurboDatabaseCxxSpecJSI(std::move(jsInvoker)), instance_(instance) {
|
|
56
|
+
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
void goOnline(jsi::Runtime &rt, jsi::String app, jsi::String dbURL) override {
|
|
60
|
+
static_assert(
|
|
61
|
+
bridging::getParameterCount(&T::goOnline) == 3,
|
|
62
|
+
"Expected goOnline(...) to have 3 parameters");
|
|
63
|
+
|
|
64
|
+
return bridging::callFromJs<void>(
|
|
65
|
+
rt, &T::goOnline, jsInvoker_, instance_, std::move(app), std::move(dbURL));
|
|
66
|
+
}
|
|
67
|
+
void goOffline(jsi::Runtime &rt, jsi::String app, jsi::String dbURL) override {
|
|
68
|
+
static_assert(
|
|
69
|
+
bridging::getParameterCount(&T::goOffline) == 3,
|
|
70
|
+
"Expected goOffline(...) to have 3 parameters");
|
|
71
|
+
|
|
72
|
+
return bridging::callFromJs<void>(
|
|
73
|
+
rt, &T::goOffline, jsInvoker_, instance_, std::move(app), std::move(dbURL));
|
|
74
|
+
}
|
|
75
|
+
void setPersistenceEnabled(jsi::Runtime &rt, jsi::String app, jsi::String dbURL, bool enabled) override {
|
|
76
|
+
static_assert(
|
|
77
|
+
bridging::getParameterCount(&T::setPersistenceEnabled) == 4,
|
|
78
|
+
"Expected setPersistenceEnabled(...) to have 4 parameters");
|
|
79
|
+
|
|
80
|
+
return bridging::callFromJs<void>(
|
|
81
|
+
rt, &T::setPersistenceEnabled, jsInvoker_, instance_, std::move(app), std::move(dbURL), std::move(enabled));
|
|
82
|
+
}
|
|
83
|
+
void setLoggingEnabled(jsi::Runtime &rt, jsi::String app, jsi::String dbURL, bool enabled) override {
|
|
84
|
+
static_assert(
|
|
85
|
+
bridging::getParameterCount(&T::setLoggingEnabled) == 4,
|
|
86
|
+
"Expected setLoggingEnabled(...) to have 4 parameters");
|
|
87
|
+
|
|
88
|
+
return bridging::callFromJs<void>(
|
|
89
|
+
rt, &T::setLoggingEnabled, jsInvoker_, instance_, std::move(app), std::move(dbURL), std::move(enabled));
|
|
90
|
+
}
|
|
91
|
+
void setPersistenceCacheSizeBytes(jsi::Runtime &rt, jsi::String app, jsi::String dbURL, double cacheSizeBytes) override {
|
|
92
|
+
static_assert(
|
|
93
|
+
bridging::getParameterCount(&T::setPersistenceCacheSizeBytes) == 4,
|
|
94
|
+
"Expected setPersistenceCacheSizeBytes(...) to have 4 parameters");
|
|
95
|
+
|
|
96
|
+
return bridging::callFromJs<void>(
|
|
97
|
+
rt, &T::setPersistenceCacheSizeBytes, jsInvoker_, instance_, std::move(app), std::move(dbURL), std::move(cacheSizeBytes));
|
|
98
|
+
}
|
|
99
|
+
void useEmulator(jsi::Runtime &rt, jsi::String app, jsi::String dbURL, jsi::String host, double port) override {
|
|
100
|
+
static_assert(
|
|
101
|
+
bridging::getParameterCount(&T::useEmulator) == 5,
|
|
102
|
+
"Expected useEmulator(...) to have 5 parameters");
|
|
103
|
+
|
|
104
|
+
return bridging::callFromJs<void>(
|
|
105
|
+
rt, &T::useEmulator, jsInvoker_, instance_, std::move(app), std::move(dbURL), std::move(host), std::move(port));
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
private:
|
|
109
|
+
friend class NativeRNFBTurboDatabaseCxxSpec;
|
|
110
|
+
T *instance_;
|
|
111
|
+
};
|
|
112
|
+
|
|
113
|
+
Delegate delegate_;
|
|
114
|
+
};
|
|
115
|
+
|
|
116
|
+
|
|
117
|
+
class JSI_EXPORT NativeRNFBTurboDatabaseOnDisconnectCxxSpecJSI : public TurboModule {
|
|
118
|
+
protected:
|
|
119
|
+
NativeRNFBTurboDatabaseOnDisconnectCxxSpecJSI(std::shared_ptr<CallInvoker> jsInvoker);
|
|
120
|
+
|
|
121
|
+
public:
|
|
122
|
+
virtual jsi::Value onDisconnectCancel(jsi::Runtime &rt, jsi::String app, jsi::String dbURL, jsi::String path) = 0;
|
|
123
|
+
virtual jsi::Value onDisconnectRemove(jsi::Runtime &rt, jsi::String app, jsi::String dbURL, jsi::String path) = 0;
|
|
124
|
+
virtual jsi::Value onDisconnectSet(jsi::Runtime &rt, jsi::String app, jsi::String dbURL, jsi::String path, jsi::Object props) = 0;
|
|
125
|
+
virtual jsi::Value onDisconnectSetWithPriority(jsi::Runtime &rt, jsi::String app, jsi::String dbURL, jsi::String path, jsi::Object props) = 0;
|
|
126
|
+
virtual jsi::Value onDisconnectUpdate(jsi::Runtime &rt, jsi::String app, jsi::String dbURL, jsi::String path, jsi::Object props) = 0;
|
|
127
|
+
|
|
128
|
+
};
|
|
129
|
+
|
|
130
|
+
template <typename T>
|
|
131
|
+
class JSI_EXPORT NativeRNFBTurboDatabaseOnDisconnectCxxSpec : public TurboModule {
|
|
132
|
+
public:
|
|
133
|
+
jsi::Value create(jsi::Runtime &rt, const jsi::PropNameID &propName) override {
|
|
134
|
+
return delegate_.create(rt, propName);
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
std::vector<jsi::PropNameID> getPropertyNames(jsi::Runtime& runtime) override {
|
|
138
|
+
return delegate_.getPropertyNames(runtime);
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
static constexpr std::string_view kModuleName = "NativeRNFBTurboDatabaseOnDisconnect";
|
|
142
|
+
|
|
143
|
+
protected:
|
|
144
|
+
NativeRNFBTurboDatabaseOnDisconnectCxxSpec(std::shared_ptr<CallInvoker> jsInvoker)
|
|
145
|
+
: TurboModule(std::string{NativeRNFBTurboDatabaseOnDisconnectCxxSpec::kModuleName}, jsInvoker),
|
|
146
|
+
delegate_(reinterpret_cast<T*>(this), jsInvoker) {}
|
|
147
|
+
|
|
148
|
+
|
|
149
|
+
private:
|
|
150
|
+
class Delegate : public NativeRNFBTurboDatabaseOnDisconnectCxxSpecJSI {
|
|
151
|
+
public:
|
|
152
|
+
Delegate(T *instance, std::shared_ptr<CallInvoker> jsInvoker) :
|
|
153
|
+
NativeRNFBTurboDatabaseOnDisconnectCxxSpecJSI(std::move(jsInvoker)), instance_(instance) {
|
|
154
|
+
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
jsi::Value onDisconnectCancel(jsi::Runtime &rt, jsi::String app, jsi::String dbURL, jsi::String path) override {
|
|
158
|
+
static_assert(
|
|
159
|
+
bridging::getParameterCount(&T::onDisconnectCancel) == 4,
|
|
160
|
+
"Expected onDisconnectCancel(...) to have 4 parameters");
|
|
161
|
+
|
|
162
|
+
return bridging::callFromJs<jsi::Value>(
|
|
163
|
+
rt, &T::onDisconnectCancel, jsInvoker_, instance_, std::move(app), std::move(dbURL), std::move(path));
|
|
164
|
+
}
|
|
165
|
+
jsi::Value onDisconnectRemove(jsi::Runtime &rt, jsi::String app, jsi::String dbURL, jsi::String path) override {
|
|
166
|
+
static_assert(
|
|
167
|
+
bridging::getParameterCount(&T::onDisconnectRemove) == 4,
|
|
168
|
+
"Expected onDisconnectRemove(...) to have 4 parameters");
|
|
169
|
+
|
|
170
|
+
return bridging::callFromJs<jsi::Value>(
|
|
171
|
+
rt, &T::onDisconnectRemove, jsInvoker_, instance_, std::move(app), std::move(dbURL), std::move(path));
|
|
172
|
+
}
|
|
173
|
+
jsi::Value onDisconnectSet(jsi::Runtime &rt, jsi::String app, jsi::String dbURL, jsi::String path, jsi::Object props) override {
|
|
174
|
+
static_assert(
|
|
175
|
+
bridging::getParameterCount(&T::onDisconnectSet) == 5,
|
|
176
|
+
"Expected onDisconnectSet(...) to have 5 parameters");
|
|
177
|
+
|
|
178
|
+
return bridging::callFromJs<jsi::Value>(
|
|
179
|
+
rt, &T::onDisconnectSet, jsInvoker_, instance_, std::move(app), std::move(dbURL), std::move(path), std::move(props));
|
|
180
|
+
}
|
|
181
|
+
jsi::Value onDisconnectSetWithPriority(jsi::Runtime &rt, jsi::String app, jsi::String dbURL, jsi::String path, jsi::Object props) override {
|
|
182
|
+
static_assert(
|
|
183
|
+
bridging::getParameterCount(&T::onDisconnectSetWithPriority) == 5,
|
|
184
|
+
"Expected onDisconnectSetWithPriority(...) to have 5 parameters");
|
|
185
|
+
|
|
186
|
+
return bridging::callFromJs<jsi::Value>(
|
|
187
|
+
rt, &T::onDisconnectSetWithPriority, jsInvoker_, instance_, std::move(app), std::move(dbURL), std::move(path), std::move(props));
|
|
188
|
+
}
|
|
189
|
+
jsi::Value onDisconnectUpdate(jsi::Runtime &rt, jsi::String app, jsi::String dbURL, jsi::String path, jsi::Object props) override {
|
|
190
|
+
static_assert(
|
|
191
|
+
bridging::getParameterCount(&T::onDisconnectUpdate) == 5,
|
|
192
|
+
"Expected onDisconnectUpdate(...) to have 5 parameters");
|
|
193
|
+
|
|
194
|
+
return bridging::callFromJs<jsi::Value>(
|
|
195
|
+
rt, &T::onDisconnectUpdate, jsInvoker_, instance_, std::move(app), std::move(dbURL), std::move(path), std::move(props));
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
private:
|
|
199
|
+
friend class NativeRNFBTurboDatabaseOnDisconnectCxxSpec;
|
|
200
|
+
T *instance_;
|
|
201
|
+
};
|
|
202
|
+
|
|
203
|
+
Delegate delegate_;
|
|
204
|
+
};
|
|
205
|
+
|
|
206
|
+
|
|
207
|
+
class JSI_EXPORT NativeRNFBTurboDatabaseQueryCxxSpecJSI : public TurboModule {
|
|
208
|
+
protected:
|
|
209
|
+
NativeRNFBTurboDatabaseQueryCxxSpecJSI(std::shared_ptr<CallInvoker> jsInvoker);
|
|
210
|
+
|
|
211
|
+
public:
|
|
212
|
+
virtual jsi::Value once(jsi::Runtime &rt, jsi::String app, jsi::String dbURL, jsi::String path, jsi::Array modifiers, jsi::String eventType) = 0;
|
|
213
|
+
virtual void on(jsi::Runtime &rt, jsi::String app, jsi::String dbURL, jsi::Object props) = 0;
|
|
214
|
+
virtual void off(jsi::Runtime &rt, jsi::String queryKey, jsi::String eventRegistrationKey) = 0;
|
|
215
|
+
virtual jsi::Value keepSynced(jsi::Runtime &rt, jsi::String app, jsi::String dbURL, jsi::String key, jsi::String path, jsi::Array modifiers, bool enabled) = 0;
|
|
216
|
+
|
|
217
|
+
};
|
|
218
|
+
|
|
219
|
+
template <typename T>
|
|
220
|
+
class JSI_EXPORT NativeRNFBTurboDatabaseQueryCxxSpec : public TurboModule {
|
|
221
|
+
public:
|
|
222
|
+
jsi::Value create(jsi::Runtime &rt, const jsi::PropNameID &propName) override {
|
|
223
|
+
return delegate_.create(rt, propName);
|
|
224
|
+
}
|
|
225
|
+
|
|
226
|
+
std::vector<jsi::PropNameID> getPropertyNames(jsi::Runtime& runtime) override {
|
|
227
|
+
return delegate_.getPropertyNames(runtime);
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
static constexpr std::string_view kModuleName = "NativeRNFBTurboDatabaseQuery";
|
|
231
|
+
|
|
232
|
+
protected:
|
|
233
|
+
NativeRNFBTurboDatabaseQueryCxxSpec(std::shared_ptr<CallInvoker> jsInvoker)
|
|
234
|
+
: TurboModule(std::string{NativeRNFBTurboDatabaseQueryCxxSpec::kModuleName}, jsInvoker),
|
|
235
|
+
delegate_(reinterpret_cast<T*>(this), jsInvoker) {}
|
|
236
|
+
|
|
237
|
+
|
|
238
|
+
private:
|
|
239
|
+
class Delegate : public NativeRNFBTurboDatabaseQueryCxxSpecJSI {
|
|
240
|
+
public:
|
|
241
|
+
Delegate(T *instance, std::shared_ptr<CallInvoker> jsInvoker) :
|
|
242
|
+
NativeRNFBTurboDatabaseQueryCxxSpecJSI(std::move(jsInvoker)), instance_(instance) {
|
|
243
|
+
|
|
244
|
+
}
|
|
245
|
+
|
|
246
|
+
jsi::Value once(jsi::Runtime &rt, jsi::String app, jsi::String dbURL, jsi::String path, jsi::Array modifiers, jsi::String eventType) override {
|
|
247
|
+
static_assert(
|
|
248
|
+
bridging::getParameterCount(&T::once) == 6,
|
|
249
|
+
"Expected once(...) to have 6 parameters");
|
|
250
|
+
|
|
251
|
+
return bridging::callFromJs<jsi::Value>(
|
|
252
|
+
rt, &T::once, jsInvoker_, instance_, std::move(app), std::move(dbURL), std::move(path), std::move(modifiers), std::move(eventType));
|
|
253
|
+
}
|
|
254
|
+
void on(jsi::Runtime &rt, jsi::String app, jsi::String dbURL, jsi::Object props) override {
|
|
255
|
+
static_assert(
|
|
256
|
+
bridging::getParameterCount(&T::on) == 4,
|
|
257
|
+
"Expected on(...) to have 4 parameters");
|
|
258
|
+
|
|
259
|
+
return bridging::callFromJs<void>(
|
|
260
|
+
rt, &T::on, jsInvoker_, instance_, std::move(app), std::move(dbURL), std::move(props));
|
|
261
|
+
}
|
|
262
|
+
void off(jsi::Runtime &rt, jsi::String queryKey, jsi::String eventRegistrationKey) override {
|
|
263
|
+
static_assert(
|
|
264
|
+
bridging::getParameterCount(&T::off) == 3,
|
|
265
|
+
"Expected off(...) to have 3 parameters");
|
|
266
|
+
|
|
267
|
+
return bridging::callFromJs<void>(
|
|
268
|
+
rt, &T::off, jsInvoker_, instance_, std::move(queryKey), std::move(eventRegistrationKey));
|
|
269
|
+
}
|
|
270
|
+
jsi::Value keepSynced(jsi::Runtime &rt, jsi::String app, jsi::String dbURL, jsi::String key, jsi::String path, jsi::Array modifiers, bool enabled) override {
|
|
271
|
+
static_assert(
|
|
272
|
+
bridging::getParameterCount(&T::keepSynced) == 7,
|
|
273
|
+
"Expected keepSynced(...) to have 7 parameters");
|
|
274
|
+
|
|
275
|
+
return bridging::callFromJs<jsi::Value>(
|
|
276
|
+
rt, &T::keepSynced, jsInvoker_, instance_, std::move(app), std::move(dbURL), std::move(key), std::move(path), std::move(modifiers), std::move(enabled));
|
|
277
|
+
}
|
|
278
|
+
|
|
279
|
+
private:
|
|
280
|
+
friend class NativeRNFBTurboDatabaseQueryCxxSpec;
|
|
281
|
+
T *instance_;
|
|
282
|
+
};
|
|
283
|
+
|
|
284
|
+
Delegate delegate_;
|
|
285
|
+
};
|
|
286
|
+
|
|
287
|
+
|
|
288
|
+
class JSI_EXPORT NativeRNFBTurboDatabaseReferenceCxxSpecJSI : public TurboModule {
|
|
289
|
+
protected:
|
|
290
|
+
NativeRNFBTurboDatabaseReferenceCxxSpecJSI(std::shared_ptr<CallInvoker> jsInvoker);
|
|
291
|
+
|
|
292
|
+
public:
|
|
293
|
+
virtual jsi::Value set(jsi::Runtime &rt, jsi::String app, jsi::String dbURL, jsi::String path, jsi::Object props) = 0;
|
|
294
|
+
virtual jsi::Value update(jsi::Runtime &rt, jsi::String app, jsi::String dbURL, jsi::String path, jsi::Object props) = 0;
|
|
295
|
+
virtual jsi::Value setWithPriority(jsi::Runtime &rt, jsi::String app, jsi::String dbURL, jsi::String path, jsi::Object props) = 0;
|
|
296
|
+
virtual jsi::Value remove(jsi::Runtime &rt, jsi::String app, jsi::String dbURL, jsi::String path) = 0;
|
|
297
|
+
virtual jsi::Value setPriority(jsi::Runtime &rt, jsi::String app, jsi::String dbURL, jsi::String path, jsi::Object props) = 0;
|
|
298
|
+
|
|
299
|
+
};
|
|
300
|
+
|
|
301
|
+
template <typename T>
|
|
302
|
+
class JSI_EXPORT NativeRNFBTurboDatabaseReferenceCxxSpec : public TurboModule {
|
|
303
|
+
public:
|
|
304
|
+
jsi::Value create(jsi::Runtime &rt, const jsi::PropNameID &propName) override {
|
|
305
|
+
return delegate_.create(rt, propName);
|
|
306
|
+
}
|
|
307
|
+
|
|
308
|
+
std::vector<jsi::PropNameID> getPropertyNames(jsi::Runtime& runtime) override {
|
|
309
|
+
return delegate_.getPropertyNames(runtime);
|
|
310
|
+
}
|
|
311
|
+
|
|
312
|
+
static constexpr std::string_view kModuleName = "NativeRNFBTurboDatabaseReference";
|
|
313
|
+
|
|
314
|
+
protected:
|
|
315
|
+
NativeRNFBTurboDatabaseReferenceCxxSpec(std::shared_ptr<CallInvoker> jsInvoker)
|
|
316
|
+
: TurboModule(std::string{NativeRNFBTurboDatabaseReferenceCxxSpec::kModuleName}, jsInvoker),
|
|
317
|
+
delegate_(reinterpret_cast<T*>(this), jsInvoker) {}
|
|
318
|
+
|
|
319
|
+
|
|
320
|
+
private:
|
|
321
|
+
class Delegate : public NativeRNFBTurboDatabaseReferenceCxxSpecJSI {
|
|
322
|
+
public:
|
|
323
|
+
Delegate(T *instance, std::shared_ptr<CallInvoker> jsInvoker) :
|
|
324
|
+
NativeRNFBTurboDatabaseReferenceCxxSpecJSI(std::move(jsInvoker)), instance_(instance) {
|
|
325
|
+
|
|
326
|
+
}
|
|
327
|
+
|
|
328
|
+
jsi::Value set(jsi::Runtime &rt, jsi::String app, jsi::String dbURL, jsi::String path, jsi::Object props) override {
|
|
329
|
+
static_assert(
|
|
330
|
+
bridging::getParameterCount(&T::set) == 5,
|
|
331
|
+
"Expected set(...) to have 5 parameters");
|
|
332
|
+
|
|
333
|
+
return bridging::callFromJs<jsi::Value>(
|
|
334
|
+
rt, &T::set, jsInvoker_, instance_, std::move(app), std::move(dbURL), std::move(path), std::move(props));
|
|
335
|
+
}
|
|
336
|
+
jsi::Value update(jsi::Runtime &rt, jsi::String app, jsi::String dbURL, jsi::String path, jsi::Object props) override {
|
|
337
|
+
static_assert(
|
|
338
|
+
bridging::getParameterCount(&T::update) == 5,
|
|
339
|
+
"Expected update(...) to have 5 parameters");
|
|
340
|
+
|
|
341
|
+
return bridging::callFromJs<jsi::Value>(
|
|
342
|
+
rt, &T::update, jsInvoker_, instance_, std::move(app), std::move(dbURL), std::move(path), std::move(props));
|
|
343
|
+
}
|
|
344
|
+
jsi::Value setWithPriority(jsi::Runtime &rt, jsi::String app, jsi::String dbURL, jsi::String path, jsi::Object props) override {
|
|
345
|
+
static_assert(
|
|
346
|
+
bridging::getParameterCount(&T::setWithPriority) == 5,
|
|
347
|
+
"Expected setWithPriority(...) to have 5 parameters");
|
|
348
|
+
|
|
349
|
+
return bridging::callFromJs<jsi::Value>(
|
|
350
|
+
rt, &T::setWithPriority, jsInvoker_, instance_, std::move(app), std::move(dbURL), std::move(path), std::move(props));
|
|
351
|
+
}
|
|
352
|
+
jsi::Value remove(jsi::Runtime &rt, jsi::String app, jsi::String dbURL, jsi::String path) override {
|
|
353
|
+
static_assert(
|
|
354
|
+
bridging::getParameterCount(&T::remove) == 4,
|
|
355
|
+
"Expected remove(...) to have 4 parameters");
|
|
356
|
+
|
|
357
|
+
return bridging::callFromJs<jsi::Value>(
|
|
358
|
+
rt, &T::remove, jsInvoker_, instance_, std::move(app), std::move(dbURL), std::move(path));
|
|
359
|
+
}
|
|
360
|
+
jsi::Value setPriority(jsi::Runtime &rt, jsi::String app, jsi::String dbURL, jsi::String path, jsi::Object props) override {
|
|
361
|
+
static_assert(
|
|
362
|
+
bridging::getParameterCount(&T::setPriority) == 5,
|
|
363
|
+
"Expected setPriority(...) to have 5 parameters");
|
|
364
|
+
|
|
365
|
+
return bridging::callFromJs<jsi::Value>(
|
|
366
|
+
rt, &T::setPriority, jsInvoker_, instance_, std::move(app), std::move(dbURL), std::move(path), std::move(props));
|
|
367
|
+
}
|
|
368
|
+
|
|
369
|
+
private:
|
|
370
|
+
friend class NativeRNFBTurboDatabaseReferenceCxxSpec;
|
|
371
|
+
T *instance_;
|
|
372
|
+
};
|
|
373
|
+
|
|
374
|
+
Delegate delegate_;
|
|
375
|
+
};
|
|
376
|
+
|
|
377
|
+
|
|
378
|
+
class JSI_EXPORT NativeRNFBTurboDatabaseTransactionCxxSpecJSI : public TurboModule {
|
|
379
|
+
protected:
|
|
380
|
+
NativeRNFBTurboDatabaseTransactionCxxSpecJSI(std::shared_ptr<CallInvoker> jsInvoker);
|
|
381
|
+
|
|
382
|
+
public:
|
|
383
|
+
virtual void transactionStart(jsi::Runtime &rt, jsi::String app, jsi::String dbURL, jsi::String path, double transactionId, bool applyLocally) = 0;
|
|
384
|
+
virtual void transactionTryCommit(jsi::Runtime &rt, jsi::String app, jsi::String dbURL, double transactionId, jsi::Object updates) = 0;
|
|
385
|
+
|
|
386
|
+
};
|
|
387
|
+
|
|
388
|
+
template <typename T>
|
|
389
|
+
class JSI_EXPORT NativeRNFBTurboDatabaseTransactionCxxSpec : public TurboModule {
|
|
390
|
+
public:
|
|
391
|
+
jsi::Value create(jsi::Runtime &rt, const jsi::PropNameID &propName) override {
|
|
392
|
+
return delegate_.create(rt, propName);
|
|
393
|
+
}
|
|
394
|
+
|
|
395
|
+
std::vector<jsi::PropNameID> getPropertyNames(jsi::Runtime& runtime) override {
|
|
396
|
+
return delegate_.getPropertyNames(runtime);
|
|
397
|
+
}
|
|
398
|
+
|
|
399
|
+
static constexpr std::string_view kModuleName = "NativeRNFBTurboDatabaseTransaction";
|
|
400
|
+
|
|
401
|
+
protected:
|
|
402
|
+
NativeRNFBTurboDatabaseTransactionCxxSpec(std::shared_ptr<CallInvoker> jsInvoker)
|
|
403
|
+
: TurboModule(std::string{NativeRNFBTurboDatabaseTransactionCxxSpec::kModuleName}, jsInvoker),
|
|
404
|
+
delegate_(reinterpret_cast<T*>(this), jsInvoker) {}
|
|
405
|
+
|
|
406
|
+
|
|
407
|
+
private:
|
|
408
|
+
class Delegate : public NativeRNFBTurboDatabaseTransactionCxxSpecJSI {
|
|
409
|
+
public:
|
|
410
|
+
Delegate(T *instance, std::shared_ptr<CallInvoker> jsInvoker) :
|
|
411
|
+
NativeRNFBTurboDatabaseTransactionCxxSpecJSI(std::move(jsInvoker)), instance_(instance) {
|
|
412
|
+
|
|
413
|
+
}
|
|
414
|
+
|
|
415
|
+
void transactionStart(jsi::Runtime &rt, jsi::String app, jsi::String dbURL, jsi::String path, double transactionId, bool applyLocally) override {
|
|
416
|
+
static_assert(
|
|
417
|
+
bridging::getParameterCount(&T::transactionStart) == 6,
|
|
418
|
+
"Expected transactionStart(...) to have 6 parameters");
|
|
419
|
+
|
|
420
|
+
return bridging::callFromJs<void>(
|
|
421
|
+
rt, &T::transactionStart, jsInvoker_, instance_, std::move(app), std::move(dbURL), std::move(path), std::move(transactionId), std::move(applyLocally));
|
|
422
|
+
}
|
|
423
|
+
void transactionTryCommit(jsi::Runtime &rt, jsi::String app, jsi::String dbURL, double transactionId, jsi::Object updates) override {
|
|
424
|
+
static_assert(
|
|
425
|
+
bridging::getParameterCount(&T::transactionTryCommit) == 5,
|
|
426
|
+
"Expected transactionTryCommit(...) to have 5 parameters");
|
|
427
|
+
|
|
428
|
+
return bridging::callFromJs<void>(
|
|
429
|
+
rt, &T::transactionTryCommit, jsInvoker_, instance_, std::move(app), std::move(dbURL), std::move(transactionId), std::move(updates));
|
|
430
|
+
}
|
|
431
|
+
|
|
432
|
+
private:
|
|
433
|
+
friend class NativeRNFBTurboDatabaseTransactionCxxSpec;
|
|
434
|
+
T *instance_;
|
|
435
|
+
};
|
|
436
|
+
|
|
437
|
+
Delegate delegate_;
|
|
438
|
+
};
|
|
439
|
+
|
|
440
|
+
} // namespace facebook::react
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
*
|
|
18
18
|
*/
|
|
19
19
|
|
|
20
|
-
import {
|
|
20
|
+
import { isArray, isFunction, isNumber, isObject, isString } from '@react-native-firebase/app/dist/module/common';
|
|
21
21
|
import { deepGet } from '@react-native-firebase/app/dist/module/common/deeps';
|
|
22
22
|
function ap(reference) {
|
|
23
23
|
return reference;
|
|
@@ -26,7 +26,7 @@ export default class DatabaseDataSnapshot {
|
|
|
26
26
|
constructor(reference, snapshot) {
|
|
27
27
|
this._snapshot = snapshot;
|
|
28
28
|
if (reference.key !== snapshot.key && isString(snapshot.key)) {
|
|
29
|
-
this._ref = ap(reference.ref).child
|
|
29
|
+
this._ref = ap(reference.ref).child(snapshot.key);
|
|
30
30
|
} else {
|
|
31
31
|
this._ref = reference;
|
|
32
32
|
}
|
|
@@ -46,7 +46,7 @@ export default class DatabaseDataSnapshot {
|
|
|
46
46
|
if (value === undefined) {
|
|
47
47
|
value = null;
|
|
48
48
|
}
|
|
49
|
-
const childRef = ap(this._ref).child
|
|
49
|
+
const childRef = ap(this._ref).child(path);
|
|
50
50
|
let childPriority = null;
|
|
51
51
|
if (this._snapshot.childPriorities) {
|
|
52
52
|
const childPriorityValue = this._snapshot.childPriorities[childRef.key];
|
|
@@ -54,13 +54,13 @@ export default class DatabaseDataSnapshot {
|
|
|
54
54
|
childPriority = childPriorityValue;
|
|
55
55
|
}
|
|
56
56
|
}
|
|
57
|
-
return
|
|
57
|
+
return new DatabaseDataSnapshot(childRef, {
|
|
58
58
|
value,
|
|
59
59
|
key: childRef.key,
|
|
60
60
|
exists: value !== null,
|
|
61
61
|
childKeys: isObject(value) ? Object.keys(value) : [],
|
|
62
62
|
priority: childPriority
|
|
63
|
-
})
|
|
63
|
+
});
|
|
64
64
|
}
|
|
65
65
|
exists() {
|
|
66
66
|
return this._snapshot.exists;
|
|
@@ -103,9 +103,23 @@ export default class DatabaseDataSnapshot {
|
|
|
103
103
|
}
|
|
104
104
|
return cancelled;
|
|
105
105
|
}
|
|
106
|
-
|
|
106
|
+
get priority() {
|
|
107
107
|
return this._snapshot.priority ?? null;
|
|
108
108
|
}
|
|
109
|
+
get size() {
|
|
110
|
+
const value = this.val();
|
|
111
|
+
if (value === null) {
|
|
112
|
+
return 4;
|
|
113
|
+
}
|
|
114
|
+
try {
|
|
115
|
+
return JSON.stringify(value).length;
|
|
116
|
+
} catch {
|
|
117
|
+
return 0;
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
getPriority() {
|
|
121
|
+
return this.priority;
|
|
122
|
+
}
|
|
109
123
|
hasChild(path) {
|
|
110
124
|
if (!isString(path)) {
|
|
111
125
|
throw new Error("snapshot.hasChild(*) 'path' must be a string value.");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["isArray","isFunction","isNumber","isObject","isString","deepGet","ap","reference","DatabaseDataSnapshot","constructor","snapshot","_snapshot","key","_ref","ref","child","path","Error","rootValue","value","undefined","childRef","childPriority","childPriorities","childPriorityValue","exists","childKeys","Object","keys","priority","exportVal","JSON","parse","stringify","forEach","action","iterate","some","_value","i","toString","length","cancelled","actionReturn","size","val","getPriority","hasChild","hasChildren","numChildren","toJSON"],"sourceRoot":"../../lib","sources":["DatabaseDataSnapshot.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["isFunction","isNull","isNumber","isObject","isString","isUndefined","isValidPath","promiseWithOptionalCallback","DatabaseOnDisconnect","constructor","reference","_ref","cancel","onComplete","Error","_database","native","onDisconnectCancel","path","remove","onDisconnectRemove","set","value","onDisconnectSet","setWithPriority","priority","onDisconnectSetWithPriority","update","values","Object","keys","length","i","onDisconnectUpdate"],"sourceRoot":"../../lib","sources":["DatabaseOnDisconnect.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SACEA,UAAU,EACVC,MAAM,EACNC,QAAQ,EACRC,QAAQ,EACRC,QAAQ,EACRC,WAAW,EACXC,WAAW,EACXC,2BAA2B,QACtB,+CAA+C;AAUtD,eAAe,MAAMC,oBAAoB,
|
|
1
|
+
{"version":3,"names":["isFunction","isNull","isNumber","isObject","isString","isUndefined","isValidPath","promiseWithOptionalCallback","DatabaseOnDisconnect","constructor","reference","_ref","cancel","onComplete","Error","_database","native","onDisconnectCancel","path","remove","onDisconnectRemove","set","value","onDisconnectSet","setWithPriority","priority","onDisconnectSetWithPriority","update","values","Object","keys","length","i","onDisconnectUpdate"],"sourceRoot":"../../lib","sources":["DatabaseOnDisconnect.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
*
|
|
18
18
|
*/
|
|
19
19
|
|
|
20
|
-
import {
|
|
20
|
+
import { isBoolean, isFunction, isNull, isNumber, isObject, isString, isUndefined, pathIsEmpty, pathToUrlEncodedString, ReferenceBase } from '@react-native-firebase/app/dist/module/common';
|
|
21
21
|
import DatabaseDataSnapshot from "./DatabaseDataSnapshot.js";
|
|
22
22
|
import DatabaseSyncTree from "./DatabaseSyncTree.js";
|
|
23
23
|
const eventTypes = ['value', 'child_added', 'child_changed', 'child_moved', 'child_removed'];
|
|
@@ -25,14 +25,11 @@ let DatabaseReferenceClass = null;
|
|
|
25
25
|
export function provideReferenceClass(databaseReference) {
|
|
26
26
|
DatabaseReferenceClass = databaseReference;
|
|
27
27
|
}
|
|
28
|
-
function ap(query) {
|
|
29
|
-
return query;
|
|
30
|
-
}
|
|
31
28
|
function createReference(database, path) {
|
|
32
29
|
if (!DatabaseReferenceClass) {
|
|
33
30
|
throw new Error('DatabaseReference class has not been provided.');
|
|
34
31
|
}
|
|
35
|
-
return
|
|
32
|
+
return new DatabaseReferenceClass(database, path);
|
|
36
33
|
}
|
|
37
34
|
let listeners = 0;
|
|
38
35
|
export default class DatabaseQuery extends ReferenceBase {
|
|
@@ -56,7 +53,7 @@ export default class DatabaseQuery extends ReferenceBase {
|
|
|
56
53
|
}
|
|
57
54
|
const modifiers = this._modifiers._copy().endAt(value, key);
|
|
58
55
|
modifiers.validateModifiers('firebase.database().ref().endAt()');
|
|
59
|
-
return
|
|
56
|
+
return new DatabaseQuery(this._database, this.path, modifiers);
|
|
60
57
|
}
|
|
61
58
|
equalTo(value, key) {
|
|
62
59
|
if (!isNumber(value) && !isString(value) && !isBoolean(value) && !isNull(value)) {
|
|
@@ -71,7 +68,7 @@ export default class DatabaseQuery extends ReferenceBase {
|
|
|
71
68
|
if (this._modifiers.hasEndAt()) {
|
|
72
69
|
throw new Error('firebase.database().ref().equalTo() Ending point was already set (by another call to endAt or equalTo).');
|
|
73
70
|
}
|
|
74
|
-
return
|
|
71
|
+
return this.startAt(value, key).endAt(value, key);
|
|
75
72
|
}
|
|
76
73
|
isEqual(other) {
|
|
77
74
|
if (!(other instanceof DatabaseQuery)) {
|
|
@@ -89,7 +86,7 @@ export default class DatabaseQuery extends ReferenceBase {
|
|
|
89
86
|
if (this._modifiers.hasLimit()) {
|
|
90
87
|
throw new Error('firebase.database().ref().limitToFirst(*) Limit was already set (by another call to limitToFirst, or limitToLast)');
|
|
91
88
|
}
|
|
92
|
-
return
|
|
89
|
+
return new DatabaseQuery(this._database, this.path, this._modifiers._copy().limitToFirst(limit));
|
|
93
90
|
}
|
|
94
91
|
limitToLast(limit) {
|
|
95
92
|
if (this._modifiers.isValidLimit(limit)) {
|
|
@@ -98,7 +95,7 @@ export default class DatabaseQuery extends ReferenceBase {
|
|
|
98
95
|
if (this._modifiers.hasLimit()) {
|
|
99
96
|
throw new Error('firebase.database().ref().limitToLast(*) Limit was already set (by another call to limitToFirst, or limitToLast)');
|
|
100
97
|
}
|
|
101
|
-
return
|
|
98
|
+
return new DatabaseQuery(this._database, this.path, this._modifiers._copy().limitToLast(limit));
|
|
102
99
|
}
|
|
103
100
|
off(eventType, callback, context) {
|
|
104
101
|
if (arguments.length === 0) {
|
|
@@ -201,10 +198,10 @@ export default class DatabaseQuery extends ReferenceBase {
|
|
|
201
198
|
let dataSnapshot;
|
|
202
199
|
let previousChildName;
|
|
203
200
|
if (eventType === 'value') {
|
|
204
|
-
dataSnapshot =
|
|
201
|
+
dataSnapshot = new DatabaseDataSnapshot(this.ref, result);
|
|
205
202
|
} else {
|
|
206
203
|
const childResult = result;
|
|
207
|
-
dataSnapshot =
|
|
204
|
+
dataSnapshot = new DatabaseDataSnapshot(this.ref, childResult.snapshot);
|
|
208
205
|
previousChildName = childResult.previousChildName;
|
|
209
206
|
}
|
|
210
207
|
if (isFunction(successCallBack)) {
|
|
@@ -236,7 +233,7 @@ export default class DatabaseQuery extends ReferenceBase {
|
|
|
236
233
|
}
|
|
237
234
|
const modifiers = this._modifiers._copy().orderByChild(path);
|
|
238
235
|
modifiers.validateModifiers('firebase.database().ref().orderByChild()');
|
|
239
|
-
return
|
|
236
|
+
return new DatabaseQuery(this._database, this.path, modifiers);
|
|
240
237
|
}
|
|
241
238
|
orderByKey() {
|
|
242
239
|
if (this._modifiers.hasOrderBy()) {
|
|
@@ -244,7 +241,7 @@ export default class DatabaseQuery extends ReferenceBase {
|
|
|
244
241
|
}
|
|
245
242
|
const modifiers = this._modifiers._copy().orderByKey();
|
|
246
243
|
modifiers.validateModifiers('firebase.database().ref().orderByKey()');
|
|
247
|
-
return
|
|
244
|
+
return new DatabaseQuery(this._database, this.path, modifiers);
|
|
248
245
|
}
|
|
249
246
|
orderByPriority() {
|
|
250
247
|
if (this._modifiers.hasOrderBy()) {
|
|
@@ -252,7 +249,7 @@ export default class DatabaseQuery extends ReferenceBase {
|
|
|
252
249
|
}
|
|
253
250
|
const modifiers = this._modifiers._copy().orderByPriority();
|
|
254
251
|
modifiers.validateModifiers('firebase.database().ref().orderByPriority()');
|
|
255
|
-
return
|
|
252
|
+
return new DatabaseQuery(this._database, this.path, modifiers);
|
|
256
253
|
}
|
|
257
254
|
orderByValue() {
|
|
258
255
|
if (this._modifiers.hasOrderBy()) {
|
|
@@ -260,7 +257,7 @@ export default class DatabaseQuery extends ReferenceBase {
|
|
|
260
257
|
}
|
|
261
258
|
const modifiers = this._modifiers._copy().orderByValue();
|
|
262
259
|
modifiers.validateModifiers('firebase.database().ref().orderByValue()');
|
|
263
|
-
return
|
|
260
|
+
return new DatabaseQuery(this._database, this.path, modifiers);
|
|
264
261
|
}
|
|
265
262
|
startAt(value, key) {
|
|
266
263
|
if (!isNumber(value) && !isString(value) && !isBoolean(value) && !isNull(value)) {
|
|
@@ -274,7 +271,7 @@ export default class DatabaseQuery extends ReferenceBase {
|
|
|
274
271
|
}
|
|
275
272
|
const modifiers = this._modifiers._copy().startAt(value, key);
|
|
276
273
|
modifiers.validateModifiers('firebase.database().ref().startAt()');
|
|
277
|
-
return
|
|
274
|
+
return new DatabaseQuery(this._database, this.path, modifiers);
|
|
278
275
|
}
|
|
279
276
|
toJSON() {
|
|
280
277
|
return this.toString();
|