@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
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,27 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
## [26.1.0](https://github.com/invertase/react-native-firebase/compare/v26.0.0...v26.1.0) (2026-08-03)
|
|
7
|
+
|
|
8
|
+
### Features
|
|
9
|
+
|
|
10
|
+
- **ios:** add SPM dependency resolution support alongside CocoaPods ([#8933](https://github.com/invertase/react-native-firebase/issues/8933)) ([44a7a9a](https://github.com/invertase/react-native-firebase/commit/44a7a9ae7b404f412e9766c0417f1df8fa971a0b))
|
|
11
|
+
|
|
12
|
+
## [26.0.0](https://github.com/invertase/react-native-firebase/compare/v25.1.0...v26.0.0) (2026-07-29)
|
|
13
|
+
|
|
14
|
+
### ⚠ BREAKING CHANGES
|
|
15
|
+
|
|
16
|
+
- **database:** migrate database to TurboModules
|
|
17
|
+
|
|
18
|
+
### Features
|
|
19
|
+
|
|
20
|
+
- **database:** migrate database to TurboModules ([27ad35c](https://github.com/invertase/react-native-firebase/commit/27ad35cee5d8b13514c6432226b087266efc0012))
|
|
21
|
+
|
|
22
|
+
### Bug Fixes
|
|
23
|
+
|
|
24
|
+
- **database:** align public types with firebase-js-sdk declarations ([7bc2d90](https://github.com/invertase/react-native-firebase/commit/7bc2d9079a5628a0448262af5df10bfa2e5de60c))
|
|
25
|
+
- **ios:** set IPHONEOS_DEPLOYMENT_TARGET to 15.0, update platform support docs/conditionals ([#9108](https://github.com/invertase/react-native-firebase/issues/9108)) ([99d0899](https://github.com/invertase/react-native-firebase/commit/99d089908e3eec6155d73ecf05ff7274ad33c46e)), closes [#8882](https://github.com/invertase/react-native-firebase/issues/8882)
|
|
26
|
+
|
|
6
27
|
## [25.1.0](https://github.com/invertase/react-native-firebase/compare/v25.0.1...v25.1.0) (2026-06-25)
|
|
7
28
|
|
|
8
29
|
**Note:** Version bump only for package @react-native-firebase/database
|
package/RNFBDatabase.podspec
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
require 'json'
|
|
2
|
+
require_relative '../app/firebase_spm'
|
|
2
3
|
package = JSON.parse(File.read(File.join(__dir__, 'package.json')))
|
|
3
4
|
appPackage = JSON.parse(File.read(File.join('..', 'app', 'package.json')))
|
|
4
5
|
|
|
@@ -28,15 +29,27 @@ Pod::Spec.new do |s|
|
|
|
28
29
|
s.ios.deployment_target = firebase_ios_target
|
|
29
30
|
s.macos.deployment_target = firebase_macos_target
|
|
30
31
|
s.tvos.deployment_target = firebase_tvos_target
|
|
31
|
-
s.source_files = 'ios/**/*.{h,m}'
|
|
32
|
+
s.source_files = 'ios/**/*.{h,m,mm,cpp}'
|
|
33
|
+
s.private_header_files = [
|
|
34
|
+
'ios/RNFBDatabase/RNFBDatabaseModule.h',
|
|
35
|
+
'ios/RNFBDatabase/RNFBDatabaseReferenceModule.h',
|
|
36
|
+
'ios/RNFBDatabase/RNFBDatabaseQueryModule.h',
|
|
37
|
+
'ios/RNFBDatabase/RNFBDatabaseOnDisconnectModule.h',
|
|
38
|
+
'ios/RNFBDatabase/RNFBDatabaseTransactionModule.h',
|
|
39
|
+
'ios/generated/**/*.h',
|
|
40
|
+
]
|
|
41
|
+
s.exclude_files = 'ios/generated/RCTThirdPartyComponentsProvider.*', 'ios/generated/RCTAppDependencyProvider.*', 'ios/generated/RCTModuleProviders.*', 'ios/generated/RCTModulesConformingToProtocolsProvider.*', 'ios/generated/RCTUnstableModulesRequiringMainQueueSetupProvider.*'
|
|
42
|
+
|
|
43
|
+
s.pod_target_xcconfig = {
|
|
44
|
+
"HEADER_SEARCH_PATHS" => "\"$(PODS_TARGET_SRCROOT)/ios/generated/RNFBDatabaseTurboModules\" \"$(PODS_TARGET_SRCROOT)/ios/generated\"",
|
|
45
|
+
}
|
|
32
46
|
|
|
33
47
|
s.dependency 'RNFBApp'
|
|
34
48
|
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
s.dependency "React-Core"
|
|
49
|
+
install_modules_dependencies(s);
|
|
50
|
+
|
|
51
|
+
if defined?(ENV["RCT_NEW_ARCH_ENABLED"]) != nil && (ENV["RCT_NEW_ARCH_ENABLED"] == '0')
|
|
52
|
+
raise "#{s.name} requires New Architecture. Enable New Architecture to use this module"
|
|
40
53
|
end
|
|
41
54
|
|
|
42
55
|
if defined?($FirebaseSDKVersion)
|
|
@@ -45,7 +58,7 @@ Pod::Spec.new do |s|
|
|
|
45
58
|
end
|
|
46
59
|
|
|
47
60
|
# Firebase dependencies
|
|
48
|
-
s
|
|
61
|
+
firebase_dependency(s, firebase_sdk_version, ['FirebaseDatabase'], 'Firebase/Database')
|
|
49
62
|
|
|
50
63
|
if defined?($RNFirebaseAsStaticFramework)
|
|
51
64
|
Pod::UI.puts "#{s.name}: Using overridden static_framework value of '#{$RNFirebaseAsStaticFramework}'"
|
package/android/build.gradle
CHANGED
|
@@ -79,6 +79,7 @@ android {
|
|
|
79
79
|
sourceSets {
|
|
80
80
|
main {
|
|
81
81
|
java.srcDirs = ['src/main/java', 'src/reactnative/java']
|
|
82
|
+
java.excludes = ['**/generated/jni/**']
|
|
82
83
|
}
|
|
83
84
|
}
|
|
84
85
|
}
|
|
@@ -98,3 +99,21 @@ ReactNative.shared.applyPackageVersion()
|
|
|
98
99
|
ReactNative.shared.applyDefaultExcludes()
|
|
99
100
|
ReactNative.module.applyAndroidVersions()
|
|
100
101
|
ReactNative.module.applyReactNativeDependency("api")
|
|
102
|
+
|
|
103
|
+
def isNewArchitectureDisabled() {
|
|
104
|
+
return project.hasProperty("newArchEnabled") && project.newArchEnabled != "true"
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
if (isNewArchitectureDisabled()) {
|
|
108
|
+
def ANSI_RED = "\u001B[31m";
|
|
109
|
+
def ANSI_RESET = "\u001B[0m";
|
|
110
|
+
|
|
111
|
+
println("\n\n\n")
|
|
112
|
+
println(ANSI_RED + "**************************************************************************************************************")
|
|
113
|
+
println("\n\n\n")
|
|
114
|
+
println("New Architecture support is required for @react-native-firebase/database")
|
|
115
|
+
println("\n\n\n")
|
|
116
|
+
println("**************************************************************************************************************" + ANSI_RESET)
|
|
117
|
+
println("\n\n\n")
|
|
118
|
+
System.exit(1)
|
|
119
|
+
}
|
package/android/src/main/java/io/invertase/firebase/database/UniversalFirebaseDatabaseModule.java
CHANGED
|
@@ -20,8 +20,6 @@ package io.invertase.firebase.database;
|
|
|
20
20
|
import static io.invertase.firebase.database.UniversalFirebaseDatabaseCommon.getDatabaseForApp;
|
|
21
21
|
|
|
22
22
|
import android.content.Context;
|
|
23
|
-
import com.google.android.gms.tasks.Task;
|
|
24
|
-
import com.google.android.gms.tasks.Tasks;
|
|
25
23
|
import io.invertase.firebase.common.UniversalFirebaseModule;
|
|
26
24
|
|
|
27
25
|
public class UniversalFirebaseDatabaseModule extends UniversalFirebaseModule {
|
|
@@ -30,19 +28,11 @@ public class UniversalFirebaseDatabaseModule extends UniversalFirebaseModule {
|
|
|
30
28
|
super(context, serviceName);
|
|
31
29
|
}
|
|
32
30
|
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
() -> {
|
|
36
|
-
getDatabaseForApp(appName, dbURL).goOnline();
|
|
37
|
-
return null;
|
|
38
|
-
});
|
|
31
|
+
void goOnline(String appName, String dbURL) {
|
|
32
|
+
getDatabaseForApp(appName, dbURL).goOnline();
|
|
39
33
|
}
|
|
40
34
|
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
() -> {
|
|
44
|
-
getDatabaseForApp(appName, dbURL).goOffline();
|
|
45
|
-
return null;
|
|
46
|
-
});
|
|
35
|
+
void goOffline(String appName, String dbURL) {
|
|
36
|
+
getDatabaseForApp(appName, dbURL).goOffline();
|
|
47
37
|
}
|
|
48
38
|
}
|
package/android/src/reactnative/java/io/invertase/firebase/database/DatabaseTurboModuleSupport.java
ADDED
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
package io.invertase.firebase.database;
|
|
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 androidx.annotation.CallSuper;
|
|
21
|
+
import io.invertase.firebase.common.TaskExecutorService;
|
|
22
|
+
import java.util.concurrent.ExecutorService;
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* Shared executor helpers for Database TurboModule shells (replaces ReactNativeFirebaseModule
|
|
26
|
+
* inheritance when extending generated *Spec classes).
|
|
27
|
+
*/
|
|
28
|
+
final class DatabaseTurboModuleSupport {
|
|
29
|
+
private final TaskExecutorService executorService;
|
|
30
|
+
|
|
31
|
+
DatabaseTurboModuleSupport(String moduleName) {
|
|
32
|
+
executorService = new TaskExecutorService(moduleName);
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
ExecutorService getExecutor() {
|
|
36
|
+
return executorService.getExecutor();
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
ExecutorService getTransactionalExecutor() {
|
|
40
|
+
return executorService.getTransactionalExecutor();
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
ExecutorService getTransactionalExecutor(String identifier) {
|
|
44
|
+
return executorService.getTransactionalExecutor(identifier);
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
void removeEventListeningExecutor(String identifier) {
|
|
48
|
+
String executorName = executorService.getExecutorName(true, identifier);
|
|
49
|
+
executorService.removeExecutor(executorName);
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
@CallSuper
|
|
53
|
+
void invalidate() {
|
|
54
|
+
executorService.shutdown();
|
|
55
|
+
}
|
|
56
|
+
}
|
|
@@ -19,70 +19,50 @@ package io.invertase.firebase.database;
|
|
|
19
19
|
|
|
20
20
|
import static io.invertase.firebase.database.UniversalFirebaseDatabaseCommon.addEmulatorConfig;
|
|
21
21
|
|
|
22
|
-
import com.facebook.
|
|
22
|
+
import com.facebook.fbreact.specs.NativeRNFBTurboDatabaseSpec;
|
|
23
23
|
import com.facebook.react.bridge.ReactApplicationContext;
|
|
24
|
-
import com.facebook.react.bridge.ReactMethod;
|
|
25
|
-
import io.invertase.firebase.common.ReactNativeFirebaseModule;
|
|
26
24
|
import io.invertase.firebase.common.UniversalFirebasePreferences;
|
|
27
25
|
|
|
28
|
-
public class
|
|
26
|
+
public class NativeRNFBTurboDatabase extends NativeRNFBTurboDatabaseSpec {
|
|
29
27
|
private static final String SERVICE_NAME = "Database";
|
|
30
28
|
private final UniversalFirebaseDatabaseModule module;
|
|
31
29
|
|
|
32
|
-
|
|
33
|
-
super(reactContext
|
|
30
|
+
public NativeRNFBTurboDatabase(ReactApplicationContext reactContext) {
|
|
31
|
+
super(reactContext);
|
|
34
32
|
module = new UniversalFirebaseDatabaseModule(reactContext, SERVICE_NAME);
|
|
35
33
|
}
|
|
36
34
|
|
|
37
|
-
@
|
|
38
|
-
public void goOnline(String app, String dbURL
|
|
39
|
-
module
|
|
40
|
-
.goOnline(app, dbURL)
|
|
41
|
-
.addOnCompleteListener(
|
|
42
|
-
task -> {
|
|
43
|
-
if (task.isSuccessful()) {
|
|
44
|
-
promise.resolve(task.getResult());
|
|
45
|
-
} else {
|
|
46
|
-
rejectPromiseWithExceptionMap(promise, task.getException());
|
|
47
|
-
}
|
|
48
|
-
});
|
|
35
|
+
@Override
|
|
36
|
+
public void goOnline(String app, String dbURL) {
|
|
37
|
+
module.goOnline(app, dbURL);
|
|
49
38
|
}
|
|
50
39
|
|
|
51
|
-
@
|
|
52
|
-
public void goOffline(String app, String dbURL
|
|
53
|
-
module
|
|
54
|
-
.goOffline(app, dbURL)
|
|
55
|
-
.addOnCompleteListener(
|
|
56
|
-
task -> {
|
|
57
|
-
if (task.isSuccessful()) {
|
|
58
|
-
promise.resolve(task.getResult());
|
|
59
|
-
} else {
|
|
60
|
-
rejectPromiseWithExceptionMap(promise, task.getException());
|
|
61
|
-
}
|
|
62
|
-
});
|
|
40
|
+
@Override
|
|
41
|
+
public void goOffline(String app, String dbURL) {
|
|
42
|
+
module.goOffline(app, dbURL);
|
|
63
43
|
}
|
|
64
44
|
|
|
65
|
-
@
|
|
45
|
+
@Override
|
|
66
46
|
public void setPersistenceEnabled(String app, String dbURL, boolean enabled) {
|
|
67
47
|
UniversalFirebasePreferences.getSharedInstance()
|
|
68
48
|
.setBooleanValue(UniversalDatabaseStatics.DATABASE_PERSISTENCE_ENABLED, enabled);
|
|
69
49
|
}
|
|
70
50
|
|
|
71
|
-
@
|
|
51
|
+
@Override
|
|
72
52
|
public void setLoggingEnabled(String app, String dbURL, boolean bool) {
|
|
73
53
|
UniversalFirebasePreferences.getSharedInstance()
|
|
74
54
|
.setBooleanValue(UniversalDatabaseStatics.DATABASE_LOGGING_ENABLED, bool);
|
|
75
55
|
}
|
|
76
56
|
|
|
77
|
-
@
|
|
57
|
+
@Override
|
|
78
58
|
public void setPersistenceCacheSizeBytes(String app, String dbURL, double cacheSizeBytes) {
|
|
79
59
|
UniversalFirebasePreferences.getSharedInstance()
|
|
80
60
|
.setLongValue(
|
|
81
61
|
UniversalDatabaseStatics.DATABASE_PERSISTENCE_CACHE_SIZE, (long) cacheSizeBytes);
|
|
82
62
|
}
|
|
83
63
|
|
|
84
|
-
@
|
|
85
|
-
public void useEmulator(String app, String dbURL, String host,
|
|
86
|
-
addEmulatorConfig(app, dbURL, host, port);
|
|
64
|
+
@Override
|
|
65
|
+
public void useEmulator(String app, String dbURL, String host, double port) {
|
|
66
|
+
addEmulatorConfig(app, dbURL, host, (int) port);
|
|
87
67
|
}
|
|
88
68
|
}
|
|
@@ -19,23 +19,23 @@ package io.invertase.firebase.database;
|
|
|
19
19
|
|
|
20
20
|
import static io.invertase.firebase.common.RCTConvertFirebase.toHashMap;
|
|
21
21
|
|
|
22
|
+
import com.facebook.fbreact.specs.NativeRNFBTurboDatabaseOnDisconnectSpec;
|
|
22
23
|
import com.facebook.react.bridge.Promise;
|
|
23
24
|
import com.facebook.react.bridge.ReactApplicationContext;
|
|
24
|
-
import com.facebook.react.bridge.ReactMethod;
|
|
25
25
|
import com.facebook.react.bridge.ReadableMap;
|
|
26
26
|
import io.invertase.firebase.common.ReactNativeFirebaseModule;
|
|
27
27
|
import java.util.Map;
|
|
28
28
|
|
|
29
|
-
public class
|
|
29
|
+
public class NativeRNFBTurboDatabaseOnDisconnect extends NativeRNFBTurboDatabaseOnDisconnectSpec {
|
|
30
30
|
private static final String SERVICE_NAME = "DatabaseOnDisconnect";
|
|
31
31
|
private final UniversalFirebaseDatabaseOnDisconnectModule module;
|
|
32
32
|
|
|
33
|
-
|
|
34
|
-
super(reactContext
|
|
33
|
+
public NativeRNFBTurboDatabaseOnDisconnect(ReactApplicationContext reactContext) {
|
|
34
|
+
super(reactContext);
|
|
35
35
|
module = new UniversalFirebaseDatabaseOnDisconnectModule(reactContext, SERVICE_NAME);
|
|
36
36
|
}
|
|
37
37
|
|
|
38
|
-
@
|
|
38
|
+
@Override
|
|
39
39
|
public void onDisconnectCancel(String app, String dbURL, String path, Promise promise) {
|
|
40
40
|
module
|
|
41
41
|
.onDisconnectCancel(app, dbURL, path)
|
|
@@ -44,12 +44,13 @@ public class ReactNativeFirebaseDatabaseOnDisconnectModule extends ReactNativeFi
|
|
|
44
44
|
if (task.isSuccessful()) {
|
|
45
45
|
promise.resolve(task.getResult());
|
|
46
46
|
} else {
|
|
47
|
-
rejectPromiseWithExceptionMap(
|
|
47
|
+
ReactNativeFirebaseModule.rejectPromiseWithExceptionMap(
|
|
48
|
+
promise, task.getException());
|
|
48
49
|
}
|
|
49
50
|
});
|
|
50
51
|
}
|
|
51
52
|
|
|
52
|
-
@
|
|
53
|
+
@Override
|
|
53
54
|
public void onDisconnectRemove(String app, String dbURL, String path, Promise promise) {
|
|
54
55
|
module
|
|
55
56
|
.onDisconnectRemove(app, dbURL, path)
|
|
@@ -58,12 +59,13 @@ public class ReactNativeFirebaseDatabaseOnDisconnectModule extends ReactNativeFi
|
|
|
58
59
|
if (task.isSuccessful()) {
|
|
59
60
|
promise.resolve(task.getResult());
|
|
60
61
|
} else {
|
|
61
|
-
rejectPromiseWithExceptionMap(
|
|
62
|
+
ReactNativeFirebaseModule.rejectPromiseWithExceptionMap(
|
|
63
|
+
promise, task.getException());
|
|
62
64
|
}
|
|
63
65
|
});
|
|
64
66
|
}
|
|
65
67
|
|
|
66
|
-
@
|
|
68
|
+
@Override
|
|
67
69
|
public void onDisconnectSet(
|
|
68
70
|
String app, String dbURL, String path, ReadableMap props, Promise promise) {
|
|
69
71
|
module
|
|
@@ -73,12 +75,13 @@ public class ReactNativeFirebaseDatabaseOnDisconnectModule extends ReactNativeFi
|
|
|
73
75
|
if (task.isSuccessful()) {
|
|
74
76
|
promise.resolve(task.getResult());
|
|
75
77
|
} else {
|
|
76
|
-
rejectPromiseWithExceptionMap(
|
|
78
|
+
ReactNativeFirebaseModule.rejectPromiseWithExceptionMap(
|
|
79
|
+
promise, task.getException());
|
|
77
80
|
}
|
|
78
81
|
});
|
|
79
82
|
}
|
|
80
83
|
|
|
81
|
-
@
|
|
84
|
+
@Override
|
|
82
85
|
public void onDisconnectSetWithPriority(
|
|
83
86
|
String app, String dbURL, String path, ReadableMap props, Promise promise) {
|
|
84
87
|
module
|
|
@@ -89,12 +92,13 @@ public class ReactNativeFirebaseDatabaseOnDisconnectModule extends ReactNativeFi
|
|
|
89
92
|
if (task.isSuccessful()) {
|
|
90
93
|
promise.resolve(task.getResult());
|
|
91
94
|
} else {
|
|
92
|
-
rejectPromiseWithExceptionMap(
|
|
95
|
+
ReactNativeFirebaseModule.rejectPromiseWithExceptionMap(
|
|
96
|
+
promise, task.getException());
|
|
93
97
|
}
|
|
94
98
|
});
|
|
95
99
|
}
|
|
96
100
|
|
|
97
|
-
@
|
|
101
|
+
@Override
|
|
98
102
|
public void onDisconnectUpdate(
|
|
99
103
|
String app, String dbURL, String path, ReadableMap props, Promise promise) {
|
|
100
104
|
@SuppressWarnings("unchecked")
|
|
@@ -106,7 +110,8 @@ public class ReactNativeFirebaseDatabaseOnDisconnectModule extends ReactNativeFi
|
|
|
106
110
|
if (task.isSuccessful()) {
|
|
107
111
|
promise.resolve(task.getResult());
|
|
108
112
|
} else {
|
|
109
|
-
rejectPromiseWithExceptionMap(
|
|
113
|
+
ReactNativeFirebaseModule.rejectPromiseWithExceptionMap(
|
|
114
|
+
promise, task.getException());
|
|
110
115
|
}
|
|
111
116
|
});
|
|
112
117
|
}
|