@react-native-firebase/app-check 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 (68) hide show
  1. package/CHANGELOG.md +38 -0
  2. package/RNFBAppCheck.podspec +20 -7
  3. package/android/build.gradle +19 -0
  4. package/android/src/main/java/io/invertase/firebase/appcheck/{ReactNativeFirebaseAppCheckModule.java → NativeRNFBTurboAppCheck.java} +46 -34
  5. package/android/src/main/java/io/invertase/firebase/appcheck/ReactNativeFirebaseAppCheckPackage.java +1 -1
  6. package/android/src/main/java/io/invertase/firebase/appcheck/ReactNativeFirebaseAppCheckProvider.java +9 -0
  7. package/android/src/main/java/io/invertase/firebase/appcheck/generated/java/com/facebook/fbreact/specs/NativeRNFBTurboAppCheckSpec.java +67 -0
  8. package/android/src/main/java/io/invertase/firebase/appcheck/generated/jni/CMakeLists.txt +36 -0
  9. package/android/src/main/java/io/invertase/firebase/appcheck/generated/jni/RNFBAppCheckTurboModules-generated.cpp +74 -0
  10. package/android/src/main/java/io/invertase/firebase/appcheck/generated/jni/RNFBAppCheckTurboModules.h +31 -0
  11. package/android/src/main/java/io/invertase/firebase/appcheck/generated/jni/react/renderer/components/RNFBAppCheckTurboModules/RNFBAppCheckTurboModulesJSI-generated.cpp +85 -0
  12. package/android/src/main/java/io/invertase/firebase/appcheck/generated/jni/react/renderer/components/RNFBAppCheckTurboModules/RNFBAppCheckTurboModulesJSI.h +174 -0
  13. package/app.plugin.js +1 -1
  14. package/dist/module/index.js +210 -6
  15. package/dist/module/index.js.map +1 -1
  16. package/dist/module/version.js +1 -1
  17. package/dist/typescript/lib/index.d.ts +19 -4
  18. package/dist/typescript/lib/index.d.ts.map +1 -1
  19. package/dist/typescript/lib/types/appcheck.d.ts +5 -0
  20. package/dist/typescript/lib/types/appcheck.d.ts.map +1 -1
  21. package/dist/typescript/lib/types/internal.d.ts +1 -1
  22. package/dist/typescript/lib/types/internal.d.ts.map +1 -1
  23. package/dist/typescript/lib/version.d.ts +1 -1
  24. package/ios/RNFBAppCheck/RNFBAppCheckModule.h +3 -8
  25. package/ios/RNFBAppCheck/{RNFBAppCheckModule.m → RNFBAppCheckModule.mm} +75 -45
  26. package/ios/RNFBAppCheck/RNFBAppCheckProvider.h +8 -1
  27. package/ios/RNFBAppCheck/RNFBAppCheckProvider.m +11 -1
  28. package/ios/RNFBAppCheck.xcodeproj/project.pbxproj +8 -8
  29. package/ios/generated/RCTAppDependencyProvider.h +25 -0
  30. package/ios/generated/RCTAppDependencyProvider.mm +55 -0
  31. package/ios/generated/RCTModulesConformingToProtocolsProvider.h +18 -0
  32. package/ios/generated/RCTModulesConformingToProtocolsProvider.mm +33 -0
  33. package/ios/generated/RCTThirdPartyComponentsProvider.h +16 -0
  34. package/ios/generated/RCTThirdPartyComponentsProvider.mm +23 -0
  35. package/ios/generated/RNFBAppCheckTurboModules/RNFBAppCheckTurboModules-generated.mm +88 -0
  36. package/ios/generated/RNFBAppCheckTurboModules/RNFBAppCheckTurboModules.h +85 -0
  37. package/ios/generated/RNFBAppCheckTurboModulesJSI-generated.cpp +85 -0
  38. package/ios/generated/RNFBAppCheckTurboModulesJSI.h +174 -0
  39. package/ios/generated/ReactAppDependencyProvider.podspec +34 -0
  40. package/lib/index.ts +335 -8
  41. package/lib/types/appcheck.ts +6 -0
  42. package/lib/types/internal.ts +1 -1
  43. package/lib/version.ts +1 -1
  44. package/package.json +30 -5
  45. package/plugin/build/app.plugin.d.ts +2 -0
  46. package/plugin/build/app.plugin.js +6 -0
  47. package/plugin/build/ios/appDelegate.js +18 -4
  48. package/plugin/src/app.plugin.ts +3 -0
  49. package/plugin/src/ios/appDelegate.ts +23 -4
  50. package/plugin/tsconfig.tsbuildinfo +1 -1
  51. package/react-native.config.js +10 -0
  52. package/specs/NativeRNFBTurboAppCheck.ts +27 -0
  53. package/typedoc.json +1 -1
  54. package/dist/module/modular.js +0 -93
  55. package/dist/module/modular.js.map +0 -1
  56. package/dist/module/namespaced.js +0 -194
  57. package/dist/module/namespaced.js.map +0 -1
  58. package/dist/module/types/namespaced.js +0 -60
  59. package/dist/module/types/namespaced.js.map +0 -1
  60. package/dist/typescript/lib/modular.d.ts +0 -56
  61. package/dist/typescript/lib/modular.d.ts.map +0 -1
  62. package/dist/typescript/lib/namespaced.d.ts +0 -12
  63. package/dist/typescript/lib/namespaced.d.ts.map +0 -1
  64. package/dist/typescript/lib/types/namespaced.d.ts +0 -358
  65. package/dist/typescript/lib/types/namespaced.d.ts.map +0 -1
  66. package/lib/modular.ts +0 -157
  67. package/lib/namespaced.ts +0 -286
  68. package/lib/types/namespaced.ts +0 -422
