@react-native-firebase/database 24.1.1 → 25.0.1

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.
Files changed (126) hide show
  1. package/CHANGELOG.md +36 -0
  2. package/dist/module/DatabaseDataSnapshot.js +144 -0
  3. package/dist/module/DatabaseDataSnapshot.js.map +1 -0
  4. package/dist/module/DatabaseOnDisconnect.js +84 -0
  5. package/dist/module/DatabaseOnDisconnect.js.map +1 -0
  6. package/dist/module/DatabaseQuery.js +298 -0
  7. package/dist/module/DatabaseQuery.js.map +1 -0
  8. package/{lib → dist/module}/DatabaseQueryModifiers.js +49 -98
  9. package/dist/module/DatabaseQueryModifiers.js.map +1 -0
  10. package/dist/module/DatabaseReference.js +169 -0
  11. package/dist/module/DatabaseReference.js.map +1 -0
  12. package/dist/module/DatabaseStatics.js +35 -0
  13. package/dist/module/DatabaseStatics.js.map +1 -0
  14. package/{lib → dist/module}/DatabaseSyncTree.js +74 -156
  15. package/dist/module/DatabaseSyncTree.js.map +1 -0
  16. package/{lib → dist/module}/DatabaseThenableReference.js +12 -12
  17. package/dist/module/DatabaseThenableReference.js.map +1 -0
  18. package/{lib → dist/module}/DatabaseTransaction.js +26 -89
  19. package/dist/module/DatabaseTransaction.js.map +1 -0
  20. package/dist/module/index.js +27 -0
  21. package/dist/module/index.js.map +1 -0
  22. package/dist/module/modular/query.js +138 -0
  23. package/dist/module/modular/query.js.map +1 -0
  24. package/dist/module/modular/transaction.js +24 -0
  25. package/dist/module/modular/transaction.js.map +1 -0
  26. package/dist/module/modular.js +76 -0
  27. package/dist/module/modular.js.map +1 -0
  28. package/dist/module/namespaced.js +147 -0
  29. package/dist/module/namespaced.js.map +1 -0
  30. package/dist/module/package.json +1 -0
  31. package/dist/module/types/database.js +21 -0
  32. package/dist/module/types/database.js.map +1 -0
  33. package/dist/module/types/internal.js +4 -0
  34. package/dist/module/types/internal.js.map +1 -0
  35. package/dist/module/types/namespaced.js +67 -0
  36. package/dist/module/types/namespaced.js.map +1 -0
  37. package/dist/module/version.js +5 -0
  38. package/dist/module/version.js.map +1 -0
  39. package/dist/module/web/RNFBDatabaseModule.android.js +6 -0
  40. package/dist/module/web/RNFBDatabaseModule.android.js.map +1 -0
  41. package/dist/module/web/RNFBDatabaseModule.ios.js +6 -0
  42. package/dist/module/web/RNFBDatabaseModule.ios.js.map +1 -0
  43. package/dist/module/web/RNFBDatabaseModule.js +375 -0
  44. package/dist/module/web/RNFBDatabaseModule.js.map +1 -0
  45. package/{lib → dist/module}/web/query.js +19 -24
  46. package/dist/module/web/query.js.map +1 -0
  47. package/dist/typescript/lib/DatabaseDataSnapshot.d.ts +20 -0
  48. package/dist/typescript/lib/DatabaseDataSnapshot.d.ts.map +1 -0
  49. package/dist/typescript/lib/DatabaseOnDisconnect.d.ts +19 -0
  50. package/dist/typescript/lib/DatabaseOnDisconnect.d.ts.map +1 -0
  51. package/dist/typescript/lib/DatabaseQuery.d.ts +32 -0
  52. package/dist/typescript/lib/DatabaseQuery.d.ts.map +1 -0
  53. package/dist/typescript/lib/DatabaseQueryModifiers.d.ts +55 -0
  54. package/dist/typescript/lib/DatabaseQueryModifiers.d.ts.map +1 -0
  55. package/dist/typescript/lib/DatabaseReference.d.ts +21 -0
  56. package/dist/typescript/lib/DatabaseReference.d.ts.map +1 -0
  57. package/dist/typescript/lib/DatabaseStatics.d.ts +10 -0
  58. package/dist/typescript/lib/DatabaseStatics.d.ts.map +1 -0
  59. package/dist/typescript/lib/DatabaseSyncTree.d.ts +72 -0
  60. package/dist/typescript/lib/DatabaseSyncTree.d.ts.map +1 -0
  61. package/dist/typescript/lib/DatabaseThenableReference.d.ts +13 -0
  62. package/dist/typescript/lib/DatabaseThenableReference.d.ts.map +1 -0
  63. package/dist/typescript/lib/DatabaseTransaction.d.ts +15 -0
  64. package/dist/typescript/lib/DatabaseTransaction.d.ts.map +1 -0
  65. package/dist/typescript/lib/index.d.ts +6 -0
  66. package/dist/typescript/lib/index.d.ts.map +1 -0
  67. package/dist/typescript/lib/modular/query.d.ts +41 -0
  68. package/dist/typescript/lib/modular/query.d.ts.map +1 -0
  69. package/dist/typescript/lib/modular/transaction.d.ts +3 -0
  70. package/dist/typescript/lib/modular/transaction.d.ts.map +1 -0
  71. package/dist/typescript/lib/modular.d.ts +24 -0
  72. package/dist/typescript/lib/modular.d.ts.map +1 -0
  73. package/dist/typescript/lib/namespaced.d.ts +13 -0
  74. package/dist/typescript/lib/namespaced.d.ts.map +1 -0
  75. package/dist/typescript/lib/types/database.d.ts +93 -0
  76. package/dist/typescript/lib/types/database.d.ts.map +1 -0
  77. package/dist/typescript/lib/types/internal.d.ts +189 -0
  78. package/dist/typescript/lib/types/internal.d.ts.map +1 -0
  79. package/dist/typescript/lib/types/namespaced.d.ts +1230 -0
  80. package/dist/typescript/lib/types/namespaced.d.ts.map +1 -0
  81. package/dist/typescript/lib/version.d.ts +2 -0
  82. package/dist/typescript/lib/version.d.ts.map +1 -0
  83. package/dist/typescript/lib/web/RNFBDatabaseModule.android.d.ts +3 -0
  84. package/dist/typescript/lib/web/RNFBDatabaseModule.android.d.ts.map +1 -0
  85. package/dist/typescript/lib/web/RNFBDatabaseModule.d.ts +3 -0
  86. package/dist/typescript/lib/web/RNFBDatabaseModule.d.ts.map +1 -0
  87. package/dist/typescript/lib/web/RNFBDatabaseModule.ios.d.ts +3 -0
  88. package/dist/typescript/lib/web/RNFBDatabaseModule.ios.d.ts.map +1 -0
  89. package/dist/typescript/lib/web/query.d.ts +13 -0
  90. package/dist/typescript/lib/web/query.d.ts.map +1 -0
  91. package/dist/typescript/package.json +1 -0
  92. package/lib/{DatabaseDataSnapshot.js → DatabaseDataSnapshot.ts} +62 -88
  93. package/lib/{DatabaseOnDisconnect.js → DatabaseOnDisconnect.ts} +25 -23
  94. package/lib/{DatabaseQuery.js → DatabaseQuery.ts} +130 -144
  95. package/lib/DatabaseQueryModifiers.ts +283 -0
  96. package/lib/{DatabaseReference.js → DatabaseReference.ts} +103 -85
  97. package/lib/{DatabaseStatics.js → DatabaseStatics.ts} +4 -2
  98. package/lib/DatabaseSyncTree.ts +390 -0
  99. package/lib/DatabaseThenableReference.ts +73 -0
  100. package/lib/DatabaseTransaction.ts +172 -0
  101. package/lib/index.ts +25 -0
  102. package/lib/modular/query.ts +410 -0
  103. package/lib/modular/transaction.ts +34 -0
  104. package/lib/modular.ts +134 -0
  105. package/lib/{index.js → namespaced.ts} +91 -90
  106. package/lib/types/database.ts +144 -0
  107. package/lib/types/internal.ts +317 -0
  108. package/lib/{index.d.ts → types/namespaced.ts} +48 -9
  109. package/lib/version.ts +2 -0
  110. package/lib/web/RNFBDatabaseModule.android.ts +4 -0
  111. package/lib/web/RNFBDatabaseModule.ios.ts +4 -0
  112. package/lib/web/RNFBDatabaseModule.ts +534 -0
  113. package/lib/web/query.ts +97 -0
  114. package/package.json +42 -7
  115. package/tsconfig.json +21 -0
  116. package/typedoc.json +3 -3
  117. package/lib/modular/index.d.ts +0 -246
  118. package/lib/modular/index.js +0 -134
  119. package/lib/modular/query.d.ts +0 -972
  120. package/lib/modular/query.js +0 -305
  121. package/lib/modular/transaction.d.ts +0 -54
  122. package/lib/modular/transaction.js +0 -24
  123. package/lib/version.js +0 -2
  124. package/lib/web/RNFBDatabaseModule.android.js +0 -2
  125. package/lib/web/RNFBDatabaseModule.ios.js +0 -2
  126. package/lib/web/RNFBDatabaseModule.js +0 -558
