@react-native-firebase/app 25.1.0 → 26.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +54 -0
- package/README.md +21 -0
- package/RNFBApp.podspec +20 -15
- package/android/build.gradle +25 -6
- package/android/src/reactnative/java/io/invertase/firebase/app/{ReactNativeFirebaseAppModule.java → NativeRNFBTurboApp.java} +81 -45
- package/android/src/reactnative/java/io/invertase/firebase/app/ReactNativeFirebaseAppPackage.java +3 -3
- package/android/src/reactnative/java/io/invertase/firebase/app/ReactNativeFirebaseVersion.java +2 -2
- package/android/src/reactnative/java/io/invertase/firebase/app/generated/java/com/facebook/fbreact/specs/NativeRNFBTurboAppSpec.java +136 -0
- package/android/src/reactnative/java/io/invertase/firebase/app/generated/java/com/facebook/fbreact/specs/NativeRNFBTurboUtilsSpec.java +94 -0
- package/android/src/reactnative/java/io/invertase/firebase/app/generated/jni/CMakeLists.txt +36 -0
- package/android/src/reactnative/java/io/invertase/firebase/app/generated/jni/RNFBAppTurboModules-generated.cpp +170 -0
- package/android/src/reactnative/java/io/invertase/firebase/app/generated/jni/RNFBAppTurboModules.h +39 -0
- package/android/src/reactnative/java/io/invertase/firebase/app/generated/jni/react/renderer/components/RNFBAppTurboModules/RNFBAppTurboModulesJSI-generated.cpp +187 -0
- package/android/src/reactnative/java/io/invertase/firebase/app/generated/jni/react/renderer/components/RNFBAppTurboModules/RNFBAppTurboModulesJSI.h +606 -0
- package/android/src/reactnative/java/io/invertase/firebase/common/RCTConvertFirebase.java +3 -3
- package/android/src/reactnative/java/io/invertase/firebase/common/ReactNativeFirebaseEventEmitter.java +475 -20
- package/android/src/reactnative/java/io/invertase/firebase/common/ReactNativeFirebaseMeta.java +8 -0
- package/android/src/reactnative/java/io/invertase/firebase/common/ReactNativeFirebasePreferences.java +8 -0
- package/android/src/reactnative/java/io/invertase/firebase/utils/{ReactNativeFirebaseUtilsModule.java → NativeRNFBTurboUtils.java} +57 -40
- package/android/src/test/java/io/invertase/firebase/app/NativeRNFBTurboAppTest.java +400 -0
- package/android/src/test/java/io/invertase/firebase/common/ReactNativeFirebaseEventEmitterTest.java +1823 -0
- package/app.plugin.js +1 -1
- package/dist/module/FirebaseApp.js +0 -9
- package/dist/module/FirebaseApp.js.map +1 -1
- package/dist/module/common/index.js +0 -645
- package/dist/module/common/index.js.map +1 -1
- package/dist/module/common/unitTestUtils.js +18 -54
- package/dist/module/common/unitTestUtils.js.map +1 -1
- package/dist/module/index.js +0 -1
- package/dist/module/index.js.map +1 -1
- package/dist/module/internal/RNFBNativeEventEmitter.js +12 -6
- package/dist/module/internal/RNFBNativeEventEmitter.js.map +1 -1
- package/dist/module/internal/constants.js +2 -2
- package/dist/module/internal/constants.js.map +1 -1
- package/dist/module/internal/index.js +1 -1
- package/dist/module/internal/index.js.map +1 -1
- package/dist/module/internal/nativeModuleAndroidIos.js +50 -10
- package/dist/module/internal/nativeModuleAndroidIos.js.map +1 -1
- package/dist/module/internal/nativeModuleWeb.js +12 -4
- package/dist/module/internal/nativeModuleWeb.js.map +1 -1
- package/dist/module/internal/registry/app.js +20 -12
- package/dist/module/internal/registry/app.js.map +1 -1
- package/dist/module/internal/registry/modular.js +73 -0
- package/dist/module/internal/registry/modular.js.map +1 -0
- package/dist/module/internal/registry/nativeModule.js +116 -95
- package/dist/module/internal/registry/nativeModule.js.map +1 -1
- package/dist/module/internal/web/RNFBAppModule.js +16 -3
- package/dist/module/internal/web/RNFBAppModule.js.map +1 -1
- package/dist/module/internal/web/utils.js +6 -1
- package/dist/module/internal/web/utils.js.map +1 -1
- package/dist/module/modular.js +44 -37
- package/dist/module/modular.js.map +1 -1
- package/dist/module/types/app.js +0 -3
- package/dist/module/types/app.js.map +1 -1
- package/dist/module/types/internal.js +0 -2
- package/dist/module/utils/UtilsStatics.js +2 -2
- package/dist/module/utils/UtilsStatics.js.map +1 -1
- package/dist/module/utils/index.js +21 -17
- package/dist/module/utils/index.js.map +1 -1
- package/dist/module/version.js +1 -1
- package/dist/typescript/lib/FirebaseApp.d.ts +1 -2
- package/dist/typescript/lib/FirebaseApp.d.ts.map +1 -1
- package/dist/typescript/lib/common/index.d.ts +0 -8
- package/dist/typescript/lib/common/index.d.ts.map +1 -1
- package/dist/typescript/lib/common/unitTestUtils.d.ts +1 -4
- package/dist/typescript/lib/common/unitTestUtils.d.ts.map +1 -1
- package/dist/typescript/lib/index.d.ts +0 -1
- package/dist/typescript/lib/index.d.ts.map +1 -1
- package/dist/typescript/lib/internal/NativeFirebaseError.d.ts +1 -1
- package/dist/typescript/lib/internal/NativeFirebaseError.d.ts.map +1 -1
- package/dist/typescript/lib/internal/RNFBNativeEventEmitter.d.ts.map +1 -1
- package/dist/typescript/lib/internal/constants.d.ts +2 -3
- package/dist/typescript/lib/internal/constants.d.ts.map +1 -1
- package/dist/typescript/lib/internal/index.d.ts +1 -1
- package/dist/typescript/lib/internal/index.d.ts.map +1 -1
- package/dist/typescript/lib/internal/nativeModuleAndroidIos.d.ts +2 -6
- package/dist/typescript/lib/internal/nativeModuleAndroidIos.d.ts.map +1 -1
- package/dist/typescript/lib/internal/nativeModuleWeb.d.ts.map +1 -1
- package/dist/typescript/lib/internal/registry/app.d.ts +2 -2
- package/dist/typescript/lib/internal/registry/app.d.ts.map +1 -1
- package/dist/typescript/lib/internal/registry/modular.d.ts +22 -0
- package/dist/typescript/lib/internal/registry/modular.d.ts.map +1 -0
- package/dist/typescript/lib/internal/registry/nativeModule.d.ts +3 -11
- package/dist/typescript/lib/internal/registry/nativeModule.d.ts.map +1 -1
- package/dist/typescript/lib/internal/web/RNFBAppModule.d.ts.map +1 -1
- package/dist/typescript/lib/internal/web/utils.d.ts.map +1 -1
- package/dist/typescript/lib/modular.d.ts +21 -7
- package/dist/typescript/lib/modular.d.ts.map +1 -1
- package/dist/typescript/lib/types/app.d.ts +4 -4
- package/dist/typescript/lib/types/app.d.ts.map +1 -1
- package/dist/typescript/lib/types/internal.d.ts +1 -33
- package/dist/typescript/lib/types/internal.d.ts.map +1 -1
- package/dist/typescript/lib/utils/index.d.ts +7 -3
- package/dist/typescript/lib/utils/index.d.ts.map +1 -1
- package/dist/typescript/lib/version.d.ts +1 -1
- package/firebase-schema.json +5 -1
- package/firebase_spm.rb +1016 -0
- package/ios/RNFBApp/RCTConvert+FIRApp.h +4 -0
- package/ios/RNFBApp/RCTConvert+FIROptions.h +4 -0
- package/ios/RNFBApp/RNFBAppModule.h +1 -3
- package/ios/RNFBApp/{RNFBAppModule.m → RNFBAppModule.mm} +80 -77
- package/ios/RNFBApp/RNFBSharedUtils.h +4 -0
- package/ios/RNFBApp/RNFBUtilsModule.h +1 -3
- package/ios/RNFBApp/{RNFBUtilsModule.m → RNFBUtilsModule.mm} +68 -25
- package/ios/RNFBApp/RNFBVersion.m +1 -1
- package/ios/RNFBApp.xcodeproj/project.pbxproj +12 -12
- package/ios/generated/RCTAppDependencyProvider.h +25 -0
- package/ios/generated/RCTAppDependencyProvider.mm +55 -0
- package/ios/generated/RCTModuleProviders.h +16 -0
- package/ios/generated/RCTModuleProviders.mm +52 -0
- package/ios/generated/RCTModulesConformingToProtocolsProvider.h +18 -0
- package/ios/generated/RCTModulesConformingToProtocolsProvider.mm +33 -0
- package/ios/generated/RCTThirdPartyComponentsProvider.h +16 -0
- package/ios/generated/RCTThirdPartyComponentsProvider.mm +23 -0
- package/ios/generated/RCTUnstableModulesRequiringMainQueueSetupProvider.h +14 -0
- package/ios/generated/RCTUnstableModulesRequiringMainQueueSetupProvider.mm +19 -0
- package/ios/generated/RNFBAppTurboModules/RNFBAppTurboModules-generated.mm +210 -0
- package/ios/generated/RNFBAppTurboModules/RNFBAppTurboModules.h +399 -0
- package/ios/generated/RNFBAppTurboModulesJSI-generated.cpp +187 -0
- package/ios/generated/RNFBAppTurboModulesJSI.h +606 -0
- package/ios/generated/ReactAppDependencyProvider.podspec +34 -0
- package/ios/generated/ReactCodegen.podspec +111 -0
- package/lib/FirebaseApp.ts +1 -10
- package/lib/common/index.ts +0 -742
- package/lib/common/unitTestUtils.ts +17 -73
- package/lib/index.ts +0 -1
- package/lib/internal/NativeFirebaseError.ts +1 -1
- package/lib/internal/RNFBNativeEventEmitter.ts +12 -6
- package/lib/internal/constants.ts +3 -25
- package/lib/internal/global.d.ts +0 -4
- package/lib/internal/index.ts +1 -1
- package/lib/internal/nativeModuleAndroidIos.ts +69 -12
- package/lib/internal/nativeModuleWeb.ts +11 -5
- package/lib/internal/registry/app.ts +24 -22
- package/lib/internal/registry/modular.ts +97 -0
- package/lib/internal/registry/nativeModule.ts +136 -107
- package/lib/internal/web/RNFBAppModule.ts +16 -3
- package/lib/internal/web/utils.ts +6 -1
- package/lib/modular.ts +47 -72
- package/lib/types/app.ts +6 -11
- package/lib/types/internal.ts +1 -46
- package/lib/utils/UtilsStatics.ts +2 -2
- package/lib/utils/index.ts +24 -18
- package/lib/version.ts +1 -1
- package/package.json +45 -6
- package/plugin/build/app.plugin.d.ts +2 -0
- package/plugin/build/app.plugin.js +6 -0
- package/plugin/src/app.plugin.ts +3 -0
- package/plugin/tsconfig.tsbuildinfo +1 -1
- package/react-native.config.js +2 -0
- package/specs/NativeRNFBTurboApp.ts +57 -0
- package/specs/NativeRNFBTurboUtils.ts +34 -0
- package/typedoc.json +1 -2
- package/dist/module/internal/registry/namespace.js +0 -262
- package/dist/module/internal/registry/namespace.js.map +0 -1
- package/dist/module/namespaced.js +0 -25
- package/dist/module/namespaced.js.map +0 -1
- package/dist/typescript/lib/internal/registry/namespace.d.ts +0 -26
- package/dist/typescript/lib/internal/registry/namespace.d.ts.map +0 -1
- package/dist/typescript/lib/namespaced.d.ts +0 -5
- package/dist/typescript/lib/namespaced.d.ts.map +0 -1
- package/lib/internal/registry/namespace.ts +0 -338
- package/lib/namespaced.ts +0 -24
|
@@ -0,0 +1,606 @@
|
|
|
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: GenerateModuleH.js
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
#pragma once
|
|
11
|
+
|
|
12
|
+
#include <ReactCommon/TurboModule.h>
|
|
13
|
+
#include <react/bridging/Bridging.h>
|
|
14
|
+
|
|
15
|
+
namespace facebook::react {
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
#pragma mark - NativeRNFBTurboAppFirebaseAppConfig
|
|
20
|
+
|
|
21
|
+
template <typename P0, typename P1, typename P2>
|
|
22
|
+
struct NativeRNFBTurboAppFirebaseAppConfig {
|
|
23
|
+
P0 name;
|
|
24
|
+
P1 automaticResourceManagement;
|
|
25
|
+
P2 automaticDataCollectionEnabled;
|
|
26
|
+
bool operator==(const NativeRNFBTurboAppFirebaseAppConfig &other) const {
|
|
27
|
+
return name == other.name && automaticResourceManagement == other.automaticResourceManagement && automaticDataCollectionEnabled == other.automaticDataCollectionEnabled;
|
|
28
|
+
}
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
template <typename T>
|
|
32
|
+
struct NativeRNFBTurboAppFirebaseAppConfigBridging {
|
|
33
|
+
static T types;
|
|
34
|
+
|
|
35
|
+
static T fromJs(
|
|
36
|
+
jsi::Runtime &rt,
|
|
37
|
+
const jsi::Object &value,
|
|
38
|
+
const std::shared_ptr<CallInvoker> &jsInvoker) {
|
|
39
|
+
T result{
|
|
40
|
+
bridging::fromJs<decltype(types.name)>(rt, value.getProperty(rt, "name"), jsInvoker),
|
|
41
|
+
bridging::fromJs<decltype(types.automaticResourceManagement)>(rt, value.getProperty(rt, "automaticResourceManagement"), jsInvoker),
|
|
42
|
+
bridging::fromJs<decltype(types.automaticDataCollectionEnabled)>(rt, value.getProperty(rt, "automaticDataCollectionEnabled"), jsInvoker)};
|
|
43
|
+
return result;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
#ifdef DEBUG
|
|
47
|
+
static jsi::String nameToJs(jsi::Runtime &rt, decltype(types.name) value) {
|
|
48
|
+
return bridging::toJs(rt, value);
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
static bool automaticResourceManagementToJs(jsi::Runtime &rt, decltype(types.automaticResourceManagement) value) {
|
|
52
|
+
return bridging::toJs(rt, value);
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
static bool automaticDataCollectionEnabledToJs(jsi::Runtime &rt, decltype(types.automaticDataCollectionEnabled) value) {
|
|
56
|
+
return bridging::toJs(rt, value);
|
|
57
|
+
}
|
|
58
|
+
#endif
|
|
59
|
+
|
|
60
|
+
static jsi::Object toJs(
|
|
61
|
+
jsi::Runtime &rt,
|
|
62
|
+
const T &value,
|
|
63
|
+
const std::shared_ptr<CallInvoker> &jsInvoker) {
|
|
64
|
+
auto result = facebook::jsi::Object(rt);
|
|
65
|
+
result.setProperty(rt, "name", bridging::toJs(rt, value.name, jsInvoker));
|
|
66
|
+
if (value.automaticResourceManagement) {
|
|
67
|
+
result.setProperty(rt, "automaticResourceManagement", bridging::toJs(rt, value.automaticResourceManagement.value(), jsInvoker));
|
|
68
|
+
}
|
|
69
|
+
if (value.automaticDataCollectionEnabled) {
|
|
70
|
+
result.setProperty(rt, "automaticDataCollectionEnabled", bridging::toJs(rt, value.automaticDataCollectionEnabled.value(), jsInvoker));
|
|
71
|
+
}
|
|
72
|
+
return result;
|
|
73
|
+
}
|
|
74
|
+
};
|
|
75
|
+
|
|
76
|
+
|
|
77
|
+
|
|
78
|
+
#pragma mark - NativeRNFBTurboAppFirebaseAppOptions
|
|
79
|
+
|
|
80
|
+
template <typename P0, typename P1, typename P2, typename P3, typename P4, typename P5, typename P6, typename P7, typename P8, typename P9>
|
|
81
|
+
struct NativeRNFBTurboAppFirebaseAppOptions {
|
|
82
|
+
P0 apiKey;
|
|
83
|
+
P1 appId;
|
|
84
|
+
P2 databaseURL;
|
|
85
|
+
P3 messagingSenderId;
|
|
86
|
+
P4 projectId;
|
|
87
|
+
P5 storageBucket;
|
|
88
|
+
P6 authDomain;
|
|
89
|
+
P7 iosBundleId;
|
|
90
|
+
P8 iosClientId;
|
|
91
|
+
P9 appGroupId;
|
|
92
|
+
bool operator==(const NativeRNFBTurboAppFirebaseAppOptions &other) const {
|
|
93
|
+
return apiKey == other.apiKey && appId == other.appId && databaseURL == other.databaseURL && messagingSenderId == other.messagingSenderId && projectId == other.projectId && storageBucket == other.storageBucket && authDomain == other.authDomain && iosBundleId == other.iosBundleId && iosClientId == other.iosClientId && appGroupId == other.appGroupId;
|
|
94
|
+
}
|
|
95
|
+
};
|
|
96
|
+
|
|
97
|
+
template <typename T>
|
|
98
|
+
struct NativeRNFBTurboAppFirebaseAppOptionsBridging {
|
|
99
|
+
static T types;
|
|
100
|
+
|
|
101
|
+
static T fromJs(
|
|
102
|
+
jsi::Runtime &rt,
|
|
103
|
+
const jsi::Object &value,
|
|
104
|
+
const std::shared_ptr<CallInvoker> &jsInvoker) {
|
|
105
|
+
T result{
|
|
106
|
+
bridging::fromJs<decltype(types.apiKey)>(rt, value.getProperty(rt, "apiKey"), jsInvoker),
|
|
107
|
+
bridging::fromJs<decltype(types.appId)>(rt, value.getProperty(rt, "appId"), jsInvoker),
|
|
108
|
+
bridging::fromJs<decltype(types.databaseURL)>(rt, value.getProperty(rt, "databaseURL"), jsInvoker),
|
|
109
|
+
bridging::fromJs<decltype(types.messagingSenderId)>(rt, value.getProperty(rt, "messagingSenderId"), jsInvoker),
|
|
110
|
+
bridging::fromJs<decltype(types.projectId)>(rt, value.getProperty(rt, "projectId"), jsInvoker),
|
|
111
|
+
bridging::fromJs<decltype(types.storageBucket)>(rt, value.getProperty(rt, "storageBucket"), jsInvoker),
|
|
112
|
+
bridging::fromJs<decltype(types.authDomain)>(rt, value.getProperty(rt, "authDomain"), jsInvoker),
|
|
113
|
+
bridging::fromJs<decltype(types.iosBundleId)>(rt, value.getProperty(rt, "iosBundleId"), jsInvoker),
|
|
114
|
+
bridging::fromJs<decltype(types.iosClientId)>(rt, value.getProperty(rt, "iosClientId"), jsInvoker),
|
|
115
|
+
bridging::fromJs<decltype(types.appGroupId)>(rt, value.getProperty(rt, "appGroupId"), jsInvoker)};
|
|
116
|
+
return result;
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
#ifdef DEBUG
|
|
120
|
+
static jsi::String apiKeyToJs(jsi::Runtime &rt, decltype(types.apiKey) value) {
|
|
121
|
+
return bridging::toJs(rt, value);
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
static jsi::String appIdToJs(jsi::Runtime &rt, decltype(types.appId) value) {
|
|
125
|
+
return bridging::toJs(rt, value);
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
static std::optional<jsi::String> databaseURLToJs(jsi::Runtime &rt, decltype(types.databaseURL) value) {
|
|
129
|
+
return bridging::toJs(rt, value);
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
static jsi::String messagingSenderIdToJs(jsi::Runtime &rt, decltype(types.messagingSenderId) value) {
|
|
133
|
+
return bridging::toJs(rt, value);
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
static jsi::String projectIdToJs(jsi::Runtime &rt, decltype(types.projectId) value) {
|
|
137
|
+
return bridging::toJs(rt, value);
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
static std::optional<jsi::String> storageBucketToJs(jsi::Runtime &rt, decltype(types.storageBucket) value) {
|
|
141
|
+
return bridging::toJs(rt, value);
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
static std::optional<jsi::String> authDomainToJs(jsi::Runtime &rt, decltype(types.authDomain) value) {
|
|
145
|
+
return bridging::toJs(rt, value);
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
static std::optional<jsi::String> iosBundleIdToJs(jsi::Runtime &rt, decltype(types.iosBundleId) value) {
|
|
149
|
+
return bridging::toJs(rt, value);
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
static std::optional<jsi::String> iosClientIdToJs(jsi::Runtime &rt, decltype(types.iosClientId) value) {
|
|
153
|
+
return bridging::toJs(rt, value);
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
static std::optional<jsi::String> appGroupIdToJs(jsi::Runtime &rt, decltype(types.appGroupId) value) {
|
|
157
|
+
return bridging::toJs(rt, value);
|
|
158
|
+
}
|
|
159
|
+
#endif
|
|
160
|
+
|
|
161
|
+
static jsi::Object toJs(
|
|
162
|
+
jsi::Runtime &rt,
|
|
163
|
+
const T &value,
|
|
164
|
+
const std::shared_ptr<CallInvoker> &jsInvoker) {
|
|
165
|
+
auto result = facebook::jsi::Object(rt);
|
|
166
|
+
result.setProperty(rt, "apiKey", bridging::toJs(rt, value.apiKey, jsInvoker));
|
|
167
|
+
result.setProperty(rt, "appId", bridging::toJs(rt, value.appId, jsInvoker));
|
|
168
|
+
if (value.databaseURL) {
|
|
169
|
+
result.setProperty(rt, "databaseURL", bridging::toJs(rt, value.databaseURL.value(), jsInvoker));
|
|
170
|
+
}
|
|
171
|
+
result.setProperty(rt, "messagingSenderId", bridging::toJs(rt, value.messagingSenderId, jsInvoker));
|
|
172
|
+
result.setProperty(rt, "projectId", bridging::toJs(rt, value.projectId, jsInvoker));
|
|
173
|
+
if (value.storageBucket) {
|
|
174
|
+
result.setProperty(rt, "storageBucket", bridging::toJs(rt, value.storageBucket.value(), jsInvoker));
|
|
175
|
+
}
|
|
176
|
+
if (value.authDomain) {
|
|
177
|
+
result.setProperty(rt, "authDomain", bridging::toJs(rt, value.authDomain.value(), jsInvoker));
|
|
178
|
+
}
|
|
179
|
+
if (value.iosBundleId) {
|
|
180
|
+
result.setProperty(rt, "iosBundleId", bridging::toJs(rt, value.iosBundleId.value(), jsInvoker));
|
|
181
|
+
}
|
|
182
|
+
if (value.iosClientId) {
|
|
183
|
+
result.setProperty(rt, "iosClientId", bridging::toJs(rt, value.iosClientId.value(), jsInvoker));
|
|
184
|
+
}
|
|
185
|
+
if (value.appGroupId) {
|
|
186
|
+
result.setProperty(rt, "appGroupId", bridging::toJs(rt, value.appGroupId.value(), jsInvoker));
|
|
187
|
+
}
|
|
188
|
+
return result;
|
|
189
|
+
}
|
|
190
|
+
};
|
|
191
|
+
|
|
192
|
+
|
|
193
|
+
|
|
194
|
+
#pragma mark - NativeRNFBTurboAppNativeFirebaseApp
|
|
195
|
+
|
|
196
|
+
template <typename P0, typename P1>
|
|
197
|
+
struct NativeRNFBTurboAppNativeFirebaseApp {
|
|
198
|
+
P0 appConfig;
|
|
199
|
+
P1 options;
|
|
200
|
+
bool operator==(const NativeRNFBTurboAppNativeFirebaseApp &other) const {
|
|
201
|
+
return appConfig == other.appConfig && options == other.options;
|
|
202
|
+
}
|
|
203
|
+
};
|
|
204
|
+
|
|
205
|
+
template <typename T>
|
|
206
|
+
struct NativeRNFBTurboAppNativeFirebaseAppBridging {
|
|
207
|
+
static T types;
|
|
208
|
+
|
|
209
|
+
static T fromJs(
|
|
210
|
+
jsi::Runtime &rt,
|
|
211
|
+
const jsi::Object &value,
|
|
212
|
+
const std::shared_ptr<CallInvoker> &jsInvoker) {
|
|
213
|
+
T result{
|
|
214
|
+
bridging::fromJs<decltype(types.appConfig)>(rt, value.getProperty(rt, "appConfig"), jsInvoker),
|
|
215
|
+
bridging::fromJs<decltype(types.options)>(rt, value.getProperty(rt, "options"), jsInvoker)};
|
|
216
|
+
return result;
|
|
217
|
+
}
|
|
218
|
+
|
|
219
|
+
#ifdef DEBUG
|
|
220
|
+
static jsi::Object appConfigToJs(jsi::Runtime &rt, decltype(types.appConfig) value) {
|
|
221
|
+
return bridging::toJs(rt, value);
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
static jsi::Object optionsToJs(jsi::Runtime &rt, decltype(types.options) value) {
|
|
225
|
+
return bridging::toJs(rt, value);
|
|
226
|
+
}
|
|
227
|
+
#endif
|
|
228
|
+
|
|
229
|
+
static jsi::Object toJs(
|
|
230
|
+
jsi::Runtime &rt,
|
|
231
|
+
const T &value,
|
|
232
|
+
const std::shared_ptr<CallInvoker> &jsInvoker) {
|
|
233
|
+
auto result = facebook::jsi::Object(rt);
|
|
234
|
+
result.setProperty(rt, "appConfig", bridging::toJs(rt, value.appConfig, jsInvoker));
|
|
235
|
+
result.setProperty(rt, "options", bridging::toJs(rt, value.options, jsInvoker));
|
|
236
|
+
return result;
|
|
237
|
+
}
|
|
238
|
+
};
|
|
239
|
+
|
|
240
|
+
class JSI_EXPORT NativeRNFBTurboAppCxxSpecJSI : public TurboModule {
|
|
241
|
+
protected:
|
|
242
|
+
NativeRNFBTurboAppCxxSpecJSI(std::shared_ptr<CallInvoker> jsInvoker);
|
|
243
|
+
|
|
244
|
+
public:
|
|
245
|
+
virtual jsi::Object getConstants(jsi::Runtime &rt) = 0;
|
|
246
|
+
virtual jsi::Value initializeApp(jsi::Runtime &rt, jsi::Object options, jsi::Object appConfig) = 0;
|
|
247
|
+
virtual void setAutomaticDataCollectionEnabled(jsi::Runtime &rt, jsi::String appName, bool enabled) = 0;
|
|
248
|
+
virtual jsi::Value deleteApp(jsi::Runtime &rt, jsi::String appName) = 0;
|
|
249
|
+
virtual void eventsNotifyReady(jsi::Runtime &rt, bool ready) = 0;
|
|
250
|
+
virtual jsi::Value eventsGetListeners(jsi::Runtime &rt) = 0;
|
|
251
|
+
virtual jsi::Value eventsPing(jsi::Runtime &rt, jsi::String eventName, jsi::Object eventBody) = 0;
|
|
252
|
+
virtual void eventsAddListener(jsi::Runtime &rt, jsi::String eventName) = 0;
|
|
253
|
+
virtual void eventsRemoveListener(jsi::Runtime &rt, jsi::String eventName, bool all) = 0;
|
|
254
|
+
virtual void addListener(jsi::Runtime &rt, jsi::String eventName) = 0;
|
|
255
|
+
virtual void removeListeners(jsi::Runtime &rt, double count) = 0;
|
|
256
|
+
virtual jsi::Value metaGetAll(jsi::Runtime &rt) = 0;
|
|
257
|
+
virtual jsi::Value jsonGetAll(jsi::Runtime &rt) = 0;
|
|
258
|
+
virtual jsi::Value preferencesSetBool(jsi::Runtime &rt, jsi::String key, bool value) = 0;
|
|
259
|
+
virtual jsi::Value preferencesSetString(jsi::Runtime &rt, jsi::String key, jsi::String value) = 0;
|
|
260
|
+
virtual jsi::Value preferencesGetAll(jsi::Runtime &rt) = 0;
|
|
261
|
+
virtual jsi::Value preferencesClearAll(jsi::Runtime &rt) = 0;
|
|
262
|
+
virtual void setLogLevel(jsi::Runtime &rt, jsi::String logLevel) = 0;
|
|
263
|
+
|
|
264
|
+
};
|
|
265
|
+
|
|
266
|
+
template <typename T>
|
|
267
|
+
class JSI_EXPORT NativeRNFBTurboAppCxxSpec : public TurboModule {
|
|
268
|
+
public:
|
|
269
|
+
jsi::Value create(jsi::Runtime &rt, const jsi::PropNameID &propName) override {
|
|
270
|
+
return delegate_.create(rt, propName);
|
|
271
|
+
}
|
|
272
|
+
|
|
273
|
+
std::vector<jsi::PropNameID> getPropertyNames(jsi::Runtime& runtime) override {
|
|
274
|
+
return delegate_.getPropertyNames(runtime);
|
|
275
|
+
}
|
|
276
|
+
|
|
277
|
+
static constexpr std::string_view kModuleName = "NativeRNFBTurboApp";
|
|
278
|
+
|
|
279
|
+
protected:
|
|
280
|
+
NativeRNFBTurboAppCxxSpec(std::shared_ptr<CallInvoker> jsInvoker)
|
|
281
|
+
: TurboModule(std::string{NativeRNFBTurboAppCxxSpec::kModuleName}, jsInvoker),
|
|
282
|
+
delegate_(reinterpret_cast<T*>(this), jsInvoker) {}
|
|
283
|
+
|
|
284
|
+
|
|
285
|
+
private:
|
|
286
|
+
class Delegate : public NativeRNFBTurboAppCxxSpecJSI {
|
|
287
|
+
public:
|
|
288
|
+
Delegate(T *instance, std::shared_ptr<CallInvoker> jsInvoker) :
|
|
289
|
+
NativeRNFBTurboAppCxxSpecJSI(std::move(jsInvoker)), instance_(instance) {
|
|
290
|
+
|
|
291
|
+
}
|
|
292
|
+
|
|
293
|
+
jsi::Object getConstants(jsi::Runtime &rt) override {
|
|
294
|
+
static_assert(
|
|
295
|
+
bridging::getParameterCount(&T::getConstants) == 1,
|
|
296
|
+
"Expected getConstants(...) to have 1 parameters");
|
|
297
|
+
|
|
298
|
+
return bridging::callFromJs<jsi::Object>(
|
|
299
|
+
rt, &T::getConstants, jsInvoker_, instance_);
|
|
300
|
+
}
|
|
301
|
+
jsi::Value initializeApp(jsi::Runtime &rt, jsi::Object options, jsi::Object appConfig) override {
|
|
302
|
+
static_assert(
|
|
303
|
+
bridging::getParameterCount(&T::initializeApp) == 3,
|
|
304
|
+
"Expected initializeApp(...) to have 3 parameters");
|
|
305
|
+
|
|
306
|
+
return bridging::callFromJs<jsi::Value>(
|
|
307
|
+
rt, &T::initializeApp, jsInvoker_, instance_, std::move(options), std::move(appConfig));
|
|
308
|
+
}
|
|
309
|
+
void setAutomaticDataCollectionEnabled(jsi::Runtime &rt, jsi::String appName, bool enabled) override {
|
|
310
|
+
static_assert(
|
|
311
|
+
bridging::getParameterCount(&T::setAutomaticDataCollectionEnabled) == 3,
|
|
312
|
+
"Expected setAutomaticDataCollectionEnabled(...) to have 3 parameters");
|
|
313
|
+
|
|
314
|
+
return bridging::callFromJs<void>(
|
|
315
|
+
rt, &T::setAutomaticDataCollectionEnabled, jsInvoker_, instance_, std::move(appName), std::move(enabled));
|
|
316
|
+
}
|
|
317
|
+
jsi::Value deleteApp(jsi::Runtime &rt, jsi::String appName) override {
|
|
318
|
+
static_assert(
|
|
319
|
+
bridging::getParameterCount(&T::deleteApp) == 2,
|
|
320
|
+
"Expected deleteApp(...) to have 2 parameters");
|
|
321
|
+
|
|
322
|
+
return bridging::callFromJs<jsi::Value>(
|
|
323
|
+
rt, &T::deleteApp, jsInvoker_, instance_, std::move(appName));
|
|
324
|
+
}
|
|
325
|
+
void eventsNotifyReady(jsi::Runtime &rt, bool ready) override {
|
|
326
|
+
static_assert(
|
|
327
|
+
bridging::getParameterCount(&T::eventsNotifyReady) == 2,
|
|
328
|
+
"Expected eventsNotifyReady(...) to have 2 parameters");
|
|
329
|
+
|
|
330
|
+
return bridging::callFromJs<void>(
|
|
331
|
+
rt, &T::eventsNotifyReady, jsInvoker_, instance_, std::move(ready));
|
|
332
|
+
}
|
|
333
|
+
jsi::Value eventsGetListeners(jsi::Runtime &rt) override {
|
|
334
|
+
static_assert(
|
|
335
|
+
bridging::getParameterCount(&T::eventsGetListeners) == 1,
|
|
336
|
+
"Expected eventsGetListeners(...) to have 1 parameters");
|
|
337
|
+
|
|
338
|
+
return bridging::callFromJs<jsi::Value>(
|
|
339
|
+
rt, &T::eventsGetListeners, jsInvoker_, instance_);
|
|
340
|
+
}
|
|
341
|
+
jsi::Value eventsPing(jsi::Runtime &rt, jsi::String eventName, jsi::Object eventBody) override {
|
|
342
|
+
static_assert(
|
|
343
|
+
bridging::getParameterCount(&T::eventsPing) == 3,
|
|
344
|
+
"Expected eventsPing(...) to have 3 parameters");
|
|
345
|
+
|
|
346
|
+
return bridging::callFromJs<jsi::Value>(
|
|
347
|
+
rt, &T::eventsPing, jsInvoker_, instance_, std::move(eventName), std::move(eventBody));
|
|
348
|
+
}
|
|
349
|
+
void eventsAddListener(jsi::Runtime &rt, jsi::String eventName) override {
|
|
350
|
+
static_assert(
|
|
351
|
+
bridging::getParameterCount(&T::eventsAddListener) == 2,
|
|
352
|
+
"Expected eventsAddListener(...) to have 2 parameters");
|
|
353
|
+
|
|
354
|
+
return bridging::callFromJs<void>(
|
|
355
|
+
rt, &T::eventsAddListener, jsInvoker_, instance_, std::move(eventName));
|
|
356
|
+
}
|
|
357
|
+
void eventsRemoveListener(jsi::Runtime &rt, jsi::String eventName, bool all) override {
|
|
358
|
+
static_assert(
|
|
359
|
+
bridging::getParameterCount(&T::eventsRemoveListener) == 3,
|
|
360
|
+
"Expected eventsRemoveListener(...) to have 3 parameters");
|
|
361
|
+
|
|
362
|
+
return bridging::callFromJs<void>(
|
|
363
|
+
rt, &T::eventsRemoveListener, jsInvoker_, instance_, std::move(eventName), std::move(all));
|
|
364
|
+
}
|
|
365
|
+
void addListener(jsi::Runtime &rt, jsi::String eventName) override {
|
|
366
|
+
static_assert(
|
|
367
|
+
bridging::getParameterCount(&T::addListener) == 2,
|
|
368
|
+
"Expected addListener(...) to have 2 parameters");
|
|
369
|
+
|
|
370
|
+
return bridging::callFromJs<void>(
|
|
371
|
+
rt, &T::addListener, jsInvoker_, instance_, std::move(eventName));
|
|
372
|
+
}
|
|
373
|
+
void removeListeners(jsi::Runtime &rt, double count) override {
|
|
374
|
+
static_assert(
|
|
375
|
+
bridging::getParameterCount(&T::removeListeners) == 2,
|
|
376
|
+
"Expected removeListeners(...) to have 2 parameters");
|
|
377
|
+
|
|
378
|
+
return bridging::callFromJs<void>(
|
|
379
|
+
rt, &T::removeListeners, jsInvoker_, instance_, std::move(count));
|
|
380
|
+
}
|
|
381
|
+
jsi::Value metaGetAll(jsi::Runtime &rt) override {
|
|
382
|
+
static_assert(
|
|
383
|
+
bridging::getParameterCount(&T::metaGetAll) == 1,
|
|
384
|
+
"Expected metaGetAll(...) to have 1 parameters");
|
|
385
|
+
|
|
386
|
+
return bridging::callFromJs<jsi::Value>(
|
|
387
|
+
rt, &T::metaGetAll, jsInvoker_, instance_);
|
|
388
|
+
}
|
|
389
|
+
jsi::Value jsonGetAll(jsi::Runtime &rt) override {
|
|
390
|
+
static_assert(
|
|
391
|
+
bridging::getParameterCount(&T::jsonGetAll) == 1,
|
|
392
|
+
"Expected jsonGetAll(...) to have 1 parameters");
|
|
393
|
+
|
|
394
|
+
return bridging::callFromJs<jsi::Value>(
|
|
395
|
+
rt, &T::jsonGetAll, jsInvoker_, instance_);
|
|
396
|
+
}
|
|
397
|
+
jsi::Value preferencesSetBool(jsi::Runtime &rt, jsi::String key, bool value) override {
|
|
398
|
+
static_assert(
|
|
399
|
+
bridging::getParameterCount(&T::preferencesSetBool) == 3,
|
|
400
|
+
"Expected preferencesSetBool(...) to have 3 parameters");
|
|
401
|
+
|
|
402
|
+
return bridging::callFromJs<jsi::Value>(
|
|
403
|
+
rt, &T::preferencesSetBool, jsInvoker_, instance_, std::move(key), std::move(value));
|
|
404
|
+
}
|
|
405
|
+
jsi::Value preferencesSetString(jsi::Runtime &rt, jsi::String key, jsi::String value) override {
|
|
406
|
+
static_assert(
|
|
407
|
+
bridging::getParameterCount(&T::preferencesSetString) == 3,
|
|
408
|
+
"Expected preferencesSetString(...) to have 3 parameters");
|
|
409
|
+
|
|
410
|
+
return bridging::callFromJs<jsi::Value>(
|
|
411
|
+
rt, &T::preferencesSetString, jsInvoker_, instance_, std::move(key), std::move(value));
|
|
412
|
+
}
|
|
413
|
+
jsi::Value preferencesGetAll(jsi::Runtime &rt) override {
|
|
414
|
+
static_assert(
|
|
415
|
+
bridging::getParameterCount(&T::preferencesGetAll) == 1,
|
|
416
|
+
"Expected preferencesGetAll(...) to have 1 parameters");
|
|
417
|
+
|
|
418
|
+
return bridging::callFromJs<jsi::Value>(
|
|
419
|
+
rt, &T::preferencesGetAll, jsInvoker_, instance_);
|
|
420
|
+
}
|
|
421
|
+
jsi::Value preferencesClearAll(jsi::Runtime &rt) override {
|
|
422
|
+
static_assert(
|
|
423
|
+
bridging::getParameterCount(&T::preferencesClearAll) == 1,
|
|
424
|
+
"Expected preferencesClearAll(...) to have 1 parameters");
|
|
425
|
+
|
|
426
|
+
return bridging::callFromJs<jsi::Value>(
|
|
427
|
+
rt, &T::preferencesClearAll, jsInvoker_, instance_);
|
|
428
|
+
}
|
|
429
|
+
void setLogLevel(jsi::Runtime &rt, jsi::String logLevel) override {
|
|
430
|
+
static_assert(
|
|
431
|
+
bridging::getParameterCount(&T::setLogLevel) == 2,
|
|
432
|
+
"Expected setLogLevel(...) to have 2 parameters");
|
|
433
|
+
|
|
434
|
+
return bridging::callFromJs<void>(
|
|
435
|
+
rt, &T::setLogLevel, jsInvoker_, instance_, std::move(logLevel));
|
|
436
|
+
}
|
|
437
|
+
|
|
438
|
+
private:
|
|
439
|
+
friend class NativeRNFBTurboAppCxxSpec;
|
|
440
|
+
T *instance_;
|
|
441
|
+
};
|
|
442
|
+
|
|
443
|
+
Delegate delegate_;
|
|
444
|
+
};
|
|
445
|
+
|
|
446
|
+
|
|
447
|
+
|
|
448
|
+
#pragma mark - NativeRNFBTurboUtilsPlayServicesAvailability
|
|
449
|
+
|
|
450
|
+
template <typename P0, typename P1, typename P2, typename P3, typename P4>
|
|
451
|
+
struct NativeRNFBTurboUtilsPlayServicesAvailability {
|
|
452
|
+
P0 isAvailable;
|
|
453
|
+
P1 status;
|
|
454
|
+
P2 hasResolution;
|
|
455
|
+
P3 isUserResolvableError;
|
|
456
|
+
P4 error;
|
|
457
|
+
bool operator==(const NativeRNFBTurboUtilsPlayServicesAvailability &other) const {
|
|
458
|
+
return isAvailable == other.isAvailable && status == other.status && hasResolution == other.hasResolution && isUserResolvableError == other.isUserResolvableError && error == other.error;
|
|
459
|
+
}
|
|
460
|
+
};
|
|
461
|
+
|
|
462
|
+
template <typename T>
|
|
463
|
+
struct NativeRNFBTurboUtilsPlayServicesAvailabilityBridging {
|
|
464
|
+
static T types;
|
|
465
|
+
|
|
466
|
+
static T fromJs(
|
|
467
|
+
jsi::Runtime &rt,
|
|
468
|
+
const jsi::Object &value,
|
|
469
|
+
const std::shared_ptr<CallInvoker> &jsInvoker) {
|
|
470
|
+
T result{
|
|
471
|
+
bridging::fromJs<decltype(types.isAvailable)>(rt, value.getProperty(rt, "isAvailable"), jsInvoker),
|
|
472
|
+
bridging::fromJs<decltype(types.status)>(rt, value.getProperty(rt, "status"), jsInvoker),
|
|
473
|
+
bridging::fromJs<decltype(types.hasResolution)>(rt, value.getProperty(rt, "hasResolution"), jsInvoker),
|
|
474
|
+
bridging::fromJs<decltype(types.isUserResolvableError)>(rt, value.getProperty(rt, "isUserResolvableError"), jsInvoker),
|
|
475
|
+
bridging::fromJs<decltype(types.error)>(rt, value.getProperty(rt, "error"), jsInvoker)};
|
|
476
|
+
return result;
|
|
477
|
+
}
|
|
478
|
+
|
|
479
|
+
#ifdef DEBUG
|
|
480
|
+
static bool isAvailableToJs(jsi::Runtime &rt, decltype(types.isAvailable) value) {
|
|
481
|
+
return bridging::toJs(rt, value);
|
|
482
|
+
}
|
|
483
|
+
|
|
484
|
+
static double statusToJs(jsi::Runtime &rt, decltype(types.status) value) {
|
|
485
|
+
return bridging::toJs(rt, value);
|
|
486
|
+
}
|
|
487
|
+
|
|
488
|
+
static bool hasResolutionToJs(jsi::Runtime &rt, decltype(types.hasResolution) value) {
|
|
489
|
+
return bridging::toJs(rt, value);
|
|
490
|
+
}
|
|
491
|
+
|
|
492
|
+
static bool isUserResolvableErrorToJs(jsi::Runtime &rt, decltype(types.isUserResolvableError) value) {
|
|
493
|
+
return bridging::toJs(rt, value);
|
|
494
|
+
}
|
|
495
|
+
|
|
496
|
+
static jsi::String errorToJs(jsi::Runtime &rt, decltype(types.error) value) {
|
|
497
|
+
return bridging::toJs(rt, value);
|
|
498
|
+
}
|
|
499
|
+
#endif
|
|
500
|
+
|
|
501
|
+
static jsi::Object toJs(
|
|
502
|
+
jsi::Runtime &rt,
|
|
503
|
+
const T &value,
|
|
504
|
+
const std::shared_ptr<CallInvoker> &jsInvoker) {
|
|
505
|
+
auto result = facebook::jsi::Object(rt);
|
|
506
|
+
result.setProperty(rt, "isAvailable", bridging::toJs(rt, value.isAvailable, jsInvoker));
|
|
507
|
+
result.setProperty(rt, "status", bridging::toJs(rt, value.status, jsInvoker));
|
|
508
|
+
result.setProperty(rt, "hasResolution", bridging::toJs(rt, value.hasResolution, jsInvoker));
|
|
509
|
+
result.setProperty(rt, "isUserResolvableError", bridging::toJs(rt, value.isUserResolvableError, jsInvoker));
|
|
510
|
+
if (value.error) {
|
|
511
|
+
result.setProperty(rt, "error", bridging::toJs(rt, value.error.value(), jsInvoker));
|
|
512
|
+
}
|
|
513
|
+
return result;
|
|
514
|
+
}
|
|
515
|
+
};
|
|
516
|
+
|
|
517
|
+
class JSI_EXPORT NativeRNFBTurboUtilsCxxSpecJSI : public TurboModule {
|
|
518
|
+
protected:
|
|
519
|
+
NativeRNFBTurboUtilsCxxSpecJSI(std::shared_ptr<CallInvoker> jsInvoker);
|
|
520
|
+
|
|
521
|
+
public:
|
|
522
|
+
virtual jsi::Object getConstants(jsi::Runtime &rt) = 0;
|
|
523
|
+
virtual jsi::Value androidGetPlayServicesStatus(jsi::Runtime &rt) = 0;
|
|
524
|
+
virtual jsi::Value androidPromptForPlayServices(jsi::Runtime &rt) = 0;
|
|
525
|
+
virtual jsi::Value androidResolutionForPlayServices(jsi::Runtime &rt) = 0;
|
|
526
|
+
virtual jsi::Value androidMakePlayServicesAvailable(jsi::Runtime &rt) = 0;
|
|
527
|
+
|
|
528
|
+
};
|
|
529
|
+
|
|
530
|
+
template <typename T>
|
|
531
|
+
class JSI_EXPORT NativeRNFBTurboUtilsCxxSpec : public TurboModule {
|
|
532
|
+
public:
|
|
533
|
+
jsi::Value create(jsi::Runtime &rt, const jsi::PropNameID &propName) override {
|
|
534
|
+
return delegate_.create(rt, propName);
|
|
535
|
+
}
|
|
536
|
+
|
|
537
|
+
std::vector<jsi::PropNameID> getPropertyNames(jsi::Runtime& runtime) override {
|
|
538
|
+
return delegate_.getPropertyNames(runtime);
|
|
539
|
+
}
|
|
540
|
+
|
|
541
|
+
static constexpr std::string_view kModuleName = "NativeRNFBTurboUtils";
|
|
542
|
+
|
|
543
|
+
protected:
|
|
544
|
+
NativeRNFBTurboUtilsCxxSpec(std::shared_ptr<CallInvoker> jsInvoker)
|
|
545
|
+
: TurboModule(std::string{NativeRNFBTurboUtilsCxxSpec::kModuleName}, jsInvoker),
|
|
546
|
+
delegate_(reinterpret_cast<T*>(this), jsInvoker) {}
|
|
547
|
+
|
|
548
|
+
|
|
549
|
+
private:
|
|
550
|
+
class Delegate : public NativeRNFBTurboUtilsCxxSpecJSI {
|
|
551
|
+
public:
|
|
552
|
+
Delegate(T *instance, std::shared_ptr<CallInvoker> jsInvoker) :
|
|
553
|
+
NativeRNFBTurboUtilsCxxSpecJSI(std::move(jsInvoker)), instance_(instance) {
|
|
554
|
+
|
|
555
|
+
}
|
|
556
|
+
|
|
557
|
+
jsi::Object getConstants(jsi::Runtime &rt) override {
|
|
558
|
+
static_assert(
|
|
559
|
+
bridging::getParameterCount(&T::getConstants) == 1,
|
|
560
|
+
"Expected getConstants(...) to have 1 parameters");
|
|
561
|
+
|
|
562
|
+
return bridging::callFromJs<jsi::Object>(
|
|
563
|
+
rt, &T::getConstants, jsInvoker_, instance_);
|
|
564
|
+
}
|
|
565
|
+
jsi::Value androidGetPlayServicesStatus(jsi::Runtime &rt) override {
|
|
566
|
+
static_assert(
|
|
567
|
+
bridging::getParameterCount(&T::androidGetPlayServicesStatus) == 1,
|
|
568
|
+
"Expected androidGetPlayServicesStatus(...) to have 1 parameters");
|
|
569
|
+
|
|
570
|
+
return bridging::callFromJs<jsi::Value>(
|
|
571
|
+
rt, &T::androidGetPlayServicesStatus, jsInvoker_, instance_);
|
|
572
|
+
}
|
|
573
|
+
jsi::Value androidPromptForPlayServices(jsi::Runtime &rt) override {
|
|
574
|
+
static_assert(
|
|
575
|
+
bridging::getParameterCount(&T::androidPromptForPlayServices) == 1,
|
|
576
|
+
"Expected androidPromptForPlayServices(...) to have 1 parameters");
|
|
577
|
+
|
|
578
|
+
return bridging::callFromJs<jsi::Value>(
|
|
579
|
+
rt, &T::androidPromptForPlayServices, jsInvoker_, instance_);
|
|
580
|
+
}
|
|
581
|
+
jsi::Value androidResolutionForPlayServices(jsi::Runtime &rt) override {
|
|
582
|
+
static_assert(
|
|
583
|
+
bridging::getParameterCount(&T::androidResolutionForPlayServices) == 1,
|
|
584
|
+
"Expected androidResolutionForPlayServices(...) to have 1 parameters");
|
|
585
|
+
|
|
586
|
+
return bridging::callFromJs<jsi::Value>(
|
|
587
|
+
rt, &T::androidResolutionForPlayServices, jsInvoker_, instance_);
|
|
588
|
+
}
|
|
589
|
+
jsi::Value androidMakePlayServicesAvailable(jsi::Runtime &rt) override {
|
|
590
|
+
static_assert(
|
|
591
|
+
bridging::getParameterCount(&T::androidMakePlayServicesAvailable) == 1,
|
|
592
|
+
"Expected androidMakePlayServicesAvailable(...) to have 1 parameters");
|
|
593
|
+
|
|
594
|
+
return bridging::callFromJs<jsi::Value>(
|
|
595
|
+
rt, &T::androidMakePlayServicesAvailable, jsInvoker_, instance_);
|
|
596
|
+
}
|
|
597
|
+
|
|
598
|
+
private:
|
|
599
|
+
friend class NativeRNFBTurboUtilsCxxSpec;
|
|
600
|
+
T *instance_;
|
|
601
|
+
};
|
|
602
|
+
|
|
603
|
+
Delegate delegate_;
|
|
604
|
+
};
|
|
605
|
+
|
|
606
|
+
} // namespace facebook::react
|
|
@@ -25,7 +25,7 @@ import com.facebook.react.bridge.ReadableMap;
|
|
|
25
25
|
import com.facebook.react.bridge.WritableMap;
|
|
26
26
|
import com.google.firebase.FirebaseApp;
|
|
27
27
|
import com.google.firebase.FirebaseOptions;
|
|
28
|
-
import io.invertase.firebase.app.
|
|
28
|
+
import io.invertase.firebase.app.NativeRNFBTurboApp;
|
|
29
29
|
import java.util.HashMap;
|
|
30
30
|
import java.util.List;
|
|
31
31
|
import java.util.Map;
|
|
@@ -57,8 +57,8 @@ public class RCTConvertFirebase {
|
|
|
57
57
|
options.put("messagingSenderId", appOptions.getGcmSenderId());
|
|
58
58
|
options.put("storageBucket", appOptions.getStorageBucket());
|
|
59
59
|
|
|
60
|
-
if (
|
|
61
|
-
options.put("authDomain",
|
|
60
|
+
if (NativeRNFBTurboApp.authDomains.get(name) != null) {
|
|
61
|
+
options.put("authDomain", NativeRNFBTurboApp.authDomains.get(name));
|
|
62
62
|
}
|
|
63
63
|
|
|
64
64
|
root.put("options", options);
|