@react-native-firebase/app 26.4.0 → 27.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 +62 -0
- package/README.md +10 -27
- package/RNFBApp.podspec +13 -5
- package/android/build.gradle +3 -0
- package/android/src/main/java/io/invertase/firebase/common/RNFBHandleCollisionException.kt +29 -0
- package/android/src/main/java/io/invertase/firebase/common/RNFBHandleMap.kt +146 -0
- package/android/src/main/java/io/invertase/firebase/common/TaskExecutorService.kt +156 -0
- package/android/src/main/java/io/invertase/firebase/common/UniversalFirebaseModule.kt +44 -0
- package/android/src/main/java/io/invertase/firebase/common/UniversalFirebasePreferences.kt +100 -0
- package/android/src/reactnative/java/io/invertase/firebase/app/NativeRNFBTurboApp.kt +250 -0
- package/android/src/reactnative/java/io/invertase/firebase/app/ReactNativeFirebaseApp.kt +64 -0
- package/android/src/reactnative/java/io/invertase/firebase/app/{ReactNativeFirebaseAppInitProvider.java → ReactNativeFirebaseAppInitProvider.kt} +3 -4
- package/android/src/reactnative/java/io/invertase/firebase/app/ReactNativeFirebaseAppPackage.kt +47 -0
- package/android/src/reactnative/java/io/invertase/firebase/app/ReactNativeFirebaseAppRegistrar.kt +33 -0
- package/android/src/reactnative/java/io/invertase/firebase/app/ReactNativeFirebaseVersion.java +1 -1
- package/android/src/reactnative/java/io/invertase/firebase/common/RCTConvertFirebase.kt +185 -0
- package/android/src/reactnative/java/io/invertase/firebase/common/ReactNativeFirebaseEvent.kt +35 -0
- package/android/src/reactnative/java/io/invertase/firebase/common/ReactNativeFirebaseEventEmitter.kt +662 -0
- package/android/src/reactnative/java/io/invertase/firebase/common/ReactNativeFirebaseJSON.kt +103 -0
- package/android/src/reactnative/java/io/invertase/firebase/common/ReactNativeFirebaseMeta.kt +96 -0
- package/android/src/reactnative/java/io/invertase/firebase/common/ReactNativeFirebaseModule.kt +140 -0
- package/android/src/reactnative/java/io/invertase/firebase/common/ReactNativeFirebasePreferences.kt +109 -0
- package/android/src/reactnative/java/io/invertase/firebase/common/SharedUtils.kt +451 -0
- package/android/src/reactnative/java/io/invertase/firebase/interfaces/{ContextProvider.java → ContextProvider.kt} +8 -8
- package/android/src/reactnative/java/io/invertase/firebase/interfaces/{NativeError.java → NativeError.kt} +8 -8
- package/android/src/reactnative/java/io/invertase/firebase/interfaces/{NativeEvent.java → NativeEvent.kt} +6 -6
- package/android/src/reactnative/java/io/invertase/firebase/utils/NativeRNFBTurboUtils.kt +219 -0
- package/android/src/test/java/expo/core/ModuleRegistry.java +9 -0
- package/android/src/test/java/io/invertase/firebase/app/NativeRNFBTurboAppTest.java +182 -59
- package/android/src/test/java/io/invertase/firebase/app/ReactNativeFirebaseAppComponentsJavaCompatibilityTest.java +70 -0
- package/android/src/test/java/io/invertase/firebase/app/ReactNativeFirebaseAppJavaCompatibilityTest.java +60 -0
- package/android/src/test/java/io/invertase/firebase/app/ReactNativeFirebaseAppPackageTest.java +165 -0
- package/android/src/test/java/io/invertase/firebase/app/ReactNativeFirebaseAppTest.kt +167 -0
- package/android/src/test/java/io/invertase/firebase/common/RCTConvertFirebaseJavaCompatibilityTest.java +112 -0
- package/android/src/test/java/io/invertase/firebase/common/RCTConvertFirebaseTest.kt +317 -0
- package/android/src/test/java/io/invertase/firebase/common/RNFBHandleMapTest.kt +309 -0
- package/android/src/test/java/io/invertase/firebase/common/ReactNativeFirebaseEventEmitterJavaCompatibilityTest.java +176 -0
- package/android/src/test/java/io/invertase/firebase/common/ReactNativeFirebaseEventEmitterTest.java +143 -12
- package/android/src/test/java/io/invertase/firebase/common/ReactNativeFirebaseEventTest.kt +61 -0
- package/android/src/test/java/io/invertase/firebase/common/ReactNativeFirebaseJSONJavaCompatibilityTest.java +85 -0
- package/android/src/test/java/io/invertase/firebase/common/ReactNativeFirebaseJSONTest.kt +296 -0
- package/android/src/test/java/io/invertase/firebase/common/ReactNativeFirebaseMetaJavaCompatibilityTest.java +67 -0
- package/android/src/test/java/io/invertase/firebase/common/ReactNativeFirebaseMetaTest.kt +246 -0
- package/android/src/test/java/io/invertase/firebase/common/ReactNativeFirebaseModuleTest.kt +254 -0
- package/android/src/test/java/io/invertase/firebase/common/ReactNativeFirebasePreferencesJavaCompatibilityTest.java +87 -0
- package/android/src/test/java/io/invertase/firebase/common/ReactNativeFirebasePreferencesTest.kt +260 -0
- package/android/src/test/java/io/invertase/firebase/common/SharedUtilsJavaCompatibilityTest.java +255 -0
- package/android/src/test/java/io/invertase/firebase/common/SharedUtilsTest.kt +674 -0
- package/android/src/test/java/io/invertase/firebase/common/TaskExecutorServiceTest.kt +290 -0
- package/android/src/test/java/io/invertase/firebase/common/UniversalFirebaseModuleJavaCompatibilityTest.java +178 -0
- package/android/src/test/java/io/invertase/firebase/common/UniversalFirebasePreferencesJavaCompatibilityTest.java +99 -0
- package/android/src/test/java/io/invertase/firebase/common/UniversalFirebasePreferencesTest.kt +217 -0
- package/android/src/test/java/io/invertase/firebase/commoncompat/ReactNativeFirebaseModuleJavaCompatibilityTest.java +176 -0
- package/android/src/test/java/io/invertase/firebase/commoncompat/ReactNativeFirebaseModuleKotlinCompatibilityTest.kt +52 -0
- package/android/src/test/java/io/invertase/firebase/interfaces/InterfacesJavaCompatibilityTest.java +144 -0
- package/android/src/test/java/io/invertase/firebase/interfaces/NativeEventTest.kt +56 -0
- package/android/src/test/java/io/invertase/firebase/utils/NativeRNFBTurboUtilsTest.java +517 -21
- package/dist/module/FirebaseApp.js +10 -0
- package/dist/module/FirebaseApp.js.map +1 -1
- package/dist/module/common/deeps.js +3 -0
- package/dist/module/common/deeps.js.map +1 -1
- package/dist/module/internal/FirebaseModule.js.map +1 -1
- package/dist/module/internal/RNFBNativeEventEmitter.js +12 -1
- package/dist/module/internal/RNFBNativeEventEmitter.js.map +1 -1
- package/dist/module/internal/SharedEventEmitter.js +3 -1
- package/dist/module/internal/SharedEventEmitter.js.map +1 -1
- package/dist/module/internal/index.js +1 -0
- package/dist/module/internal/index.js.map +1 -1
- package/dist/module/internal/registry/app.js +7 -1
- package/dist/module/internal/registry/app.js.map +1 -1
- package/dist/module/types/app.js.map +1 -1
- package/dist/module/types/internal.js +2 -0
- package/dist/module/version.js +1 -1
- package/dist/typescript/lib/FirebaseApp.d.ts +7 -0
- package/dist/typescript/lib/FirebaseApp.d.ts.map +1 -1
- package/dist/typescript/lib/common/deeps.d.ts.map +1 -1
- package/dist/typescript/lib/internal/FirebaseModule.d.ts +2 -3
- package/dist/typescript/lib/internal/FirebaseModule.d.ts.map +1 -1
- package/dist/typescript/lib/internal/NativeModules.d.ts +4 -1
- package/dist/typescript/lib/internal/NativeModules.d.ts.map +1 -1
- package/dist/typescript/lib/internal/RNFBNativeEventEmitter.d.ts +2 -2
- package/dist/typescript/lib/internal/RNFBNativeEventEmitter.d.ts.map +1 -1
- package/dist/typescript/lib/internal/SharedEventEmitter.d.ts +3 -3
- package/dist/typescript/lib/internal/SharedEventEmitter.d.ts.map +1 -1
- package/dist/typescript/lib/internal/index.d.ts +1 -0
- package/dist/typescript/lib/internal/index.d.ts.map +1 -1
- package/dist/typescript/lib/internal/registry/app.d.ts.map +1 -1
- package/dist/typescript/lib/types/app.d.ts +10 -3
- package/dist/typescript/lib/types/app.d.ts.map +1 -1
- package/dist/typescript/lib/types/internal.d.ts +12 -0
- package/dist/typescript/lib/types/internal.d.ts.map +1 -1
- package/dist/typescript/lib/version.d.ts +1 -1
- package/firebase-schema.json +4 -0
- package/firebase_spm.rb +552 -96
- package/ios/RNFBApp/RCTConvert+FIRApp.h +2 -5
- package/ios/RNFBApp/RCTConvert+FIRApp.m +11 -6
- package/ios/RNFBApp/RCTConvert+FIROptions.h +2 -5
- package/ios/RNFBApp/RCTConvert+FIROptions.m +11 -10
- package/ios/RNFBApp/RCTConvertFIRApp.swift +86 -0
- package/ios/RNFBApp/RCTConvertFIROptions.swift +259 -0
- package/ios/RNFBApp/RNFBAppCustomAuthDomains.swift +63 -0
- package/ios/RNFBApp/RNFBAppInitializeOptionsMapper.swift +113 -0
- package/ios/RNFBApp/RNFBAppLogLevelMapper.swift +53 -0
- package/ios/RNFBApp/RNFBAppModule+CustomAuthDomain.m +35 -0
- package/ios/RNFBApp/RNFBAppModule.h +6 -2
- package/ios/RNFBApp/RNFBAppModule.mm +65 -228
- package/ios/RNFBApp/RNFBAppModuleFirebase.swift +439 -0
- package/ios/RNFBApp/RNFBAppModuleImplementation.h +68 -0
- package/ios/RNFBApp/RNFBAppModuleImplementation.m +195 -0
- package/ios/RNFBApp/RNFBHandleMap.m +27 -56
- package/ios/RNFBApp/RNFBHandleMapStorage.swift +90 -0
- package/ios/RNFBApp/RNFBInitializeAppArguments.swift +82 -0
- package/ios/RNFBApp/RNFBJSON.m +22 -38
- package/ios/RNFBApp/RNFBJSONImplementation.swift +71 -0
- package/ios/RNFBApp/RNFBMeta.m +24 -26
- package/ios/RNFBApp/RNFBMetaStorage.swift +76 -0
- package/ios/RNFBApp/RNFBNullSentinelDecoding.swift +135 -0
- package/ios/RNFBApp/RNFBNullSentinelInterceptor.h +30 -3
- package/ios/RNFBApp/RNFBNullSentinelInterceptor.m +28 -5
- package/ios/RNFBApp/RNFBPreferences.m +22 -20
- package/ios/RNFBApp/RNFBPreferencesStorage.swift +101 -0
- package/ios/RNFBApp/RNFBRCTEventEmitter.m +36 -93
- package/ios/RNFBApp/RNFBRCTEventEmitterCore.swift +161 -0
- package/ios/RNFBApp/RNFBSharedUtils.h +2 -5
- package/ios/RNFBApp/RNFBSharedUtils.m +109 -198
- package/ios/RNFBApp/RNFBSharedUtilsConfig.swift +72 -0
- package/ios/RNFBApp/RNFBSharedUtilsFIRApp.swift +271 -0
- package/ios/RNFBApp/RNFBSharedUtilsFormatting.swift +59 -0
- package/ios/RNFBApp/RNFBSharedUtilsPromiseRejection.swift +88 -0
- package/ios/RNFBApp/RNFBUtilsHelpers.swift +116 -0
- package/ios/RNFBApp/RNFBUtilsModule+Foundation.m +44 -0
- package/ios/RNFBApp/RNFBUtilsModule+PhotoAssets.m +47 -0
- package/ios/RNFBApp/RNFBUtilsModule.h +11 -1
- package/ios/RNFBApp/RNFBUtilsModule.mm +10 -85
- package/ios/RNFBApp/RNFBUtilsModuleImplementation.h +32 -0
- package/ios/RNFBApp/RNFBUtilsModuleImplementation.m +56 -0
- package/ios/RNFBApp/RNFBVersion.m +1 -1
- package/ios/RNFBApp.xcodeproj/project.pbxproj +100 -0
- package/ios/RNFBAppUnitTests/HostStubs/FirebaseCore/FIRApp.m +171 -0
- package/ios/RNFBAppUnitTests/HostStubs/FirebaseCore/FirebaseCore.h +78 -0
- package/ios/RNFBAppUnitTests/HostStubs/FirebaseInstallations/FIRInstallations.m +7 -0
- package/ios/RNFBAppUnitTests/HostStubs/FirebaseInstallations/FirebaseInstallations.h +8 -0
- package/ios/RNFBAppUnitTests/HostStubs/RNFBAppModuleHostStub.m +55 -0
- package/ios/RNFBAppUnitTests/HostStubs/RNFBAppTurboModules.h +89 -0
- package/ios/RNFBAppUnitTests/HostStubs/RNFBAppTurboModules.mm +30 -0
- package/ios/RNFBAppUnitTests/HostStubs/React/RCTBridge.h +19 -0
- package/ios/RNFBAppUnitTests/HostStubs/React/RCTBridge.m +32 -0
- package/ios/RNFBAppUnitTests/HostStubs/React/RCTBridgeModule.h +19 -0
- package/ios/RNFBAppUnitTests/HostStubs/React/RCTConvert.h +28 -0
- package/ios/RNFBAppUnitTests/HostStubs/React/RCTConvert.m +23 -0
- package/ios/RNFBAppUnitTests/HostStubs/React/RCTEventEmitter.h +9 -0
- package/ios/RNFBAppUnitTests/HostStubs/React/RCTInvalidating.h +24 -0
- package/ios/RNFBAppUnitTests/HostStubs/React/RCTUtils.h +9 -0
- package/ios/RNFBAppUnitTests/HostStubs/module.modulemap +13 -0
- package/ios/RNFBAppUnitTests/RCTConvertFIRAppFacadeTests.m +61 -0
- package/ios/RNFBAppUnitTests/RCTConvertFIRAppTests.swift +73 -0
- package/ios/RNFBAppUnitTests/RCTConvertFIROptionsFacadeTests.m +57 -0
- package/ios/RNFBAppUnitTests/RCTConvertFIROptionsTests.swift +243 -0
- package/ios/RNFBAppUnitTests/RNFBAppCustomAuthDomainsFacadeTests.m +73 -0
- package/ios/RNFBAppUnitTests/RNFBAppCustomAuthDomainsTests.swift +70 -0
- package/ios/RNFBAppUnitTests/RNFBAppInitializeOptionsMapperTests.swift +190 -0
- package/ios/RNFBAppUnitTests/RNFBAppLogLevelFacadeTests.m +76 -0
- package/ios/RNFBAppUnitTests/RNFBAppLogLevelMapperTests.swift +59 -0
- package/ios/RNFBAppUnitTests/RNFBAppModuleFirebaseFacadeTests.m +215 -0
- package/ios/RNFBAppUnitTests/RNFBAppModuleFirebaseTests.swift +430 -0
- package/ios/RNFBAppUnitTests/RNFBAppModuleLifecycleTests.m +206 -0
- package/ios/RNFBAppUnitTests/RNFBAppModuleShellTests.mm +367 -0
- package/ios/RNFBAppUnitTests/RNFBAppUnitTests.xcodeproj/project.pbxproj +355 -2
- package/ios/RNFBAppUnitTests/RNFBFirebaseAppClientTests.swift +165 -0
- package/ios/RNFBAppUnitTests/RNFBHandleMapStorageTests.swift +121 -0
- package/ios/RNFBAppUnitTests/RNFBInitializeAppArgumentsTests.swift +256 -0
- package/ios/RNFBAppUnitTests/RNFBJSONImplementationTests.swift +126 -0
- package/ios/RNFBAppUnitTests/RNFBJSONTests.m +172 -0
- package/ios/RNFBAppUnitTests/RNFBMetaStorageTests.swift +106 -0
- package/ios/RNFBAppUnitTests/RNFBMetaTests.m +65 -0
- package/ios/RNFBAppUnitTests/RNFBNullSentinelDecodingTests.swift +286 -0
- package/ios/RNFBAppUnitTests/RNFBNullSentinelInterceptorTests.m +312 -0
- package/ios/RNFBAppUnitTests/RNFBPreferencesStorageTests.swift +105 -0
- package/ios/RNFBAppUnitTests/RNFBPreferencesTests.m +110 -0
- package/ios/RNFBAppUnitTests/RNFBRCTEventEmitterCoreTests.swift +163 -0
- package/ios/RNFBAppUnitTests/RNFBRCTEventEmitterFacadeTests.m +141 -0
- package/ios/RNFBAppUnitTests/RNFBSharedUtilsConfigFacadeTests.m +100 -0
- package/ios/RNFBAppUnitTests/RNFBSharedUtilsConfigTests.swift +234 -0
- package/ios/RNFBAppUnitTests/RNFBSharedUtilsFIRAppFacadeTests.m +145 -0
- package/ios/RNFBAppUnitTests/RNFBSharedUtilsFIRAppTests.swift +173 -0
- package/ios/RNFBAppUnitTests/RNFBSharedUtilsFormattingFacadeTests.m +38 -0
- package/ios/RNFBAppUnitTests/RNFBSharedUtilsFormattingTests.swift +82 -0
- package/ios/RNFBAppUnitTests/RNFBSharedUtilsNullSentinelTests.m +35 -0
- package/ios/RNFBAppUnitTests/RNFBSharedUtilsPromiseRejectionFacadeTests.m +107 -0
- package/ios/RNFBAppUnitTests/RNFBSharedUtilsPromiseRejectionTests.swift +133 -0
- package/ios/RNFBAppUnitTests/RNFBUtilsHelpersTests.swift +144 -0
- package/ios/RNFBAppUnitTests/RNFBUtilsModuleFacadeTests.m +72 -0
- package/ios/RNFBAppUnitTests/RNFBUtilsModuleShellTests.mm +282 -0
- package/ios/RNFBFirebase/Package.swift +53 -0
- package/ios/RNFBFirebase/Sources/RNFBFirebase/RNFBFirebase.swift +285 -0
- package/ios/RNFBFirebase/Sources/RNFBFirebaseBridge/Public/.gitkeep +0 -0
- package/ios/RNFBFirebase/Sources/RNFBFirebaseBridge/RNFBFirebaseBridge.m +169 -0
- package/ios/RNFBFirebase/Sources/RNFBFirebaseBridge/include/RNFBFirebaseBridge.h +52 -0
- package/ios/RNFBFirebaseUnitTests/RNFBAppDynamicFacadeTests.swift +240 -0
- package/{android/src/main/java/io/invertase/firebase/common/RNFBHandleCollisionException.java → ios/RNFBFirebaseUnitTests/RNFBFirebaseClientImport.swift} +23 -14
- package/ios/RNFBFirebaseUnitTests/RNFBFirebaseUnitTests.xcodeproj/project.pbxproj +588 -0
- package/ios/RNFBFirebaseUnitTests/RNFBFirebaseUnitTests.xcodeproj/xcshareddata/xcschemes/RNFBFirebaseUnitTests.xcscheme +83 -0
- package/ios_config.sh +50 -22
- package/lib/FirebaseApp.ts +10 -0
- package/lib/common/deeps.ts +3 -0
- package/lib/internal/FirebaseModule.ts +6 -3
- package/lib/internal/NativeModules.ts +4 -1
- package/lib/internal/RNFBNativeEventEmitter.ts +14 -5
- package/lib/internal/SharedEventEmitter.ts +5 -1
- package/lib/internal/index.ts +1 -0
- package/lib/internal/react-native-vendor-emitter.d.ts +11 -0
- package/lib/internal/registry/app.ts +7 -1
- package/lib/types/app.ts +10 -3
- package/lib/types/internal.ts +19 -0
- package/lib/version.ts +1 -1
- package/package.json +8 -8
- package/plugin/build/ios/appDelegate.js +2 -2
- package/plugin/build/ios/podfile.js +16 -16
- package/plugin/build/pluginConfig.d.ts +4 -2
- package/plugin/src/ios/appDelegate.ts +2 -2
- package/plugin/src/ios/podfile.ts +20 -23
- package/plugin/src/pluginConfig.ts +4 -2
- package/android/src/main/java/io/invertase/firebase/common/RNFBHandleMap.java +0 -150
- package/android/src/main/java/io/invertase/firebase/common/TaskExecutorService.java +0 -148
- package/android/src/main/java/io/invertase/firebase/common/UniversalFirebaseModule.java +0 -62
- package/android/src/main/java/io/invertase/firebase/common/UniversalFirebasePreferences.java +0 -91
- package/android/src/reactnative/java/io/invertase/firebase/app/NativeRNFBTurboApp.java +0 -224
- package/android/src/reactnative/java/io/invertase/firebase/app/ReactNativeFirebaseApp.java +0 -46
- package/android/src/reactnative/java/io/invertase/firebase/app/ReactNativeFirebaseAppPackage.java +0 -49
- package/android/src/reactnative/java/io/invertase/firebase/app/ReactNativeFirebaseAppRegistrar.java +0 -35
- package/android/src/reactnative/java/io/invertase/firebase/common/RCTConvertFirebase.java +0 -192
- package/android/src/reactnative/java/io/invertase/firebase/common/ReactNativeFirebaseEvent.java +0 -53
- package/android/src/reactnative/java/io/invertase/firebase/common/ReactNativeFirebaseEventEmitter.java +0 -606
- package/android/src/reactnative/java/io/invertase/firebase/common/ReactNativeFirebaseJSON.java +0 -109
- package/android/src/reactnative/java/io/invertase/firebase/common/ReactNativeFirebaseMeta.java +0 -101
- package/android/src/reactnative/java/io/invertase/firebase/common/ReactNativeFirebaseModule.java +0 -146
- package/android/src/reactnative/java/io/invertase/firebase/common/ReactNativeFirebasePreferences.java +0 -96
- package/android/src/reactnative/java/io/invertase/firebase/common/SharedUtils.java +0 -441
- package/android/src/reactnative/java/io/invertase/firebase/utils/NativeRNFBTurboUtils.java +0 -223
- package/android/src/test/java/io/invertase/firebase/common/RNFBHandleMapTest.java +0 -275
- package/android/src/test/java/io/invertase/firebase/common/ReactNativeFirebaseJSONTest.java +0 -108
- package/android/src/test/java/io/invertase/firebase/common/TaskExecutorServiceTest.java +0 -97
|
@@ -0,0 +1,35 @@
|
|
|
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
|
+
#import "RNFBAppModule.h"
|
|
18
|
+
|
|
19
|
+
#if __has_include(<RNFBApp/RNFBApp-Swift.h>)
|
|
20
|
+
#import <RNFBApp/RNFBApp-Swift.h>
|
|
21
|
+
#elif __has_include("RNFBApp-Swift.h")
|
|
22
|
+
#import "RNFBApp-Swift.h"
|
|
23
|
+
#elif __has_include("RNFBHandleMapStorage-Swift.inc")
|
|
24
|
+
#import "RNFBHandleMapStorage-Swift.inc"
|
|
25
|
+
#else
|
|
26
|
+
#error "RNFBApp Swift interface not found"
|
|
27
|
+
#endif
|
|
28
|
+
|
|
29
|
+
@implementation RNFBAppModule (CustomAuthDomain)
|
|
30
|
+
|
|
31
|
+
+ (NSString *)getCustomDomain:(NSString *)appName {
|
|
32
|
+
return [RNFBAppCustomAuthDomains getCustomDomain:appName];
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
@end
|
|
@@ -19,8 +19,12 @@
|
|
|
19
19
|
|
|
20
20
|
@interface RNFBAppModule : NSObject
|
|
21
21
|
|
|
22
|
-
+ (NSString *)getCustomDomain:(NSString *)appName;
|
|
23
|
-
|
|
24
22
|
- (void)setLogLevel:(NSString *)logLevel;
|
|
25
23
|
|
|
26
24
|
@end
|
|
25
|
+
|
|
26
|
+
@interface RNFBAppModule (CustomAuthDomain)
|
|
27
|
+
|
|
28
|
+
+ (NSString *)getCustomDomain:(NSString *)appName;
|
|
29
|
+
|
|
30
|
+
@end
|
|
@@ -15,41 +15,37 @@
|
|
|
15
15
|
*
|
|
16
16
|
*/
|
|
17
17
|
|
|
18
|
-
#if __has_include(<Firebase/Firebase.h>)
|
|
19
|
-
#import <Firebase/Firebase.h>
|
|
20
|
-
#elif __has_include(<FirebaseCore/FirebaseCore.h>)
|
|
21
|
-
#import <FirebaseCore/FirebaseCore.h>
|
|
22
|
-
#else
|
|
23
|
-
@import FirebaseCore;
|
|
24
|
-
#endif
|
|
25
18
|
#import <React/RCTInvalidating.h>
|
|
26
|
-
#import <React/RCTUtils.h>
|
|
27
19
|
|
|
28
|
-
#import "RCTConvert+FIRApp.h"
|
|
29
20
|
#import "RNFBAppModule.h"
|
|
21
|
+
#import "RNFBAppModuleImplementation.h"
|
|
30
22
|
#import "RNFBAppTurboModules.h"
|
|
31
|
-
|
|
32
|
-
#
|
|
33
|
-
#
|
|
34
|
-
#
|
|
35
|
-
#
|
|
36
|
-
#
|
|
37
|
-
|
|
38
|
-
#
|
|
39
|
-
#
|
|
40
|
-
#
|
|
23
|
+
|
|
24
|
+
#if defined(RNFB_DYNAMIC_FIREBASE_PROBE)
|
|
25
|
+
#if __has_include(<FirebaseCore/FirebaseCore.h>)
|
|
26
|
+
#error "FirebaseCore headers visible in RNFB dynamic probe"
|
|
27
|
+
#endif
|
|
28
|
+
#if __has_include(<FirebaseInstallations/FirebaseInstallations.h>)
|
|
29
|
+
#error "FirebaseInstallations headers visible in RNFB dynamic probe"
|
|
30
|
+
#endif
|
|
31
|
+
#if __has_feature(cxx_modules)
|
|
32
|
+
#error "C++ modules enabled in RNFB dynamic probe"
|
|
33
|
+
#endif
|
|
41
34
|
#endif
|
|
42
35
|
|
|
43
36
|
@interface RNFBAppModule () <NativeRNFBTurboAppSpec, RCTInvalidating>
|
|
44
37
|
|
|
45
|
-
+ (void)setCustomDomain:(nullable NSString *)authDomain forAppName:(NSString *)appName;
|
|
46
|
-
|
|
47
38
|
@end
|
|
48
39
|
|
|
49
|
-
static NSMutableDictionary<NSString *, NSString *> *customAuthDomains;
|
|
50
|
-
|
|
51
40
|
@implementation RNFBAppModule
|
|
52
41
|
|
|
42
|
+
- (instancetype)init {
|
|
43
|
+
if ((self = [super init])) {
|
|
44
|
+
RNFBAppModuleInitialize();
|
|
45
|
+
}
|
|
46
|
+
return self;
|
|
47
|
+
}
|
|
48
|
+
|
|
53
49
|
#pragma mark -
|
|
54
50
|
#pragma mark Module Setup
|
|
55
51
|
|
|
@@ -61,274 +57,115 @@ RCT_EXPORT_MODULE(NativeRNFBTurboApp)
|
|
|
61
57
|
}
|
|
62
58
|
|
|
63
59
|
- (void)setBridge:(RCTBridge *)bridge {
|
|
64
|
-
|
|
60
|
+
RNFBAppModuleSetBridge(bridge);
|
|
65
61
|
}
|
|
66
62
|
|
|
67
63
|
- (RCTBridge *)bridge {
|
|
68
|
-
return
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
- (id)init {
|
|
72
|
-
if (self = [super init]) {
|
|
73
|
-
#ifdef REGISTER_LIB
|
|
74
|
-
static dispatch_once_t once;
|
|
75
|
-
dispatch_once(&once, ^{
|
|
76
|
-
[FIRApp registerLibrary:@"react-native-firebase" withVersion:[RNFBVersionString copy]];
|
|
77
|
-
});
|
|
78
|
-
#endif
|
|
79
|
-
if ([[RNFBJSON shared] contains:@"app_log_level"]) {
|
|
80
|
-
NSString *logLevel = [[RNFBJSON shared] getStringValue:@"app_log_level" defaultValue:@"info"];
|
|
81
|
-
[self setLogLevel:logLevel];
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
return self;
|
|
64
|
+
return RNFBAppModuleBridge();
|
|
86
65
|
}
|
|
87
66
|
|
|
88
67
|
- (void)invalidate {
|
|
89
|
-
|
|
68
|
+
RNFBAppModuleInvalidate();
|
|
90
69
|
}
|
|
91
70
|
|
|
92
71
|
#pragma mark -
|
|
93
72
|
#pragma mark Constants
|
|
94
73
|
|
|
95
|
-
- (NSDictionary *)appConstantsDictionary {
|
|
96
|
-
NSDictionary *firApps = [FIRApp allApps];
|
|
97
|
-
NSMutableArray *appsArray = [NSMutableArray new];
|
|
98
|
-
NSMutableDictionary *constants = [NSMutableDictionary new];
|
|
99
|
-
|
|
100
|
-
for (id key in firApps) {
|
|
101
|
-
[appsArray addObject:[RNFBSharedUtils firAppToDictionary:firApps[key]]];
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
constants[@"NATIVE_FIREBASE_APPS"] = appsArray;
|
|
105
|
-
constants[@"FIREBASE_RAW_JSON"] = [[RNFBJSON shared] getRawJSON];
|
|
106
|
-
|
|
107
|
-
return constants;
|
|
108
|
-
}
|
|
109
|
-
|
|
110
74
|
- (facebook::react::ModuleConstants<JS::NativeRNFBTurboApp::Constants>)constantsToExport {
|
|
111
|
-
return [_RCTTypedModuleConstants newWithUnsafeDictionary:
|
|
75
|
+
return [_RCTTypedModuleConstants newWithUnsafeDictionary:RNFBAppModuleConstantsDictionary()];
|
|
112
76
|
}
|
|
113
77
|
|
|
114
78
|
- (facebook::react::ModuleConstants<JS::NativeRNFBTurboApp::Constants>)getConstants {
|
|
115
|
-
return [
|
|
79
|
+
return [_RCTTypedModuleConstants newWithUnsafeDictionary:RNFBAppModuleConstantsDictionary()];
|
|
116
80
|
}
|
|
117
81
|
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
- (void)metaGetAll:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject {
|
|
122
|
-
resolve([RNFBMeta getAll]);
|
|
123
|
-
}
|
|
124
|
-
|
|
125
|
-
#pragma mark -
|
|
126
|
-
#pragma mark JSON Methods
|
|
127
|
-
|
|
128
|
-
- (void)jsonGetAll:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject {
|
|
129
|
-
resolve([[RNFBJSON shared] getAll]);
|
|
82
|
+
+ (BOOL)requiresMainQueueSetup {
|
|
83
|
+
return NO;
|
|
130
84
|
}
|
|
131
85
|
|
|
132
86
|
#pragma mark -
|
|
133
|
-
#pragma mark
|
|
134
|
-
|
|
135
|
-
- (void)preferencesSetBool:(NSString *)key
|
|
136
|
-
value:(BOOL)value
|
|
137
|
-
resolve:(RCTPromiseResolveBlock)resolve
|
|
138
|
-
reject:(RCTPromiseRejectBlock)reject {
|
|
139
|
-
[[RNFBPreferences shared] setBooleanValue:key boolValue:value];
|
|
140
|
-
resolve([NSNull null]);
|
|
141
|
-
}
|
|
87
|
+
#pragma mark Methods
|
|
142
88
|
|
|
143
|
-
- (void)
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
resolve([NSNull null]);
|
|
89
|
+
- (void)initializeApp:(NSDictionary *)options
|
|
90
|
+
appConfig:(NSDictionary *)appConfig
|
|
91
|
+
resolve:(RCTPromiseResolveBlock)resolve
|
|
92
|
+
reject:(RCTPromiseRejectBlock)reject {
|
|
93
|
+
RNFBAppModuleInitializeApp(options, appConfig, resolve, reject);
|
|
149
94
|
}
|
|
150
95
|
|
|
151
|
-
- (void)
|
|
152
|
-
|
|
96
|
+
- (void)setAutomaticDataCollectionEnabled:(NSString *)appName enabled:(BOOL)enabled {
|
|
97
|
+
RNFBAppModuleSetAutomaticDataCollectionEnabled(appName, enabled);
|
|
153
98
|
}
|
|
154
99
|
|
|
155
|
-
- (void)
|
|
156
|
-
|
|
157
|
-
|
|
100
|
+
- (void)deleteApp:(NSString *)appName
|
|
101
|
+
resolve:(RCTPromiseResolveBlock)resolve
|
|
102
|
+
reject:(RCTPromiseRejectBlock)reject {
|
|
103
|
+
RNFBAppModuleDeleteApp(appName, resolve, reject);
|
|
158
104
|
}
|
|
159
105
|
|
|
160
|
-
#pragma mark -
|
|
161
|
-
#pragma mark Event Methods
|
|
162
|
-
|
|
163
106
|
- (void)eventsNotifyReady:(BOOL)ready {
|
|
164
|
-
|
|
107
|
+
RNFBAppModuleEventsNotifyReady(ready);
|
|
165
108
|
}
|
|
166
109
|
|
|
167
110
|
- (void)eventsGetListeners:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject {
|
|
168
|
-
resolve
|
|
111
|
+
RNFBAppModuleEventsGetListeners(resolve, reject);
|
|
169
112
|
}
|
|
170
113
|
|
|
171
114
|
- (void)eventsPing:(NSString *)eventName
|
|
172
115
|
eventBody:(NSDictionary *)eventBody
|
|
173
116
|
resolve:(RCTPromiseResolveBlock)resolve
|
|
174
117
|
reject:(RCTPromiseRejectBlock)reject {
|
|
175
|
-
|
|
176
|
-
resolve(eventBody);
|
|
118
|
+
RNFBAppModuleEventsPing(eventName, eventBody, resolve, reject);
|
|
177
119
|
}
|
|
178
120
|
|
|
179
121
|
- (void)eventsAddListener:(NSString *)eventName {
|
|
180
|
-
|
|
122
|
+
RNFBAppModuleEventsAddListener(eventName);
|
|
181
123
|
}
|
|
182
124
|
|
|
183
125
|
- (void)eventsRemoveListener:(NSString *)eventName all:(BOOL)all {
|
|
184
|
-
|
|
126
|
+
RNFBAppModuleEventsRemoveListener(eventName, all);
|
|
185
127
|
}
|
|
186
128
|
|
|
187
|
-
#pragma mark -
|
|
188
|
-
#pragma mark Events Unused
|
|
189
|
-
|
|
190
129
|
- (void)addListener:(NSString *)eventName {
|
|
191
|
-
|
|
130
|
+
RNFBAppModuleAddListener(eventName);
|
|
192
131
|
}
|
|
193
132
|
|
|
194
133
|
- (void)removeListeners:(double)count {
|
|
195
|
-
|
|
134
|
+
RNFBAppModuleRemoveListeners(count);
|
|
196
135
|
}
|
|
197
136
|
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
- (void)initializeApp:(NSDictionary *)options
|
|
202
|
-
appConfig:(NSDictionary *)appConfig
|
|
203
|
-
resolve:(RCTPromiseResolveBlock)resolve
|
|
204
|
-
reject:(RCTPromiseRejectBlock)reject {
|
|
205
|
-
RCTUnsafeExecuteOnMainQueueSync(^{
|
|
206
|
-
FIRApp *firApp;
|
|
207
|
-
NSString *appName = [appConfig valueForKey:@"name"];
|
|
208
|
-
NSString *authDomain = [options valueForKey:@"authDomain"];
|
|
209
|
-
NSString *jsAppName = (appName.length > 0) ? appName : DEFAULT_APP_DISPLAY_NAME;
|
|
210
|
-
BOOL isDefaultApp = !appName || [appName isEqualToString:DEFAULT_APP_DISPLAY_NAME];
|
|
211
|
-
|
|
212
|
-
NSString *appId = [options valueForKey:@"appId"];
|
|
213
|
-
NSString *messagingSenderId = [options valueForKey:@"messagingSenderId"];
|
|
214
|
-
FIROptions *firOptions = [[FIROptions alloc] initWithGoogleAppID:appId
|
|
215
|
-
GCMSenderID:messagingSenderId];
|
|
216
|
-
firOptions.APIKey = [options valueForKey:@"apiKey"];
|
|
217
|
-
firOptions.projectID = [options valueForKey:@"projectId"];
|
|
218
|
-
if (![[options valueForKey:@"databaseURL"] isEqual:[NSNull null]]) {
|
|
219
|
-
firOptions.databaseURL = [options valueForKey:@"databaseURL"];
|
|
220
|
-
}
|
|
221
|
-
if (![[options valueForKey:@"storageBucket"] isEqual:[NSNull null]]) {
|
|
222
|
-
firOptions.storageBucket = [options valueForKey:@"storageBucket"];
|
|
223
|
-
}
|
|
224
|
-
if (![[options valueForKey:@"iosBundleId"] isEqual:[NSNull null]]) {
|
|
225
|
-
firOptions.bundleID = [options valueForKey:@"iosBundleId"];
|
|
226
|
-
}
|
|
227
|
-
if (![[options valueForKey:@"iosClientId"] isEqual:[NSNull null]]) {
|
|
228
|
-
firOptions.clientID = [options valueForKey:@"iosClientId"];
|
|
229
|
-
}
|
|
230
|
-
if (![[options valueForKey:@"appGroupId"] isEqual:[NSNull null]]) {
|
|
231
|
-
firOptions.appGroupID = [options valueForKey:@"appGroupId"];
|
|
232
|
-
}
|
|
233
|
-
|
|
234
|
-
@try {
|
|
235
|
-
if (isDefaultApp) {
|
|
236
|
-
// Native bootstrap often already called [FIRApp configure]. Still accept a JS/bridge
|
|
237
|
-
// initializeApp for the default app so customAuthDomains can be keyed by [DEFAULT].
|
|
238
|
-
if ([FIRApp defaultApp] != nil) {
|
|
239
|
-
firApp = [FIRApp defaultApp];
|
|
240
|
-
} else {
|
|
241
|
-
[FIRApp configureWithOptions:firOptions];
|
|
242
|
-
firApp = [FIRApp defaultApp];
|
|
243
|
-
}
|
|
244
|
-
} else {
|
|
245
|
-
[FIRApp configureWithName:appName options:firOptions];
|
|
246
|
-
firApp = [FIRApp appNamed:appName];
|
|
247
|
-
}
|
|
248
|
-
} @catch (NSException *exception) {
|
|
249
|
-
return [RNFBSharedUtils rejectPromiseWithExceptionDict:reject exception:exception];
|
|
250
|
-
}
|
|
251
|
-
|
|
252
|
-
// Store under the JS bridge app name ([DEFAULT]), never native __FIRAPP_DEFAULT.
|
|
253
|
-
[RNFBAppModule setCustomDomain:authDomain forAppName:jsAppName];
|
|
254
|
-
|
|
255
|
-
firApp.dataCollectionDefaultEnabled =
|
|
256
|
-
(BOOL)[appConfig valueForKey:@"automaticDataCollectionEnabled"];
|
|
257
|
-
|
|
258
|
-
resolve([RNFBSharedUtils firAppToDictionary:firApp]);
|
|
259
|
-
});
|
|
137
|
+
- (void)metaGetAll:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject {
|
|
138
|
+
RNFBAppModuleMetaGetAll(resolve, reject);
|
|
260
139
|
}
|
|
261
140
|
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
DLog(@"authDomains: %@", customAuthDomains);
|
|
265
|
-
return customAuthDomains[appName];
|
|
266
|
-
}
|
|
141
|
+
- (void)jsonGetAll:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject {
|
|
142
|
+
RNFBAppModuleJSONGetAll(resolve, reject);
|
|
267
143
|
}
|
|
268
144
|
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
customAuthDomains = [[NSMutableDictionary alloc] init];
|
|
275
|
-
}
|
|
276
|
-
customAuthDomains[appName] = authDomain;
|
|
277
|
-
} else {
|
|
278
|
-
[customAuthDomains removeObjectForKey:appName];
|
|
279
|
-
}
|
|
280
|
-
}
|
|
145
|
+
- (void)preferencesSetBool:(NSString *)key
|
|
146
|
+
value:(BOOL)value
|
|
147
|
+
resolve:(RCTPromiseResolveBlock)resolve
|
|
148
|
+
reject:(RCTPromiseRejectBlock)reject {
|
|
149
|
+
RNFBAppModulePreferencesSetBool(key, value, resolve, reject);
|
|
281
150
|
}
|
|
282
151
|
|
|
283
|
-
- (void)
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
level = FIRLoggerLevelDebug;
|
|
289
|
-
} else if ([logLevel isEqualToString:@"info"]) {
|
|
290
|
-
level = FIRLoggerLevelInfo;
|
|
291
|
-
} else if ([logLevel isEqualToString:@"warn"]) {
|
|
292
|
-
level = FIRLoggerLevelWarning;
|
|
293
|
-
}
|
|
294
|
-
DLog(@"RNFBSetLogLevel: setting level to %d from %@.", level, logLevel);
|
|
295
|
-
[[FIRConfiguration sharedInstance] setLoggerLevel:(FIRLoggerLevel)level];
|
|
152
|
+
- (void)preferencesSetString:(NSString *)key
|
|
153
|
+
value:(NSString *)value
|
|
154
|
+
resolve:(RCTPromiseResolveBlock)resolve
|
|
155
|
+
reject:(RCTPromiseRejectBlock)reject {
|
|
156
|
+
RNFBAppModulePreferencesSetString(key, value, resolve, reject);
|
|
296
157
|
}
|
|
297
158
|
|
|
298
|
-
- (void)
|
|
299
|
-
|
|
300
|
-
if (firApp) {
|
|
301
|
-
firApp.dataCollectionDefaultEnabled = enabled;
|
|
302
|
-
}
|
|
159
|
+
- (void)preferencesGetAll:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject {
|
|
160
|
+
RNFBAppModulePreferencesGetAll(resolve, reject);
|
|
303
161
|
}
|
|
304
162
|
|
|
305
|
-
- (void)
|
|
306
|
-
|
|
307
|
-
reject:(RCTPromiseRejectBlock)reject {
|
|
308
|
-
FIRApp *firApp = [RCTConvert firAppFromString:appName];
|
|
309
|
-
if (!firApp) {
|
|
310
|
-
return resolve([NSNull null]);
|
|
311
|
-
}
|
|
312
|
-
|
|
313
|
-
[firApp deleteApp:^(BOOL success) {
|
|
314
|
-
if (success) {
|
|
315
|
-
[RNFBAppModule setCustomDomain:nil forAppName:appName];
|
|
316
|
-
resolve([NSNull null]);
|
|
317
|
-
} else {
|
|
318
|
-
[firApp deleteApp:^(BOOL success2) {
|
|
319
|
-
if (success2) {
|
|
320
|
-
[RNFBAppModule setCustomDomain:nil forAppName:appName];
|
|
321
|
-
resolve([NSNull null]);
|
|
322
|
-
} else {
|
|
323
|
-
reject(@"app/delete-app-failed", @"Failed to delete the specified app.", nil);
|
|
324
|
-
}
|
|
325
|
-
}];
|
|
326
|
-
}
|
|
327
|
-
}];
|
|
163
|
+
- (void)preferencesClearAll:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject {
|
|
164
|
+
RNFBAppModulePreferencesClearAll(resolve, reject);
|
|
328
165
|
}
|
|
329
166
|
|
|
330
|
-
|
|
331
|
-
|
|
167
|
+
- (void)setLogLevel:(NSString *)logLevel {
|
|
168
|
+
RNFBAppModuleSetLogLevel(logLevel);
|
|
332
169
|
}
|
|
333
170
|
|
|
334
171
|
@end
|