@react-native-firebase/app 25.1.0 → 26.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.
Files changed (150) hide show
  1. package/CHANGELOG.md +43 -0
  2. package/RNFBApp.podspec +7 -13
  3. package/android/build.gradle +25 -6
  4. package/android/src/reactnative/java/io/invertase/firebase/app/{ReactNativeFirebaseAppModule.java → NativeRNFBTurboApp.java} +81 -45
  5. package/android/src/reactnative/java/io/invertase/firebase/app/ReactNativeFirebaseAppPackage.java +3 -3
  6. package/android/src/reactnative/java/io/invertase/firebase/app/ReactNativeFirebaseVersion.java +2 -2
  7. package/android/src/reactnative/java/io/invertase/firebase/app/generated/java/com/facebook/fbreact/specs/NativeRNFBTurboAppSpec.java +136 -0
  8. package/android/src/reactnative/java/io/invertase/firebase/app/generated/java/com/facebook/fbreact/specs/NativeRNFBTurboUtilsSpec.java +94 -0
  9. package/android/src/reactnative/java/io/invertase/firebase/app/generated/jni/CMakeLists.txt +36 -0
  10. package/android/src/reactnative/java/io/invertase/firebase/app/generated/jni/RNFBAppTurboModules-generated.cpp +170 -0
  11. package/android/src/reactnative/java/io/invertase/firebase/app/generated/jni/RNFBAppTurboModules.h +39 -0
  12. package/android/src/reactnative/java/io/invertase/firebase/app/generated/jni/react/renderer/components/RNFBAppTurboModules/RNFBAppTurboModulesJSI-generated.cpp +187 -0
  13. package/android/src/reactnative/java/io/invertase/firebase/app/generated/jni/react/renderer/components/RNFBAppTurboModules/RNFBAppTurboModulesJSI.h +606 -0
  14. package/android/src/reactnative/java/io/invertase/firebase/common/RCTConvertFirebase.java +3 -3
  15. package/android/src/reactnative/java/io/invertase/firebase/common/ReactNativeFirebaseEventEmitter.java +475 -20
  16. package/android/src/reactnative/java/io/invertase/firebase/common/ReactNativeFirebaseMeta.java +8 -0
  17. package/android/src/reactnative/java/io/invertase/firebase/common/ReactNativeFirebasePreferences.java +8 -0
  18. package/android/src/reactnative/java/io/invertase/firebase/utils/{ReactNativeFirebaseUtilsModule.java → NativeRNFBTurboUtils.java} +57 -40
  19. package/android/src/test/java/io/invertase/firebase/app/NativeRNFBTurboAppTest.java +400 -0
  20. package/android/src/test/java/io/invertase/firebase/common/ReactNativeFirebaseEventEmitterTest.java +1823 -0
  21. package/app.plugin.js +1 -1
  22. package/dist/module/FirebaseApp.js +0 -9
  23. package/dist/module/FirebaseApp.js.map +1 -1
  24. package/dist/module/common/index.js +0 -645
  25. package/dist/module/common/index.js.map +1 -1
  26. package/dist/module/common/unitTestUtils.js +18 -54
  27. package/dist/module/common/unitTestUtils.js.map +1 -1
  28. package/dist/module/index.js +0 -1
  29. package/dist/module/index.js.map +1 -1
  30. package/dist/module/internal/RNFBNativeEventEmitter.js +12 -6
  31. package/dist/module/internal/RNFBNativeEventEmitter.js.map +1 -1
  32. package/dist/module/internal/constants.js +2 -2
  33. package/dist/module/internal/constants.js.map +1 -1
  34. package/dist/module/internal/index.js +1 -1
  35. package/dist/module/internal/index.js.map +1 -1
  36. package/dist/module/internal/nativeModuleAndroidIos.js +50 -10
  37. package/dist/module/internal/nativeModuleAndroidIos.js.map +1 -1
  38. package/dist/module/internal/nativeModuleWeb.js +12 -4
  39. package/dist/module/internal/nativeModuleWeb.js.map +1 -1
  40. package/dist/module/internal/registry/app.js +20 -12
  41. package/dist/module/internal/registry/app.js.map +1 -1
  42. package/dist/module/internal/registry/modular.js +73 -0
  43. package/dist/module/internal/registry/modular.js.map +1 -0
  44. package/dist/module/internal/registry/nativeModule.js +116 -95
  45. package/dist/module/internal/registry/nativeModule.js.map +1 -1
  46. package/dist/module/modular.js +44 -37
  47. package/dist/module/modular.js.map +1 -1
  48. package/dist/module/types/app.js +0 -3
  49. package/dist/module/types/app.js.map +1 -1
  50. package/dist/module/types/internal.js +0 -2
  51. package/dist/module/utils/UtilsStatics.js +2 -2
  52. package/dist/module/utils/UtilsStatics.js.map +1 -1
  53. package/dist/module/utils/index.js +21 -17
  54. package/dist/module/utils/index.js.map +1 -1
  55. package/dist/module/version.js +1 -1
  56. package/dist/typescript/lib/FirebaseApp.d.ts +1 -2
  57. package/dist/typescript/lib/FirebaseApp.d.ts.map +1 -1
  58. package/dist/typescript/lib/common/index.d.ts +0 -8
  59. package/dist/typescript/lib/common/index.d.ts.map +1 -1
  60. package/dist/typescript/lib/common/unitTestUtils.d.ts +1 -4
  61. package/dist/typescript/lib/common/unitTestUtils.d.ts.map +1 -1
  62. package/dist/typescript/lib/index.d.ts +0 -1
  63. package/dist/typescript/lib/index.d.ts.map +1 -1
  64. package/dist/typescript/lib/internal/NativeFirebaseError.d.ts +1 -1
  65. package/dist/typescript/lib/internal/NativeFirebaseError.d.ts.map +1 -1
  66. package/dist/typescript/lib/internal/RNFBNativeEventEmitter.d.ts.map +1 -1
  67. package/dist/typescript/lib/internal/constants.d.ts +2 -3
  68. package/dist/typescript/lib/internal/constants.d.ts.map +1 -1
  69. package/dist/typescript/lib/internal/index.d.ts +1 -1
  70. package/dist/typescript/lib/internal/index.d.ts.map +1 -1
  71. package/dist/typescript/lib/internal/nativeModuleAndroidIos.d.ts +2 -6
  72. package/dist/typescript/lib/internal/nativeModuleAndroidIos.d.ts.map +1 -1
  73. package/dist/typescript/lib/internal/nativeModuleWeb.d.ts.map +1 -1
  74. package/dist/typescript/lib/internal/registry/app.d.ts +2 -2
  75. package/dist/typescript/lib/internal/registry/app.d.ts.map +1 -1
  76. package/dist/typescript/lib/internal/registry/modular.d.ts +22 -0
  77. package/dist/typescript/lib/internal/registry/modular.d.ts.map +1 -0
  78. package/dist/typescript/lib/internal/registry/nativeModule.d.ts +3 -11
  79. package/dist/typescript/lib/internal/registry/nativeModule.d.ts.map +1 -1
  80. package/dist/typescript/lib/modular.d.ts +21 -7
  81. package/dist/typescript/lib/modular.d.ts.map +1 -1
  82. package/dist/typescript/lib/types/app.d.ts +4 -4
  83. package/dist/typescript/lib/types/app.d.ts.map +1 -1
  84. package/dist/typescript/lib/types/internal.d.ts +1 -33
  85. package/dist/typescript/lib/types/internal.d.ts.map +1 -1
  86. package/dist/typescript/lib/utils/index.d.ts +7 -3
  87. package/dist/typescript/lib/utils/index.d.ts.map +1 -1
  88. package/dist/typescript/lib/version.d.ts +1 -1
  89. package/firebase-schema.json +5 -1
  90. package/ios/RNFBApp/RNFBAppModule.h +1 -3
  91. package/ios/RNFBApp/{RNFBAppModule.m → RNFBAppModule.mm} +74 -77
  92. package/ios/RNFBApp/RNFBUtilsModule.h +1 -3
  93. package/ios/RNFBApp/{RNFBUtilsModule.m → RNFBUtilsModule.mm} +68 -25
  94. package/ios/RNFBApp/RNFBVersion.m +1 -1
  95. package/ios/RNFBApp.xcodeproj/project.pbxproj +12 -12
  96. package/ios/generated/RCTAppDependencyProvider.h +25 -0
  97. package/ios/generated/RCTAppDependencyProvider.mm +55 -0
  98. package/ios/generated/RCTModuleProviders.h +16 -0
  99. package/ios/generated/RCTModuleProviders.mm +52 -0
  100. package/ios/generated/RCTModulesConformingToProtocolsProvider.h +18 -0
  101. package/ios/generated/RCTModulesConformingToProtocolsProvider.mm +33 -0
  102. package/ios/generated/RCTThirdPartyComponentsProvider.h +16 -0
  103. package/ios/generated/RCTThirdPartyComponentsProvider.mm +23 -0
  104. package/ios/generated/RCTUnstableModulesRequiringMainQueueSetupProvider.h +14 -0
  105. package/ios/generated/RCTUnstableModulesRequiringMainQueueSetupProvider.mm +19 -0
  106. package/ios/generated/RNFBAppTurboModules/RNFBAppTurboModules-generated.mm +210 -0
  107. package/ios/generated/RNFBAppTurboModules/RNFBAppTurboModules.h +399 -0
  108. package/ios/generated/RNFBAppTurboModulesJSI-generated.cpp +187 -0
  109. package/ios/generated/RNFBAppTurboModulesJSI.h +606 -0
  110. package/ios/generated/ReactAppDependencyProvider.podspec +34 -0
  111. package/ios/generated/ReactCodegen.podspec +111 -0
  112. package/lib/FirebaseApp.ts +1 -10
  113. package/lib/common/index.ts +0 -742
  114. package/lib/common/unitTestUtils.ts +17 -73
  115. package/lib/index.ts +0 -1
  116. package/lib/internal/NativeFirebaseError.ts +1 -1
  117. package/lib/internal/RNFBNativeEventEmitter.ts +12 -6
  118. package/lib/internal/constants.ts +3 -25
  119. package/lib/internal/global.d.ts +0 -4
  120. package/lib/internal/index.ts +1 -1
  121. package/lib/internal/nativeModuleAndroidIos.ts +69 -12
  122. package/lib/internal/nativeModuleWeb.ts +11 -5
  123. package/lib/internal/registry/app.ts +24 -22
  124. package/lib/internal/registry/modular.ts +97 -0
  125. package/lib/internal/registry/nativeModule.ts +136 -107
  126. package/lib/modular.ts +47 -72
  127. package/lib/types/app.ts +6 -11
  128. package/lib/types/internal.ts +1 -46
  129. package/lib/utils/UtilsStatics.ts +2 -2
  130. package/lib/utils/index.ts +24 -18
  131. package/lib/version.ts +1 -1
  132. package/package.json +41 -3
  133. package/plugin/build/app.plugin.d.ts +2 -0
  134. package/plugin/build/app.plugin.js +6 -0
  135. package/plugin/src/app.plugin.ts +3 -0
  136. package/plugin/tsconfig.tsbuildinfo +1 -1
  137. package/react-native.config.js +2 -0
  138. package/specs/NativeRNFBTurboApp.ts +57 -0
  139. package/specs/NativeRNFBTurboUtils.ts +34 -0
  140. package/typedoc.json +1 -2
  141. package/dist/module/internal/registry/namespace.js +0 -262
  142. package/dist/module/internal/registry/namespace.js.map +0 -1
  143. package/dist/module/namespaced.js +0 -25
  144. package/dist/module/namespaced.js.map +0 -1
  145. package/dist/typescript/lib/internal/registry/namespace.d.ts +0 -26
  146. package/dist/typescript/lib/internal/registry/namespace.d.ts.map +0 -1
  147. package/dist/typescript/lib/namespaced.d.ts +0 -5
  148. package/dist/typescript/lib/namespaced.d.ts.map +0 -1
  149. package/lib/internal/registry/namespace.ts +0 -338
  150. 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
