@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.
Files changed (136) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/RNFBDatabase.podspec +20 -7
  3. package/android/build.gradle +19 -0
  4. package/android/src/main/java/io/invertase/firebase/database/UniversalFirebaseDatabaseModule.java +4 -14
  5. package/android/src/reactnative/java/io/invertase/firebase/database/DatabaseTurboModuleSupport.java +56 -0
  6. package/android/src/reactnative/java/io/invertase/firebase/database/{ReactNativeFirebaseDatabaseModule.java → NativeRNFBTurboDatabase.java} +16 -36
  7. package/android/src/reactnative/java/io/invertase/firebase/database/{ReactNativeFirebaseDatabaseOnDisconnectModule.java → NativeRNFBTurboDatabaseOnDisconnect.java} +19 -14
  8. package/android/src/reactnative/java/io/invertase/firebase/database/{ReactNativeFirebaseDatabaseQueryModule.java → NativeRNFBTurboDatabaseQuery.java} +41 -105
  9. package/android/src/reactnative/java/io/invertase/firebase/database/{ReactNativeFirebaseDatabaseReferenceModule.java → NativeRNFBTurboDatabaseReference.java} +27 -20
  10. package/android/src/reactnative/java/io/invertase/firebase/database/{ReactNativeFirebaseDatabaseTransactionModule.java → NativeRNFBTurboDatabaseTransaction.java} +41 -19
  11. package/android/src/reactnative/java/io/invertase/firebase/database/ReactNativeFirebaseDatabasePackage.java +5 -5
  12. package/android/src/reactnative/java/io/invertase/firebase/database/ReactNativeFirebaseDatabaseTransactionHandler.java +11 -0
  13. package/android/src/reactnative/java/io/invertase/firebase/database/generated/java/com/facebook/fbreact/specs/NativeRNFBTurboDatabaseOnDisconnectSpec.java +55 -0
  14. package/android/src/reactnative/java/io/invertase/firebase/database/generated/java/com/facebook/fbreact/specs/NativeRNFBTurboDatabaseQuerySpec.java +52 -0
  15. package/android/src/reactnative/java/io/invertase/firebase/database/generated/java/com/facebook/fbreact/specs/NativeRNFBTurboDatabaseReferenceSpec.java +55 -0
  16. package/android/src/reactnative/java/io/invertase/firebase/database/generated/java/com/facebook/fbreact/specs/NativeRNFBTurboDatabaseSpec.java +57 -0
  17. package/android/src/reactnative/java/io/invertase/firebase/database/generated/java/com/facebook/fbreact/specs/NativeRNFBTurboDatabaseTransactionSpec.java +42 -0
  18. package/android/src/reactnative/java/io/invertase/firebase/database/generated/jni/CMakeLists.txt +36 -0
  19. package/android/src/reactnative/java/io/invertase/firebase/database/generated/jni/RNFBDatabaseTurboModules-generated.cpp +182 -0
  20. package/android/src/reactnative/java/io/invertase/firebase/database/generated/jni/RNFBDatabaseTurboModules.h +63 -0
  21. package/android/src/reactnative/java/io/invertase/firebase/database/generated/jni/react/renderer/components/RNFBDatabaseTurboModules/RNFBDatabaseTurboModulesJSI-generated.cpp +257 -0
  22. package/android/src/reactnative/java/io/invertase/firebase/database/generated/jni/react/renderer/components/RNFBDatabaseTurboModules/RNFBDatabaseTurboModulesJSI.h +440 -0
  23. package/dist/module/DatabaseDataSnapshot.js +20 -6
  24. package/dist/module/DatabaseDataSnapshot.js.map +1 -1
  25. package/dist/module/DatabaseOnDisconnect.js.map +1 -1
  26. package/dist/module/DatabaseQuery.js +13 -16
  27. package/dist/module/DatabaseQuery.js.map +1 -1
  28. package/dist/module/DatabaseReference.js +16 -15
  29. package/dist/module/DatabaseReference.js.map +1 -1
  30. package/dist/module/DatabaseSyncTree.js +5 -4
  31. package/dist/module/DatabaseSyncTree.js.map +1 -1
  32. package/dist/module/DatabaseThenableReference.js +1 -2
  33. package/dist/module/DatabaseThenableReference.js.map +1 -1
  34. package/dist/module/index.js +210 -5
  35. package/dist/module/index.js.map +1 -1
  36. package/dist/module/modular/query.js +14 -15
  37. package/dist/module/modular/query.js.map +1 -1
  38. package/dist/module/modular/transaction.js +1 -2
  39. package/dist/module/modular/transaction.js.map +1 -1
  40. package/dist/module/version.js +1 -1
  41. package/dist/module/web/RNFBDatabaseModule.js +4 -8
  42. package/dist/module/web/RNFBDatabaseModule.js.map +1 -1
  43. package/dist/typescript/lib/DatabaseDataSnapshot.d.ts +9 -7
  44. package/dist/typescript/lib/DatabaseDataSnapshot.d.ts.map +1 -1
  45. package/dist/typescript/lib/DatabaseOnDisconnect.d.ts +3 -3
  46. package/dist/typescript/lib/DatabaseOnDisconnect.d.ts.map +1 -1
  47. package/dist/typescript/lib/DatabaseQuery.d.ts +18 -18
  48. package/dist/typescript/lib/DatabaseQuery.d.ts.map +1 -1
  49. package/dist/typescript/lib/DatabaseReference.d.ts +8 -8
  50. package/dist/typescript/lib/DatabaseReference.d.ts.map +1 -1
  51. package/dist/typescript/lib/DatabaseSyncTree.d.ts +2 -2
  52. package/dist/typescript/lib/DatabaseSyncTree.d.ts.map +1 -1
  53. package/dist/typescript/lib/DatabaseThenableReference.d.ts +8 -8
  54. package/dist/typescript/lib/DatabaseThenableReference.d.ts.map +1 -1
  55. package/dist/typescript/lib/index.d.ts +57 -4
  56. package/dist/typescript/lib/index.d.ts.map +1 -1
  57. package/dist/typescript/lib/modular/query.d.ts.map +1 -1
  58. package/dist/typescript/lib/modular/transaction.d.ts.map +1 -1
  59. package/dist/typescript/lib/types/database.d.ts +5 -5
  60. package/dist/typescript/lib/types/database.d.ts.map +1 -1
  61. package/dist/typescript/lib/types/internal.d.ts +32 -31
  62. package/dist/typescript/lib/types/internal.d.ts.map +1 -1
  63. package/dist/typescript/lib/version.d.ts +1 -1
  64. package/dist/typescript/lib/web/RNFBDatabaseModule.d.ts.map +1 -1
  65. package/ios/RNFBDatabase/RNFBDatabaseCommon.h +13 -6
  66. package/ios/RNFBDatabase/RNFBDatabaseCommon.m +2 -10
  67. package/ios/RNFBDatabase/RNFBDatabaseConstants.h +25 -0
  68. package/ios/RNFBDatabase/RNFBDatabaseModule.mm +90 -0
  69. package/ios/RNFBDatabase/RNFBDatabaseModuleHelper.h +39 -0
  70. package/ios/RNFBDatabase/RNFBDatabaseModuleHelper.m +64 -0
  71. package/ios/RNFBDatabase/RNFBDatabaseOnDisconnectHelper.h +59 -0
  72. package/ios/RNFBDatabase/{RNFBDatabaseOnDisconnectModule.m → RNFBDatabaseOnDisconnectHelper.m} +41 -47
  73. package/ios/RNFBDatabase/RNFBDatabaseOnDisconnectModule.mm +121 -0
  74. package/ios/RNFBDatabase/RNFBDatabaseQuery.h +11 -0
  75. package/ios/RNFBDatabase/RNFBDatabaseQueryHelper.h +49 -0
  76. package/ios/RNFBDatabase/{RNFBDatabaseQueryModule.m → RNFBDatabaseQueryHelper.m} +77 -91
  77. package/ios/RNFBDatabase/RNFBDatabaseQueryModule.h +5 -1
  78. package/ios/RNFBDatabase/RNFBDatabaseQueryModule.mm +105 -0
  79. package/ios/RNFBDatabase/RNFBDatabaseQueue.h +29 -0
  80. package/ios/RNFBDatabase/RNFBDatabaseQueue.m +31 -0
  81. package/ios/RNFBDatabase/RNFBDatabaseReferenceHelper.h +59 -0
  82. package/ios/RNFBDatabase/{RNFBDatabaseReferenceModule.m → RNFBDatabaseReferenceHelper.m} +42 -48
  83. package/ios/RNFBDatabase/RNFBDatabaseReferenceModule.mm +125 -0
  84. package/ios/RNFBDatabase/RNFBDatabaseTransactionHelper.h +38 -0
  85. package/ios/RNFBDatabase/{RNFBDatabaseTransactionModule.m → RNFBDatabaseTransactionHelper.m} +52 -51
  86. package/ios/RNFBDatabase/RNFBDatabaseTransactionModule.h +0 -1
  87. package/ios/RNFBDatabase/RNFBDatabaseTransactionModule.mm +86 -0
  88. package/ios/RNFBDatabase.xcodeproj/project.pbxproj +24 -24
  89. package/ios/generated/RCTAppDependencyProvider.h +25 -0
  90. package/ios/generated/RCTAppDependencyProvider.mm +55 -0
  91. package/ios/generated/RCTModulesConformingToProtocolsProvider.h +18 -0
  92. package/ios/generated/RCTModulesConformingToProtocolsProvider.mm +33 -0
  93. package/ios/generated/RCTThirdPartyComponentsProvider.h +16 -0
  94. package/ios/generated/RCTThirdPartyComponentsProvider.mm +23 -0
  95. package/ios/generated/RNFBDatabaseTurboModules/RNFBDatabaseTurboModules-generated.mm +254 -0
  96. package/ios/generated/RNFBDatabaseTurboModules/RNFBDatabaseTurboModules.h +264 -0
  97. package/ios/generated/RNFBDatabaseTurboModulesJSI-generated.cpp +257 -0
  98. package/ios/generated/RNFBDatabaseTurboModulesJSI.h +440 -0
  99. package/ios/generated/ReactAppDependencyProvider.podspec +34 -0
  100. package/lib/DatabaseDataSnapshot.ts +43 -38
  101. package/lib/DatabaseOnDisconnect.ts +3 -3
  102. package/lib/DatabaseQuery.ts +45 -77
  103. package/lib/DatabaseReference.ts +37 -66
  104. package/lib/DatabaseSyncTree.ts +8 -11
  105. package/lib/DatabaseThenableReference.ts +9 -17
  106. package/lib/index.ts +325 -6
  107. package/lib/modular/query.ts +14 -70
  108. package/lib/modular/transaction.ts +1 -4
  109. package/lib/types/database.ts +5 -5
  110. package/lib/types/internal.ts +31 -56
  111. package/lib/version.ts +1 -1
  112. package/lib/web/RNFBDatabaseModule.ts +6 -10
  113. package/package.json +26 -4
  114. package/react-native.config.js +10 -0
  115. package/specs/NativeRNFBTurboDatabase.ts +13 -0
  116. package/specs/NativeRNFBTurboDatabaseOnDisconnect.ts +18 -0
  117. package/specs/NativeRNFBTurboDatabaseQuery.ts +25 -0
  118. package/specs/NativeRNFBTurboDatabaseReference.ts +13 -0
  119. package/specs/NativeRNFBTurboDatabaseTransaction.ts +16 -0
  120. package/typedoc.json +1 -1
  121. package/dist/module/modular.js +0 -76
  122. package/dist/module/modular.js.map +0 -1
  123. package/dist/module/namespaced.js +0 -147
  124. package/dist/module/namespaced.js.map +0 -1
  125. package/dist/module/types/namespaced.js +0 -67
  126. package/dist/module/types/namespaced.js.map +0 -1
  127. package/dist/typescript/lib/modular.d.ts +0 -24
  128. package/dist/typescript/lib/modular.d.ts.map +0 -1
  129. package/dist/typescript/lib/namespaced.d.ts +0 -13
  130. package/dist/typescript/lib/namespaced.d.ts.map +0 -1
  131. package/dist/typescript/lib/types/namespaced.d.ts +0 -1230
  132. package/dist/typescript/lib/types/namespaced.d.ts.map +0 -1
  133. package/ios/RNFBDatabase/RNFBDatabaseModule.m +0 -100
  134. package/lib/modular.ts +0 -134
  135. package/lib/namespaced.ts +0 -253
  136. 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