@@ -15,22 +15,42 @@
15
15
  *
16
16
  */
17
17
 
18
+ #if __has_include(<Firebase/Firebase.h>)
18
19
  #import <Firebase/Firebase.h>
19
- #import <FirebaseAppCheck/FIRAppCheck.h>
20
-
20
+ #elif __has_include(<FirebaseAppCheck/FirebaseAppCheck.h>)
21
+ #import <FirebaseAppCheck/FirebaseAppCheck.h>
22
+ #import <FirebaseCore/FirebaseCore.h>
23
+ #else
24
+ @import FirebaseCore;
25
+ @import FirebaseAppCheck;
26
+ #endif
27
+
28
+ #import <React/RCTInvalidating.h>
21
29
  #import <React/RCTUtils.h>
22
30
 
31
+ #import "RNFBApp/RCTConvert+FIRApp.h"
23
32
  #import "RNFBApp/RNFBSharedUtils.h"
24
33
  #import "RNFBAppCheckModule.h"
34
+ #import "RNFBAppCheckProviderFactory.h"
35
+ #import "RNFBAppCheckTurboModules.h"
36
+
37
+ @interface RNFBAppCheckModule () <NativeRNFBTurboAppCheckSpec, RCTInvalidating>
38
+
39
+ @property RNFBAppCheckProviderFactory *_Nullable providerFactory;
40
+
41
+ @end
25
42
 
26
43
  @implementation RNFBAppCheckModule
27
- #pragma mark -
28
- #pragma mark Module Setup
29
44
 
30
- RCT_EXPORT_MODULE();
45
+ RCT_EXPORT_MODULE(NativeRNFBTurboAppCheck)
46
+
47
+ + (BOOL)requiresMainQueueSetup {
48
+ return NO;
49
+ }
31
50
 