- // For iOS TurboModules, encode null values in arguments to work around
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
- * Prepends all arguments in prependArgs to all native method calls
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 nativeModuleWrapped(namespace, NativeModule, argToPrepend, isTurboModule) {
65
- const native = {};
66
- if (!NativeModule) {
67
- return NativeModule;
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 nativeModuleObj = NativeModule;
70
- let properties = Object.keys(Object.getPrototypeOf(nativeModuleObj));
71
- if (!properties.length) properties = Object.keys(nativeModuleObj);
72
- for (let i = 0, len = properties.length; i < len; i++) {
73
- const property = properties[i];
74
- if (!property) continue;
75
- if (typeof nativeModuleObj[property] === 'function') {
76
- native[property] = nativeModuleMethodWrapped(namespace, nativeModuleObj[property], argToPrepend, isTurboModule);
77
- } else {
78
- native[property] = nativeModuleObj[property];
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 native;
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
- for (let i = 0; i < nativeModuleNames.length; i++) {
107
- const moduleName = nativeModuleNames[i];
108
- if (!moduleName) continue;
109
- const nativeModule = getReactNativeModule(moduleName);
110
-
111
- // only error if there's a single native module
112
- // as multi modules can mean some are optional
113
- if (!multiModule && !nativeModule) {
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
- if (multiModule) {
117
- multiModuleRoot[moduleName] = !!nativeModule;
118
- }
119
- const argToPrepend = [];
120
- if (hasMultiAppSupport) {
121
- argToPrepend.push(module.app.name);
122
- }
123
- if (hasCustomUrlOrRegionSupport && !disablePrependCustomUrlOrRegion) {
124
- argToPrepend.push(module._customUrlOrRegion);
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
- Object.assign(multiModuleRoot, nativeModuleWrapped(namespace, nativeModule, argToPrepend, isTurboModule));
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
- Object.freeze(multiModuleRoot);
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
- const namespace = 'app';
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","nativeModuleWrapped","NativeModule","native","nativeModuleObj","properties","Object","keys","getPrototypeOf","length","i","len","property","initialiseNativeModule","config","key","nativeEvents","nativeModuleName","hasMultiAppSupport","hasCustomUrlOrRegionSupport","disablePrependCustomUrlOrRegion","turboModule","multiModuleRoot","multiModule","Array","isArray","nativeModuleNames","moduleName","nativeModule","getMissingModuleHelpText","push","assign","eventName","subscribeToNativeModuleEvent","freeze","addListener","event","appName","databaseId","emit","snippet","getNativeModule","getAppModule"],"sourceRoot":"../../../../lib","sources":["internal/registry/nativeModule.ts"],"mappings":"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","ignoreList":[]}
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":[]}
@@ -17,29 +17,26 @@
17
17
  *
18
18
  */
19
19
 
20
- import { MODULAR_DEPRECATION_ARG } from "./common/index.js";
20
+ import { getUtils as getUtilsImpl } from "./utils/index.js";
21
+ import UtilsStatics from "./utils/UtilsStatics.js";
21
22
  import { deleteApp as deleteAppCompat, getApp as getAppCompat, getApps as getAppsCompat, initializeApp as initializeAppCompat, setLogLevel as setLogLevelCompat, setReactNativeAsyncStorage as setReactNativeAsyncStorageCompat } from "./internal/registry/app.js";
22
23
  import { setUserLogHandler } from "./internal/logger.js";
23
24
  import { version as sdkVersion } from "./version.js";
24
- import { getReactNativeModule } from './internal/nativeModule';
25
- import { APP_NATIVE_MODULE } from "./internal/constants.js";
25
+ import { getAppModule } from "./internal/registry/nativeModule.js";
26
26
  /**
27
27
  * Renders this app unusable and frees the resources of all associated services.
28
28
  * @param app - The app to delete.
29
29
  * @returns Promise<void>
30
30
  */
31
31
  export function deleteApp(app) {
32
- return deleteAppCompat.call(null, app.name, app._nativeInitialized,
33
- // @ts-expect-error - Extra arg used by deprecation proxy to detect modular calls
34
- MODULAR_DEPRECATION_ARG);
32
+ return deleteAppCompat(app.name, app._nativeInitialized);
35
33
  }
36
34
 
37
35
  /**
38
36
  * Registers a library's name and version for platform logging purposes.
39
- * @param _libraryKeyOrName - library name or key.
40
- * @param _version - library version.
41
- * @param _variant - library variant. Optional.
42
- * @returns Promise<void>
37
+ *
38
+ * @remarks **Web only.** Always throws on React Native Firebase — native SDK version registration
39
+ * is handled by the Firebase iOS/Android SDKs.
43
40
  */
44
41
  export function registerVersion(_libraryKeyOrName, _version, _variant) {
45
42
  throw new Error('registerVersion is only supported on Web');
@@ -60,21 +57,22 @@ export function onLog(logCallback, options) {
60
57
  * @returns An array of all initialized Firebase apps.
61
58
  */
62
59
  export function getApps() {
63
- return getAppsCompat.call(null,
64
- // @ts-expect-error - Extra arg used by deprecation proxy to detect modular calls
65
- MODULAR_DEPRECATION_ARG);
60
+ return getAppsCompat();
66
61
  }
67
62
 
68
63
  /**
69
64
  * Initializes a Firebase app with the provided options and name.
65
+ *
66
+ * @remarks On React Native Firebase this is **async** (`Promise<FirebaseApp>`) because secondary
67
+ * app creation crosses the native bridge. The default app is still configured from native
68
+ * `GoogleService-Info.plist` / `google-services.json` at launch.
69
+ *
70
70
  * @param options - Options to configure the services used in the app.
71
71
  * @param configOrName - The optional name of the app, or config for the app to initialize (a name of '[DEFAULT]' will be used if omitted).
72
72
  * @returns The initialized Firebase app.
73
73
  */
74
74
  export function initializeApp(options, configOrName) {
75
- return initializeAppCompat.call(null, options, configOrName,
76
- // @ts-expect-error - Extra arg used by deprecation proxy to detect modular calls
77
- MODULAR_DEPRECATION_ARG);
75
+ return initializeAppCompat(options, configOrName);
78
76
  }
79
77
 
80
78
  /**
@@ -83,9 +81,7 @@ export function initializeApp(options, configOrName) {
83
81
  * @returns The requested Firebase app instance.
84
82
  */
85
83
  export function getApp(name) {
86
- return getAppCompat.call(null, name,
87
- // @ts-expect-error - Extra arg used by deprecation proxy to detect modular calls
88
- MODULAR_DEPRECATION_ARG);
84
+ return getAppCompat(name);
89
85
  }
90
86
 
91
87
  /**
@@ -94,9 +90,7 @@ export function getApp(name) {
94
90
  * @returns void
95
91
  */
96
92
  export function setLogLevel(logLevel) {
97
- return setLogLevelCompat.call(null, logLevel,
98
- // @ts-expect-error - Extra arg used by deprecation proxy to detect modular calls
99
- MODULAR_DEPRECATION_ARG);
93
+ return setLogLevelCompat(logLevel);
100
94
  }
101
95
 
102
96
  /**
@@ -106,9 +100,7 @@ export function setLogLevel(logLevel) {
106
100
  * This is required if you want to persist things like Auth sessions, Analytics device IDs, etc.
107
101
  */
108
102
  export function setReactNativeAsyncStorage(asyncStorage) {
109
- return setReactNativeAsyncStorageCompat.call(null, asyncStorage,
110
- // @ts-expect-error - Extra arg used by deprecation proxy to detect modular calls
111
- MODULAR_DEPRECATION_ARG);
103
+ return setReactNativeAsyncStorageCompat(asyncStorage);
112
104
  }
113
105
 
114
106
  /**
@@ -116,8 +108,7 @@ export function setReactNativeAsyncStorage(asyncStorage) {
116
108
  * @returns map of key / value pairs containing native meta data
117
109
  */
118
110
  export function metaGetAll() {
119
- const RNFBAppModule = getReactNativeModule(APP_NATIVE_MODULE);
120
- return RNFBAppModule.metaGetAll();
111
+ return getAppModule().metaGetAll();
121
112
  }
122
113
 
123
114
  /**
@@ -125,8 +116,7 @@ export function metaGetAll() {
125
116
  * @returns map of key / value pairs containing native firebase.json constants
126
117
  */
127
118
  export function jsonGetAll() {
128
- const RNFBAppModule = getReactNativeModule(APP_NATIVE_MODULE);
129
- return RNFBAppModule.jsonGetAll();
119
+ return getAppModule().jsonGetAll();
130
120
  }
131
121
 
132
122
  /**
@@ -134,8 +124,7 @@ export function jsonGetAll() {
134
124
  * @returns Promise<void>
135
125
  */
136
126
  export function preferencesClearAll() {
137
- const RNFBAppModule = getReactNativeModule(APP_NATIVE_MODULE);
138
- return RNFBAppModule.preferencesClearAll();
127
+ return getAppModule().preferencesClearAll();
139
128
  }
140
129
 
141
130
  /**
@@ -143,8 +132,7 @@ export function preferencesClearAll() {
143
132
  * @returns map of key / value pairs containing native preferences data
144
133
  */
145
134
  export function preferencesGetAll() {
146
- const RNFBAppModule = getReactNativeModule(APP_NATIVE_MODULE);
147
- return RNFBAppModule.preferencesGetAll();
135
+ return getAppModule().preferencesGetAll();
148
136
  }
149
137
 
150
138
  /**
@@ -154,8 +142,7 @@ export function preferencesGetAll() {
154
142
  * @returns Promise<void>
155
143
  */
156
144
  export function preferencesSetBool(key, value) {
157
- const RNFBAppModule = getReactNativeModule(APP_NATIVE_MODULE);
158
- return RNFBAppModule.preferencesSetBool(key, value);
145
+ return getAppModule().preferencesSetBool(key, value);
159
146
  }
160
147
 
161
148
  /**
@@ -165,8 +152,28 @@ export function preferencesSetBool(key, value) {
165
152
  * @returns Promise<void>
166
153
  */
167
154
  export function preferencesSetString(key, value) {
168
- const RNFBAppModule = getReactNativeModule(APP_NATIVE_MODULE);
169
- return RNFBAppModule.preferencesSetString(key, value);
155
+ return getAppModule().preferencesSetString(key, value);
170
156
  }
171
157
  export const SDK_VERSION = sdkVersion;
158
+
159
+ /**
160
+ * Returns the {@link Utils.Module} instance for the default or given {@link ReactNativeFirebase.FirebaseApp}.
161
+ *
162
+ * @param app - The Firebase app to use. When omitted, the default app is used.
163
+ */
164
+ export function getUtils(app) {
165
+ return getUtilsImpl(app);
166
+ }
167
+
168
+ /**
169
+ * Native device file paths for use with file-based APIs such as Storage `putFile` or `writeToFile`.
170
+ */
171
+ export const FilePath = new Proxy({}, {
172
+ get(_target, prop) {
173
+ if (typeof prop === 'string') {
174
+ return UtilsStatics.FilePath[prop];
175
+ }
176
+ return undefined;
177
+ }
178
+ });
172
179
  //# sourceMappingURL=modular.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["MODULAR_DEPRECATION_ARG","deleteApp","deleteAppCompat","getApp","getAppCompat","getApps","getAppsCompat","initializeApp","initializeAppCompat","setLogLevel","setLogLevelCompat","setReactNativeAsyncStorage","setReactNativeAsyncStorageCompat","setUserLogHandler","version","sdkVersion","getReactNativeModule","APP_NATIVE_MODULE","app","call","name","_nativeInitialized","registerVersion","_libraryKeyOrName","_version","_variant","Error","onLog","logCallback","options","configOrName","logLevel","asyncStorage","metaGetAll","RNFBAppModule","jsonGetAll","preferencesClearAll","preferencesGetAll","preferencesSetBool","key","value","preferencesSetString","SDK_VERSION"],"sourceRoot":"../../lib","sources":["modular.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["getUtils","getUtilsImpl","UtilsStatics","deleteApp","deleteAppCompat","getApp","getAppCompat","getApps","getAppsCompat","initializeApp","initializeAppCompat","setLogLevel","setLogLevelCompat","setReactNativeAsyncStorage","setReactNativeAsyncStorageCompat","setUserLogHandler","version","sdkVersion","getAppModule","app","name","_nativeInitialized","registerVersion","_libraryKeyOrName","_version","_variant","Error","onLog","logCallback","options","configOrName","logLevel","asyncStorage","metaGetAll","jsonGetAll","preferencesClearAll","preferencesGetAll","preferencesSetBool","key","value","preferencesSetString","SDK_VERSION","FilePath","Proxy","get","_target","prop","undefined"],"sourceRoot":"../../lib","sources":["modular.ts"],"mappings":"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","ignoreList":[]}
@@ -25,13 +25,10 @@ export let ReactNativeFirebase;
25
25
  /**
26
26
  * Base interface for FirebaseApp containing core properties and methods.
27
27
  * The concrete FirebaseApp class implements this interface.
28
- * Module-specific methods (auth(), analytics(), etc.) are added to FirebaseApp via declaration merging.
29
28
  */
30
29
 
31
30
  /**
32
31
  * Full FirebaseApp interface that extends the base interface.
33
- * Module-specific methods (auth(), analytics(), etc.) are added here via declaration merging
34
- * from individual package .d.ts files.
35
32
  */
36
33
 
37
34
  /**