@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,73 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
/*
|
|
4
|
+
* Copyright (c) 2016-present Invertase Limited & Contributors
|
|
5
|
+
*
|
|
6
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
7
|
+
* you may not use this library except in compliance with the License.
|
|
8
|
+
* You may obtain a copy of the License at
|
|
9
|
+
*
|
|
10
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
11
|
+
*
|
|
12
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
13
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
14
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
15
|
+
* See the License for the specific language governing permissions and
|
|
16
|
+
* limitations under the License.
|
|
17
|
+
*
|
|
18
|
+
*/
|
|
19
|
+
|
|
20
|
+
import { DEFAULT_APP_NAME } from "../constants.js";
|
|
21
|
+
import { addOnAppDestroy, getApp } from "./app.js";
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* Constructor signature shared by every {@link FirebaseModule} subclass.
|
|
25
|
+
*/
|
|
26
|
+
|
|
27
|
+
// app.name -> instanceKey -> module instance
|
|
28
|
+
const MODULAR_INSTANCES = {};
|
|
29
|
+
let destroyHookRegistered = false;
|
|
30
|
+
function ensureDestroyHook() {
|
|
31
|
+
if (destroyHookRegistered) {
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
destroyHookRegistered = true;
|
|
35
|
+
addOnAppDestroy(app => {
|
|
36
|
+
delete MODULAR_INSTANCES[app.name];
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* Builds (and memoises per app) a Firebase service instance for the modular API.
|
|
42
|
+
*
|
|
43
|
+
* Each module's `index.ts` defines its own `ModuleClass` and `ModuleConfig` and calls this from
|
|
44
|
+
* `getX(app?)`.
|
|
45
|
+
*
|
|
46
|
+
* @param ModuleClass - The module's `FirebaseModule` subclass.
|
|
47
|
+
* @param config - Static `ModuleConfig` for the module (namespace, native module name, support flags).
|
|
48
|
+
* @param app - The `FirebaseApp` to use; defaults to the default app.
|
|
49
|
+
* @param customUrlOrRegion - Optional URL/region/databaseId for modules that support it.
|
|
50
|
+
* @returns The memoised module instance for that app + key.
|
|
51
|
+
*/
|
|
52
|
+
export function getOrCreateModularInstance(ModuleClass, config, app, customUrlOrRegion) {
|
|
53
|
+
ensureDestroyHook();
|
|
54
|
+
const _app = getApp(app?.name);
|
|
55
|
+
const {
|
|
56
|
+
namespace,
|
|
57
|
+
hasMultiAppSupport
|
|
58
|
+
} = config;
|
|
59
|
+
|
|
60
|
+
// Modules such as analytics only run on the default app.
|
|
61
|
+
if (!hasMultiAppSupport && _app.name !== DEFAULT_APP_NAME) {
|
|
62
|
+
throw new Error([`You attempted to call "${namespace}" with a secondary Firebase App but; ${namespace} does not support multiple Firebase Apps.`, '', `Ensure you access ${namespace} from the default application only.`].join('\r\n'));
|
|
63
|
+
}
|
|
64
|
+
const key = customUrlOrRegion ? `${customUrlOrRegion}:${namespace}` : namespace;
|
|
65
|
+
if (!MODULAR_INSTANCES[_app.name]) {
|
|
66
|
+
MODULAR_INSTANCES[_app.name] = {};
|
|
67
|
+
}
|
|
68
|
+
if (!MODULAR_INSTANCES[_app.name][key]) {
|
|
69
|
+
MODULAR_INSTANCES[_app.name][key] = new ModuleClass(_app, Object.assign({}, config), customUrlOrRegion);
|
|
70
|
+
}
|
|
71
|
+
return MODULAR_INSTANCES[_app.name][key];
|
|
72
|
+
}
|
|
73
|
+
//# sourceMappingURL=modular.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["DEFAULT_APP_NAME","addOnAppDestroy","getApp","MODULAR_INSTANCES","destroyHookRegistered","ensureDestroyHook","app","name","getOrCreateModularInstance","ModuleClass","config","customUrlOrRegion","_app","namespace","hasMultiAppSupport","Error","join","key","Object","assign"],"sourceRoot":"../../../../lib","sources":["internal/registry/modular.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASA,gBAAgB,QAAQ,iBAAc;AAI/C,SAASC,eAAe,EAAEC,MAAM,QAAQ,UAAO;;AAE/C;AACA;AACA;;AAOA;AACA,MAAMC,iBAAiE,GAAG,CAAC,CAAC;AAE5E,IAAIC,qBAAqB,GAAG,KAAK;AACjC,SAASC,iBAAiBA,CAAA,EAAS;EACjC,IAAID,qBAAqB,EAAE;IACzB;EACF;EACAA,qBAAqB,GAAG,IAAI;EAC5BH,eAAe,CAACK,GAAG,IAAI;IACrB,OAAOH,iBAAiB,CAACG,GAAG,CAACC,IAAI,CAAC;EACpC,CAAC,CAAC;AACJ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,0BAA0BA,CACxCC,WAAkC,EAClCC,MAAoB,EACpBJ,GAAqC,EACrCK,iBAAiC,EAC9B;EACHN,iBAAiB,CAAC,CAAC;EAEnB,MAAMO,IAAI,GAAGV,MAAM,CAACI,GAAG,EAAEC,IAAI,CAAC;EAE9B,MAAM;IAAEM,SAAS;IAAEC;EAAmB,CAAC,GAAGJ,MAAM;;EAEhD;EACA,IAAI,CAACI,kBAAkB,IAAIF,IAAI,CAACL,IAAI,KAAKP,gBAAgB,EAAE;IACzD,MAAM,IAAIe,KAAK,CACb,CACE,0BAA0BF,SAAS,wCAAwCA,SAAS,2CAA2C,EAC/H,EAAE,EACF,qBAAqBA,SAAS,qCAAqC,CACpE,CAACG,IAAI,CAAC,MAAM,CACf,CAAC;EACH;EAEA,MAAMC,GAAG,GAAGN,iBAAiB,GAAG,GAAGA,iBAAiB,IAAIE,SAAS,EAAE,GAAGA,SAAS;EAE/E,IAAI,CAACV,iBAAiB,CAACS,IAAI,CAACL,IAAI,CAAC,EAAE;IACjCJ,iBAAiB,CAACS,IAAI,CAACL,IAAI,CAAC,GAAG,CAAC,CAAC;EACnC;EAEA,IAAI,CAACJ,iBAAiB,CAACS,IAAI,CAACL,IAAI,CAAC,CAAEU,GAAG,CAAC,EAAE;IACvCd,iBAAiB,CAACS,IAAI,CAACL,IAAI,CAAC,CAAEU,GAAG,CAAC,GAAG,IAAIR,WAAW,CAClDG,IAAI,EACJM,MAAM,CAACC,MAAM,CAAC,CAAC,CAAC,EAAET,MAAM,CAAC,EACzBC,iBACF,CAAC;EACH;EAEA,OAAOR,iBAAiB,CAACS,IAAI,CAACL,IAAI,CAAC,CAAEU,GAAG,CAAC;AAC3C","ignoreList":[]}
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
* limitations under the License.
|
|
17
17
|
*
|
|
18
18
|
*/
|
|
19
|
-
import { APP_NATIVE_MODULE } from "../constants.js";
|
|
19
|
+
import { APP_NATIVE_MODULE, UTILS_NATIVE_MODULE } from "../constants.js";
|
|
20
20
|
import NativeFirebaseError from "../NativeFirebaseError.js";
|
|
21
21
|
import RNFBNativeEventEmitter from "../RNFBNativeEventEmitter.js";
|
|
22
22
|
import SharedEventEmitter from "../SharedEventEmitter.js";
|
|
@@ -25,6 +25,7 @@ import { isAndroid, isIOS } from "../../common/index.js";
|
|
|
25
25
|
import { encodeNullValues } from "../nullSerialization.js";
|
|
26
26
|
const NATIVE_MODULE_REGISTRY = {};
|
|
27
27
|
const NATIVE_MODULE_EVENT_SUBSCRIPTIONS = {};
|
|
28
|
+
let staticUtilsModule = null;
|
|
28
29
|
function nativeModuleKey(module) {
|
|
29
30
|
return `${module._customUrlOrRegion || ''}:${module.app.name}:${module._config.namespace}`;
|
|
30
31
|
}
|
|
@@ -32,17 +33,10 @@ function nativeModuleKey(module) {
|
|
|
32
33
|
/**
|
|
33
34
|
* Wraps a native module method to provide
|
|
34
35
|
* auto prepended args and custom Error classes.
|
|
35
|
-
*
|
|
36
|
-
* @param namespace
|
|
37
|
-
* @param method
|
|
38
|
-
* @param argToPrepend
|
|
39
|
-
* @returns {Function}
|
|
40
36
|
*/
|
|
41
37
|
function nativeModuleMethodWrapped(namespace, method, argToPrepend, isTurboModule) {
|
|
42
38
|
return (...args) => {
|
|
43
|
-
//
|
|
44
|
-
// the limitation where null values in object properties get stripped during serialization
|
|
45
|
-
// See: https://github.com/facebook/react-native/issues/52802
|
|
39
|
+
// Per-call encodeNullValues walk is intentional: args may differ on every invocation.
|
|
46
40
|
const processedArgs = isIOS && isTurboModule ? args.map(arg => encodeNullValues(arg)) : args;
|
|
47
41
|
const allArgs = [...argToPrepend, ...processedArgs];
|
|
48
42
|
const possiblePromise = method(...allArgs);
|
|
@@ -55,37 +49,89 @@ function nativeModuleMethodWrapped(namespace, method, argToPrepend, isTurboModul
|
|
|
55
49
|
}
|
|
56
50
|
|
|
57
51
|
/**
|
|
58
|
-
*
|
|
59
|
-
*
|
|
60
|
-
* @param namespace
|
|
61
|
-
* @param NativeModule - Raw native module from React Native
|
|
62
|
-
* @param argToPrepend
|
|
52
|
+
* NewArch-AD-14 / NewArch-AD-14a: routing composite Proxy — lazy wrap+bind on first access per method.
|
|
63
53
|
*/
|
|
64
|
-
function
|
|
65
|
-
const
|
|
66
|
-
|
|
67
|
-
|
|
54
|
+
function createRoutingCompositeProxy(namespace, hosts, isTurboModule) {
|
|
55
|
+
const routingMap = {};
|
|
56
|
+
const memoizedMethods = {};
|
|
57
|
+
const memoizedConstants = {};
|
|
58
|
+
for (const {
|
|
59
|
+
module,
|
|
60
|
+
argToPrepend
|
|
61
|
+
} of hosts) {
|
|
62
|
+
if (!module) {
|
|
63
|
+
continue;
|
|
64
|
+
}
|
|
65
|
+
for (const key in module) {
|
|
66
|
+
if (key === 'constructor' || key === 'getConstants') {
|
|
67
|
+
continue;
|
|
68
|
+
}
|
|
69
|
+
routingMap[key] = {
|
|
70
|
+
host: module,
|
|
71
|
+
key,
|
|
72
|
+
argToPrepend
|
|
73
|
+
};
|
|
74
|
+
}
|
|
68
75
|
}
|
|
69
|
-
const
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
76
|
+
const target = Object.create(null);
|
|
77
|
+
return new Proxy(target, {
|
|
78
|
+
get(_target, name) {
|
|
79
|
+
if (typeof name !== 'string' || !(name in routingMap)) {
|
|
80
|
+
return undefined;
|
|
81
|
+
}
|
|
82
|
+
const route = routingMap[name];
|
|
83
|
+
if (!route) {
|
|
84
|
+
return undefined;
|
|
85
|
+
}
|
|
86
|
+
const value = route.host[route.key];
|
|
87
|
+
if (typeof value !== 'function') {
|
|
88
|
+
if (!(name in memoizedConstants)) {
|
|
89
|
+
memoizedConstants[name] = value;
|
|
90
|
+
}
|
|
91
|
+
return memoizedConstants[name];
|
|
92
|
+
}
|
|
93
|
+
if (!memoizedMethods[name]) {
|
|
94
|
+
memoizedMethods[name] = nativeModuleMethodWrapped(namespace, value.bind(route.host), route.argToPrepend, isTurboModule);
|
|
95
|
+
}
|
|
96
|
+
return memoizedMethods[name];
|
|
97
|
+
},
|
|
98
|
+
has(_target, name) {
|
|
99
|
+
return typeof name === 'string' && name in routingMap;
|
|
100
|
+
},
|
|
101
|
+
ownKeys() {
|
|
102
|
+
return Object.keys(routingMap);
|
|
103
|
+
},
|
|
104
|
+
getOwnPropertyDescriptor(_target, name) {
|
|
105
|
+
if (typeof name !== 'string' || !(name in routingMap)) {
|
|
106
|
+
return undefined;
|
|
107
|
+
}
|
|
108
|
+
return {
|
|
109
|
+
enumerable: true,
|
|
110
|
+
configurable: true
|
|
111
|
+
};
|
|
112
|
+
},
|
|
113
|
+
set() {
|
|
114
|
+
return false;
|
|
79
115
|
}
|
|
116
|
+
});
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
/**
|
|
120
|
+
* NewArch-AD-14a N=1: single-host routing composite (TurboModule by default).
|
|
121
|
+
*/
|
|
122
|
+
function createSingleHostComposite(namespace, moduleName, argToPrepend = [], isTurboModule = true) {
|
|
123
|
+
const nativeModule = getReactNativeModule(moduleName);
|
|
124
|
+
if (!nativeModule) {
|
|
125
|
+
throw new Error(getMissingModuleHelpText(namespace));
|
|
80
126
|
}
|
|
81
|
-
return
|
|
127
|
+
return createRoutingCompositeProxy(namespace, [{
|
|
128
|
+
module: nativeModule,
|
|
129
|
+
argToPrepend
|
|
130
|
+
}], isTurboModule);
|
|
82
131
|
}
|
|
83
132
|
|
|
84
133
|
/**
|
|
85
134
|
* Initialises and wraps all the native module methods.
|
|
86
|
-
*
|
|
87
|
-
* @param module
|
|
88
|
-
* @returns {*}
|
|
89
135
|
*/
|
|
90
136
|
function initialiseNativeModule(module) {
|
|
91
137
|
const config = module._config;
|
|
@@ -99,31 +145,37 @@ function initialiseNativeModule(module) {
|
|
|
99
145
|
disablePrependCustomUrlOrRegion,
|
|
100
146
|
turboModule
|
|
101
147
|
} = config;
|
|
102
|
-
const multiModuleRoot = {};
|
|
103
148
|
const isTurboModule = !!turboModule;
|
|
104
149
|
const multiModule = Array.isArray(nativeModuleName);
|
|
105
150
|
const nativeModuleNames = multiModule ? nativeModuleName : [nativeModuleName];
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
151
|
+
const argToPrepend = [];
|
|
152
|
+
if (hasMultiAppSupport) {
|
|
153
|
+
argToPrepend.push(module.app.name);
|
|
154
|
+
}
|
|
155
|
+
if (hasCustomUrlOrRegionSupport && !disablePrependCustomUrlOrRegion) {
|
|
156
|
+
argToPrepend.push(module._customUrlOrRegion);
|
|
157
|
+
}
|
|
158
|
+
let composite;
|
|
159
|
+
if (!multiModule) {
|
|
160
|
+
const moduleName = nativeModuleNames[0];
|
|
161
|
+
if (!moduleName) {
|
|
114
162
|
throw new Error(getMissingModuleHelpText(namespace));
|
|
115
163
|
}
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
164
|
+
composite = createSingleHostComposite(namespace, moduleName, argToPrepend, isTurboModule);
|
|
165
|
+
} else {
|
|
166
|
+
const hosts = [];
|
|
167
|
+
for (let i = 0; i < nativeModuleNames.length; i++) {
|
|
168
|
+
const moduleName = nativeModuleNames[i];
|
|
169
|
+
if (!moduleName) continue;
|
|
170
|
+
const nativeModule = getReactNativeModule(moduleName);
|
|
171
|
+
if (nativeModule) {
|
|
172
|
+
hosts.push({
|
|
173
|
+
module: nativeModule,
|
|
174
|
+
argToPrepend
|
|
175
|
+
});
|
|
176
|
+
}
|
|
125
177
|
}
|
|
126
|
-
|
|
178
|
+
composite = createRoutingCompositeProxy(namespace, hosts, isTurboModule);
|
|
127
179
|
}
|
|
128
180
|
if (nativeEvents && Array.isArray(nativeEvents) && nativeEvents.length) {
|
|
129
181
|
for (let i = 0, len = nativeEvents.length; i < len; i++) {
|
|
@@ -133,45 +185,24 @@ function initialiseNativeModule(module) {
|
|
|
133
185
|
}
|
|
134
186
|
}
|
|
135
187
|
}
|
|
136
|
-
|
|
137
|
-
NATIVE_MODULE_REGISTRY[key] = multiModuleRoot;
|
|
188
|
+
NATIVE_MODULE_REGISTRY[key] = composite;
|
|
138
189
|
return NATIVE_MODULE_REGISTRY[key];
|
|
139
190
|
}
|
|
140
|
-
|
|
141
|
-
/**
|
|
142
|
-
* Subscribe to a native event for js side distribution by appName
|
|
143
|
-
* React Native events are hard set at compile - cant do dynamic event names
|
|
144
|
-
* so we use a single event send it to js and js then internally can prefix it
|
|
145
|
-
* and distribute dynamically.
|
|
146
|
-
*
|
|
147
|
-
* @param eventName
|
|
148
|
-
* @private
|
|
149
|
-
*/
|
|
150
191
|
function subscribeToNativeModuleEvent(eventName) {
|
|
151
192
|
if (!NATIVE_MODULE_EVENT_SUBSCRIPTIONS[eventName]) {
|
|
152
193
|
RNFBNativeEventEmitter.addListener(eventName, (...args) => {
|
|
153
194
|
const event = args[0];
|
|
154
195
|
if (event.appName && event.databaseId) {
|
|
155
|
-
// Firestore requires both appName and databaseId to prefix
|
|
156
196
|
SharedEventEmitter.emit(`${event.appName}-${event.databaseId}-${eventName}`, event);
|
|
157
197
|
} else if (event.appName) {
|
|
158
|
-
// native event has an appName property - auto prefix and internally emit
|
|
159
198
|
SharedEventEmitter.emit(`${event.appName}-${eventName}`, event);
|
|
160
199
|
} else {
|
|
161
|
-
// standard event - no need to prefix
|
|
162
200
|
SharedEventEmitter.emit(eventName, event);
|
|
163
201
|
}
|
|
164
202
|
});
|
|
165
203
|
NATIVE_MODULE_EVENT_SUBSCRIPTIONS[eventName] = true;
|
|
166
204
|
}
|
|
167
205
|
}
|
|
168
|
-
|
|
169
|
-
/**
|
|
170
|
-
* Help text for integrating the native counter parts for each firebase module.
|
|
171
|
-
*
|
|
172
|
-
* @param namespace
|
|
173
|
-
* @returns {string}
|
|
174
|
-
*/
|
|
175
206
|
function getMissingModuleHelpText(namespace) {
|
|
176
207
|
const snippet = `firebase.${namespace}()`;
|
|
177
208
|
if (isIOS || isAndroid) {
|
|
@@ -179,14 +210,6 @@ function getMissingModuleHelpText(namespace) {
|
|
|
179
210
|
}
|
|
180
211
|
return `You attempted to use a Firebase module that's not installed on your project by calling ${snippet}.` + `\r\n\r\nEnsure you have installed the npm package '@react-native-firebase/${namespace}' and` + ' have imported it in your project.';
|
|
181
212
|
}
|
|
182
|
-
|
|
183
|
-
/**
|
|
184
|
-
* Gets a wrapped native module instance for the provided firebase module.
|
|
185
|
-
* Will attempt to create a new instance if non previously created.
|
|
186
|
-
*
|
|
187
|
-
* @param module
|
|
188
|
-
* @returns {*}
|
|
189
|
-
*/
|
|
190
213
|
export function getNativeModule(module) {
|
|
191
214
|
const key = nativeModuleKey(module);
|
|
192
215
|
if (NATIVE_MODULE_REGISTRY[key]) {
|
|
@@ -194,24 +217,22 @@ export function getNativeModule(module) {
|
|
|
194
217
|
}
|
|
195
218
|
return initialiseNativeModule(module);
|
|
196
219
|
}
|
|
197
|
-
|
|
198
|
-
/**
|
|
199
|
-
* Custom wrapped app module as it does not have it's own FirebaseModule based class.
|
|
200
|
-
*
|
|
201
|
-
* @returns {*}
|
|
202
|
-
*/
|
|
203
220
|
export function getAppModule() {
|
|
204
221
|
if (NATIVE_MODULE_REGISTRY[APP_NATIVE_MODULE]) {
|
|
205
222
|
return NATIVE_MODULE_REGISTRY[APP_NATIVE_MODULE];
|
|
206
223
|
}
|
|
207
|
-
|
|
208
|
-
const nativeModule = getReactNativeModule(APP_NATIVE_MODULE);
|
|
209
|
-
if (!nativeModule) {
|
|
210
|
-
throw new Error(getMissingModuleHelpText(namespace));
|
|
211
|
-
}
|
|
212
|
-
NATIVE_MODULE_REGISTRY[APP_NATIVE_MODULE] = nativeModuleWrapped(namespace, nativeModule, [],
|
|
213
|
-
// TODO: change to true when we use TurboModules for app package
|
|
214
|
-
false);
|
|
224
|
+
NATIVE_MODULE_REGISTRY[APP_NATIVE_MODULE] = createSingleHostComposite('app', APP_NATIVE_MODULE);
|
|
215
225
|
return NATIVE_MODULE_REGISTRY[APP_NATIVE_MODULE];
|
|
216
226
|
}
|
|
227
|
+
|
|
228
|
+
/**
|
|
229
|
+
* Memoized wrapped utils surface for static path-constant reads (NewArch-AD-18 E5).
|
|
230
|
+
*/
|
|
231
|
+
export function getStaticUtilsModule() {
|
|
232
|
+
if (staticUtilsModule) {
|
|
233
|
+
return staticUtilsModule;
|
|
234
|
+
}
|
|
235
|
+
staticUtilsModule = createSingleHostComposite('utils', UTILS_NATIVE_MODULE);
|
|
236
|
+
return staticUtilsModule;
|
|
237
|
+
}
|
|
217
238
|
//# sourceMappingURL=nativeModule.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["APP_NATIVE_MODULE","NativeFirebaseError","RNFBNativeEventEmitter","SharedEventEmitter","getReactNativeModule","isAndroid","isIOS","encodeNullValues","NATIVE_MODULE_REGISTRY","NATIVE_MODULE_EVENT_SUBSCRIPTIONS","nativeModuleKey","module","_customUrlOrRegion","app","name","_config","namespace","nativeModuleMethodWrapped","method","argToPrepend","isTurboModule","args","processedArgs","map","arg","allArgs","possiblePromise","jsStack","Error","stack","catch","nativeError","Promise","reject","
|
|
1
|
+
{"version":3,"names":["APP_NATIVE_MODULE","UTILS_NATIVE_MODULE","NativeFirebaseError","RNFBNativeEventEmitter","SharedEventEmitter","getReactNativeModule","isAndroid","isIOS","encodeNullValues","NATIVE_MODULE_REGISTRY","NATIVE_MODULE_EVENT_SUBSCRIPTIONS","staticUtilsModule","nativeModuleKey","module","_customUrlOrRegion","app","name","_config","namespace","nativeModuleMethodWrapped","method","argToPrepend","isTurboModule","args","processedArgs","map","arg","allArgs","possiblePromise","jsStack","Error","stack","catch","nativeError","Promise","reject","createRoutingCompositeProxy","hosts","routingMap","memoizedMethods","memoizedConstants","key","host","target","Object","create","Proxy","get","_target","undefined","route","value","bind","has","ownKeys","keys","getOwnPropertyDescriptor","enumerable","configurable","set","createSingleHostComposite","moduleName","nativeModule","getMissingModuleHelpText","initialiseNativeModule","config","nativeEvents","nativeModuleName","hasMultiAppSupport","hasCustomUrlOrRegionSupport","disablePrependCustomUrlOrRegion","turboModule","multiModule","Array","isArray","nativeModuleNames","push","composite","i","length","len","eventName","subscribeToNativeModuleEvent","addListener","event","appName","databaseId","emit","snippet","getNativeModule","getAppModule","getStaticUtilsModule"],"sourceRoot":"../../../../lib","sources":["internal/registry/nativeModule.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -47,7 +47,12 @@ function eventsSendEvent(eventName, eventBody) {
|
|
|
47
47
|
queuedEvents.push(event);
|
|
48
48
|
return;
|
|
49
49
|
}
|
|
50
|
-
|
|
50
|
+
const emit = () => DeviceEventEmitter.emit('rnfb_' + eventName, eventBody);
|
|
51
|
+
if (typeof setImmediate === 'function') {
|
|
52
|
+
setImmediate(emit);
|
|
53
|
+
} else {
|
|
54
|
+
setTimeout(emit, 0);
|
|
55
|
+
}
|
|
51
56
|
}
|
|
52
57
|
function eventsSendQueuedEvents() {
|
|
53
58
|
if (queuedEvents.length === 0) {
|
|
@@ -206,7 +211,11 @@ export default {
|
|
|
206
211
|
eventsNotifyReady(ready) {
|
|
207
212
|
jsReady = ready;
|
|
208
213
|
if (jsReady) {
|
|
209
|
-
|
|
214
|
+
if (typeof setImmediate === 'function') {
|
|
215
|
+
setImmediate(() => eventsSendQueuedEvents());
|
|
216
|
+
} else {
|
|
217
|
+
setTimeout(() => eventsSendQueuedEvents(), 0);
|
|
218
|
+
}
|
|
210
219
|
}
|
|
211
220
|
},
|
|
212
221
|
/**
|
|
@@ -241,7 +250,11 @@ export default {
|
|
|
241
250
|
jsListeners[eventName]++;
|
|
242
251
|
}
|
|
243
252
|
}
|
|
244
|
-
|
|
253
|
+
if (typeof setImmediate === 'function') {
|
|
254
|
+
setImmediate(() => eventsSendQueuedEvents());
|
|
255
|
+
} else {
|
|
256
|
+
setTimeout(() => eventsSendQueuedEvents(), 0);
|
|
257
|
+
}
|
|
245
258
|
},
|
|
246
259
|
/**
|
|
247
260
|
* Removes a single listener for an event or all listeners for an event.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["initializeApp","setLogLevel","getApp","getApps","deleteApp","DeviceEventEmitter","jsReady","jsListenerCount","queuedEvents","jsListeners","fakePreferencesStorage","eventsGetListenersMap","listeners","queued","length","events","eventsSendEvent","eventName","eventBody","hasOwnProperty","event","push","setImmediate","
|
|
1
|
+
{"version":3,"names":["initializeApp","setLogLevel","getApp","getApps","deleteApp","DeviceEventEmitter","jsReady","jsListenerCount","queuedEvents","jsListeners","fakePreferencesStorage","eventsGetListenersMap","listeners","queued","length","events","eventsSendEvent","eventName","eventBody","hasOwnProperty","event","push","emit","setImmediate","setTimeout","eventsSendQueuedEvents","Array","from","i","NATIVE_FIREBASE_APPS","FIREBASE_RAW_JSON","options","appConfig","name","existingApp","find","app","newAppConfig","automaticDataCollectionEnabled","optionsCopy","Object","assign","clientId","logLevel","setAutomaticDataCollectionEnabled","appName","enabled","metaGetAll","jsonGetAll","preferencesSetBool","key","value","preferencesSetString","preferencesGetAll","preferencesClearAll","addListener","removeListeners","eventsNotifyReady","ready","eventsGetListeners","eventsPing","eventsAddListener","undefined","eventsRemoveListener","all","count","currentCount"],"sourceRoot":"../../../../lib","sources":["internal/web/RNFBAppModule.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -49,6 +49,11 @@ export function getWebError(error) {
|
|
|
49
49
|
};
|
|
50
50
|
}
|
|
51
51
|
export function emitEvent(eventName, event) {
|
|
52
|
-
|
|
52
|
+
const emit = () => DeviceEventEmitter.emit('rnfb_' + eventName, event);
|
|
53
|
+
if (typeof setImmediate === 'function') {
|
|
54
|
+
setImmediate(emit);
|
|
55
|
+
} else {
|
|
56
|
+
setTimeout(emit, 0);
|
|
57
|
+
}
|
|
53
58
|
}
|
|
54
59
|
//# sourceMappingURL=utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["DeviceEventEmitter","guard","fn","catch","e","Promise","reject","getWebError","error","obj","code","message","toLowerCase","replace","includes","parts","split","userInfo","emitEvent","eventName","event","setImmediate","
|
|
1
|
+
{"version":3,"names":["DeviceEventEmitter","guard","fn","catch","e","Promise","reject","getWebError","error","obj","code","message","toLowerCase","replace","includes","parts","split","userInfo","emitEvent","eventName","event","emit","setImmediate","setTimeout"],"sourceRoot":"../../../../lib","sources":["internal/web/utils.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASA,kBAAkB,QAAQ,cAAc;;AAEjD;AACA,OAAO,SAASC,KAAKA,CAAIC,EAAoB,EAAc;EACzD,OAAOA,EAAE,CAAC,CAAC,CAACC,KAAK,CAACC,CAAC,IAAIC,OAAO,CAACC,MAAM,CAACC,WAAW,CAACH,CAAC,CAAC,CAAC,CAAC;AACxD;;AAEA;AACA;AACA,OAAO,SAASG,WAAWA,CAACC,KAAgC,EAI1D;EACA,MAAMC,GAAG,GAAG;IACVC,IAAI,EAAEF,KAAK,CAACE,IAAI,IAAI,SAAS;IAC7BC,OAAO,EAAEH,KAAK,CAACG;EACjB,CAAC;;EAED;EACA;EACAF,GAAG,CAACC,IAAI,GAAGD,GAAG,CAACC,IAAI,CAACE,WAAW,CAAC,CAAC;EACjC;EACAH,GAAG,CAACC,IAAI,GAAGD,GAAG,CAACC,IAAI,CAACG,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC;;EAEtC;EACA,IAAIJ,GAAG,CAACC,IAAI,CAACI,QAAQ,CAAC,GAAG,CAAC,EAAE;IAC1B,MAAMC,KAAK,GAAGN,GAAG,CAACC,IAAI,CAACM,KAAK,CAAC,GAAG,CAAC;IACjCP,GAAG,CAACC,IAAI,GAAGK,KAAK,CAAC,CAAC,CAAC,IAAIN,GAAG,CAACC,IAAI;EACjC;EAEA,OAAO;IACL,GAAGD,GAAG;IACNQ,QAAQ,EAAER;EACZ,CAAC;AACH;AAEA,OAAO,SAASS,SAASA,CAACC,SAAiB,EAAEC,KAAc,EAAQ;EACjE,MAAMC,IAAI,GAAGA,CAAA,KAAMrB,kBAAkB,CAACqB,IAAI,CAAC,OAAO,GAAGF,SAAS,EAAEC,KAAK,CAAC;EACtE,IAAI,OAAOE,YAAY,KAAK,UAAU,EAAE;IACtCA,YAAY,CAACD,IAAI,CAAC;EACpB,CAAC,MAAM;IACLE,UAAU,CAACF,IAAI,EAAE,CAAC,CAAC;EACrB;AACF","ignoreList":[]}
|