32
- - (dispatch_queue_t)methodQueue {
33
- return dispatch_get_main_queue();
51
+ - (std::shared_ptr<facebook::react::TurboModule>)getTurboModule:
52
+ (const facebook::react::ObjCTurboModule::InitParams &)params {
53
+ return std::make_shared<facebook::react::NativeRNFBTurboAppCheckSpecJSI>(params);
34
54
  }
35
55
 
36
56
  + (instancetype)sharedInstance {
@@ -44,15 +64,15 @@ RCT_EXPORT_MODULE();
44
64
  return sharedInstance;
45
65
  }
46
66
 
47
- #pragma mark -
48
- #pragma mark Firebase AppCheck Methods
67
+ - (void)invalidate {
68
+ }
49
69
 
50
- RCT_EXPORT_METHOD(activate
51
- : (FIRApp *)firebaseApp
52
- : (nonnull NSString *)siteKeyOrProvider
53
- : (BOOL)isTokenAutoRefreshEnabled
54
- : (RCTPromiseResolveBlock)resolve rejecter
55
- : (RCTPromiseRejectBlock)reject) {
70
+ - (void)activate:(NSString *)appName
71
+ siteKeyProvider:(NSString *)siteKeyProvider
72
+ isTokenAutoRefreshEnabled:(BOOL)isTokenAutoRefreshEnabled
73
+ resolve:(RCTPromiseResolveBlock)resolve
74
+ reject:(RCTPromiseRejectBlock)reject {
75
+ FIRApp *firebaseApp = [RCTConvert firAppFromString:appName];
56
76
  DLog(@"deprecated API, provider will be deviceCheck / token refresh %d for app %@",
57
77
  isTokenAutoRefreshEnabled, firebaseApp.name);
58
78
  [[RNFBAppCheckModule sharedInstance].providerFactory configure:firebaseApp
@@ -64,52 +84,57 @@ RCT_EXPORT_METHOD(activate
64
84
  resolve([NSNull null]);
65
85
  }
66
86
 
67
- RCT_EXPORT_METHOD(configureProvider
68
- : (FIRApp *)firebaseApp
69
- : (nonnull NSString *)providerName
70
- : (nullable NSString *)debugToken
71
- : (RCTPromiseResolveBlock)resolve rejecter
72
- : (RCTPromiseRejectBlock)reject) {
87
+ - (void)configureProvider:(NSString *)appName
88
+ providerName:(NSString *)providerName
89
+ debugToken:(NSString *)debugToken
90
+ resolve:(RCTPromiseResolveBlock)resolve
91
+ reject:(RCTPromiseRejectBlock)reject {
92
+ FIRApp *firebaseApp = [RCTConvert firAppFromString:appName];
73
93
  DLog(@"appName/providerName/debugToken: %@/%@/%@", firebaseApp.name, providerName,
74
94
  (debugToken == nil ? @"null" : @"(not shown)"));
75
- [[RNFBAppCheckModule sharedInstance].providerFactory configure:firebaseApp
76
- providerName:providerName
77
- debugToken:debugToken];
78
- resolve([NSNull null]);
95
+ @try {
96
+ [[RNFBAppCheckModule sharedInstance].providerFactory configure:firebaseApp
97
+ providerName:providerName
98
+ debugToken:debugToken];
99
+ resolve([NSNull null]);
100
+ } @catch (NSException *exception) {
101
+ [RNFBSharedUtils rejectPromiseWithUserInfo:reject
102
+ userInfo:(NSMutableDictionary *)@{
103
+ @"code" : @"unknown",
104
+ @"message" : exception.reason ?: @"internal-error",
105
+ }];
106
+ }
79
107
  }
80
108
 
81
- RCT_EXPORT_METHOD(setTokenAutoRefreshEnabled
82
- : (FIRApp *)firebaseApp
83
- : (BOOL)isTokenAutoRefreshEnabled) {
109
+ - (void)setTokenAutoRefreshEnabled:(NSString *)appName
110
+ isTokenAutoRefreshEnabled:(BOOL)isTokenAutoRefreshEnabled {
111
+ FIRApp *firebaseApp = [RCTConvert firAppFromString:appName];
84
112
  DLog(@"app/isTokenAutoRefreshEnabled: %@/%d", firebaseApp.name, isTokenAutoRefreshEnabled);
85
113
  FIRAppCheck *appCheck = [FIRAppCheck appCheckWithApp:firebaseApp];
86
114
  appCheck.isTokenAutoRefreshEnabled = isTokenAutoRefreshEnabled;
87
115
  }
88
116
 
89
- // Not present in JS or Android - it is iOS-specific so we only call this in testing - it is not in
90
- // index.d.ts
91
- RCT_EXPORT_METHOD(isTokenAutoRefreshEnabled
92
- : (FIRApp *)firebaseApp
93
- : (RCTPromiseResolveBlock)resolve rejecter
94
- : (RCTPromiseRejectBlock)reject) {
117
+ - (void)isTokenAutoRefreshEnabled:(NSString *)appName
118
+ resolve:(RCTPromiseResolveBlock)resolve
119
+ reject:(RCTPromiseRejectBlock)reject {
120
+ FIRApp *firebaseApp = [RCTConvert firAppFromString:appName];
95
121
  FIRAppCheck *appCheck = [FIRAppCheck appCheckWithApp:firebaseApp];
96
122
  BOOL isTokenAutoRefreshEnabled = appCheck.isTokenAutoRefreshEnabled;
97
123
  DLog(@"app/isTokenAutoRefreshEnabled: %@/%d", firebaseApp.name, isTokenAutoRefreshEnabled);
98
124
  resolve([NSNumber numberWithBool:isTokenAutoRefreshEnabled]);
99
125
  }
100
126
 
101
- RCT_EXPORT_METHOD(getToken
102
- : (FIRApp *)firebaseApp
103
- : (BOOL)forceRefresh
104
- : (RCTPromiseResolveBlock)resolve
105
- : (RCTPromiseRejectBlock)reject) {
127
+ - (void)getToken:(NSString *)appName
128
+ forceRefresh:(BOOL)forceRefresh
129
+ resolve:(RCTPromiseResolveBlock)resolve
130
+ reject:(RCTPromiseRejectBlock)reject {
131
+ FIRApp *firebaseApp = [RCTConvert firAppFromString:appName];
106
132
  FIRAppCheck *appCheck = [FIRAppCheck appCheckWithApp:firebaseApp];
107
133
  DLog(@"appName %@", firebaseApp.name);
108
134
  [appCheck
109
135
  tokenForcingRefresh:forceRefresh
110
136
  completion:^(FIRAppCheckToken *_Nullable token, NSError *_Nullable error) {
111
137
  if (error != nil) {
112
- // Handle any errors if the token was not retrieved.
113
138
  DLog(@"RNFBAppCheck - getToken - Unable to retrieve App Check token: %@", error);
114
139
  [RNFBSharedUtils rejectPromiseWithUserInfo:reject
115
140
  userInfo:(NSMutableDictionary *)@{
@@ -134,16 +159,15 @@ RCT_EXPORT_METHOD(getToken
134
159
  }];
135
160
  }
136
161
 
137
- RCT_EXPORT_METHOD(getLimitedUseToken
138
- : (FIRApp *)firebaseApp
139
- : (RCTPromiseResolveBlock)resolve
140
- : (RCTPromiseRejectBlock)reject) {
162
+ - (void)getLimitedUseToken:(NSString *)appName
163
+ resolve:(RCTPromiseResolveBlock)resolve
164
+ reject:(RCTPromiseRejectBlock)reject {
165
+ FIRApp *firebaseApp = [RCTConvert firAppFromString:appName];
141
166
  FIRAppCheck *appCheck = [FIRAppCheck appCheckWithApp:firebaseApp];
142
167
  DLog(@"appName %@", firebaseApp.name);
143
168
  [appCheck limitedUseTokenWithCompletion:^(FIRAppCheckToken *_Nullable token,
144
169
  NSError *_Nullable error) {
145
170
  if (error != nil) {
146
- // Handle any errors if the token was not retrieved.
147
171
  DLog(@"RNFBAppCheck - getLimitedUseToken - Unable to retrieve App Check token: %@", error);
148
172
  [RNFBSharedUtils rejectPromiseWithUserInfo:reject
149
173
  userInfo:(NSMutableDictionary *)@{
@@ -168,4 +192,10 @@ RCT_EXPORT_METHOD(getLimitedUseToken
168
192
  }];
169
193
  }
170
194
 
195
+ - (void)addAppCheckListener:(NSString *)appName {
196
+ }
197
+
198
+ - (void)removeAppCheckListener:(NSString *)appName {
199
+ }
200
+
171
201
  @end
@@ -15,8 +15,15 @@
15
15
  *
16
16
  */
17
17
 
18
+ #if __has_include(<Firebase/Firebase.h>)
18
19
  #import <Firebase/Firebase.h>
19
- #import <FirebaseAppCheck/FIRAppCheck.h>
20
+ #elif __has_include(<FirebaseAppCheck/FirebaseAppCheck.h>)
21
+ #import <FirebaseAppCheck/FirebaseAppCheck.h>
22
+ #import <FirebaseCore/FirebaseCore.h>
23
+ #else
24
+ @import FirebaseCore;
25
+ @import FirebaseAppCheck;
26
+ #endif
20
27
 
21
28
  @interface RNFBAppCheckProvider : NSObject <FIRAppCheckProvider>
22
29
 
@@ -36,7 +36,8 @@
36
36
 
37
37
  DLog(@"appName %@", app.name);
38
38
 
39
- // - determine if debugToken is provided via nullable arg
39
+ self.delegateProvider = nil;
40
+
40
41
  if ([providerName isEqualToString:@"debug"]) {
41
42
  // The firebase-ios-sdk debug app check provider will take a token from environment if it
42
43
  // exists:
@@ -73,6 +74,15 @@
73
74
  self.delegateProvider = [[FIRDeviceCheckProvider alloc] initWithApp:app];
74
75
  }
75
76
  }
77
+
78
+ if (self.delegateProvider == nil) {
79
+ NSString *message =
80
+ [NSString stringWithFormat:@"Unknown provider name \"%@\". Valid providers are: debug, "
81
+ "deviceCheck, appAttest, appAttestWithDeviceCheckFallback.",
82
+ providerName ?: @"(null)"];
83
+ NSLog(@"RNFBAppCheck: %@", message);
84
+ @throw [NSException exceptionWithName:@"RNFBAppCheckException" reason:message userInfo:nil];
85
+ }
76
86
  }
77
87
 
78
88
  - (void)getTokenWithCompletion:(nonnull void (^)(FIRAppCheckToken *_Nullable,
@@ -7,7 +7,7 @@
7
7
  objects = {
8
8
 
9
9
  /* Begin PBXBuildFile section */
10
- 2744B98621F45429004F8E3F /* RNFBAppCheckModule.m in Sources */ = {isa = PBXBuildFile; fileRef = 2744B98521F45429004F8E3F /* RNFBAppCheckModule.m */; };
10
+ 2744B98621F45429004F8E3F /* RNFBAppCheckModule.mm in Sources */ = {isa = PBXBuildFile; fileRef = 2744B98521F45429004F8E3F /* RNFBAppCheckModule.mm */; };
11
11
  /* End PBXBuildFile section */
12
12
 
13
13
  /* Begin PBXCopyFilesBuildPhase section */
@@ -25,7 +25,7 @@
25
25
  /* Begin PBXFileReference section */
26
26
  2744B98221F45429004F8E3F /* libRNFBAppCheck.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libRNFBAppCheck.a; sourceTree = BUILT_PRODUCTS_DIR; };
27
27
  2744B98421F45429004F8E3F /* RNFBAppCheckModule.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = RNFBAppCheckModule.h; path = RNFBAppCheck/RNFBAppCheckModule.h; sourceTree = SOURCE_ROOT; };
28
- 2744B98521F45429004F8E3F /* RNFBAppCheckModule.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = RNFBAppCheckModule.m; path = RNFBAppCheck/RNFBAppCheckModule.m; sourceTree = SOURCE_ROOT; };
28
+ 2744B98521F45429004F8E3F /* RNFBAppCheckModule.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = RNFBAppCheckModule.mm; path = RNFBAppCheck/RNFBAppCheckModule.mm; sourceTree = SOURCE_ROOT; };
29
29
  /* End PBXFileReference section */
30
30
 
31
31
  /* Begin PBXFrameworksBuildPhase section */
@@ -53,7 +53,7 @@
53
53
  2744B9A121F48736004F8E3F /* converters */,
54
54
  2744B98C21F45C64004F8E3F /* common */,
55
55
  2744B98421F45429004F8E3F /* RNFBAppCheckModule.h */,
56
- 2744B98521F45429004F8E3F /* RNFBAppCheckModule.m */,
56
+ 2744B98521F45429004F8E3F /* RNFBAppCheckModule.mm */,
57
57
  );
58
58
  path = RNFBAppCheck;
59
59
  sourceTree = "<group>";
@@ -124,7 +124,7 @@
124
124
  isa = PBXSourcesBuildPhase;
125
125
  buildActionMask = 2147483647;
126
126
  files = (
127
- 2744B98621F45429004F8E3F /* RNFBAppCheckModule.m in Sources */,
127
+ 2744B98621F45429004F8E3F /* RNFBAppCheckModule.mm in Sources */,
128
128
  );
129
129
  runOnlyForDeploymentPostprocessing = 0;
130
130
  };
@@ -159,7 +159,7 @@
159
159
  );
160
160
  GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
161
161
  GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
162
- IPHONEOS_DEPLOYMENT_TARGET = 10.0;
162
+ IPHONEOS_DEPLOYMENT_TARGET = 15.0;
163
163
  MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
164
164
  MTL_FAST_MATH = YES;
165
165
  OTHER_LDFLAGS = "-ObjC";
@@ -193,7 +193,7 @@
193
193
  GCC_C_LANGUAGE_STANDARD = gnu11;
194
194
  GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
195
195
  GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
196
- IPHONEOS_DEPLOYMENT_TARGET = 10.0;
196
+ IPHONEOS_DEPLOYMENT_TARGET = 15.0;
197
197
  MTL_ENABLE_DEBUG_INFO = NO;
198
198
  MTL_FAST_MATH = YES;
199
199
  OTHER_LDFLAGS = "-ObjC";
@@ -254,7 +254,7 @@
254
254
  "$(SRCROOT)/../../../node_modules/react-native-firebase/ios/**",
255
255
  "$(SRCROOT)/../../../packages/app/ios/**",
256
256
  );
257
- IPHONEOS_DEPLOYMENT_TARGET = 10.0;
257
+ IPHONEOS_DEPLOYMENT_TARGET = 15.0;
258
258
  LIBRARY_SEARCH_PATHS = "$(inherited)";
259
259
  MACH_O_TYPE = staticlib;
260
260
  OTHER_LDFLAGS = "$(inherited)";
@@ -312,7 +312,7 @@
312
312
  "$(SRCROOT)/../../../node_modules/react-native-firebase/ios/**",
313
313
  "$(SRCROOT)/../../../packages/app/ios/**",
314
314
  );
315
- IPHONEOS_DEPLOYMENT_TARGET = 10.0;
315
+ IPHONEOS_DEPLOYMENT_TARGET = 15.0;
316
316
  LIBRARY_SEARCH_PATHS = "$(inherited)";
317
317
  MACH_O_TYPE = staticlib;
318
318
  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
@@ -0,0 +1,88 @@
1
+ /**
2
+ * This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen).
3
+ *
4
+ * Do not edit this file as changes may cause incorrect behavior and will be lost
5
+ * once the code is regenerated.
6
+ *
7
+ * @generated by codegen project: GenerateModuleObjCpp
8
+ *
9
+ * We create an umbrella header (and corresponding implementation) here since
10
+ * Cxx compilation in BUCK has a limitation: source-code producing genrule()s
11
+ * must have a single output. More files => more genrule()s => slower builds.
12
+ */
13
+
14
+ #import "RNFBAppCheckTurboModules.h"
15
+
16
+
17
+ @implementation NativeRNFBTurboAppCheckSpecBase
18
+
19
+
20
+ - (void)setEventEmitterCallback:(EventEmitterCallbackWrapper *)eventEmitterCallbackWrapper
21
+ {
22
+ _eventEmitterCallback = std::move(eventEmitterCallbackWrapper->_eventEmitterCallback);
23
+ }
24
+ @end
25
+
26
+
27
+ namespace facebook::react {
28
+
29
+ static facebook::jsi::Value __hostFunction_NativeRNFBTurboAppCheckSpecJSI_activate(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) {
30
+ return static_cast<ObjCTurboModule&>(turboModule).invokeObjCMethod(rt, PromiseKind, "activate", @selector(activate:siteKeyProvider:isTokenAutoRefreshEnabled:resolve:reject:), args, count);
31
+ }
32
+
33
+ static facebook::jsi::Value __hostFunction_NativeRNFBTurboAppCheckSpecJSI_configureProvider(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) {
34
+ return static_cast<ObjCTurboModule&>(turboModule).invokeObjCMethod(rt, PromiseKind, "configureProvider", @selector(configureProvider:providerName:debugToken:resolve:reject:), args, count);
35
+ }
36
+
37
+ static facebook::jsi::Value __hostFunction_NativeRNFBTurboAppCheckSpecJSI_setTokenAutoRefreshEnabled(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) {
38
+ return static_cast<ObjCTurboModule&>(turboModule).invokeObjCMethod(rt, VoidKind, "setTokenAutoRefreshEnabled", @selector(setTokenAutoRefreshEnabled:isTokenAutoRefreshEnabled:), args, count);
39
+ }
40
+
41
+ static facebook::jsi::Value __hostFunction_NativeRNFBTurboAppCheckSpecJSI_isTokenAutoRefreshEnabled(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) {
42
+ return static_cast<ObjCTurboModule&>(turboModule).invokeObjCMethod(rt, PromiseKind, "isTokenAutoRefreshEnabled", @selector(isTokenAutoRefreshEnabled:resolve:reject:), args, count);
43
+ }
44
+
45
+ static facebook::jsi::Value __hostFunction_NativeRNFBTurboAppCheckSpecJSI_getToken(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) {
46
+ return static_cast<ObjCTurboModule&>(turboModule).invokeObjCMethod(rt, PromiseKind, "getToken", @selector(getToken:forceRefresh:resolve:reject:), args, count);
47
+ }
48
+
49
+ static facebook::jsi::Value __hostFunction_NativeRNFBTurboAppCheckSpecJSI_getLimitedUseToken(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) {
50
+ return static_cast<ObjCTurboModule&>(turboModule).invokeObjCMethod(rt, PromiseKind, "getLimitedUseToken", @selector(getLimitedUseToken:resolve:reject:), args, count);
51
+ }
52
+
53
+ static facebook::jsi::Value __hostFunction_NativeRNFBTurboAppCheckSpecJSI_addAppCheckListener(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) {
54
+ return static_cast<ObjCTurboModule&>(turboModule).invokeObjCMethod(rt, VoidKind, "addAppCheckListener", @selector(addAppCheckListener:), args, count);
55
+ }
56
+
57
+ static facebook::jsi::Value __hostFunction_NativeRNFBTurboAppCheckSpecJSI_removeAppCheckListener(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) {
58
+ return static_cast<ObjCTurboModule&>(turboModule).invokeObjCMethod(rt, VoidKind, "removeAppCheckListener", @selector(removeAppCheckListener:), args, count);
59
+ }
60
+
61
+ NativeRNFBTurboAppCheckSpecJSI::NativeRNFBTurboAppCheckSpecJSI(const ObjCTurboModule::InitParams &params)
62
+ : ObjCTurboModule(params) {
63
+
64
+ methodMap_["activate"] = MethodMetadata {3, __hostFunction_NativeRNFBTurboAppCheckSpecJSI_activate};
65
+
66
+
67
+ methodMap_["configureProvider"] = MethodMetadata {3, __hostFunction_NativeRNFBTurboAppCheckSpecJSI_configureProvider};
68
+
69
+
70
+ methodMap_["setTokenAutoRefreshEnabled"] = MethodMetadata {2, __hostFunction_NativeRNFBTurboAppCheckSpecJSI_setTokenAutoRefreshEnabled};
71
+
72
+
73
+ methodMap_["isTokenAutoRefreshEnabled"] = MethodMetadata {1, __hostFunction_NativeRNFBTurboAppCheckSpecJSI_isTokenAutoRefreshEnabled};
74
+
75
+
76
+ methodMap_["getToken"] = MethodMetadata {2, __hostFunction_NativeRNFBTurboAppCheckSpecJSI_getToken};
77
+
78
+
79
+ methodMap_["getLimitedUseToken"] = MethodMetadata {1, __hostFunction_NativeRNFBTurboAppCheckSpecJSI_getLimitedUseToken};
80
+
81
+
82
+ methodMap_["addAppCheckListener"] = MethodMetadata {1, __hostFunction_NativeRNFBTurboAppCheckSpecJSI_addAppCheckListener};
83
+
84
+
85
+ methodMap_["removeAppCheckListener"] = MethodMetadata {1, __hostFunction_NativeRNFBTurboAppCheckSpecJSI_removeAppCheckListener};
86
+
87
+ }
88
+ } // namespace facebook::react
@@ -0,0 +1,85 @@
1
+ /**
2
+ * This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen).
3
+ *
4
+ * Do not edit this file as changes may cause incorrect behavior and will be lost
5
+ * once the code is regenerated.
6
+ *
7
+ * @generated by codegen project: GenerateModuleObjCpp
8
+ *
9
+ * We create an umbrella header (and corresponding implementation) here since
10
+ * Cxx compilation in BUCK has a limitation: source-code producing genrule()s
11
+ * must have a single output. More files => more genrule()s => slower builds.
12
+ */
13
+
14
+ #ifndef __cplusplus
15
+ #error This file must be compiled as Obj-C++. If you are importing it, you must change your file extension to .mm.
16
+ #endif
17
+
18
+ // Avoid multiple includes of RNFBAppCheckTurboModules symbols
19
+ #ifndef RNFBAppCheckTurboModules_H
20
+ #define RNFBAppCheckTurboModules_H
21
+
22
+ #import <Foundation/Foundation.h>
23
+ #import <RCTRequired/RCTRequired.h>
24
+ #import <RCTTypeSafety/RCTConvertHelpers.h>
25
+ #import <RCTTypeSafety/RCTTypedModuleConstants.h>
26
+ #import <React/RCTBridgeModule.h>
27
+ #import <React/RCTCxxConvert.h>
28
+ #import <React/RCTManagedPointer.h>
29
+ #import <ReactCommon/RCTTurboModule.h>
30
+ #import <optional>
31
+ #import <vector>
32
+
33
+
34
+ NS_ASSUME_NONNULL_BEGIN
35
+
36
+ @protocol NativeRNFBTurboAppCheckSpec <RCTBridgeModule, RCTTurboModule>
37
+
38
+ - (void)activate:(NSString *)appName
39
+ siteKeyProvider:(NSString *)siteKeyProvider
40
+ isTokenAutoRefreshEnabled:(BOOL)isTokenAutoRefreshEnabled
41
+ resolve:(RCTPromiseResolveBlock)resolve
42
+ reject:(RCTPromiseRejectBlock)reject;
43
+ - (void)configureProvider:(NSString *)appName
44
+ providerName:(NSString *)providerName
45
+ debugToken:(NSString * _Nullable)debugToken
46
+ resolve:(RCTPromiseResolveBlock)resolve
47
+ reject:(RCTPromiseRejectBlock)reject;
48
+ - (void)setTokenAutoRefreshEnabled:(NSString *)appName
49
+ isTokenAutoRefreshEnabled:(BOOL)isTokenAutoRefreshEnabled;
50
+ - (void)isTokenAutoRefreshEnabled:(NSString *)appName
51
+ resolve:(RCTPromiseResolveBlock)resolve
52
+ reject:(RCTPromiseRejectBlock)reject;
53
+ - (void)getToken:(NSString *)appName
54
+ forceRefresh:(BOOL)forceRefresh
55
+ resolve:(RCTPromiseResolveBlock)resolve
56
+ reject:(RCTPromiseRejectBlock)reject;
57
+ - (void)getLimitedUseToken:(NSString *)appName
58
+ resolve:(RCTPromiseResolveBlock)resolve
59
+ reject:(RCTPromiseRejectBlock)reject;
60
+ - (void)addAppCheckListener:(NSString *)appName;
61
+ - (void)removeAppCheckListener:(NSString *)appName;
62
+
63
+ @end
64
+
65
+ @interface NativeRNFBTurboAppCheckSpecBase : NSObject {
66
+ @protected
67
+ facebook::react::EventEmitterCallback _eventEmitterCallback;
68
+ }
69
+ - (void)setEventEmitterCallback:(EventEmitterCallbackWrapper *)eventEmitterCallbackWrapper;
70
+
71
+
72
+ @end
73
+
74
+ namespace facebook::react {
75
+ /**
76
+ * ObjC++ class for module 'NativeRNFBTurboAppCheck'
77
+ */
78
+ class JSI_EXPORT NativeRNFBTurboAppCheckSpecJSI : public ObjCTurboModule {
79
+ public:
80
+ NativeRNFBTurboAppCheckSpecJSI(const ObjCTurboModule::InitParams &params);
81
+ };
82
+ } // namespace facebook::react
83
+
84
+ NS_ASSUME_NONNULL_END
85
+ #endif // RNFBAppCheckTurboModules_H