@@ -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
- # React Native dependencies
36
- if defined?(install_modules_dependencies()) != nil
37
- install_modules_dependencies(s);
38
- else
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.dependency 'Firebase/Database', firebase_sdk_version
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}'"
@@ -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
+ }
@@ -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
- Task<Void> goOnline(String appName, String dbURL) {
34
- return Tasks.call(
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
- Task<Void> goOffline(String appName, String dbURL) {
42
- return Tasks.call(
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
  }
@@ -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.react.bridge.Promise;
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 ReactNativeFirebaseDatabaseModule extends ReactNativeFirebaseModule {
26
+ public class NativeRNFBTurboDatabase extends NativeRNFBTurboDatabaseSpec {
29
27
  private static final String SERVICE_NAME = "Database";
30
28
  private final UniversalFirebaseDatabaseModule module;
31
29
 
32
- ReactNativeFirebaseDatabaseModule(ReactApplicationContext reactContext) {
33
- super(reactContext, SERVICE_NAME);
30
+ public NativeRNFBTurboDatabase(ReactApplicationContext reactContext) {
31
+ super(reactContext);
34
32
  module = new UniversalFirebaseDatabaseModule(reactContext, SERVICE_NAME);
35
33
  }
36
34
 
37
- @ReactMethod
38
- public void goOnline(String app, String dbURL, Promise promise) {
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
- @ReactMethod
52
- public void goOffline(String app, String dbURL, Promise promise) {
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
- @ReactMethod
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
- @ReactMethod
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
- @ReactMethod
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
- @ReactMethod
85
- public void useEmulator(String app, String dbURL, String host, int port) {
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 ReactNativeFirebaseDatabaseOnDisconnectModule extends ReactNativeFirebaseModule {
29
+ public class NativeRNFBTurboDatabaseOnDisconnect extends NativeRNFBTurboDatabaseOnDisconnectSpec {
30
30
  private static final String SERVICE_NAME = "DatabaseOnDisconnect";
31
31
  private final UniversalFirebaseDatabaseOnDisconnectModule module;
32
32
 
33
- ReactNativeFirebaseDatabaseOnDisconnectModule(ReactApplicationContext reactContext) {
34
- super(reactContext, SERVICE_NAME);
33
+ public NativeRNFBTurboDatabaseOnDisconnect(ReactApplicationContext reactContext) {
34
+ super(reactContext);
35
35
  module = new UniversalFirebaseDatabaseOnDisconnectModule(reactContext, SERVICE_NAME);
36
36
  }
37
37
 
38
- @ReactMethod
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(promise, task.getException());
47
+ ReactNativeFirebaseModule.rejectPromiseWithExceptionMap(
48
+ promise, task.getException());
48
49
  }
49
50
  });
50
51
  }
51
52
 
52
- @ReactMethod
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(promise, task.getException());
62
+ ReactNativeFirebaseModule.rejectPromiseWithExceptionMap(
63
+ promise, task.getException());
62
64
  }
63
65
  });
64
66
  }
65
67
 
66
- @ReactMethod
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(promise, task.getException());
78
+ ReactNativeFirebaseModule.rejectPromiseWithExceptionMap(
79
+ promise, task.getException());
77
80
  }
78
81
  });
79
82
  }
80
83
 
81
- @ReactMethod
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(promise, task.getException());
95
+ ReactNativeFirebaseModule.rejectPromiseWithExceptionMap(
96
+ promise, task.getException());
93
97
  }
94
98
  });
95
99
  }
96
100
 
97
- @ReactMethod
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(promise, task.getException());
113
+ ReactNativeFirebaseModule.rejectPromiseWithExceptionMap(
114
+ promise, task.getException());
110
115
  }
111
116
  });
112
117
  }