@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
@@ -15,68 +15,77 @@
15
15
  *
16
16
  */
17
17
 
18
+ #if __has_include(<Firebase/Firebase.h>)
18
19
  #import <Firebase/Firebase.h>
19
- #import <React/RCTUtils.h>
20
+ #else
21
+ @import FirebaseCore;
22
+ @import FirebaseDatabaseInternal;
23
+ #endif
20
24
 
25
+ #import "RNFBApp/RCTConvert+FIRApp.h"
26
+ #import "RNFBApp/RNFBSharedUtils.h"
21
27
  #import "RNFBDatabaseCommon.h"
22
- #import "RNFBDatabaseTransactionModule.h"
28
+ #import "RNFBDatabaseTransactionHelper.h"
23
29
  #import "RNFBRCTEventEmitter.h"
24
- #import "RNFBSharedUtils.h"
25
30
 
26
31
  static __strong NSMutableDictionary *transactions;
27
32
  static NSString *const RNFB_DATABASE_TRANSACTION_EVENT = @"database_transaction_event";
28
33
 
29
- @implementation RNFBDatabaseTransactionModule
30
- #pragma mark -
31
- #pragma mark Module Setup
34
+ @implementation RNFBDatabaseTransactionHelper
32
35
 
33
- RCT_EXPORT_MODULE();
34
-
35
- - (dispatch_queue_t)methodQueue {
36
- return [RNFBDatabaseCommon getDispatchQueue];
37
- }
38
-
39
- - (id)init {
40
- if (self = [super init]) {
36
+ + (dispatch_queue_t)transactionQueue {
37
+ static dispatch_once_t once;
38
+ static dispatch_queue_t sharedInstance;
39
+ dispatch_once(&once, ^{
41
40
  transactions = [[NSMutableDictionary alloc] init];
42
- #pragma clang diagnostic push
43
- #pragma ide diagnostic ignored "BridgeCastIssues"
44
- _transactionQueue = dispatch_queue_create(
41
+ sharedInstance = dispatch_queue_create(
45
42
  "io.invertase.react-native-firebase.database.transactions", DISPATCH_QUEUE_CONCURRENT);
46
- #pragma clang diagnostic pop
47
- }
48
- return self;
43
+ });
44
+ return sharedInstance;
49
45
  }
50
46
 
51
- #pragma mark -
52
- #pragma mark Firebase Database
47
+ + (void)invalidate {
48
+ dispatch_queue_t queue = [self transactionQueue];
49
+ dispatch_sync(queue, ^{
50
+ for (NSString *key in [transactions allKeys]) {
51
+ NSMutableDictionary *transactionState = transactions[key];
52
+ [transactionState setValue:@true forKey:@"abort"];
53
+ dispatch_semaphore_t sema = [transactionState valueForKey:@"semaphore"];
54
+ if (sema) {
55
+ dispatch_semaphore_signal(sema);
56
+ }
57
+ [transactions removeObjectForKey:key];
58
+ }
59
+ });
60
+ }
53
61
 
54
- RCT_EXPORT_METHOD(transactionStart
55
- : (FIRApp *)firebaseApp
56
- : (NSString *)dbURL
57
- : (NSString *)path
58
- : (nonnull NSNumber *)transactionId
59
- : (BOOL)applyLocally) {
60
- dispatch_async(_transactionQueue, ^{
62
+ + (void)transactionStart:(NSString *)app
63
+ dbURL:(NSString *)dbURL
64
+ path:(NSString *)path
65
+ transactionId:(double)transactionId
66
+ applyLocally:(BOOL)applyLocally {
67
+ dispatch_queue_t queue = [self transactionQueue];
68
+ dispatch_async(queue, ^{
61
69
  NSMutableDictionary *transactionState = [NSMutableDictionary new];
62
70
  dispatch_semaphore_t sema = dispatch_semaphore_create(0);
63
71
  #pragma clang diagnostic push
64
72
  #pragma ide diagnostic ignored "err_typecheck_convert_incompatible"
65
73
  transactionState[@"semaphore"] = sema;
66
74
  #pragma clang diagnostic pop
75
+ FIRApp *firebaseApp = [RCTConvert firAppFromString:app];
67
76
  FIRDatabase *firDatabase = [RNFBDatabaseCommon getDatabaseForApp:firebaseApp dbURL:dbURL];
68
77
  FIRDatabaseReference *firDatabaseReference =
69
78
  [RNFBDatabaseCommon getReferenceForDatabase:firDatabase path:path];
70
79
 
71
80
  id runTransactionBlock = ^FIRTransactionResult *(FIRMutableData *currentData) {
72
- dispatch_barrier_async(self->_transactionQueue, ^{
73
- [transactions setValue:transactionState forKey:[transactionId stringValue]];
81
+ dispatch_barrier_async(queue, ^{
82
+ [transactions setValue:transactionState forKey:[@(transactionId) stringValue]];
74
83
 
75
84
  [[RNFBRCTEventEmitter shared]
76
85
  sendEventWithName:RNFB_DATABASE_TRANSACTION_EVENT
77
86
  body:@{
78
87
  @"appName" : [RNFBSharedUtils getAppJavaScriptName:firDatabase.app.name],
79
- @"id" : transactionId,
88
+ @"id" : @(transactionId),
80
89
  @"body" : @{
81
90
  @"type" : @"update",
82
91
  @"value" : currentData.value,
@@ -84,18 +93,14 @@ RCT_EXPORT_METHOD(transactionStart
84
93
  }];
85
94
  });
86
95
 
87
- // wait for the js event handler to call tryCommitTransaction
88
- // this wait occurs on the Firebase Worker Queue
89
- // so if the tryCommitTransaction fails to signal the semaphore
90
- // no further blocks will be executed by Firebase until the timeout expires
91
96
  dispatch_time_t delayTime = dispatch_time(DISPATCH_TIME_NOW, 30 * NSEC_PER_SEC);
92
97
  BOOL timedout = dispatch_semaphore_wait(sema, delayTime) != 0;
93
98
 
94
99
  BOOL abort = [transactionState valueForKey:@"abort"] || timedout;
95
100
  id value = [transactionState valueForKey:@"value"];
96
101
 
97
- dispatch_barrier_async(self->_transactionQueue, ^{
98
- [transactions removeObjectForKey:[transactionId stringValue]];
102
+ dispatch_barrier_async(queue, ^{
103
+ [transactions removeObjectForKey:[@(transactionId) stringValue]];
99
104
  });
100
105
 
101
106
  if (abort) {
@@ -125,7 +130,7 @@ RCT_EXPORT_METHOD(transactionStart
125
130
  [[RNFBRCTEventEmitter shared]
126
131
  sendEventWithName:RNFB_DATABASE_TRANSACTION_EVENT
127
132
  body:@{
128
- @"id" : transactionId,
133
+ @"id" : @(transactionId),
129
134
  @"appName" : [RNFBSharedUtils getAppJavaScriptName:firDatabase.app.name],
130
135
  @"body" : resultMap,
131
136
  }];
@@ -137,19 +142,19 @@ RCT_EXPORT_METHOD(transactionStart
137
142
  });
138
143
  }
139
144
 
140
- RCT_EXPORT_METHOD(transactionTryCommit
141
- : (FIRApp *)firebaseApp
142
- : (NSString *)dbURL
143
- : (nonnull NSNumber *)transactionId
144
- : (NSDictionary *)updates) {
145
+ + (void)transactionTryCommit:(NSString *)app
146
+ dbURL:(NSString *)dbURL
147
+ transactionId:(double)transactionId
148
+ updates:(NSDictionary *)updates {
149
+ dispatch_queue_t queue = [self transactionQueue];
145
150
  __block NSMutableDictionary *transactionState;
146
151
 
147
- dispatch_sync(_transactionQueue, ^{
148
- transactionState = transactions[[transactionId stringValue]];
152
+ dispatch_sync(queue, ^{
153
+ transactionState = transactions[[@(transactionId) stringValue]];
149
154
  });
150
155
 
151
156
  if (!transactionState) {
152
- NSLog(@"tryCommitTransaction for unknown ID %@", transactionId);
157
+ NSLog(@"tryCommitTransaction for unknown ID %@", @(transactionId));
153
158
  return;
154
159
  }
155
160
 
@@ -165,8 +170,4 @@ RCT_EXPORT_METHOD(transactionTryCommit
165
170
  dispatch_semaphore_signal([transactionState valueForKey:@"semaphore"]);
166
171
  }
167
172
 
168
- + (BOOL)requiresMainQueueSetup {
169
- return YES;
170
- }
171
-
172
173
  @end
@@ -20,5 +20,4 @@
20
20
  #import <React/RCTBridgeModule.h>
21
21
 
22
22
  @interface RNFBDatabaseTransactionModule : NSObject <RCTBridgeModule>
23
- @property dispatch_queue_t transactionQueue;
24
23
  @end
@@ -0,0 +1,86 @@
1
+ /**
2
+ * Copyright (c) 2016-present Invertase Limited & Contributors
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this library except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ *
16
+ */
17
+
18
+ #import <React/RCTUtils.h>
19
+
20
+ #import "RNFBDatabaseQueue.h"
21
+ #import "RNFBDatabaseTransactionHelper.h"
22
+ #import "RNFBDatabaseTransactionModule.h"
23
+ #import "RNFBDatabaseTurboModules.h"
24
+
25
+ // NOTE: This module deliberately never imports Firebase Database headers.
26
+ // See RNFBDatabaseModule.mm for rationale. All Firebase Database calls, and
27
+ // the pending-transaction dispatch queue/bookkeeping, live in the plain
28
+ // Objective-C `RNFBDatabaseTransactionHelper`.
29
+
30
+ @interface RNFBDatabaseTransactionModule () <NativeRNFBTurboDatabaseTransactionSpec,
31
+ RCTBridgeModule>
32
+ @end
33
+
34
+ @implementation RNFBDatabaseTransactionModule
35
+ #pragma mark -
36
+ #pragma mark Module Setup
37
+
38
+ - (std::shared_ptr<facebook::react::TurboModule>)getTurboModule:
39
+ (const facebook::react::ObjCTurboModule::InitParams &)params {
40
+ return std::make_shared<facebook::react::NativeRNFBTurboDatabaseTransactionSpecJSI>(params);
41
+ }
42
+
43
+ RCT_EXPORT_MODULE(NativeRNFBTurboDatabaseTransaction);
44
+
45
+ + (BOOL)requiresMainQueueSetup {
46
+ return NO;
47
+ }
48
+
49
+ - (dispatch_queue_t)methodQueue {
50
+ return [RNFBDatabaseQueue getDispatchQueue];
51
+ }
52
+
53
+ - (void)dealloc {
54
+ [self invalidate];
55
+ }
56
+
57
+ - (void)invalidate {
58
+ [RNFBDatabaseTransactionHelper invalidate];
59
+ }
60
+
61
+ #pragma mark -
62
+ #pragma mark Firebase Database
63
+
64
+ - (void)transactionStart:(NSString *)app
65
+ dbURL:(NSString *)dbURL
66
+ path:(NSString *)path
67
+ transactionId:(double)transactionId
68
+ applyLocally:(BOOL)applyLocally {
69
+ [RNFBDatabaseTransactionHelper transactionStart:app
70
+ dbURL:dbURL
71
+ path:path
72
+ transactionId:transactionId
73
+ applyLocally:applyLocally];
74
+ }
75
+
76
+ - (void)transactionTryCommit:(NSString *)app
77
+ dbURL:(NSString *)dbURL
78
+ transactionId:(double)transactionId
79
+ updates:(NSDictionary *)updates {
80
+ [RNFBDatabaseTransactionHelper transactionTryCommit:app
81
+ dbURL:dbURL
82
+ transactionId:transactionId
83
+ updates:updates];
84
+ }
85
+
86
+ @end
@@ -7,13 +7,13 @@
7
7
  objects = {
8
8
 
9
9
  /* Begin PBXBuildFile section */
10
- 2744B98621F45429004F8E3F /* RNFBDatabaseModule.m in Sources */ = {isa = PBXBuildFile; fileRef = 2744B98521F45429004F8E3F /* RNFBDatabaseModule.m */; };
10
+ 2744B98621F45429004F8E3F /* RNFBDatabaseModule.mm in Sources */ = {isa = PBXBuildFile; fileRef = 2744B98521F45429004F8E3F /* RNFBDatabaseModule.mm */; };
11
11
  8B9DD3BA22A03C7900A16945 /* RNFBDatabaseQuery.m in Sources */ = {isa = PBXBuildFile; fileRef = 8B9DD3B922A03C7900A16945 /* RNFBDatabaseQuery.m */; };
12
- 8B9DD3BD22A05CEB00A16945 /* RNFBDatabaseOnDisconnectModule.m in Sources */ = {isa = PBXBuildFile; fileRef = 8B9DD3BC22A05CEB00A16945 /* RNFBDatabaseOnDisconnectModule.m */; };
12
+ 8B9DD3BD22A05CEB00A16945 /* RNFBDatabaseOnDisconnectModule.mm in Sources */ = {isa = PBXBuildFile; fileRef = 8B9DD3BC22A05CEB00A16945 /* RNFBDatabaseOnDisconnectModule.mm */; };
13
13
  8B9DD3C222A0617400A16945 /* RNFBDatabaseCommon.m in Sources */ = {isa = PBXBuildFile; fileRef = 8B9DD3C122A0617400A16945 /* RNFBDatabaseCommon.m */; };
14
- 8B9DD3C622A11F4F00A16945 /* RNFBDatabaseReferenceModule.m in Sources */ = {isa = PBXBuildFile; fileRef = 8B9DD3C522A11F4F00A16945 /* RNFBDatabaseReferenceModule.m */; };
15
- 8B9DD3C922A1258B00A16945 /* RNFBDatabaseQueryModule.m in Sources */ = {isa = PBXBuildFile; fileRef = 8B9DD3C822A1258B00A16945 /* RNFBDatabaseQueryModule.m */; };
16
- 8B9DD3CE22A43D1400A16945 /* RNFBDatabaseTransactionModule.m in Sources */ = {isa = PBXBuildFile; fileRef = 8B9DD3CD22A43D1400A16945 /* RNFBDatabaseTransactionModule.m */; };
14
+ 8B9DD3C622A11F4F00A16945 /* RNFBDatabaseReferenceModule.mm in Sources */ = {isa = PBXBuildFile; fileRef = 8B9DD3C522A11F4F00A16945 /* RNFBDatabaseReferenceModule.mm */; };
15
+ 8B9DD3C922A1258B00A16945 /* RNFBDatabaseQueryModule.mm in Sources */ = {isa = PBXBuildFile; fileRef = 8B9DD3C822A1258B00A16945 /* RNFBDatabaseQueryModule.mm */; };
16
+ 8B9DD3CE22A43D1400A16945 /* RNFBDatabaseTransactionModule.mm in Sources */ = {isa = PBXBuildFile; fileRef = 8B9DD3CD22A43D1400A16945 /* RNFBDatabaseTransactionModule.mm */; };
17
17
  /* End PBXBuildFile section */
18
18
 
19
19
  /* Begin PBXCopyFilesBuildPhase section */
@@ -31,19 +31,19 @@
31
31
  /* Begin PBXFileReference section */
32
32
  2744B98221F45429004F8E3F /* libRNFBDatabase.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libRNFBDatabase.a; sourceTree = BUILT_PRODUCTS_DIR; };
33
33
  2744B98421F45429004F8E3F /* RNFBDatabaseModule.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = RNFBDatabaseModule.h; path = RNFBDatabase/RNFBDatabaseModule.h; sourceTree = SOURCE_ROOT; };
34
- 2744B98521F45429004F8E3F /* RNFBDatabaseModule.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = RNFBDatabaseModule.m; path = RNFBDatabase/RNFBDatabaseModule.m; sourceTree = SOURCE_ROOT; };
34
+ 2744B98521F45429004F8E3F /* RNFBDatabaseModule.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = RNFBDatabaseModule.mm; path = RNFBDatabase/RNFBDatabaseModule.mm; sourceTree = SOURCE_ROOT; };
35
35
  8B9DD3B822A03C6700A16945 /* RNFBDatabaseQuery.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RNFBDatabaseQuery.h; sourceTree = "<group>"; };
36
36
  8B9DD3B922A03C7900A16945 /* RNFBDatabaseQuery.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = RNFBDatabaseQuery.m; sourceTree = "<group>"; };
37
- 8B9DD3BC22A05CEB00A16945 /* RNFBDatabaseOnDisconnectModule.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = RNFBDatabaseOnDisconnectModule.m; sourceTree = "<group>"; };
37
+ 8B9DD3BC22A05CEB00A16945 /* RNFBDatabaseOnDisconnectModule.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = RNFBDatabaseOnDisconnectModule.mm; sourceTree = "<group>"; };
38
38
  8B9DD3BE22A05D0400A16945 /* RNFBDatabaseOnDisconnectModule.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RNFBDatabaseOnDisconnectModule.h; sourceTree = "<group>"; };
39
39
  8B9DD3C022A0616300A16945 /* RNFBDatabaseCommon.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RNFBDatabaseCommon.h; sourceTree = "<group>"; };
40
40
  8B9DD3C122A0617400A16945 /* RNFBDatabaseCommon.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = RNFBDatabaseCommon.m; sourceTree = "<group>"; };
41
41
  8B9DD3C422A11F3E00A16945 /* RNFBDatabaseReferenceModule.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RNFBDatabaseReferenceModule.h; sourceTree = "<group>"; };
42
- 8B9DD3C522A11F4F00A16945 /* RNFBDatabaseReferenceModule.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = RNFBDatabaseReferenceModule.m; sourceTree = "<group>"; };
43
- 8B9DD3C822A1258B00A16945 /* RNFBDatabaseQueryModule.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = RNFBDatabaseQueryModule.m; sourceTree = "<group>"; };
42
+ 8B9DD3C522A11F4F00A16945 /* RNFBDatabaseReferenceModule.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = RNFBDatabaseReferenceModule.mm; sourceTree = "<group>"; };
43
+ 8B9DD3C822A1258B00A16945 /* RNFBDatabaseQueryModule.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = RNFBDatabaseQueryModule.mm; sourceTree = "<group>"; };
44
44
  8B9DD3CA22A1259F00A16945 /* RNFBDatabaseQueryModule.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RNFBDatabaseQueryModule.h; sourceTree = "<group>"; };
45
45
  8B9DD3CC22A43D0300A16945 /* RNFBDatabaseTransactionModule.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RNFBDatabaseTransactionModule.h; sourceTree = "<group>"; };
46
- 8B9DD3CD22A43D1400A16945 /* RNFBDatabaseTransactionModule.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = RNFBDatabaseTransactionModule.m; sourceTree = "<group>"; };
46
+ 8B9DD3CD22A43D1400A16945 /* RNFBDatabaseTransactionModule.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = RNFBDatabaseTransactionModule.mm; sourceTree = "<group>"; };
47
47
  /* End PBXFileReference section */
48
48
 
49
49
  /* Begin PBXFrameworksBuildPhase section */
@@ -69,19 +69,19 @@
69
69
  isa = PBXGroup;
70
70
  children = (
71
71
  2744B98421F45429004F8E3F /* RNFBDatabaseModule.h */,
72
- 2744B98521F45429004F8E3F /* RNFBDatabaseModule.m */,
72
+ 2744B98521F45429004F8E3F /* RNFBDatabaseModule.mm */,
73
73
  8B9DD3B822A03C6700A16945 /* RNFBDatabaseQuery.h */,
74
74
  8B9DD3B922A03C7900A16945 /* RNFBDatabaseQuery.m */,
75
- 8B9DD3BC22A05CEB00A16945 /* RNFBDatabaseOnDisconnectModule.m */,
75
+ 8B9DD3BC22A05CEB00A16945 /* RNFBDatabaseOnDisconnectModule.mm */,
76
76
  8B9DD3BE22A05D0400A16945 /* RNFBDatabaseOnDisconnectModule.h */,
77
77
  8B9DD3C022A0616300A16945 /* RNFBDatabaseCommon.h */,
78
78
  8B9DD3C122A0617400A16945 /* RNFBDatabaseCommon.m */,
79
79
  8B9DD3C422A11F3E00A16945 /* RNFBDatabaseReferenceModule.h */,
80
- 8B9DD3C522A11F4F00A16945 /* RNFBDatabaseReferenceModule.m */,
81
- 8B9DD3C822A1258B00A16945 /* RNFBDatabaseQueryModule.m */,
80
+ 8B9DD3C522A11F4F00A16945 /* RNFBDatabaseReferenceModule.mm */,
81
+ 8B9DD3C822A1258B00A16945 /* RNFBDatabaseQueryModule.mm */,
82
82
  8B9DD3CA22A1259F00A16945 /* RNFBDatabaseQueryModule.h */,
83
83
  8B9DD3CC22A43D0300A16945 /* RNFBDatabaseTransactionModule.h */,
84
- 8B9DD3CD22A43D1400A16945 /* RNFBDatabaseTransactionModule.m */,
84
+ 8B9DD3CD22A43D1400A16945 /* RNFBDatabaseTransactionModule.mm */,
85
85
  );
86
86
  path = RNFBDatabase;
87
87
  sourceTree = "<group>";
@@ -153,12 +153,12 @@
153
153
  isa = PBXSourcesBuildPhase;
154
154
  buildActionMask = 2147483647;
155
155
  files = (
156
- 8B9DD3BD22A05CEB00A16945 /* RNFBDatabaseOnDisconnectModule.m in Sources */,
157
- 8B9DD3C922A1258B00A16945 /* RNFBDatabaseQueryModule.m in Sources */,
158
- 8B9DD3CE22A43D1400A16945 /* RNFBDatabaseTransactionModule.m in Sources */,
156
+ 8B9DD3BD22A05CEB00A16945 /* RNFBDatabaseOnDisconnectModule.mm in Sources */,
157
+ 8B9DD3C922A1258B00A16945 /* RNFBDatabaseQueryModule.mm in Sources */,
158
+ 8B9DD3CE22A43D1400A16945 /* RNFBDatabaseTransactionModule.mm in Sources */,
159
159
  8B9DD3C222A0617400A16945 /* RNFBDatabaseCommon.m in Sources */,
160
- 8B9DD3C622A11F4F00A16945 /* RNFBDatabaseReferenceModule.m in Sources */,
161
- 2744B98621F45429004F8E3F /* RNFBDatabaseModule.m in Sources */,
160
+ 8B9DD3C622A11F4F00A16945 /* RNFBDatabaseReferenceModule.mm in Sources */,
161
+ 2744B98621F45429004F8E3F /* RNFBDatabaseModule.mm in Sources */,
162
162
  8B9DD3BA22A03C7900A16945 /* RNFBDatabaseQuery.m in Sources */,
163
163
  );
164
164
  runOnlyForDeploymentPostprocessing = 0;
@@ -194,7 +194,7 @@
194
194
  );
195
195
  GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
196
196
  GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
197
- IPHONEOS_DEPLOYMENT_TARGET = 10.0;
197
+ IPHONEOS_DEPLOYMENT_TARGET = 15.0;
198
198
  MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
199
199
  MTL_FAST_MATH = YES;
200
200
  OTHER_LDFLAGS = "-ObjC";
@@ -228,7 +228,7 @@
228
228
  GCC_C_LANGUAGE_STANDARD = gnu11;
229
229
  GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
230
230
  GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
231
- IPHONEOS_DEPLOYMENT_TARGET = 10.0;
231
+ IPHONEOS_DEPLOYMENT_TARGET = 15.0;
232
232
  MTL_ENABLE_DEBUG_INFO = NO;
233
233
  MTL_FAST_MATH = YES;
234
234
  OTHER_LDFLAGS = "-ObjC";
@@ -289,7 +289,7 @@
289
289
  "$(SRCROOT)/../../../node_modules/react-native-firebase/ios/**",
290
290
  "$(SRCROOT)/../../../packages/app/ios/**",
291
291
  );
292
- IPHONEOS_DEPLOYMENT_TARGET = 10.0;
292
+ IPHONEOS_DEPLOYMENT_TARGET = 15.0;
293
293
  LIBRARY_SEARCH_PATHS = "$(inherited)";
294
294
  MACH_O_TYPE = staticlib;
295
295
  OTHER_LDFLAGS = "$(inherited)";
@@ -347,7 +347,7 @@
347
347
  "$(SRCROOT)/../../../node_modules/react-native-firebase/ios/**",
348
348
  "$(SRCROOT)/../../../packages/app/ios/**",
349
349
  );
350
- IPHONEOS_DEPLOYMENT_TARGET = 10.0;
350
+ IPHONEOS_DEPLOYMENT_TARGET = 15.0;
351
351
  LIBRARY_SEARCH_PATHS = "$(inherited)";
352
352
  MACH_O_TYPE = staticlib;
353
353
  ONLY_ACTIVE_ARCH = YES;
@@ -0,0 +1,25 @@
1
+ /*
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+
8
+
9
+ #import <Foundation/Foundation.h>
10
+
11
+ #if __has_include(<React-RCTAppDelegate/RCTDependencyProvider.h>)
12
+ #import <React-RCTAppDelegate/RCTDependencyProvider.h>
13
+ #elif __has_include(<React_RCTAppDelegate/RCTDependencyProvider.h>)
14
+ #import <React_RCTAppDelegate/RCTDependencyProvider.h>
15
+ #else
16
+ #import "RCTDependencyProvider.h"
17
+ #endif
18
+
19
+ NS_ASSUME_NONNULL_BEGIN
20
+
21
+ @interface RCTAppDependencyProvider : NSObject <RCTDependencyProvider>
22
+
23
+ @end
24
+
25
+ NS_ASSUME_NONNULL_END
@@ -0,0 +1,55 @@
1
+ /*
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+
8
+ #import "RCTAppDependencyProvider.h"
9
+ #import <ReactCodegen/RCTModulesConformingToProtocolsProvider.h>
10
+ #import <ReactCodegen/RCTThirdPartyComponentsProvider.h>
11
+
12
+ @implementation RCTAppDependencyProvider {
13
+ NSArray<NSString *> * _URLRequestHandlerClassNames;
14
+ NSArray<NSString *> * _imageDataDecoderClassNames;
15
+ NSArray<NSString *> * _imageURLLoaderClassNames;
16
+ NSDictionary<NSString *,Class<RCTComponentViewProtocol>> * _thirdPartyFabricComponents;
17
+ }
18
+
19
+ - (nonnull NSArray<NSString *> *)URLRequestHandlerClassNames {
20
+ static dispatch_once_t requestUrlToken;
21
+ dispatch_once(&requestUrlToken, ^{
22
+ self->_URLRequestHandlerClassNames = RCTModulesConformingToProtocolsProvider.URLRequestHandlerClassNames;
23
+ });
24
+
25
+ return _URLRequestHandlerClassNames;
26
+ }
27
+
28
+ - (nonnull NSArray<NSString *> *)imageDataDecoderClassNames {
29
+ static dispatch_once_t dataDecoderToken;
30
+ dispatch_once(&dataDecoderToken, ^{
31
+ _imageDataDecoderClassNames = RCTModulesConformingToProtocolsProvider.imageDataDecoderClassNames;
32
+ });
33
+
34
+ return _imageDataDecoderClassNames;
35
+ }
36
+
37
+ - (nonnull NSArray<NSString *> *)imageURLLoaderClassNames {
38
+ static dispatch_once_t urlLoaderToken;
39
+ dispatch_once(&urlLoaderToken, ^{
40
+ _imageURLLoaderClassNames = RCTModulesConformingToProtocolsProvider.imageURLLoaderClassNames;
41
+ });
42
+
43
+ return _imageURLLoaderClassNames;
44
+ }
45
+
46
+ - (nonnull NSDictionary<NSString *,Class<RCTComponentViewProtocol>> *)thirdPartyFabricComponents {
47
+ static dispatch_once_t nativeComponentsToken;
48
+ dispatch_once(&nativeComponentsToken, ^{
49
+ _thirdPartyFabricComponents = RCTThirdPartyComponentsProvider.thirdPartyFabricComponents;
50
+ });
51
+
52
+ return _thirdPartyFabricComponents;
53
+ }
54
+
55
+ @end
@@ -0,0 +1,18 @@
1
+ /*
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+
8
+ #import <Foundation/Foundation.h>
9
+
10
+ @interface RCTModulesConformingToProtocolsProvider: NSObject
11
+
12
+ +(NSArray<NSString *> *)imageURLLoaderClassNames;
13
+
14
+ +(NSArray<NSString *> *)imageDataDecoderClassNames;
15
+
16
+ +(NSArray<NSString *> *)URLRequestHandlerClassNames;
17
+
18
+ @end
@@ -0,0 +1,33 @@
1
+ /*
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+
8
+ #import "RCTModulesConformingToProtocolsProvider.h"
9
+
10
+ @implementation RCTModulesConformingToProtocolsProvider
11
+
12
+ +(NSArray<NSString *> *)imageURLLoaderClassNames
13
+ {
14
+ return @[
15
+
16
+ ];
17
+ }
18
+
19
+ +(NSArray<NSString *> *)imageDataDecoderClassNames
20
+ {
21
+ return @[
22
+
23
+ ];
24
+ }
25
+
26
+ +(NSArray<NSString *> *)URLRequestHandlerClassNames
27
+ {
28
+ return @[
29
+
30
+ ];
31
+ }
32
+
33
+ @end
@@ -0,0 +1,16 @@
1
+ /*
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+
8
+ #import <Foundation/Foundation.h>
9
+
10
+ @protocol RCTComponentViewProtocol;
11
+
12
+ @interface RCTThirdPartyComponentsProvider: NSObject
13
+
14
+ + (NSDictionary<NSString *, Class<RCTComponentViewProtocol>> *)thirdPartyFabricComponents;
15
+
16
+ @end
@@ -0,0 +1,23 @@
1
+ /*
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+
8
+
9
+ #import <Foundation/Foundation.h>
10
+
11
+ #import "RCTThirdPartyComponentsProvider.h"
12
+ #import <React/RCTComponentViewProtocol.h>
13
+
14
+ @implementation RCTThirdPartyComponentsProvider
15
+
16
+ + (NSDictionary<NSString *, Class<RCTComponentViewProtocol>> *)thirdPartyFabricComponents
17
+ {
18
+ return @{
19
+
20
+ };
21
+ }
22
+
23
+ @end