@@ -0,0 +1 @@
1
+ {"type":"module"}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+
3
+ /*
4
+ * Copyright (c) 2016-present Invertase Limited & Contributors
5
+ *
6
+ * Licensed under the Apache License, Version 2.0 (the "License");
7
+ * you may not use this library except in compliance with the License.
8
+ * You may obtain a copy of the License at
9
+ *
10
+ * http://www.apache.org/licenses/LICENSE-2.0
11
+ *
12
+ * Unless required by applicable law or agreed to in writing, software
13
+ * distributed under the License is distributed on an "AS IS" BASIS,
14
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
+ * See the License for the specific language governing permissions and
16
+ * limitations under the License.
17
+ *
18
+ */
19
+
20
+ export class QueryConstraint {}
21
+ //# sourceMappingURL=database.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["QueryConstraint"],"sourceRoot":"../../../lib","sources":["types/database.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AA0HA,OAAO,MAAeA,eAAe,CAAC","ignoreList":[]}
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+
3
+ export {};
4
+ //# sourceMappingURL=internal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../../lib","sources":["types/internal.ts"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,67 @@
1
+ "use strict";
2
+
3
+ /*
4
+ * Copyright (c) 2016-present Invertase Limited & Contributors
5
+ *
6
+ * Licensed under the Apache License, Version 2.0 (the "License");
7
+ * you may not use this library except in compliance with the License.
8
+ * You may obtain a copy of the License at
9
+ *
10
+ * http://www.apache.org/licenses/LICENSE-2.0
11
+ *
12
+ * Unless required by applicable law or agreed to in writing, software
13
+ * distributed under the License is distributed on an "AS IS" BASIS,
14
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
+ * See the License for the specific language governing permissions and
16
+ * limitations under the License.
17
+ *
18
+ */
19
+
20
+ import { ReactNativeFirebase } from '@react-native-firebase/app';
21
+
22
+ /**
23
+ * Firebase Database package for React Native.
24
+ *
25
+ * #### Example 1
26
+ *
27
+ * Access the firebase export from the `database` package:
28
+ *
29
+ * ```js
30
+ * import { firebase } from '@react-native-firebase/database';
31
+ *
32
+ * // firebase.database().X
33
+ * ```
34
+ *
35
+ * #### Example 2
36
+ *
37
+ * Using the default export from the `database` package:
38
+ *
39
+ * ```js
40
+ * import database from '@react-native-firebase/database';
41
+ *
42
+ * // database().X
43
+ * ```
44
+ *
45
+ * #### Example 3
46
+ *
47
+ * Using the default export from the `app` package:
48
+ *
49
+ * ```js
50
+ * import firebase from '@react-native-firebase/app';
51
+ * import '@react-native-firebase/database';
52
+ *
53
+ * // firebase.database().X
54
+ * ```
55
+ *
56
+ * @firebase database
57
+ */
58
+ /**
59
+ * @deprecated Use the exported types directly instead.
60
+ * FirebaseDatabaseTypes namespace is kept for backwards compatibility.
61
+ */
62
+ // eslint-disable-next-line @typescript-eslint/no-namespace
63
+ export let FirebaseDatabaseTypes;
64
+ /**
65
+ * Attach namespace to `firebase.` and `FirebaseApp.`.
66
+ */
67
+ //# sourceMappingURL=namespaced.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["ReactNativeFirebase","FirebaseDatabaseTypes"],"sourceRoot":"../../../lib","sources":["types/namespaced.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASA,mBAAmB,QAAQ,4BAA4B;;AAEhE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA,WACiBC,qBAAqB;AAuwCtC;AACA;AACA","ignoreList":[]}
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ // Generated by genversion.
4
+ export const version = '25.0.1';
5
+ //# sourceMappingURL=version.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["version"],"sourceRoot":"../../lib","sources":["version.ts"],"mappings":";;AAAA;AACA,OAAO,MAAMA,OAAO,GAAG,QAAQ","ignoreList":[]}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+
3
+ // No-op for android.
4
+ const databaseAndroidFallbackModule = {};
5
+ export default databaseAndroidFallbackModule;
6
+ //# sourceMappingURL=RNFBDatabaseModule.android.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["databaseAndroidFallbackModule"],"sourceRoot":"../../../lib","sources":["web/RNFBDatabaseModule.android.ts"],"mappings":";;AAAA;AACA,MAAMA,6BAAoD,GAAG,CAAC,CAAC;AAE/D,eAAeA,6BAA6B","ignoreList":[]}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+
3
+ // No-op for ios.
4
+ const databaseIosFallbackModule = {};
5
+ export default databaseIosFallbackModule;
6
+ //# sourceMappingURL=RNFBDatabaseModule.ios.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["databaseIosFallbackModule"],"sourceRoot":"../../../lib","sources":["web/RNFBDatabaseModule.ios.ts"],"mappings":";;AAAA;AACA,MAAMA,yBAAgD,GAAG,CAAC,CAAC;AAE3D,eAAeA,yBAAyB","ignoreList":[]}
@@ -0,0 +1,375 @@
1
+ "use strict";
2
+
3
+ import { connectDatabaseEmulator, enableLogging, get, getApp, getDatabase, goOffline, goOnline, onChildAdded, onChildChanged, onChildMoved, onChildRemoved, onDisconnect, onValue, ref, remove, runTransaction, set, setPriority, setWithPriority, update } from '@react-native-firebase/app/dist/module/internal/web/firebaseDatabase';
4
+ import { emitEvent, getWebError, guard } from '@react-native-firebase/app/dist/module/internal/web/utils';
5
+ import { getQueryInstance } from "./query.js";
6
+ function rejectWithCodeAndMessage(code, message) {
7
+ const error = new Error(message);
8
+ error.code = code;
9
+ return Promise.reject(getWebError(error));
10
+ }
11
+ function snapshotToObject(snapshot) {
12
+ const childKeys = [];
13
+ if (snapshot.hasChildren()) {
14
+ snapshot.forEach(childSnapshot => {
15
+ if (typeof childSnapshot.key === 'string') {
16
+ childKeys.push(childSnapshot.key);
17
+ }
18
+ });
19
+ }
20
+ return {
21
+ key: snapshot.key,
22
+ exists: snapshot.exists(),
23
+ hasChildren: snapshot.hasChildren(),
24
+ childrenCount: snapshot.size,
25
+ childKeys,
26
+ priority: snapshot.priority,
27
+ value: snapshot.val()
28
+ };
29
+ }
30
+ function getDatabaseWebError(error) {
31
+ return getWebError(error);
32
+ }
33
+ function snapshotWithPreviousChildToObject(snapshot, previousChildName) {
34
+ return {
35
+ snapshot: snapshotToObject(snapshot),
36
+ previousChildName
37
+ };
38
+ }
39
+ const appInstances = {};
40
+ const databaseInstances = {};
41
+ const onDisconnectRef = {};
42
+ const listeners = {};
43
+ const emulatorForApp = {};
44
+ function getCachedAppInstance(appName) {
45
+ return appInstances[appName] ??= getApp(appName);
46
+ }
47
+ function getCachedDatabaseInstance(appName, dbURL) {
48
+ let instance = databaseInstances[`${appName}|${dbURL}`];
49
+ if (!instance) {
50
+ instance = getDatabase(getCachedAppInstance(appName), dbURL);
51
+ if (emulatorForApp[appName] && !('_instanceStarted' in instance) && emulatorForApp[appName]) {
52
+ const {
53
+ host,
54
+ port
55
+ } = emulatorForApp[appName];
56
+ connectDatabaseEmulator(instance, host, port);
57
+ emulatorForApp[appName].connected = true;
58
+ }
59
+ }
60
+ return instance;
61
+ }
62
+ function getCachedOnDisconnectInstance(refValue) {
63
+ const cacheKey = String(refValue.key);
64
+ return onDisconnectRef[cacheKey] ??= onDisconnect(refValue);
65
+ }
66
+ const databaseFallbackModule = {
67
+ goOnline(appName, dbURL) {
68
+ return guard(async () => {
69
+ const db = getCachedDatabaseInstance(appName, dbURL);
70
+ goOnline(db);
71
+ });
72
+ },
73
+ goOffline(appName, dbURL) {
74
+ return guard(async () => {
75
+ const db = getCachedDatabaseInstance(appName, dbURL);
76
+ goOffline(db);
77
+ });
78
+ },
79
+ setPersistenceEnabled() {
80
+ if (__DEV__) {
81
+ // eslint-disable-next-line no-console
82
+ console.warn('The Firebase Database `setPersistenceEnabled` method is not available in the this environment.');
83
+ }
84
+ return Promise.resolve();
85
+ },
86
+ setLoggingEnabled(_app, _dbURL, enabled) {
87
+ return guard(async () => {
88
+ enableLogging(enabled);
89
+ });
90
+ },
91
+ setPersistenceCacheSizeBytes() {
92
+ return Promise.resolve();
93
+ },
94
+ useEmulator(appName, dbURL, host, port) {
95
+ return guard(async () => {
96
+ const db = getCachedDatabaseInstance(appName, dbURL);
97
+ connectDatabaseEmulator(db, host, port);
98
+ emulatorForApp[appName] = {
99
+ host,
100
+ port
101
+ };
102
+ });
103
+ },
104
+ set(appName, dbURL, path, props) {
105
+ return guard(async () => {
106
+ const db = getCachedDatabaseInstance(appName, dbURL);
107
+ const dbRef = ref(db, path);
108
+ await set(dbRef, props.value);
109
+ });
110
+ },
111
+ update(appName, dbURL, path, props) {
112
+ return guard(async () => {
113
+ const db = getCachedDatabaseInstance(appName, dbURL);
114
+ const dbRef = ref(db, path);
115
+ await update(dbRef, props.values);
116
+ });
117
+ },
118
+ setWithPriority(appName, dbURL, path, props) {
119
+ return guard(async () => {
120
+ const db = getCachedDatabaseInstance(appName, dbURL);
121
+ const dbRef = ref(db, path);
122
+ const {
123
+ value,
124
+ priority
125
+ } = props;
126
+ await setWithPriority(dbRef, value, priority);
127
+ });
128
+ },
129
+ remove(appName, dbURL, path) {
130
+ return guard(async () => {
131
+ const db = getCachedDatabaseInstance(appName, dbURL);
132
+ const dbRef = ref(db, path);
133
+ await remove(dbRef);
134
+ });
135
+ },
136
+ setPriority(appName, dbURL, path, props) {
137
+ return guard(async () => {
138
+ const db = getCachedDatabaseInstance(appName, dbURL);
139
+ const dbRef = ref(db, path);
140
+ await setPriority(dbRef, props.priority);
141
+ });
142
+ },
143
+ once(appName, dbURL, path, modifiers, eventType) {
144
+ return guard(async () => {
145
+ const db = getCachedDatabaseInstance(appName, dbURL);
146
+ const dbRef = ref(db, path);
147
+ const queryRef = getQueryInstance(dbRef, modifiers);
148
+ if (eventType === 'value') {
149
+ const snapshot = await new Promise((resolve, reject) => {
150
+ onValue(queryRef, resolve, reject, {
151
+ onlyOnce: true
152
+ });
153
+ });
154
+ return snapshotToObject(snapshot);
155
+ }
156
+ if (eventType === 'child_added') {
157
+ const {
158
+ snapshot,
159
+ previousChildName
160
+ } = await new Promise((resolve, reject) => {
161
+ onChildAdded(queryRef, (childSnapshot, childPreviousChildName) => {
162
+ resolve({
163
+ snapshot: childSnapshot,
164
+ previousChildName: childPreviousChildName
165
+ });
166
+ }, reject, {
167
+ onlyOnce: true
168
+ });
169
+ });
170
+ return snapshotWithPreviousChildToObject(snapshot, previousChildName ?? null);
171
+ }
172
+ if (eventType === 'child_changed') {
173
+ const {
174
+ snapshot,
175
+ previousChildName
176
+ } = await new Promise((resolve, reject) => {
177
+ onChildChanged(queryRef, (childSnapshot, childPreviousChildName) => {
178
+ resolve({
179
+ snapshot: childSnapshot,
180
+ previousChildName: childPreviousChildName
181
+ });
182
+ }, reject, {
183
+ onlyOnce: true
184
+ });
185
+ });
186
+ return snapshotWithPreviousChildToObject(snapshot, previousChildName ?? null);
187
+ }
188
+ if (eventType === 'child_removed') {
189
+ const snapshot = await new Promise((resolve, reject) => {
190
+ onChildRemoved(queryRef, resolve, reject, {
191
+ onlyOnce: true
192
+ });
193
+ });
194
+ return snapshotWithPreviousChildToObject(snapshot, null);
195
+ }
196
+ if (eventType === 'child_moved') {
197
+ const {
198
+ snapshot,
199
+ previousChildName
200
+ } = await new Promise((resolve, reject) => {
201
+ onChildMoved(queryRef, (childSnapshot, childPreviousChildName) => {
202
+ resolve({
203
+ snapshot: childSnapshot,
204
+ previousChildName: childPreviousChildName
205
+ });
206
+ }, reject, {
207
+ onlyOnce: true
208
+ });
209
+ });
210
+ return snapshotWithPreviousChildToObject(snapshot, previousChildName ?? null);
211
+ }
212
+ const snapshot = await get(dbRef);
213
+ return snapshotToObject(snapshot);
214
+ });
215
+ },
216
+ on(appName, dbURL, props) {
217
+ return guard(async () => {
218
+ const db = getCachedDatabaseInstance(appName, dbURL);
219
+ const {
220
+ key,
221
+ modifiers,
222
+ path,
223
+ eventType,
224
+ registration
225
+ } = props;
226
+ const {
227
+ eventRegistrationKey
228
+ } = registration;
229
+ const dbRef = ref(db, path);
230
+ const queryRef = getQueryInstance(dbRef, modifiers);
231
+ function sendEvent(data) {
232
+ emitEvent('database_sync_event', {
233
+ eventName: 'database_sync_event',
234
+ body: {
235
+ data,
236
+ key,
237
+ registration,
238
+ eventType
239
+ }
240
+ });
241
+ }
242
+ function sendError(error) {
243
+ emitEvent('database_sync_event', {
244
+ eventName: 'database_sync_event',
245
+ body: {
246
+ key,
247
+ registration,
248
+ error: getDatabaseWebError(error)
249
+ }
250
+ });
251
+ }
252
+ let listener = null;
253
+ if (listeners[eventRegistrationKey]) {
254
+ return;
255
+ }
256
+ if (eventType === 'value') {
257
+ listener = onValue(queryRef, snapshot => sendEvent(snapshotToObject(snapshot)), sendError);
258
+ } else if (eventType === 'child_added') {
259
+ listener = onChildAdded(queryRef, (snapshot, previousChildName) => {
260
+ sendEvent(snapshotWithPreviousChildToObject(snapshot, previousChildName ?? null));
261
+ }, sendError);
262
+ } else if (eventType === 'child_changed') {
263
+ listener = onChildChanged(queryRef, (snapshot, previousChildName) => {
264
+ sendEvent(snapshotWithPreviousChildToObject(snapshot, previousChildName ?? null));
265
+ }, sendError);
266
+ } else if (eventType === 'child_removed') {
267
+ listener = onChildRemoved(queryRef, snapshot => {
268
+ sendEvent(snapshotWithPreviousChildToObject(snapshot, null));
269
+ }, sendError);
270
+ } else if (eventType === 'child_moved') {
271
+ listener = onChildMoved(queryRef, (snapshot, previousChildName) => {
272
+ sendEvent(snapshotWithPreviousChildToObject(snapshot, previousChildName ?? null));
273
+ }, sendError);
274
+ }
275
+ if (listener) {
276
+ listeners[eventRegistrationKey] = listener;
277
+ }
278
+ });
279
+ },
280
+ off(_queryKey, eventRegistrationKey) {
281
+ const listener = listeners[eventRegistrationKey];
282
+ if (listener) {
283
+ listener();
284
+ delete listeners[eventRegistrationKey];
285
+ }
286
+ },
287
+ keepSynced() {
288
+ return rejectWithCodeAndMessage('unsupported', 'This operation is not supported on this environment.');
289
+ },
290
+ onDisconnectCancel(appName, dbURL, path) {
291
+ return guard(async () => {
292
+ const db = getCachedDatabaseInstance(appName, dbURL);
293
+ const dbRef = ref(db, path);
294
+ const instance = getCachedOnDisconnectInstance(dbRef);
295
+ await instance.cancel();
296
+ delete onDisconnectRef[String(dbRef.key)];
297
+ });
298
+ },
299
+ onDisconnectRemove(appName, dbURL, path) {
300
+ return guard(async () => {
301
+ const db = getCachedDatabaseInstance(appName, dbURL);
302
+ const dbRef = ref(db, path);
303
+ const instance = getCachedOnDisconnectInstance(dbRef);
304
+ await instance.remove();
305
+ });
306
+ },
307
+ onDisconnectSet(appName, dbURL, path, props) {
308
+ return guard(async () => {
309
+ const db = getCachedDatabaseInstance(appName, dbURL);
310
+ const dbRef = ref(db, path);
311
+ const instance = getCachedOnDisconnectInstance(dbRef);
312
+ await instance.set(props.value);
313
+ });
314
+ },
315
+ onDisconnectSetWithPriority(appName, dbURL, path, props) {
316
+ return guard(async () => {
317
+ const db = getCachedDatabaseInstance(appName, dbURL);
318
+ const dbRef = ref(db, path);
319
+ const instance = getCachedOnDisconnectInstance(dbRef);
320
+ const {
321
+ value,
322
+ priority
323
+ } = props;
324
+ await instance.setWithPriority(value, priority);
325
+ });
326
+ },
327
+ onDisconnectUpdate(appName, dbURL, path, props) {
328
+ return guard(async () => {
329
+ const db = getCachedDatabaseInstance(appName, dbURL);
330
+ const dbRef = ref(db, path);
331
+ const instance = getCachedOnDisconnectInstance(dbRef);
332
+ await instance.update(props.values);
333
+ });
334
+ },
335
+ transactionStart(appName, dbURL, path, transactionId, applyLocally, userExecutor) {
336
+ return guard(async () => {
337
+ const db = getCachedDatabaseInstance(appName, dbURL);
338
+ const dbRef = ref(db, path);
339
+ try {
340
+ const {
341
+ committed,
342
+ snapshot
343
+ } = await runTransaction(dbRef, userExecutor ?? (data => data), {
344
+ applyLocally
345
+ });
346
+ emitEvent('database_transaction_event', {
347
+ body: {
348
+ committed,
349
+ type: 'complete',
350
+ snapshot: snapshotToObject(snapshot)
351
+ },
352
+ appName,
353
+ id: transactionId,
354
+ eventName: 'database_transaction_event'
355
+ });
356
+ } catch (e) {
357
+ emitEvent('database_transaction_event', {
358
+ body: {
359
+ committed: false,
360
+ type: 'error',
361
+ error: getDatabaseWebError(e)
362
+ },
363
+ appName,
364
+ id: transactionId,
365
+ eventName: 'database_transaction_event'
366
+ });
367
+ }
368
+ });
369
+ },
370
+ async transactionTryCommit(_appName, _dbURL, _transactionId, _updates) {
371
+ throw new Error('Not implemented');
372
+ }
373
+ };
374
+ export default databaseFallbackModule;
375
+ //# sourceMappingURL=RNFBDatabaseModule.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["connectDatabaseEmulator","enableLogging","get","getApp","getDatabase","goOffline","goOnline","onChildAdded","onChildChanged","onChildMoved","onChildRemoved","onDisconnect","onValue","ref","remove","runTransaction","set","setPriority","setWithPriority","update","emitEvent","getWebError","guard","getQueryInstance","rejectWithCodeAndMessage","code","message","error","Error","Promise","reject","snapshotToObject","snapshot","childKeys","hasChildren","forEach","childSnapshot","key","push","exists","childrenCount","size","priority","value","val","getDatabaseWebError","snapshotWithPreviousChildToObject","previousChildName","appInstances","databaseInstances","onDisconnectRef","listeners","emulatorForApp","getCachedAppInstance","appName","getCachedDatabaseInstance","dbURL","instance","host","port","connected","getCachedOnDisconnectInstance","refValue","cacheKey","String","databaseFallbackModule","db","setPersistenceEnabled","__DEV__","console","warn","resolve","setLoggingEnabled","_app","_dbURL","enabled","setPersistenceCacheSizeBytes","useEmulator","path","props","dbRef","values","once","modifiers","eventType","queryRef","onlyOnce","childPreviousChildName","on","registration","eventRegistrationKey","sendEvent","data","eventName","body","sendError","listener","off","_queryKey","keepSynced","onDisconnectCancel","cancel","onDisconnectRemove","onDisconnectSet","onDisconnectSetWithPriority","onDisconnectUpdate","transactionStart","transactionId","applyLocally","userExecutor","committed","type","id","e","transactionTryCommit","_appName","_transactionId","_updates"],"sourceRoot":"../../../lib","sources":["web/RNFBDatabaseModule.ts"],"mappings":";;AAAA,SACEA,uBAAuB,EACvBC,aAAa,EACbC,GAAG,EACHC,MAAM,EACNC,WAAW,EACXC,SAAS,EACTC,QAAQ,EACRC,YAAY,EACZC,cAAc,EACdC,YAAY,EACZC,cAAc,EACdC,YAAY,EACZC,OAAO,EACPC,GAAG,EACHC,MAAM,EACNC,cAAc,EACdC,GAAG,EACHC,WAAW,EACXC,eAAe,EACfC,MAAM,QACD,sEAAsE;AAC7E,SACEC,SAAS,EACTC,WAAW,EACXC,KAAK,QACA,2DAA2D;AAClE,SAASC,gBAAgB,QAAQ,YAAS;AAqB1C,SAASC,wBAAwBA,CAACC,IAAY,EAAEC,OAAe,EAAkB;EAC/E,MAAMC,KAAK,GAAG,IAAIC,KAAK,CAACF,OAAO,CAA8B;EAC7DC,KAAK,CAACF,IAAI,GAAGA,IAAI;EACjB,OAAOI,OAAO,CAACC,MAAM,CAACT,WAAW,CAACM,KAAK,CAAC,CAAC;AAC3C;AAEA,SAASI,gBAAgBA,CAACC,QAAyB,EAA4B;EAC7E,MAAMC,SAAmB,GAAG,EAAE;EAE9B,IAAID,QAAQ,CAACE,WAAW,CAAC,CAAC,EAAE;IAC1BF,QAAQ,CAACG,OAAO,CAAEC,aAA8B,IAAK;MACnD,IAAI,OAAOA,aAAa,CAACC,GAAG,KAAK,QAAQ,EAAE;QACzCJ,SAAS,CAACK,IAAI,CAACF,aAAa,CAACC,GAAG,CAAC;MACnC;IACF,CAAC,CAAC;EACJ;EAEA,OAAO;IACLA,GAAG,EAAEL,QAAQ,CAACK,GAAG;IACjBE,MAAM,EAAEP,QAAQ,CAACO,MAAM,CAAC,CAAC;IACzBL,WAAW,EAAEF,QAAQ,CAACE,WAAW,CAAC,CAAC;IACnCM,aAAa,EAAER,QAAQ,CAACS,IAAI;IAC5BR,SAAS;IACTS,QAAQ,EAAEV,QAAQ,CAACU,QAAQ;IAC3BC,KAAK,EAAEX,QAAQ,CAACY,GAAG,CAAC;EACtB,CAAC;AACH;AAEA,SAASC,mBAAmBA,CAAClB,KAAc,EAAW;EACpD,OAAON,WAAW,CAACM,KAAkC,CAAC;AACxD;AAEA,SAASmB,iCAAiCA,CACxCd,QAAyB,EACzBe,iBAAgC,EAC0C;EAC1E,OAAO;IACLf,QAAQ,EAAED,gBAAgB,CAACC,QAAQ,CAAC;IACpCe;EACF,CAAC;AACH;AAOA,MAAMC,YAAoC,GAAG,CAAC,CAAC;AAC/C,MAAMC,iBAA8C,GAAG,CAAC,CAAC;AACzD,MAAMC,eAAgD,GAAG,CAAC,CAAC;AAC3D,MAAMC,SAAyC,GAAG,CAAC,CAAC;AACpD,MAAMC,cAAmF,GAAG,CAAC,CAAC;AAE9F,SAASC,oBAAoBA,CAACC,OAAe,EAAU;EACrD,OAAQN,YAAY,CAACM,OAAO,CAAC,KAAKnD,MAAM,CAACmD,OAAO,CAAC;AACnD;AAEA,SAASC,yBAAyBA,CAACD,OAAe,EAAEE,KAAa,EAAe;EAC9E,IAAIC,QAAQ,GAAGR,iBAAiB,CAAC,GAAGK,OAAO,IAAIE,KAAK,EAAE,CAAC;EACvD,IAAI,CAACC,QAAQ,EAAE;IACbA,QAAQ,GAAGrD,WAAW,CAACiD,oBAAoB,CAACC,OAAO,CAAC,EAAEE,KAAK,CAAC;IAC5D,IACEJ,cAAc,CAACE,OAAO,CAAC,IACvB,EAAE,kBAAkB,IAAKG,QAAmB,CAAC,IAC7CL,cAAc,CAACE,OAAO,CAAC,EACvB;MACA,MAAM;QAAEI,IAAI;QAAEC;MAAK,CAAC,GAAGP,cAAc,CAACE,OAAO,CAAC;MAC9CtD,uBAAuB,CAACyD,QAAQ,EAAEC,IAAI,EAAEC,IAAI,CAAC;MAC7CP,cAAc,CAACE,OAAO,CAAC,CAACM,SAAS,GAAG,IAAI;IAC1C;EACF;EACA,OAAOH,QAAQ;AACjB;AAEA,SAASI,6BAA6BA,CAACC,QAA8B,EAAmB;EACtF,MAAMC,QAAQ,GAAGC,MAAM,CAACF,QAAQ,CAACzB,GAAG,CAAC;EACrC,OAAQa,eAAe,CAACa,QAAQ,CAAC,KAAKpD,YAAY,CAACmD,QAAQ,CAAC;AAC9D;AAEA,MAAMG,sBAA+C,GAAG;EACtD3D,QAAQA,CAACgD,OAAe,EAAEE,KAAa,EAAiB;IACtD,OAAOlC,KAAK,CAAC,YAAY;MACvB,MAAM4C,EAAE,GAAGX,yBAAyB,CAACD,OAAO,EAAEE,KAAK,CAAC;MACpDlD,QAAQ,CAAC4D,EAAE,CAAC;IACd,CAAC,CAAC;EACJ,CAAC;EAED7D,SAASA,CAACiD,OAAe,EAAEE,KAAa,EAAiB;IACvD,OAAOlC,KAAK,CAAC,YAAY;MACvB,MAAM4C,EAAE,GAAGX,yBAAyB,CAACD,OAAO,EAAEE,KAAK,CAAC;MACpDnD,SAAS,CAAC6D,EAAE,CAAC;IACf,CAAC,CAAC;EACJ,CAAC;EAEDC,qBAAqBA,CAAA,EAAkB;IACrC,IAAIC,OAAO,EAAE;MACX;MACAC,OAAO,CAACC,IAAI,CACV,gGACF,CAAC;IACH;IACA,OAAOzC,OAAO,CAAC0C,OAAO,CAAC,CAAC;EAC1B,CAAC;EAEDC,iBAAiBA,CAACC,IAAY,EAAEC,MAAc,EAAEC,OAAgB,EAAiB;IAC/E,OAAOrD,KAAK,CAAC,YAAY;MACvBrB,aAAa,CAAC0E,OAAO,CAAC;IACxB,CAAC,CAAC;EACJ,CAAC;EAEDC,4BAA4BA,CAAA,EAAkB;IAC5C,OAAO/C,OAAO,CAAC0C,OAAO,CAAC,CAAC;EAC1B,CAAC;EAEDM,WAAWA,CAACvB,OAAe,EAAEE,KAAa,EAAEE,IAAY,EAAEC,IAAY,EAAiB;IACrF,OAAOrC,KAAK,CAAC,YAAY;MACvB,MAAM4C,EAAE,GAAGX,yBAAyB,CAACD,OAAO,EAAEE,KAAK,CAAC;MACpDxD,uBAAuB,CAACkE,EAAE,EAAER,IAAI,EAAEC,IAAI,CAAC;MACvCP,cAAc,CAACE,OAAO,CAAC,GAAG;QAAEI,IAAI;QAAEC;MAAK,CAAC;IAC1C,CAAC,CAAC;EACJ,CAAC;EAED3C,GAAGA,CACDsC,OAAe,EACfE,KAAa,EACbsB,IAAY,EACZC,KAAqC,EACtB;IACf,OAAOzD,KAAK,CAAC,YAAY;MACvB,MAAM4C,EAAE,GAAGX,yBAAyB,CAACD,OAAO,EAAEE,KAAK,CAAC;MACpD,MAAMwB,KAAK,GAAGnE,GAAG,CAACqD,EAAE,EAAEY,IAAI,CAAC;MAC3B,MAAM9D,GAAG,CAACgE,KAAK,EAAGD,KAAK,CAAwBpC,KAAK,CAAC;IACvD,CAAC,CAAC;EACJ,CAAC;EAEDxB,MAAMA,CACJmC,OAAe,EACfE,KAAa,EACbsB,IAAY,EACZC,KAAqC,EACtB;IACf,OAAOzD,KAAK,CAAC,YAAY;MACvB,MAAM4C,EAAE,GAAGX,yBAAyB,CAACD,OAAO,EAAEE,KAAK,CAAC;MACpD,MAAMwB,KAAK,GAAGnE,GAAG,CAACqD,EAAE,EAAEY,IAAI,CAAC;MAC3B,MAAM3D,MAAM,CAAC6D,KAAK,EAAGD,KAAK,CAAyCE,MAAM,CAAC;IAC5E,CAAC,CAAC;EACJ,CAAC;EAED/D,eAAeA,CACboC,OAAe,EACfE,KAAa,EACbsB,IAAY,EACZC,KAAqC,EACtB;IACf,OAAOzD,KAAK,CAAC,YAAY;MACvB,MAAM4C,EAAE,GAAGX,yBAAyB,CAACD,OAAO,EAAEE,KAAK,CAAC;MACpD,MAAMwB,KAAK,GAAGnE,GAAG,CAACqD,EAAE,EAAEY,IAAI,CAAC;MAC3B,MAAM;QAAEnC,KAAK;QAAED;MAAS,CAAC,GAAGqC,KAA6D;MACzF,MAAM7D,eAAe,CAAC8D,KAAK,EAAErC,KAAK,EAAED,QAAQ,CAAC;IAC/C,CAAC,CAAC;EACJ,CAAC;EAED5B,MAAMA,CAACwC,OAAe,EAAEE,KAAa,EAAEsB,IAAY,EAAiB;IAClE,OAAOxD,KAAK,CAAC,YAAY;MACvB,MAAM4C,EAAE,GAAGX,yBAAyB,CAACD,OAAO,EAAEE,KAAK,CAAC;MACpD,MAAMwB,KAAK,GAAGnE,GAAG,CAACqD,EAAE,EAAEY,IAAI,CAAC;MAC3B,MAAMhE,MAAM,CAACkE,KAAK,CAAC;IACrB,CAAC,CAAC;EACJ,CAAC;EAED/D,WAAWA,CACTqC,OAAe,EACfE,KAAa,EACbsB,IAAY,EACZC,KAAqC,EACtB;IACf,OAAOzD,KAAK,CAAC,YAAY;MACvB,MAAM4C,EAAE,GAAGX,yBAAyB,CAACD,OAAO,EAAEE,KAAK,CAAC;MACpD,MAAMwB,KAAK,GAAGnE,GAAG,CAACqD,EAAE,EAAEY,IAAI,CAAC;MAC3B,MAAM7D,WAAW,CAAC+D,KAAK,EAAGD,KAAK,CAA0CrC,QAAQ,CAAC;IACpF,CAAC,CAAC;EACJ,CAAC;EAEDwC,IAAIA,CACF5B,OAAe,EACfE,KAAa,EACbsB,IAAY,EACZK,SAAkC,EAClCC,SAAiB,EACC;IAClB,OAAO9D,KAAK,CAAC,YAAY;MACvB,MAAM4C,EAAE,GAAGX,yBAAyB,CAACD,OAAO,EAAEE,KAAK,CAAC;MACpD,MAAMwB,KAAK,GAAGnE,GAAG,CAACqD,EAAE,EAAEY,IAAI,CAAC;MAC3B,MAAMO,QAAQ,GAAG9D,gBAAgB,CAACyD,KAAK,EAAEG,SAAS,CAAC;MAEnD,IAAIC,SAAS,KAAK,OAAO,EAAE;QACzB,MAAMpD,QAAQ,GAAG,MAAM,IAAIH,OAAO,CAAkB,CAAC0C,OAAO,EAAEzC,MAAM,KAAK;UACvElB,OAAO,CAACyE,QAAQ,EAAEd,OAAO,EAAEzC,MAAM,EAAE;YAAEwD,QAAQ,EAAE;UAAK,CAAC,CAAC;QACxD,CAAC,CAAC;QAEF,OAAOvD,gBAAgB,CAACC,QAAQ,CAAC;MACnC;MAEA,IAAIoD,SAAS,KAAK,aAAa,EAAE;QAC/B,MAAM;UAAEpD,QAAQ;UAAEe;QAAkB,CAAC,GACnC,MAAM,IAAIlB,OAAO,CAAoC,CAAC0C,OAAO,EAAEzC,MAAM,KAAK;UACxEvB,YAAY,CACV8E,QAAQ,EACR,CAACjD,aAAa,EAAEmD,sBAAsB,KAAK;YACzChB,OAAO,CAAC;cACNvC,QAAQ,EAAEI,aAAa;cACvBW,iBAAiB,EAAEwC;YACrB,CAAC,CAAC;UACJ,CAAC,EACDzD,MAAM,EACN;YAAEwD,QAAQ,EAAE;UAAK,CACnB,CAAC;QACH,CAAC,CAAC;QAEJ,OAAOxC,iCAAiC,CAACd,QAAQ,EAAEe,iBAAiB,IAAI,IAAI,CAAC;MAC/E;MAEA,IAAIqC,SAAS,KAAK,eAAe,EAAE;QACjC,MAAM;UAAEpD,QAAQ;UAAEe;QAAkB,CAAC,GACnC,MAAM,IAAIlB,OAAO,CAAoC,CAAC0C,OAAO,EAAEzC,MAAM,KAAK;UACxEtB,cAAc,CACZ6E,QAAQ,EACR,CAACjD,aAAa,EAAEmD,sBAAsB,KAAK;YACzChB,OAAO,CAAC;cACNvC,QAAQ,EAAEI,aAAa;cACvBW,iBAAiB,EAAEwC;YACrB,CAAC,CAAC;UACJ,CAAC,EACDzD,MAAM,EACN;YAAEwD,QAAQ,EAAE;UAAK,CACnB,CAAC;QACH,CAAC,CAAC;QAEJ,OAAOxC,iCAAiC,CAACd,QAAQ,EAAEe,iBAAiB,IAAI,IAAI,CAAC;MAC/E;MAEA,IAAIqC,SAAS,KAAK,eAAe,EAAE;QACjC,MAAMpD,QAAQ,GAAG,MAAM,IAAIH,OAAO,CAAkB,CAAC0C,OAAO,EAAEzC,MAAM,KAAK;UACvEpB,cAAc,CAAC2E,QAAQ,EAAEd,OAAO,EAAEzC,MAAM,EAAE;YAAEwD,QAAQ,EAAE;UAAK,CAAC,CAAC;QAC/D,CAAC,CAAC;QAEF,OAAOxC,iCAAiC,CAACd,QAAQ,EAAE,IAAI,CAAC;MAC1D;MAEA,IAAIoD,SAAS,KAAK,aAAa,EAAE;QAC/B,MAAM;UAAEpD,QAAQ;UAAEe;QAAkB,CAAC,GACnC,MAAM,IAAIlB,OAAO,CAAoC,CAAC0C,OAAO,EAAEzC,MAAM,KAAK;UACxErB,YAAY,CACV4E,QAAQ,EACR,CAACjD,aAAa,EAAEmD,sBAAsB,KAAK;YACzChB,OAAO,CAAC;cACNvC,QAAQ,EAAEI,aAAa;cACvBW,iBAAiB,EAAEwC;YACrB,CAAC,CAAC;UACJ,CAAC,EACDzD,MAAM,EACN;YAAEwD,QAAQ,EAAE;UAAK,CACnB,CAAC;QACH,CAAC,CAAC;QAEJ,OAAOxC,iCAAiC,CAACd,QAAQ,EAAEe,iBAAiB,IAAI,IAAI,CAAC;MAC/E;MAEA,MAAMf,QAAQ,GAAG,MAAM9B,GAAG,CAAC8E,KAAK,CAAC;MACjC,OAAOjD,gBAAgB,CAACC,QAAQ,CAAC;IACnC,CAAC,CAAC;EACJ,CAAC;EAEDwD,EAAEA,CAAClC,OAAe,EAAEE,KAAa,EAAEuB,KAAkC,EAAiB;IACpF,OAAOzD,KAAK,CAAC,YAAY;MACvB,MAAM4C,EAAE,GAAGX,yBAAyB,CAACD,OAAO,EAAEE,KAAK,CAAC;MACpD,MAAM;QAAEnB,GAAG;QAAE8C,SAAS;QAAEL,IAAI;QAAEM,SAAS;QAAEK;MAAa,CAAC,GAAGV,KAAK;MAC/D,MAAM;QAAEW;MAAqB,CAAC,GAAGD,YAAY;MAC7C,MAAMT,KAAK,GAAGnE,GAAG,CAACqD,EAAE,EAAEY,IAAI,CAAC;MAC3B,MAAMO,QAAQ,GAAG9D,gBAAgB,CAACyD,KAAK,EAAEG,SAAS,CAAC;MAEnD,SAASQ,SAASA,CAACC,IAAa,EAAQ;QACtCxE,SAAS,CAAC,qBAAqB,EAAE;UAC/ByE,SAAS,EAAE,qBAAqB;UAChCC,IAAI,EAAE;YACJF,IAAI;YACJvD,GAAG;YACHoD,YAAY;YACZL;UACF;QACF,CAAC,CAAC;MACJ;MAEA,SAASW,SAASA,CAACpE,KAAc,EAAQ;QACvCP,SAAS,CAAC,qBAAqB,EAAE;UAC/ByE,SAAS,EAAE,qBAAqB;UAChCC,IAAI,EAAE;YACJzD,GAAG;YACHoD,YAAY;YACZ9D,KAAK,EAAEkB,mBAAmB,CAAClB,KAAK;UAClC;QACF,CAAC,CAAC;MACJ;MAEA,IAAIqE,QAA+B,GAAG,IAAI;MAE1C,IAAI7C,SAAS,CAACuC,oBAAoB,CAAC,EAAE;QACnC;MACF;MAEA,IAAIN,SAAS,KAAK,OAAO,EAAE;QACzBY,QAAQ,GAAGpF,OAAO,CAACyE,QAAQ,EAAErD,QAAQ,IAAI2D,SAAS,CAAC5D,gBAAgB,CAACC,QAAQ,CAAC,CAAC,EAAE+D,SAAS,CAAC;MAC5F,CAAC,MAAM,IAAIX,SAAS,KAAK,aAAa,EAAE;QACtCY,QAAQ,GAAGzF,YAAY,CACrB8E,QAAQ,EACR,CAACrD,QAAQ,EAAEe,iBAAiB,KAAK;UAC/B4C,SAAS,CAAC7C,iCAAiC,CAACd,QAAQ,EAAEe,iBAAiB,IAAI,IAAI,CAAC,CAAC;QACnF,CAAC,EACDgD,SACF,CAAC;MACH,CAAC,MAAM,IAAIX,SAAS,KAAK,eAAe,EAAE;QACxCY,QAAQ,GAAGxF,cAAc,CACvB6E,QAAQ,EACR,CAACrD,QAAQ,EAAEe,iBAAiB,KAAK;UAC/B4C,SAAS,CAAC7C,iCAAiC,CAACd,QAAQ,EAAEe,iBAAiB,IAAI,IAAI,CAAC,CAAC;QACnF,CAAC,EACDgD,SACF,CAAC;MACH,CAAC,MAAM,IAAIX,SAAS,KAAK,eAAe,EAAE;QACxCY,QAAQ,GAAGtF,cAAc,CACvB2E,QAAQ,EACRrD,QAAQ,IAAI;UACV2D,SAAS,CAAC7C,iCAAiC,CAACd,QAAQ,EAAE,IAAI,CAAC,CAAC;QAC9D,CAAC,EACD+D,SACF,CAAC;MACH,CAAC,MAAM,IAAIX,SAAS,KAAK,aAAa,EAAE;QACtCY,QAAQ,GAAGvF,YAAY,CACrB4E,QAAQ,EACR,CAACrD,QAAQ,EAAEe,iBAAiB,KAAK;UAC/B4C,SAAS,CAAC7C,iCAAiC,CAACd,QAAQ,EAAEe,iBAAiB,IAAI,IAAI,CAAC,CAAC;QACnF,CAAC,EACDgD,SACF,CAAC;MACH;MAEA,IAAIC,QAAQ,EAAE;QACZ7C,SAAS,CAACuC,oBAAoB,CAAC,GAAGM,QAAQ;MAC5C;IACF,CAAC,CAAC;EACJ,CAAC;EAEDC,GAAGA,CAACC,SAAiB,EAAER,oBAA4B,EAAQ;IACzD,MAAMM,QAAQ,GAAG7C,SAAS,CAACuC,oBAAoB,CAAC;IAChD,IAAIM,QAAQ,EAAE;MACZA,QAAQ,CAAC,CAAC;MACV,OAAO7C,SAAS,CAACuC,oBAAoB,CAAC;IACxC;EACF,CAAC;EAEDS,UAAUA,CAAA,EAAmB;IAC3B,OAAO3E,wBAAwB,CAC7B,aAAa,EACb,sDACF,CAAC;EACH,CAAC;EAED4E,kBAAkBA,CAAC9C,OAAe,EAAEE,KAAa,EAAEsB,IAAY,EAAiB;IAC9E,OAAOxD,KAAK,CAAC,YAAY;MACvB,MAAM4C,EAAE,GAAGX,yBAAyB,CAACD,OAAO,EAAEE,KAAK,CAAC;MACpD,MAAMwB,KAAK,GAAGnE,GAAG,CAACqD,EAAE,EAAEY,IAAI,CAAC;MAC3B,MAAMrB,QAAQ,GAAGI,6BAA6B,CAACmB,KAAK,CAAC;MACrD,MAAMvB,QAAQ,CAAC4C,MAAM,CAAC,CAAC;MACvB,OAAOnD,eAAe,CAACc,MAAM,CAACgB,KAAK,CAAC3C,GAAG,CAAC,CAAC;IAC3C,CAAC,CAAC;EACJ,CAAC;EAEDiE,kBAAkBA,CAAChD,OAAe,EAAEE,KAAa,EAAEsB,IAAY,EAAiB;IAC9E,OAAOxD,KAAK,CAAC,YAAY;MACvB,MAAM4C,EAAE,GAAGX,yBAAyB,CAACD,OAAO,EAAEE,KAAK,CAAC;MACpD,MAAMwB,KAAK,GAAGnE,GAAG,CAACqD,EAAE,EAAEY,IAAI,CAAC;MAC3B,MAAMrB,QAAQ,GAAGI,6BAA6B,CAACmB,KAAK,CAAC;MACrD,MAAMvB,QAAQ,CAAC3C,MAAM,CAAC,CAAC;IACzB,CAAC,CAAC;EACJ,CAAC;EAEDyF,eAAeA,CACbjD,OAAe,EACfE,KAAa,EACbsB,IAAY,EACZC,KAAqC,EACtB;IACf,OAAOzD,KAAK,CAAC,YAAY;MACvB,MAAM4C,EAAE,GAAGX,yBAAyB,CAACD,OAAO,EAAEE,KAAK,CAAC;MACpD,MAAMwB,KAAK,GAAGnE,GAAG,CAACqD,EAAE,EAAEY,IAAI,CAAC;MAC3B,MAAMrB,QAAQ,GAAGI,6BAA6B,CAACmB,KAAK,CAAC;MACrD,MAAMvB,QAAQ,CAACzC,GAAG,CAAE+D,KAAK,CAAwBpC,KAAK,CAAC;IACzD,CAAC,CAAC;EACJ,CAAC;EAED6D,2BAA2BA,CACzBlD,OAAe,EACfE,KAAa,EACbsB,IAAY,EACZC,KAAqC,EACtB;IACf,OAAOzD,KAAK,CAAC,YAAY;MACvB,MAAM4C,EAAE,GAAGX,yBAAyB,CAACD,OAAO,EAAEE,KAAK,CAAC;MACpD,MAAMwB,KAAK,GAAGnE,GAAG,CAACqD,EAAE,EAAEY,IAAI,CAAC;MAC3B,MAAMrB,QAAQ,GAAGI,6BAA6B,CAACmB,KAAK,CAAC;MACrD,MAAM;QAAErC,KAAK;QAAED;MAAS,CAAC,GAAGqC,KAA6D;MACzF,MAAMtB,QAAQ,CAACvC,eAAe,CAACyB,KAAK,EAAED,QAAQ,CAAC;IACjD,CAAC,CAAC;EACJ,CAAC;EAED+D,kBAAkBA,CAChBnD,OAAe,EACfE,KAAa,EACbsB,IAAY,EACZC,KAAqC,EACtB;IACf,OAAOzD,KAAK,CAAC,YAAY;MACvB,MAAM4C,EAAE,GAAGX,yBAAyB,CAACD,OAAO,EAAEE,KAAK,CAAC;MACpD,MAAMwB,KAAK,GAAGnE,GAAG,CAACqD,EAAE,EAAEY,IAAI,CAAC;MAC3B,MAAMrB,QAAQ,GAAGI,6BAA6B,CAACmB,KAAK,CAAC;MACrD,MAAMvB,QAAQ,CAACtC,MAAM,CAAE4D,KAAK,CAAyCE,MAAM,CAAC;IAC9E,CAAC,CAAC;EACJ,CAAC;EAEDyB,gBAAgBA,CACdpD,OAAe,EACfE,KAAa,EACbsB,IAAY,EACZ6B,aAAqB,EACrBC,YAAqB,EACrBC,YAAgD,EACjC;IACf,OAAOvF,KAAK,CAAC,YAAY;MACvB,MAAM4C,EAAE,GAAGX,yBAAyB,CAACD,OAAO,EAAEE,KAAK,CAAC;MACpD,MAAMwB,KAAK,GAAGnE,GAAG,CAACqD,EAAE,EAAEY,IAAI,CAAC;MAE3B,IAAI;QACF,MAAM;UAAEgC,SAAS;UAAE9E;QAAS,CAAC,GAAG,MAAMjB,cAAc,CAClDiE,KAAK,EACL6B,YAAY,KAAKjB,IAAI,IAAIA,IAAI,CAAC,EAC9B;UACEgB;QACF,CACF,CAAC;QAEDxF,SAAS,CAAC,4BAA4B,EAAE;UACtC0E,IAAI,EAAE;YACJgB,SAAS;YACTC,IAAI,EAAE,UAAU;YAChB/E,QAAQ,EAAED,gBAAgB,CAACC,QAAQ;UACrC,CAAC;UACDsB,OAAO;UACP0D,EAAE,EAAEL,aAAa;UACjBd,SAAS,EAAE;QACb,CAAC,CAAC;MACJ,CAAC,CAAC,OAAOoB,CAAC,EAAE;QACV7F,SAAS,CAAC,4BAA4B,EAAE;UACtC0E,IAAI,EAAE;YACJgB,SAAS,EAAE,KAAK;YAChBC,IAAI,EAAE,OAAO;YACbpF,KAAK,EAAEkB,mBAAmB,CAACoE,CAAC;UAC9B,CAAC;UACD3D,OAAO;UACP0D,EAAE,EAAEL,aAAa;UACjBd,SAAS,EAAE;QACb,CAAC,CAAC;MACJ;IACF,CAAC,CAAC;EACJ,CAAC;EAED,MAAMqB,oBAAoBA,CACxBC,QAAgB,EAChBzC,MAAc,EACd0C,cAAsB,EACtBC,QAA4C,EAC5B;IAChB,MAAM,IAAIzF,KAAK,CAAC,iBAAiB,CAAC;EACpC;AACF,CAAC;AAED,eAAeqC,sBAAsB","ignoreList":[]}
@@ -1,23 +1,16 @@
1
- import {
2
- query,
3
- orderByKey,
4
- orderByPriority,
5
- orderByValue,
6
- orderByChild,
7
- limitToLast,
8
- limitToFirst,
9
- endAt,
10
- endBefore,
11
- startAt,
12
- startAfter,
13
- } from '@react-native-firebase/app/dist/module/internal/web/firebaseDatabase';
1
+ "use strict";
14
2
 
