@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.
Files changed (163) hide show
  1. package/CHANGELOG.md +54 -0
  2. package/README.md +21 -0
  3. package/RNFBApp.podspec +20 -15
  4. package/android/build.gradle +25 -6
  5. package/android/src/reactnative/java/io/invertase/firebase/app/{ReactNativeFirebaseAppModule.java → NativeRNFBTurboApp.java} +81 -45
  6. package/android/src/reactnative/java/io/invertase/firebase/app/ReactNativeFirebaseAppPackage.java +3 -3
  7. package/android/src/reactnative/java/io/invertase/firebase/app/ReactNativeFirebaseVersion.java +2 -2
  8. package/android/src/reactnative/java/io/invertase/firebase/app/generated/java/com/facebook/fbreact/specs/NativeRNFBTurboAppSpec.java +136 -0
  9. package/android/src/reactnative/java/io/invertase/firebase/app/generated/java/com/facebook/fbreact/specs/NativeRNFBTurboUtilsSpec.java +94 -0
  10. package/android/src/reactnative/java/io/invertase/firebase/app/generated/jni/CMakeLists.txt +36 -0
  11. package/android/src/reactnative/java/io/invertase/firebase/app/generated/jni/RNFBAppTurboModules-generated.cpp +170 -0
  12. package/android/src/reactnative/java/io/invertase/firebase/app/generated/jni/RNFBAppTurboModules.h +39 -0
  13. package/android/src/reactnative/java/io/invertase/firebase/app/generated/jni/react/renderer/components/RNFBAppTurboModules/RNFBAppTurboModulesJSI-generated.cpp +187 -0
  14. package/android/src/reactnative/java/io/invertase/firebase/app/generated/jni/react/renderer/components/RNFBAppTurboModules/RNFBAppTurboModulesJSI.h +606 -0
  15. package/android/src/reactnative/java/io/invertase/firebase/common/RCTConvertFirebase.java +3 -3
  16. package/android/src/reactnative/java/io/invertase/firebase/common/ReactNativeFirebaseEventEmitter.java +475 -20
  17. package/android/src/reactnative/java/io/invertase/firebase/common/ReactNativeFirebaseMeta.java +8 -0
  18. package/android/src/reactnative/java/io/invertase/firebase/common/ReactNativeFirebasePreferences.java +8 -0
  19. package/android/src/reactnative/java/io/invertase/firebase/utils/{ReactNativeFirebaseUtilsModule.java → NativeRNFBTurboUtils.java} +57 -40
  20. package/android/src/test/java/io/invertase/firebase/app/NativeRNFBTurboAppTest.java +400 -0
  21. package/android/src/test/java/io/invertase/firebase/common/ReactNativeFirebaseEventEmitterTest.java +1823 -0
  22. package/app.plugin.js +1 -1
  23. package/dist/module/FirebaseApp.js +0 -9
  24. package/dist/module/FirebaseApp.js.map +1 -1
  25. package/dist/module/common/index.js +0 -645
  26. package/dist/module/common/index.js.map +1 -1
  27. package/dist/module/common/unitTestUtils.js +18 -54
  28. package/dist/module/common/unitTestUtils.js.map +1 -1
  29. package/dist/module/index.js +0 -1
  30. package/dist/module/index.js.map +1 -1
  31. package/dist/module/internal/RNFBNativeEventEmitter.js +12 -6
  32. package/dist/module/internal/RNFBNativeEventEmitter.js.map +1 -1
  33. package/dist/module/internal/constants.js +2 -2
  34. package/dist/module/internal/constants.js.map +1 -1
  35. package/dist/module/internal/index.js +1 -1
  36. package/dist/module/internal/index.js.map +1 -1
  37. package/dist/module/internal/nativeModuleAndroidIos.js +50 -10
  38. package/dist/module/internal/nativeModuleAndroidIos.js.map +1 -1
  39. package/dist/module/internal/nativeModuleWeb.js +12 -4
  40. package/dist/module/internal/nativeModuleWeb.js.map +1 -1
  41. package/dist/module/internal/registry/app.js +20 -12
  42. package/dist/module/internal/registry/app.js.map +1 -1
  43. package/dist/module/internal/registry/modular.js +73 -0
  44. package/dist/module/internal/registry/modular.js.map +1 -0
  45. package/dist/module/internal/registry/nativeModule.js +116 -95
  46. package/dist/module/internal/registry/nativeModule.js.map +1 -1
  47. package/dist/module/internal/web/RNFBAppModule.js +16 -3
  48. package/dist/module/internal/web/RNFBAppModule.js.map +1 -1
  49. package/dist/module/internal/web/utils.js +6 -1
  50. package/dist/module/internal/web/utils.js.map +1 -1
  51. package/dist/module/modular.js +44 -37
  52. package/dist/module/modular.js.map +1 -1
  53. package/dist/module/types/app.js +0 -3
  54. package/dist/module/types/app.js.map +1 -1
  55. package/dist/module/types/internal.js +0 -2
  56. package/dist/module/utils/UtilsStatics.js +2 -2
  57. package/dist/module/utils/UtilsStatics.js.map +1 -1
  58. package/dist/module/utils/index.js +21 -17
  59. package/dist/module/utils/index.js.map +1 -1
  60. package/dist/module/version.js +1 -1
  61. package/dist/typescript/lib/FirebaseApp.d.ts +1 -2
  62. package/dist/typescript/lib/FirebaseApp.d.ts.map +1 -1
  63. package/dist/typescript/lib/common/index.d.ts +0 -8
  64. package/dist/typescript/lib/common/index.d.ts.map +1 -1
  65. package/dist/typescript/lib/common/unitTestUtils.d.ts +1 -4
  66. package/dist/typescript/lib/common/unitTestUtils.d.ts.map +1 -1
  67. package/dist/typescript/lib/index.d.ts +0 -1
  68. package/dist/typescript/lib/index.d.ts.map +1 -1
  69. package/dist/typescript/lib/internal/NativeFirebaseError.d.ts +1 -1
  70. package/dist/typescript/lib/internal/NativeFirebaseError.d.ts.map +1 -1
  71. package/dist/typescript/lib/internal/RNFBNativeEventEmitter.d.ts.map +1 -1
  72. package/dist/typescript/lib/internal/constants.d.ts +2 -3
  73. package/dist/typescript/lib/internal/constants.d.ts.map +1 -1
  74. package/dist/typescript/lib/internal/index.d.ts +1 -1
  75. package/dist/typescript/lib/internal/index.d.ts.map +1 -1
  76. package/dist/typescript/lib/internal/nativeModuleAndroidIos.d.ts +2 -6
  77. package/dist/typescript/lib/internal/nativeModuleAndroidIos.d.ts.map +1 -1
  78. package/dist/typescript/lib/internal/nativeModuleWeb.d.ts.map +1 -1
  79. package/dist/typescript/lib/internal/registry/app.d.ts +2 -2
  80. package/dist/typescript/lib/internal/registry/app.d.ts.map +1 -1
  81. package/dist/typescript/lib/internal/registry/modular.d.ts +22 -0
  82. package/dist/typescript/lib/internal/registry/modular.d.ts.map +1 -0
  83. package/dist/typescript/lib/internal/registry/nativeModule.d.ts +3 -11
  84. package/dist/typescript/lib/internal/registry/nativeModule.d.ts.map +1 -1
  85. package/dist/typescript/lib/internal/web/RNFBAppModule.d.ts.map +1 -1
  86. package/dist/typescript/lib/internal/web/utils.d.ts.map +1 -1
  87. package/dist/typescript/lib/modular.d.ts +21 -7
  88. package/dist/typescript/lib/modular.d.ts.map +1 -1
  89. package/dist/typescript/lib/types/app.d.ts +4 -4
  90. package/dist/typescript/lib/types/app.d.ts.map +1 -1
  91. package/dist/typescript/lib/types/internal.d.ts +1 -33
  92. package/dist/typescript/lib/types/internal.d.ts.map +1 -1
  93. package/dist/typescript/lib/utils/index.d.ts +7 -3
  94. package/dist/typescript/lib/utils/index.d.ts.map +1 -1
  95. package/dist/typescript/lib/version.d.ts +1 -1
  96. package/firebase-schema.json +5 -1
  97. package/firebase_spm.rb +1016 -0
  98. package/ios/RNFBApp/RCTConvert+FIRApp.h +4 -0
  99. package/ios/RNFBApp/RCTConvert+FIROptions.h +4 -0
  100. package/ios/RNFBApp/RNFBAppModule.h +1 -3
  101. package/ios/RNFBApp/{RNFBAppModule.m → RNFBAppModule.mm} +80 -77
  102. package/ios/RNFBApp/RNFBSharedUtils.h +4 -0
  103. package/ios/RNFBApp/RNFBUtilsModule.h +1 -3
  104. package/ios/RNFBApp/{RNFBUtilsModule.m → RNFBUtilsModule.mm} +68 -25
  105. package/ios/RNFBApp/RNFBVersion.m +1 -1
  106. package/ios/RNFBApp.xcodeproj/project.pbxproj +12 -12
  107. package/ios/generated/RCTAppDependencyProvider.h +25 -0
  108. package/ios/generated/RCTAppDependencyProvider.mm +55 -0
  109. package/ios/generated/RCTModuleProviders.h +16 -0
  110. package/ios/generated/RCTModuleProviders.mm +52 -0
  111. package/ios/generated/RCTModulesConformingToProtocolsProvider.h +18 -0
  112. package/ios/generated/RCTModulesConformingToProtocolsProvider.mm +33 -0
  113. package/ios/generated/RCTThirdPartyComponentsProvider.h +16 -0
  114. package/ios/generated/RCTThirdPartyComponentsProvider.mm +23 -0
  115. package/ios/generated/RCTUnstableModulesRequiringMainQueueSetupProvider.h +14 -0
  116. package/ios/generated/RCTUnstableModulesRequiringMainQueueSetupProvider.mm +19 -0
  117. package/ios/generated/RNFBAppTurboModules/RNFBAppTurboModules-generated.mm +210 -0
  118. package/ios/generated/RNFBAppTurboModules/RNFBAppTurboModules.h +399 -0
  119. package/ios/generated/RNFBAppTurboModulesJSI-generated.cpp +187 -0
  120. package/ios/generated/RNFBAppTurboModulesJSI.h +606 -0
  121. package/ios/generated/ReactAppDependencyProvider.podspec +34 -0
  122. package/ios/generated/ReactCodegen.podspec +111 -0
  123. package/lib/FirebaseApp.ts +1 -10
  124. package/lib/common/index.ts +0 -742
  125. package/lib/common/unitTestUtils.ts +17 -73
  126. package/lib/index.ts +0 -1
  127. package/lib/internal/NativeFirebaseError.ts +1 -1
  128. package/lib/internal/RNFBNativeEventEmitter.ts +12 -6
  129. package/lib/internal/constants.ts +3 -25
  130. package/lib/internal/global.d.ts +0 -4
  131. package/lib/internal/index.ts +1 -1
  132. package/lib/internal/nativeModuleAndroidIos.ts +69 -12
  133. package/lib/internal/nativeModuleWeb.ts +11 -5
  134. package/lib/internal/registry/app.ts +24 -22
  135. package/lib/internal/registry/modular.ts +97 -0
  136. package/lib/internal/registry/nativeModule.ts +136 -107
  137. package/lib/internal/web/RNFBAppModule.ts +16 -3
  138. package/lib/internal/web/utils.ts +6 -1
  139. package/lib/modular.ts +47 -72
  140. package/lib/types/app.ts +6 -11
  141. package/lib/types/internal.ts +1 -46
  142. package/lib/utils/UtilsStatics.ts +2 -2
  143. package/lib/utils/index.ts +24 -18
  144. package/lib/version.ts +1 -1
  145. package/package.json +45 -6
  146. package/plugin/build/app.plugin.d.ts +2 -0
  147. package/plugin/build/app.plugin.js +6 -0
  148. package/plugin/src/app.plugin.ts +3 -0
  149. package/plugin/tsconfig.tsbuildinfo +1 -1
  150. package/react-native.config.js +2 -0
  151. package/specs/NativeRNFBTurboApp.ts +57 -0
  152. package/specs/NativeRNFBTurboUtils.ts +34 -0
  153. package/typedoc.json +1 -2
  154. package/dist/module/internal/registry/namespace.js +0 -262
  155. package/dist/module/internal/registry/namespace.js.map +0 -1
  156. package/dist/module/namespaced.js +0 -25
  157. package/dist/module/namespaced.js.map +0 -1
  158. package/dist/typescript/lib/internal/registry/namespace.d.ts +0 -26
  159. package/dist/typescript/lib/internal/registry/namespace.d.ts.map +0 -1
  160. package/dist/typescript/lib/namespaced.d.ts +0 -5
  161. package/dist/typescript/lib/namespaced.d.ts.map +0 -1
  162. package/lib/internal/registry/namespace.ts +0 -338
  163. 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":[]}
