@react-native-firebase/app 26.3.3 → 27.0.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 +75 -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 +208 -60
- 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 +144 -13
- 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 -23
- package/dist/module/FirebaseApp.js +10 -0
- package/dist/module/FirebaseApp.js.map +1 -1
- package/dist/module/common/Base64.js +13 -21
- package/dist/module/common/Base64.js.map +1 -1
- package/dist/module/common/deeps.js +3 -0
- package/dist/module/common/deeps.js.map +1 -1
- package/dist/module/common/index.js +17 -9
- package/dist/module/common/index.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/asyncStorage.js +7 -11
- package/dist/module/internal/asyncStorage.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/logger.js +44 -40
- package/dist/module/internal/logger.js.map +1 -1
- package/dist/module/internal/nativeModuleAndroidIos.js +2 -29
- package/dist/module/internal/nativeModuleAndroidIos.js.map +1 -1
- package/dist/module/internal/nativeModuleDebug.js +74 -0
- package/dist/module/internal/nativeModuleDebug.js.map +1 -0
- package/dist/module/internal/nativeModuleWeb.js +9 -29
- package/dist/module/internal/nativeModuleWeb.js.map +1 -1
- package/dist/module/internal/registry/app.js +8 -2
- package/dist/module/internal/registry/app.js.map +1 -1
- package/dist/module/internal/registry/modular.js +2 -2
- package/dist/module/internal/registry/modular.js.map +1 -1
- package/dist/module/internal/registry/nativeModule.js +3 -3
- package/dist/module/internal/registry/nativeModule.js.map +1 -1
- package/dist/module/internal/web/RNFBAppModule.js +16 -15
- package/dist/module/internal/web/RNFBAppModule.js.map +1 -1
- package/dist/module/internal/web/memidb/lib/FakeEventTarget.js +3 -1
- package/dist/module/internal/web/memidb/lib/FakeEventTarget.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/Base64.d.ts.map +1 -1
- package/dist/typescript/lib/common/deeps.d.ts.map +1 -1
- package/dist/typescript/lib/common/index.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/asyncStorage.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/logger.d.ts.map +1 -1
- package/dist/typescript/lib/internal/nativeModuleAndroidIos.d.ts.map +1 -1
- package/dist/typescript/lib/internal/nativeModuleDebug.d.ts +2 -0
- package/dist/typescript/lib/internal/nativeModuleDebug.d.ts.map +1 -0
- package/dist/typescript/lib/internal/nativeModuleWeb.d.ts.map +1 -1
- package/dist/typescript/lib/internal/registry/app.d.ts.map +1 -1
- package/dist/typescript/lib/internal/web/RNFBAppModule.d.ts +7 -7
- package/dist/typescript/lib/internal/web/RNFBAppModule.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 +5 -1
- 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 +67 -204
- 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.h +73 -0
- package/ios/RNFBApp/RNFBHandleMap.m +87 -0
- 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 -197
- 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 +106 -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 +590 -0
- package/ios/RNFBAppUnitTests/RNFBAppUnitTests.xcodeproj/xcshareddata/xcschemes/RNFBAppUnitTests.xcscheme +69 -0
- package/ios/RNFBAppUnitTests/RNFBFirebaseAppClientTests.swift +165 -0
- package/ios/RNFBAppUnitTests/RNFBHandleMapStorageTests.swift +121 -0
- package/ios/RNFBAppUnitTests/RNFBHandleMapTests.m +238 -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/reactnative/java/io/invertase/firebase/app/ReactNativeFirebaseAppRegistrar.java → ios/RNFBFirebaseUnitTests/RNFBFirebaseClientImport.swift} +22 -17
- 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/Base64.ts +10 -16
- package/lib/common/deeps.ts +3 -0
- package/lib/common/index.ts +20 -9
- 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/asyncStorage.ts +7 -11
- package/lib/internal/index.ts +1 -0
- package/lib/internal/logger.ts +53 -43
- package/lib/internal/nativeModuleAndroidIos.ts +2 -40
- package/lib/internal/nativeModuleDebug.ts +97 -0
- package/lib/internal/nativeModuleWeb.ts +10 -40
- package/lib/internal/react-native-vendor-emitter.d.ts +11 -0
- package/lib/internal/registry/app.ts +8 -2
- package/lib/internal/registry/modular.ts +2 -2
- package/lib/internal/registry/nativeModule.ts +3 -3
- package/lib/internal/web/RNFBAppModule.ts +16 -15
- package/lib/internal/web/memidb/lib/FakeEventTarget.js +3 -1
- package/lib/types/app.ts +10 -3
- package/lib/types/internal.ts +19 -0
- package/lib/version.ts +1 -1
- package/package.json +9 -8
- package/plugin/build/ios/appDelegate.js +19 -9
- package/plugin/build/ios/podfile.js +16 -16
- package/plugin/build/pluginConfig.d.ts +4 -2
- package/plugin/src/ios/appDelegate.ts +45 -15
- package/plugin/src/ios/podfile.ts +20 -23
- package/plugin/src/pluginConfig.ts +4 -2
- package/android/src/main/java/io/invertase/firebase/common/TaskExecutorService.java +0 -124
- 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 -222
- 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/common/RCTConvertFirebase.java +0 -191
- 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 -107
- 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
|
@@ -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,36 +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>
|
|
37
|
+
|
|
44
38
|
@end
|
|
45
39
|
|
|
46
40
|
@implementation RNFBAppModule
|
|
47
41
|
|
|
42
|
+
- (instancetype)init {
|
|
43
|
+
if ((self = [super init])) {
|
|
44
|
+
RNFBAppModuleInitialize();
|
|
45
|
+
}
|
|
46
|
+
return self;
|
|
47
|
+
}
|
|
48
|
+
|
|
48
49
|
#pragma mark -
|
|
49
50
|
#pragma mark Module Setup
|
|
50
51
|
|
|
@@ -56,253 +57,115 @@ RCT_EXPORT_MODULE(NativeRNFBTurboApp)
|
|
|
56
57
|
}
|
|
57
58
|
|
|
58
59
|
- (void)setBridge:(RCTBridge *)bridge {
|
|
59
|
-
|
|
60
|
+
RNFBAppModuleSetBridge(bridge);
|
|
60
61
|
}
|
|
61
62
|
|
|
62
63
|
- (RCTBridge *)bridge {
|
|
63
|
-
return
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
- (id)init {
|
|
67
|
-
if (self = [super init]) {
|
|
68
|
-
#ifdef REGISTER_LIB
|
|
69
|
-
static dispatch_once_t once;
|
|
70
|
-
dispatch_once(&once, ^{
|
|
71
|
-
[FIRApp registerLibrary:@"react-native-firebase" withVersion:[RNFBVersionString copy]];
|
|
72
|
-
});
|
|
73
|
-
#endif
|
|
74
|
-
if ([[RNFBJSON shared] contains:@"app_log_level"]) {
|
|
75
|
-
NSString *logLevel = [[RNFBJSON shared] getStringValue:@"app_log_level" defaultValue:@"info"];
|
|
76
|
-
[self setLogLevel:logLevel];
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
return self;
|
|
64
|
+
return RNFBAppModuleBridge();
|
|
81
65
|
}
|
|
82
66
|
|
|
83
67
|
- (void)invalidate {
|
|
84
|
-
|
|
68
|
+
RNFBAppModuleInvalidate();
|
|
85
69
|
}
|
|
86
70
|
|
|
87
71
|
#pragma mark -
|
|
88
72
|
#pragma mark Constants
|
|
89
73
|
|
|
90
|
-
- (NSDictionary *)appConstantsDictionary {
|
|
91
|
-
NSDictionary *firApps = [FIRApp allApps];
|
|
92
|
-
NSMutableArray *appsArray = [NSMutableArray new];
|
|
93
|
-
NSMutableDictionary *constants = [NSMutableDictionary new];
|
|
94
|
-
|
|
95
|
-
for (id key in firApps) {
|
|
96
|
-
[appsArray addObject:[RNFBSharedUtils firAppToDictionary:firApps[key]]];
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
constants[@"NATIVE_FIREBASE_APPS"] = appsArray;
|
|
100
|
-
constants[@"FIREBASE_RAW_JSON"] = [[RNFBJSON shared] getRawJSON];
|
|
101
|
-
|
|
102
|
-
return constants;
|
|
103
|
-
}
|
|
104
|
-
|
|
105
74
|
- (facebook::react::ModuleConstants<JS::NativeRNFBTurboApp::Constants>)constantsToExport {
|
|
106
|
-
return [_RCTTypedModuleConstants newWithUnsafeDictionary:
|
|
75
|
+
return [_RCTTypedModuleConstants newWithUnsafeDictionary:RNFBAppModuleConstantsDictionary()];
|
|
107
76
|
}
|
|
108
77
|
|
|
109
78
|
- (facebook::react::ModuleConstants<JS::NativeRNFBTurboApp::Constants>)getConstants {
|
|
110
|
-
return [
|
|
79
|
+
return [_RCTTypedModuleConstants newWithUnsafeDictionary:RNFBAppModuleConstantsDictionary()];
|
|
111
80
|
}
|
|
112
81
|
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
- (void)metaGetAll:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject {
|
|
117
|
-
resolve([RNFBMeta getAll]);
|
|
118
|
-
}
|
|
119
|
-
|
|
120
|
-
#pragma mark -
|
|
121
|
-
#pragma mark JSON Methods
|
|
122
|
-
|
|
123
|
-
- (void)jsonGetAll:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject {
|
|
124
|
-
resolve([[RNFBJSON shared] getAll]);
|
|
82
|
+
+ (BOOL)requiresMainQueueSetup {
|
|
83
|
+
return NO;
|
|
125
84
|
}
|
|
126
85
|
|
|
127
86
|
#pragma mark -
|
|
128
|
-
#pragma mark
|
|
129
|
-
|
|
130
|
-
- (void)preferencesSetBool:(NSString *)key
|
|
131
|
-
value:(BOOL)value
|
|
132
|
-
resolve:(RCTPromiseResolveBlock)resolve
|
|
133
|
-
reject:(RCTPromiseRejectBlock)reject {
|
|
134
|
-
[[RNFBPreferences shared] setBooleanValue:key boolValue:value];
|
|
135
|
-
resolve([NSNull null]);
|
|
136
|
-
}
|
|
87
|
+
#pragma mark Methods
|
|
137
88
|
|
|
138
|
-
- (void)
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
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);
|
|
144
94
|
}
|
|
145
95
|
|
|
146
|
-
- (void)
|
|
147
|
-
|
|
96
|
+
- (void)setAutomaticDataCollectionEnabled:(NSString *)appName enabled:(BOOL)enabled {
|
|
97
|
+
RNFBAppModuleSetAutomaticDataCollectionEnabled(appName, enabled);
|
|
148
98
|
}
|
|
149
99
|
|
|
150
|
-
- (void)
|
|
151
|
-
|
|
152
|
-
|
|
100
|
+
- (void)deleteApp:(NSString *)appName
|
|
101
|
+
resolve:(RCTPromiseResolveBlock)resolve
|
|
102
|
+
reject:(RCTPromiseRejectBlock)reject {
|
|
103
|
+
RNFBAppModuleDeleteApp(appName, resolve, reject);
|
|
153
104
|
}
|
|
154
105
|
|
|
155
|
-
#pragma mark -
|
|
156
|
-
#pragma mark Event Methods
|
|
157
|
-
|
|
158
106
|
- (void)eventsNotifyReady:(BOOL)ready {
|
|
159
|
-
|
|
107
|
+
RNFBAppModuleEventsNotifyReady(ready);
|
|
160
108
|
}
|
|
161
109
|
|
|
162
110
|
- (void)eventsGetListeners:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject {
|
|
163
|
-
resolve
|
|
111
|
+
RNFBAppModuleEventsGetListeners(resolve, reject);
|
|
164
112
|
}
|
|
165
113
|
|
|
166
114
|
- (void)eventsPing:(NSString *)eventName
|
|
167
115
|
eventBody:(NSDictionary *)eventBody
|
|
168
116
|
resolve:(RCTPromiseResolveBlock)resolve
|
|
169
117
|
reject:(RCTPromiseRejectBlock)reject {
|
|
170
|
-
|
|
171
|
-
resolve(eventBody);
|
|
118
|
+
RNFBAppModuleEventsPing(eventName, eventBody, resolve, reject);
|
|
172
119
|
}
|
|
173
120
|
|
|
174
121
|
- (void)eventsAddListener:(NSString *)eventName {
|
|
175
|
-
|
|
122
|
+
RNFBAppModuleEventsAddListener(eventName);
|
|
176
123
|
}
|
|
177
124
|
|
|
178
125
|
- (void)eventsRemoveListener:(NSString *)eventName all:(BOOL)all {
|
|
179
|
-
|
|
126
|
+
RNFBAppModuleEventsRemoveListener(eventName, all);
|
|
180
127
|
}
|
|
181
128
|
|
|
182
|
-
#pragma mark -
|
|
183
|
-
#pragma mark Events Unused
|
|
184
|
-
|
|
185
129
|
- (void)addListener:(NSString *)eventName {
|
|
186
|
-
|
|
130
|
+
RNFBAppModuleAddListener(eventName);
|
|
187
131
|
}
|
|
188
132
|
|
|
189
133
|
- (void)removeListeners:(double)count {
|
|
190
|
-
|
|
134
|
+
RNFBAppModuleRemoveListeners(count);
|
|
191
135
|
}
|
|
192
136
|
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
- (void)initializeApp:(NSDictionary *)options
|
|
197
|
-
appConfig:(NSDictionary *)appConfig
|
|
198
|
-
resolve:(RCTPromiseResolveBlock)resolve
|
|
199
|
-
reject:(RCTPromiseRejectBlock)reject {
|
|
200
|
-
RCTUnsafeExecuteOnMainQueueSync(^{
|
|
201
|
-
FIRApp *firApp;
|
|
202
|
-
NSString *appName = [appConfig valueForKey:@"name"];
|
|
203
|
-
|
|
204
|
-
NSString *appId = [options valueForKey:@"appId"];
|
|
205
|
-
NSString *messagingSenderId = [options valueForKey:@"messagingSenderId"];
|
|
206
|
-
FIROptions *firOptions = [[FIROptions alloc] initWithGoogleAppID:appId
|
|
207
|
-
GCMSenderID:messagingSenderId];
|
|
208
|
-
firOptions.APIKey = [options valueForKey:@"apiKey"];
|
|
209
|
-
firOptions.projectID = [options valueForKey:@"projectId"];
|
|
210
|
-
if (![[options valueForKey:@"databaseURL"] isEqual:[NSNull null]]) {
|
|
211
|
-
firOptions.databaseURL = [options valueForKey:@"databaseURL"];
|
|
212
|
-
}
|
|
213
|
-
if (![[options valueForKey:@"storageBucket"] isEqual:[NSNull null]]) {
|
|
214
|
-
firOptions.storageBucket = [options valueForKey:@"storageBucket"];
|
|
215
|
-
}
|
|
216
|
-
if (![[options valueForKey:@"iosBundleId"] isEqual:[NSNull null]]) {
|
|
217
|
-
firOptions.bundleID = [options valueForKey:@"iosBundleId"];
|
|
218
|
-
}
|
|
219
|
-
if (![[options valueForKey:@"iosClientId"] isEqual:[NSNull null]]) {
|
|
220
|
-
firOptions.clientID = [options valueForKey:@"iosClientId"];
|
|
221
|
-
}
|
|
222
|
-
if (![[options valueForKey:@"appGroupId"] isEqual:[NSNull null]]) {
|
|
223
|
-
firOptions.appGroupID = [options valueForKey:@"appGroupId"];
|
|
224
|
-
}
|
|
225
|
-
|
|
226
|
-
if ([options valueForKey:@"authDomain"] != nil) {
|
|
227
|
-
DLog(@"RNFBAuth app: %@ customAuthDomain: %@", appName, [options valueForKey:@"authDomain"]);
|
|
228
|
-
if (customAuthDomains == nil) {
|
|
229
|
-
customAuthDomains = [[NSMutableDictionary alloc] init];
|
|
230
|
-
}
|
|
231
|
-
customAuthDomains[appName] = [options valueForKey:@"authDomain"];
|
|
232
|
-
}
|
|
233
|
-
@try {
|
|
234
|
-
if (!appName || [appName isEqualToString:DEFAULT_APP_DISPLAY_NAME]) {
|
|
235
|
-
[FIRApp configureWithOptions:firOptions];
|
|
236
|
-
firApp = [FIRApp defaultApp];
|
|
237
|
-
} else {
|
|
238
|
-
[FIRApp configureWithName:appName options:firOptions];
|
|
239
|
-
firApp = [FIRApp appNamed:appName];
|
|
240
|
-
}
|
|
241
|
-
} @catch (NSException *exception) {
|
|
242
|
-
return [RNFBSharedUtils rejectPromiseWithExceptionDict:reject exception:exception];
|
|
243
|
-
}
|
|
244
|
-
|
|
245
|
-
firApp.dataCollectionDefaultEnabled =
|
|
246
|
-
(BOOL)[appConfig valueForKey:@"automaticDataCollectionEnabled"];
|
|
247
|
-
|
|
248
|
-
resolve([RNFBSharedUtils firAppToDictionary:firApp]);
|
|
249
|
-
});
|
|
137
|
+
- (void)metaGetAll:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject {
|
|
138
|
+
RNFBAppModuleMetaGetAll(resolve, reject);
|
|
250
139
|
}
|
|
251
140
|
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
+ (NSString *)getCustomDomain:(NSString *)appName {
|
|
255
|
-
DLog(@"authDomains: %@", customAuthDomains);
|
|
256
|
-
return customAuthDomains[appName];
|
|
141
|
+
- (void)jsonGetAll:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject {
|
|
142
|
+
RNFBAppModuleJSONGetAll(resolve, reject);
|
|
257
143
|
}
|
|
258
144
|
|
|
259
|
-
- (void)
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
level = FIRLoggerLevelDebug;
|
|
265
|
-
} else if ([logLevel isEqualToString:@"info"]) {
|
|
266
|
-
level = FIRLoggerLevelInfo;
|
|
267
|
-
} else if ([logLevel isEqualToString:@"warn"]) {
|
|
268
|
-
level = FIRLoggerLevelWarning;
|
|
269
|
-
}
|
|
270
|
-
DLog(@"RNFBSetLogLevel: setting level to %d from %@.", level, logLevel);
|
|
271
|
-
[[FIRConfiguration sharedInstance] setLoggerLevel:(FIRLoggerLevel)level];
|
|
145
|
+
- (void)preferencesSetBool:(NSString *)key
|
|
146
|
+
value:(BOOL)value
|
|
147
|
+
resolve:(RCTPromiseResolveBlock)resolve
|
|
148
|
+
reject:(RCTPromiseRejectBlock)reject {
|
|
149
|
+
RNFBAppModulePreferencesSetBool(key, value, resolve, reject);
|
|
272
150
|
}
|
|
273
151
|
|
|
274
|
-
- (void)
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
152
|
+
- (void)preferencesSetString:(NSString *)key
|
|
153
|
+
value:(NSString *)value
|
|
154
|
+
resolve:(RCTPromiseResolveBlock)resolve
|
|
155
|
+
reject:(RCTPromiseRejectBlock)reject {
|
|
156
|
+
RNFBAppModulePreferencesSetString(key, value, resolve, reject);
|
|
279
157
|
}
|
|
280
158
|
|
|
281
|
-
- (void)
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
FIRApp *firApp = [RCTConvert firAppFromString:appName];
|
|
285
|
-
if (!firApp) {
|
|
286
|
-
return resolve([NSNull null]);
|
|
287
|
-
}
|
|
159
|
+
- (void)preferencesGetAll:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject {
|
|
160
|
+
RNFBAppModulePreferencesGetAll(resolve, reject);
|
|
161
|
+
}
|
|
288
162
|
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
resolve([NSNull null]);
|
|
292
|
-
} else {
|
|
293
|
-
[firApp deleteApp:^(BOOL success2) {
|
|
294
|
-
if (success2) {
|
|
295
|
-
resolve([NSNull null]);
|
|
296
|
-
} else {
|
|
297
|
-
reject(@"app/delete-app-failed", @"Failed to delete the specified app.", nil);
|
|
298
|
-
}
|
|
299
|
-
}];
|
|
300
|
-
}
|
|
301
|
-
}];
|
|
163
|
+
- (void)preferencesClearAll:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject {
|
|
164
|
+
RNFBAppModulePreferencesClearAll(resolve, reject);
|
|
302
165
|
}
|
|
303
166
|
|
|
304
|
-
|
|
305
|
-
|
|
167
|
+
- (void)setLogLevel:(NSString *)logLevel {
|
|
168
|
+
RNFBAppModuleSetLogLevel(logLevel);
|
|
306
169
|
}
|
|
307
170
|
|
|
308
171
|
@end
|