3
+ import { endAt, endBefore, limitToFirst, limitToLast, orderByChild, orderByKey, orderByPriority, orderByValue, query, startAfter, startAt } from '@react-native-firebase/app/dist/module/internal/web/firebaseDatabase';
4
+ function isQueryFilterValue(value) {
5
+ return typeof value === 'number' || typeof value === 'string' || typeof value === 'boolean' || value === null;
6
+ }
15
7
  export function getQueryInstance(dbRef, modifiers) {
16
8
  const constraints = [];
17
-
18
9
  for (const modifier of modifiers) {
19
- const { type, name } = modifier;
20
-
10
+ const {
11
+ type,
12
+ name
13
+ } = modifier;
21
14
  if (type === 'orderBy') {
22
15
  switch (name) {
23
16
  case 'orderByKey':
@@ -30,14 +23,14 @@ export function getQueryInstance(dbRef, modifiers) {
30
23
  constraints.push(orderByValue());
31
24
  break;
32
25
  case 'orderByChild':
33
- constraints.push(orderByChild(modifier.key));
26
+ constraints.push(orderByChild(modifier.key ?? ''));
34
27
  break;
35
28
  }
36
29
  }
37
-
38
30
  if (type === 'limit') {
39
- const { value } = modifier;
40
-
31
+ const {
32
+ value
33
+ } = modifier;
41
34
  switch (name) {
42
35
  case 'limitToLast':
43
36
  constraints.push(limitToLast(value));
@@ -47,10 +40,11 @@ export function getQueryInstance(dbRef, modifiers) {
47
40
  break;
48
41
  }
49
42
  }
50
-
51
- if (type === 'filter') {
52
- const { key, value } = modifier;
53
-
43
+ if (type === 'filter' && isQueryFilterValue(modifier.value)) {
44
+ const {
45
+ key,
46
+ value
47
+ } = modifier;
54
48
  switch (name) {
55
49
  case 'endAt':
56
50
  constraints.push(endAt(value, key));
@@ -69,3 +63,4 @@ export function getQueryInstance(dbRef, modifiers) {
69
63
  }
70
64
  return query(dbRef, ...constraints);
71
65
  }
66
+ //# sourceMappingURL=query.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["endAt","endBefore","limitToFirst","limitToLast","orderByChild","orderByKey","orderByPriority","orderByValue","query","startAfter","startAt","isQueryFilterValue","value","getQueryInstance","dbRef","modifiers","constraints","modifier","type","name","push","key"],"sourceRoot":"../../../lib","sources":["web/query.ts"],"mappings":";;AAAA,SACEA,KAAK,EACLC,SAAS,EACTC,YAAY,EACZC,WAAW,EACXC,YAAY,EACZC,UAAU,EACVC,eAAe,EACfC,YAAY,EACZC,KAAK,EACLC,UAAU,EACVC,OAAO,QACF,sEAAsE;AAe7E,SAASC,kBAAkBA,CAACC,KAAc,EAA6B;EACrE,OACE,OAAOA,KAAK,KAAK,QAAQ,IACzB,OAAOA,KAAK,KAAK,QAAQ,IACzB,OAAOA,KAAK,KAAK,SAAS,IAC1BA,KAAK,KAAK,IAAI;AAElB;AAEA,OAAO,SAASC,gBAAgBA,CAC9BC,KAA2B,EAC3BC,SAAqC,EACX;EAC1B,MAAMC,WAAiC,GAAG,EAAE;EAE5C,KAAK,MAAMC,QAAQ,IAAIF,SAAS,EAAE;IAChC,MAAM;MAAEG,IAAI;MAAEC;IAAK,CAAC,GAAGF,QAAQ;IAE/B,IAAIC,IAAI,KAAK,SAAS,EAAE;MACtB,QAAQC,IAAI;QACV,KAAK,YAAY;UACfH,WAAW,CAACI,IAAI,CAACf,UAAU,CAAC,CAAC,CAAC;UAC9B;QACF,KAAK,iBAAiB;UACpBW,WAAW,CAACI,IAAI,CAACd,eAAe,CAAC,CAAC,CAAC;UACnC;QACF,KAAK,cAAc;UACjBU,WAAW,CAACI,IAAI,CAACb,YAAY,CAAC,CAAC,CAAC;UAChC;QACF,KAAK,cAAc;UACjBS,WAAW,CAACI,IAAI,CAAChB,YAAY,CAACa,QAAQ,CAACI,GAAG,IAAI,EAAE,CAAC,CAAC;UAClD;MACJ;IACF;IAEA,IAAIH,IAAI,KAAK,OAAO,EAAE;MACpB,MAAM;QAAEN;MAAM,CAAC,GAAGK,QAAQ;MAE1B,QAAQE,IAAI;QACV,KAAK,aAAa;UAChBH,WAAW,CAACI,IAAI,CAACjB,WAAW,CAACS,KAAK,CAAC,CAAC;UACpC;QACF,KAAK,cAAc;UACjBI,WAAW,CAACI,IAAI,CAAClB,YAAY,CAACU,KAAK,CAAC,CAAC;UACrC;MACJ;IACF;IAEA,IAAIM,IAAI,KAAK,QAAQ,IAAIP,kBAAkB,CAACM,QAAQ,CAACL,KAAK,CAAC,EAAE;MAC3D,MAAM;QAAES,GAAG;QAAET;MAAM,CAAC,GAAGK,QAAQ;MAE/B,QAAQE,IAAI;QACV,KAAK,OAAO;UACVH,WAAW,CAACI,IAAI,CAACpB,KAAK,CAACY,KAAK,EAAES,GAAG,CAAC,CAAC;UACnC;QACF,KAAK,WAAW;UACdL,WAAW,CAACI,IAAI,CAACnB,SAAS,CAACW,KAAK,EAAES,GAAG,CAAC,CAAC;UACvC;QACF,KAAK,SAAS;UACZL,WAAW,CAACI,IAAI,CAACV,OAAO,CAACE,KAAK,EAAES,GAAG,CAAC,CAAC;UACrC;QACF,KAAK,YAAY;UACfL,WAAW,CAACI,IAAI,CAACX,UAAU,CAACG,KAAK,EAAES,GAAG,CAAC,CAAC;UACxC;MACJ;IACF;EACF;EAEA,OAAOb,KAAK,CAACM,KAAK,EAAE,GAAGE,WAAW,CAAC;AACrC","ignoreList":[]}
@@ -0,0 +1,20 @@
1
+ import type { DatabaseSnapshotInternal } from './types/internal';
2
+ import type { FirebaseDatabaseTypes } from './types/namespaced';
3
+ export default class DatabaseDataSnapshot implements FirebaseDatabaseTypes.DataSnapshot {
4
+ _snapshot: DatabaseSnapshotInternal;
5
+ _ref: FirebaseDatabaseTypes.Reference;
6
+ constructor(reference: FirebaseDatabaseTypes.Reference, snapshot: DatabaseSnapshotInternal);
7
+ get key(): string | null;
8
+ get ref(): FirebaseDatabaseTypes.Reference;
9
+ child(path: string): FirebaseDatabaseTypes.DataSnapshot;
10
+ exists(): boolean;
11
+ exportVal(): any;
12
+ forEach(action: (child: FirebaseDatabaseTypes.DataSnapshot) => boolean | void): boolean;
13
+ getPriority(): string | number | null;
14
+ hasChild(path: string): boolean;
15
+ hasChildren(): boolean;
16
+ numChildren(): number;
17
+ toJSON(): object | null;
18
+ val(): any;
19
+ }
20
+ //# sourceMappingURL=DatabaseDataSnapshot.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DatabaseDataSnapshot.d.ts","sourceRoot":"","sources":["../../../lib/DatabaseDataSnapshot.ts"],"names":[],"mappings":"AA4BA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AACjE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAUhE,MAAM,CAAC,OAAO,OAAO,oBAAqB,YAAW,qBAAqB,CAAC,YAAY;IACrF,SAAS,EAAE,wBAAwB,CAAC;IACpC,IAAI,EAAE,qBAAqB,CAAC,SAAS,CAAC;gBAE1B,SAAS,EAAE,qBAAqB,CAAC,SAAS,EAAE,QAAQ,EAAE,wBAAwB;IAc1F,IAAI,GAAG,IAAI,MAAM,GAAG,IAAI,CAEvB;IAED,IAAI,GAAG,IAAI,qBAAqB,CAAC,SAAS,CAEzC;IAED,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,qBAAqB,CAAC,YAAY;IAiCvD,MAAM,IAAI,OAAO;IAIjB,SAAS,IAAI,GAAG;IAahB,OAAO,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,qBAAqB,CAAC,YAAY,KAAK,OAAO,GAAG,IAAI,GAAG,OAAO;IAuCvF,WAAW,IAAI,MAAM,GAAG,MAAM,GAAG,IAAI;IAIrC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAS/B,WAAW,IAAI,OAAO;IAItB,WAAW,IAAI,MAAM;IAWrB,MAAM,IAAI,MAAM,GAAG,IAAI;IAIvB,GAAG,IAAI,GAAG;CASX"}
@@ -0,0 +1,19 @@
1
+ import type { DatabaseModuleInternal } from './types/internal';
2
+ import type { FirebaseDatabaseTypes } from './types/namespaced';
3
+ interface DatabaseOnDisconnectReferenceInternal {
4
+ readonly path: string;
5
+ readonly _database: DatabaseModuleInternal;
6
+ }
7
+ export default class DatabaseOnDisconnect implements FirebaseDatabaseTypes.OnDisconnect {
8
+ _ref: DatabaseOnDisconnectReferenceInternal;
9
+ constructor(reference: DatabaseOnDisconnectReferenceInternal);
10
+ cancel(onComplete?: (error: Error | null) => void): Promise<void>;
11
+ remove(onComplete?: (error: Error | null) => void): Promise<void>;
12
+ set(value: any, onComplete?: (error: Error | null) => void): Promise<void>;
13
+ setWithPriority(value: any, priority: string | number | null, onComplete?: (error: Error | null) => void): Promise<void>;
14
+ update(values: {
15
+ [key: string]: any;
16
+ }, onComplete?: (error: Error | null) => void): Promise<void>;
17
+ }
18
+ export {};
19
+ //# sourceMappingURL=DatabaseOnDisconnect.d.ts.map