@@ -47,7 +47,12 @@ function eventsSendEvent(eventName, eventBody) {
47
47
  queuedEvents.push(event);
48
48
  return;
49
49
  }
50
- setImmediate(() => DeviceEventEmitter.emit('rnfb_' + eventName, eventBody));
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
- setImmediate(() => eventsSendQueuedEvents());
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
- setImmediate(() => eventsSendQueuedEvents());
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","emit","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":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASA,aAAa,EAAEC,WAAW,EAAEC,MAAM,EAAEC,OAAO,EAAEC,SAAS,QAAQ,kBAAe;AACtF,SAASC,kBAAkB,QAAQ,cAAc;;AAGjD;;AAyBA;AACA,IAAIC,OAAO,GAAG,KAAK;AACnB,IAAIC,eAAe,GAAG,CAAC;AACvB,IAAIC,YAA2B,GAAG,EAAE;AACpC,IAAIC,WAA2B,GAAG,CAAC,CAAC;;AAEpC;AACA;AACA,IAAIC,sBAA0C,GAAG,CAAC,CAAC;AAEnD,SAASC,qBAAqBA,CAAA,EAAiB;EAC7C,OAAO;IACLC,SAAS,EAAEL,eAAe;IAC1BM,MAAM,EAAEL,YAAY,CAACM,MAAM;IAC3BC,MAAM,EAAEN;EACV,CAAC;AACH;AAEA,SAASO,eAAeA,CAACC,SAAiB,EAAEC,SAAc,EAAQ;EAChE,IAAI,CAACZ,OAAO,IAAI,CAACG,WAAW,CAACU,cAAc,CAACF,SAAS,CAAC,EAAE;IACtD,MAAMG,KAAkB,GAAG;MACzBH,SAAS;MACTC;IACF,CAAC;IACDV,YAAY,CAACa,IAAI,CAACD,KAAK,CAAC;IACxB;EACF;EACAE,YAAY,CAAC,MAAMjB,kBAAkB,CAACkB,IAAI,CAAC,OAAO,GAAGN,SAAS,EAAEC,SAAS,CAAC,CAAC;AAC7E;AAEA,SAASM,sBAAsBA,CAAA,EAAS;EACtC,IAAIhB,YAAY,CAACM,MAAM,KAAK,CAAC,EAAE;IAC7B;EACF;EACA,MAAMC,MAAM,GAAGU,KAAK,CAACC,IAAI,CAAClB,YAAY,CAAC;EACvCA,YAAY,GAAG,EAAE;EACjB,KAAK,IAAImB,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGZ,MAAM,CAACD,MAAM,EAAEa,CAAC,EAAE,EAAE;IACtC,MAAMP,KAAK,GAAGL,MAAM,CAACY,CAAC,CAAC;IACvB,IAAIP,KAAK,EAAE;MACTJ,eAAe,CAACI,KAAK,CAACH,SAAS,EAAEG,KAAK,CAACF,SAAS,CAAC;IACnD;EACF;AACF;AAEA,eAAe;EACb;EACAU,oBAAoB,EAAE,EAAW;EACjC;EACA;EACAC,iBAAiB,EAAE,IAAI;EAEvB;AACF;AACA;AACA;AACA;AACA;AACA;EACE,MAAM7B,aAAaA,CACjB8B,OAA+C,EAC/CC,SAAgD,EAClB;IAC9B,MAAMC,IAAI,GAAGD,SAAS,CAACC,IAAI;IAC3B,MAAMC,WAAW,GAAG9B,OAAO,CAAC,CAAC,CAAC+B,IAAI,CAACC,GAAG,IAAIA,GAAG,CAACH,IAAI,KAAKA,IAAI,CAAC;IAC5D,IAAIC,WAAW,EAAE;MACf,OAAO;QACLH,OAAO;QACPC;MACF,CAAC;IACH;IACA,MAAMK,YAAiB,GAAG;MACxBJ;IACF,CAAC;IACD,IACED,SAAS,CAACM,8BAA8B,KAAK,IAAI,IACjDN,SAAS,CAACM,8BAA8B,KAAK,KAAK,EAClD;MACAD,YAAY,CAACC,8BAA8B,GAAGN,SAAS,CAACM,8BAA8B;IACxF;IACA,MAAMC,WAAW,GAAGC,MAAM,CAACC,MAAM,CAAC,CAAC,CAAC,EAAEV,OAAO,CAAC;IAE9C,OAAQQ,WAAW,CAASG,QAAQ;IACpCzC,aAAa,CAACsC,WAAW,EAAEF,YAAY,CAAC;IACxC,OAAO;MACLN,OAAO;MACPC;IACF,CAAC;EACH,CAAC;EAED;AACF;AACA;AACA;AACA;EACE9B,WAAWA,CAACyC,QAA4C,EAAQ;IAC9DzC,WAAW,CAACyC,QAAe,CAAC;EAC9B,CAAC;EAED;AACF;AACA;AACA;AACA;AACA;EACEC,iCAAiCA,CAACC,OAAe,EAAEC,OAAgB,EAAQ;IACxE3C,MAAM,CAAC0C,OAAO,CAAC,CAASP,8BAA8B,GAAGQ,OAAO;EACnE,CAAC;EAED;AACF;AACA;AACA;AACA;EACE,MAAMzC,SAASA,CAACwC,OAAe,EAAiB;IAC9C,IAAI1C,MAAM,CAAC0C,OAAO,CAAC,EAAE;MACnB,MAAMxC,SAAS,CAACF,MAAM,CAAC0C,OAAO,CAAQ,CAAC;IACzC;EACF,CAAC;EAED;AACF;AACA;AACA;AACA;AACA;EACEE,UAAUA,CAAA,EAA0B;IAClC,OAAO,CAAC,CAAC;EACX,CAAC;EAED;AACF;AACA;AACA;AACA;AACA;EACEC,UAAUA,CAAA,EAA0B;IAClC,OAAO,CAAC,CAAC;EACX,CAAC;EAED;AACF;AACA;AACA;AACA;AACA;AACA;EACE,MAAMC,kBAAkBA,CAACC,GAAW,EAAEC,KAAc,EAAiB;IACnExC,sBAAsB,CAACuC,GAAG,CAAC,GAAGC,KAAK;EACrC,CAAC;EAED;AACF;AACA;AACA;AACA;AACA;AACA;EACEC,oBAAoBA,CAACF,GAAW,EAAEC,KAAa,EAAQ;IACrDxC,sBAAsB,CAACuC,GAAG,CAAC,GAAGC,KAAK;EACrC,CAAC;EAED;AACF;AACA;AACA;AACA;AACA;EACEE,iBAAiBA,CAAA,EAAuB;IACtC,OAAOb,MAAM,CAACC,MAAM,CAAC,CAAC,CAAC,EAAE9B,sBAAsB,CAAC;EAClD,CAAC;EAED;AACF;AACA;AACA;EACE2C,mBAAmBA,CAAA,EAAS;IAC1B3C,sBAAsB,GAAG,CAAC,CAAC;EAC7B,CAAC;EAED;AACF;AACA;AACA;AACA;AACA;EACE4C,WAAWA,CAAA,EAAS;IAClB;EAAA,CACD;EACD;AACF;AACA;AACA;AACA;AACA;EACEC,eAAeA,CAAA,EAAS;IACtB;EAAA,CACD;EAED;AACF;AACA;AACA;AACA;AACA;EACEC,iBAAiBA,CAACC,KAAc,EAAQ;IACtCnD,OAAO,GAAGmD,KAAK;IACf,IAAInD,OAAO,EAAE;MACXgB,YAAY,CAAC,MAAME,sBAAsB,CAAC,CAAC,CAAC;IAC9C;EACF,CAAC;EAED;AACF;AACA;AACA;AACA;EACEkC,kBAAkBA,CAAA,EAAiB;IACjC,OAAO/C,qBAAqB,CAAC,CAAC;EAChC,CAAC;EAED;AACF;AACA;AACA;AACA;AACA;AACA;EACEgD,UAAUA,CAAC1C,SAAiB,EAAEC,SAAc,EAAQ;IAClDF,eAAe,CAACC,SAAS,EAAEC,SAAS,CAAC;EACvC,CAAC;EAED;AACF;AACA;AACA;AACA;EACE0C,iBAAiBA,CAAC3C,SAAiB,EAAQ;IACzCV,eAAe,EAAE;IACjB,IAAI,CAACE,WAAW,CAACU,cAAc,CAACF,SAAS,CAAC,EAAE;MAC1CR,WAAW,CAACQ,SAAS,CAAC,GAAG,CAAC;IAC5B,CAAC,MAAM;MACL,IAAIR,WAAW,CAACQ,SAAS,CAAC,KAAK4C,SAAS,EAAE;QACxCpD,WAAW,CAACQ,SAAS,CAAC,EAAE;MAC1B;IACF;IACAK,YAAY,CAAC,MAAME,sBAAsB,CAAC,CAAC,CAAC;EAC9C,CAAC;EAED;AACF;AACA;AACA;AACA;AACA;EACEsC,oBAAoBA,CAAC7C,SAAiB,EAAE8C,GAAa,EAAQ;IAC3D,IAAItD,WAAW,CAACU,cAAc,CAACF,SAAS,CAAC,EAAE;MACzC,MAAM+C,KAAK,GAAGvD,WAAW,CAACQ,SAAS,CAAC;MACpC,IAAI+C,KAAK,KAAKH,SAAS,EAAE;QACvB,IAAIG,KAAK,IAAI,CAAC,IAAID,GAAG,EAAE;UACrBxD,eAAe,IAAIyD,KAAK;UACxB,OAAOvD,WAAW,CAACQ,SAAS,CAAC;QAC/B,CAAC,MAAM;UACLV,eAAe,EAAE;UACjB,MAAM0D,YAAY,GAAGxD,WAAW,CAACQ,SAAS,CAAC;UAC3C,IAAIgD,YAAY,KAAKJ,SAAS,EAAE;YAC9BpD,WAAW,CAACQ,SAAS,CAAC,GAAGgD,YAAY,GAAG,CAAC;UAC3C;QACF;MACF;IACF;EACF;AACF,CAAC","ignoreList":[]}
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
- setImmediate(() => DeviceEventEmitter.emit('rnfb_' + eventName, event));
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","emit"],"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;EACjEC,YAAY,CAAC,MAAMrB,kBAAkB,CAACsB,IAAI,CAAC,OAAO,GAAGH,SAAS,EAAEC,KAAK,CAAC,CAAC;AACzE","ignoreList":[]}
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":[]}