@react-native-firebase/app 23.7.0 → 23.8.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 (672) hide show
  1. package/dist/commonjs/FirebaseApp.js +85 -0
  2. package/dist/commonjs/FirebaseApp.js.map +1 -0
  3. package/dist/commonjs/common/Base64.js +106 -0
  4. package/dist/commonjs/common/Base64.js.map +1 -0
  5. package/dist/commonjs/common/MutatableParams.js +50 -0
  6. package/dist/commonjs/common/MutatableParams.js.map +1 -0
  7. package/dist/commonjs/common/ReferenceBase.js +49 -0
  8. package/dist/commonjs/common/ReferenceBase.js.map +1 -0
  9. package/dist/commonjs/common/deeps.js +82 -0
  10. package/dist/commonjs/common/deeps.js.map +1 -0
  11. package/dist/commonjs/common/id.js +88 -0
  12. package/dist/commonjs/common/id.js.map +1 -0
  13. package/dist/commonjs/common/index.js +799 -0
  14. package/dist/commonjs/common/index.js.map +1 -0
  15. package/dist/commonjs/common/path.js +133 -0
  16. package/dist/commonjs/common/path.js.map +1 -0
  17. package/dist/commonjs/common/promise.js +65 -0
  18. package/dist/commonjs/common/promise.js.map +1 -0
  19. package/dist/commonjs/common/serialize.js +48 -0
  20. package/dist/commonjs/common/serialize.js.map +1 -0
  21. package/dist/commonjs/common/unitTestUtils.js +54 -0
  22. package/dist/commonjs/common/unitTestUtils.js.map +1 -0
  23. package/dist/commonjs/common/validate.js +236 -0
  24. package/dist/commonjs/common/validate.js.map +1 -0
  25. package/dist/commonjs/index.js +42 -0
  26. package/dist/commonjs/index.js.map +1 -0
  27. package/dist/commonjs/internal/FirebaseModule.js +63 -0
  28. package/dist/commonjs/internal/FirebaseModule.js.map +1 -0
  29. package/dist/commonjs/internal/NativeFirebaseError.js +92 -0
  30. package/dist/commonjs/internal/NativeFirebaseError.js.map +1 -0
  31. package/dist/commonjs/internal/NativeModules.js +6 -0
  32. package/dist/commonjs/internal/NativeModules.js.map +1 -0
  33. package/dist/commonjs/internal/RNFBNativeEventEmitter.js +118 -0
  34. package/dist/commonjs/internal/RNFBNativeEventEmitter.js.map +1 -0
  35. package/dist/commonjs/internal/SharedEventEmitter.js +26 -0
  36. package/dist/commonjs/internal/SharedEventEmitter.js.map +1 -0
  37. package/dist/commonjs/internal/asyncStorage.js +83 -0
  38. package/dist/commonjs/internal/asyncStorage.js.map +1 -0
  39. package/dist/commonjs/internal/constants.js +27 -0
  40. package/dist/commonjs/internal/constants.js.map +1 -0
  41. package/dist/commonjs/internal/index.js +109 -0
  42. package/dist/commonjs/internal/index.js.map +1 -0
  43. package/dist/commonjs/internal/logger.js +256 -0
  44. package/dist/commonjs/internal/logger.js.map +1 -0
  45. package/dist/commonjs/internal/nativeModule.android.js +19 -0
  46. package/dist/commonjs/internal/nativeModule.android.js.map +1 -0
  47. package/dist/commonjs/internal/nativeModule.ios.js +19 -0
  48. package/dist/commonjs/internal/nativeModule.ios.js.map +1 -0
  49. package/dist/commonjs/internal/nativeModule.js +19 -0
  50. package/dist/commonjs/internal/nativeModule.js.map +1 -0
  51. package/dist/commonjs/internal/nativeModuleAndroidIos.js +51 -0
  52. package/dist/commonjs/internal/nativeModuleAndroidIos.js.map +1 -0
  53. package/dist/commonjs/internal/nativeModuleWeb.js +52 -0
  54. package/dist/commonjs/internal/nativeModuleWeb.js.map +1 -0
  55. package/dist/commonjs/internal/nullSerialization.js +162 -0
  56. package/dist/commonjs/internal/nullSerialization.js.map +1 -0
  57. package/dist/commonjs/internal/registry/app.js +238 -0
  58. package/dist/commonjs/internal/registry/app.js.map +1 -0
  59. package/dist/commonjs/internal/registry/namespace.js +269 -0
  60. package/dist/commonjs/internal/registry/namespace.js.map +1 -0
  61. package/dist/commonjs/internal/registry/nativeModule.js +224 -0
  62. package/dist/commonjs/internal/registry/nativeModule.js.map +1 -0
  63. package/dist/commonjs/internal/web/RNFBAppModule.js +273 -0
  64. package/dist/commonjs/internal/web/RNFBAppModule.js.map +1 -0
  65. package/dist/commonjs/internal/web/firebaseApp.js +17 -0
  66. package/dist/commonjs/internal/web/firebaseApp.js.map +1 -0
  67. package/dist/commonjs/internal/web/firebaseAppCheck.js +36 -0
  68. package/dist/commonjs/internal/web/firebaseAppCheck.js.map +1 -0
  69. package/dist/commonjs/internal/web/firebaseAuth.js +28 -0
  70. package/dist/commonjs/internal/web/firebaseAuth.js.map +1 -0
  71. package/dist/commonjs/internal/web/firebaseDatabase.js +28 -0
  72. package/dist/commonjs/internal/web/firebaseDatabase.js.map +1 -0
  73. package/dist/commonjs/internal/web/firebaseFirestore.js +28 -0
  74. package/dist/commonjs/internal/web/firebaseFirestore.js.map +1 -0
  75. package/dist/commonjs/internal/web/firebaseFunctions.js +28 -0
  76. package/dist/commonjs/internal/web/firebaseFunctions.js.map +1 -0
  77. package/dist/commonjs/internal/web/firebaseInstallations.js +36 -0
  78. package/dist/commonjs/internal/web/firebaseInstallations.js.map +1 -0
  79. package/dist/commonjs/internal/web/firebaseRemoteConfig.js +36 -0
  80. package/dist/commonjs/internal/web/firebaseRemoteConfig.js.map +1 -0
  81. package/dist/commonjs/internal/web/firebaseStorage.js +28 -0
  82. package/dist/commonjs/internal/web/firebaseStorage.js.map +1 -0
  83. package/dist/commonjs/internal/web/memidb/FDBCursor.js +479 -0
  84. package/dist/commonjs/internal/web/memidb/FDBCursor.js.map +1 -0
  85. package/dist/commonjs/internal/web/memidb/FDBCursorWithValue.js +19 -0
  86. package/dist/commonjs/internal/web/memidb/FDBCursorWithValue.js.map +1 -0
  87. package/dist/commonjs/internal/web/memidb/FDBDatabase.js +163 -0
  88. package/dist/commonjs/internal/web/memidb/FDBDatabase.js.map +1 -0
  89. package/dist/commonjs/internal/web/memidb/FDBFactory.js +264 -0
  90. package/dist/commonjs/internal/web/memidb/FDBFactory.js.map +1 -0
  91. package/dist/commonjs/internal/web/memidb/FDBIndex.js +191 -0
  92. package/dist/commonjs/internal/web/memidb/FDBIndex.js.map +1 -0
  93. package/dist/commonjs/internal/web/memidb/FDBKeyRange.js +78 -0
  94. package/dist/commonjs/internal/web/memidb/FDBKeyRange.js.map +1 -0
  95. package/dist/commonjs/internal/web/memidb/FDBObjectStore.js +383 -0
  96. package/dist/commonjs/internal/web/memidb/FDBObjectStore.js.map +1 -0
  97. package/dist/commonjs/internal/web/memidb/FDBOpenDBRequest.js +17 -0
  98. package/dist/commonjs/internal/web/memidb/FDBOpenDBRequest.js.map +1 -0
  99. package/dist/commonjs/internal/web/memidb/FDBRequest.js +41 -0
  100. package/dist/commonjs/internal/web/memidb/FDBRequest.js.map +1 -0
  101. package/dist/commonjs/internal/web/memidb/FDBTransaction.js +221 -0
  102. package/dist/commonjs/internal/web/memidb/FDBTransaction.js.map +1 -0
  103. package/dist/commonjs/internal/web/memidb/FDBVersionChangeEvent.js +20 -0
  104. package/dist/commonjs/internal/web/memidb/FDBVersionChangeEvent.js.map +1 -0
  105. package/dist/commonjs/internal/web/memidb/LICENSE +208 -0
  106. package/dist/commonjs/internal/web/memidb/index.js +45 -0
  107. package/dist/commonjs/internal/web/memidb/index.js.map +1 -0
  108. package/dist/commonjs/internal/web/memidb/lib/Database.js +38 -0
  109. package/dist/commonjs/internal/web/memidb/lib/Database.js.map +1 -0
  110. package/dist/commonjs/internal/web/memidb/lib/FakeDOMStringList.js +78 -0
  111. package/dist/commonjs/internal/web/memidb/lib/FakeDOMStringList.js.map +1 -0
  112. package/dist/commonjs/internal/web/memidb/lib/FakeEvent.js +45 -0
  113. package/dist/commonjs/internal/web/memidb/lib/FakeEvent.js.map +1 -0
  114. package/dist/commonjs/internal/web/memidb/lib/FakeEventTarget.js +111 -0
  115. package/dist/commonjs/internal/web/memidb/lib/FakeEventTarget.js.map +1 -0
  116. package/dist/commonjs/internal/web/memidb/lib/Index.js +164 -0
  117. package/dist/commonjs/internal/web/memidb/lib/Index.js.map +1 -0
  118. package/dist/commonjs/internal/web/memidb/lib/KeyGenerator.js +29 -0
  119. package/dist/commonjs/internal/web/memidb/lib/KeyGenerator.js.map +1 -0
  120. package/dist/commonjs/internal/web/memidb/lib/ObjectStore.js +180 -0
  121. package/dist/commonjs/internal/web/memidb/lib/ObjectStore.js.map +1 -0
  122. package/dist/commonjs/internal/web/memidb/lib/RecordStore.js +141 -0
  123. package/dist/commonjs/internal/web/memidb/lib/RecordStore.js.map +1 -0
  124. package/dist/commonjs/internal/web/memidb/lib/binarySearch.js +86 -0
  125. package/dist/commonjs/internal/web/memidb/lib/binarySearch.js.map +1 -0
  126. package/dist/commonjs/internal/web/memidb/lib/canInjectKey.js +30 -0
  127. package/dist/commonjs/internal/web/memidb/lib/canInjectKey.js.map +1 -0
  128. package/dist/commonjs/internal/web/memidb/lib/cmp.js +85 -0
  129. package/dist/commonjs/internal/web/memidb/lib/cmp.js.map +1 -0
  130. package/dist/commonjs/internal/web/memidb/lib/enforceRange.js +20 -0
  131. package/dist/commonjs/internal/web/memidb/lib/enforceRange.js.map +1 -0
  132. package/dist/commonjs/internal/web/memidb/lib/errors.js +95 -0
  133. package/dist/commonjs/internal/web/memidb/lib/errors.js.map +1 -0
  134. package/dist/commonjs/internal/web/memidb/lib/extractKey.js +46 -0
  135. package/dist/commonjs/internal/web/memidb/lib/extractKey.js.map +1 -0
  136. package/dist/commonjs/internal/web/memidb/lib/scheduling.js +37 -0
  137. package/dist/commonjs/internal/web/memidb/lib/scheduling.js.map +1 -0
  138. package/dist/commonjs/internal/web/memidb/lib/types.js +6 -0
  139. package/dist/commonjs/internal/web/memidb/lib/types.js.map +1 -0
  140. package/dist/commonjs/internal/web/memidb/lib/validateKeyPath.js +51 -0
  141. package/dist/commonjs/internal/web/memidb/lib/validateKeyPath.js.map +1 -0
  142. package/dist/commonjs/internal/web/memidb/lib/valueToKey.js +62 -0
  143. package/dist/commonjs/internal/web/memidb/lib/valueToKey.js.map +1 -0
  144. package/dist/commonjs/internal/web/memidb/lib/valueToKeyRange.js +26 -0
  145. package/dist/commonjs/internal/web/memidb/lib/valueToKeyRange.js.map +1 -0
  146. package/dist/commonjs/internal/web/structuredClone/index.js +239 -0
  147. package/dist/commonjs/internal/web/structuredClone/index.js.map +1 -0
  148. package/dist/commonjs/internal/web/utils.js +59 -0
  149. package/dist/commonjs/internal/web/utils.js.map +1 -0
  150. package/dist/commonjs/modular.js +190 -0
  151. package/dist/commonjs/modular.js.map +1 -0
  152. package/{android/src/reactnative/java/io/invertase/firebase/app/ReactNativeFirebaseAppRegistrar.java → dist/commonjs/namespaced.js} +17 -17
  153. package/dist/commonjs/namespaced.js.map +1 -0
  154. package/dist/commonjs/package.json +1 -0
  155. package/dist/commonjs/types/app.js +139 -0
  156. package/dist/commonjs/types/app.js.map +1 -0
  157. package/dist/commonjs/types/internal.js +6 -0
  158. package/dist/commonjs/types/internal.js.map +1 -0
  159. package/dist/commonjs/utils/UtilsStatics.js +59 -0
  160. package/dist/commonjs/utils/UtilsStatics.js.map +1 -0
  161. package/dist/commonjs/utils/index.js +94 -0
  162. package/dist/commonjs/utils/index.js.map +1 -0
  163. package/dist/commonjs/version.js +9 -0
  164. package/dist/commonjs/version.js.map +1 -0
  165. package/{lib → dist/module}/FirebaseApp.js +14 -14
  166. package/dist/module/FirebaseApp.js.map +1 -0
  167. package/dist/module/common/Base64.js +100 -0
  168. package/dist/module/common/Base64.js.map +1 -0
  169. package/{lib → dist/module}/common/MutatableParams.js +4 -6
  170. package/dist/module/common/MutatableParams.js.map +1 -0
  171. package/{lib → dist/module}/common/ReferenceBase.js +3 -2
  172. package/dist/module/common/ReferenceBase.js.map +1 -0
  173. package/{lib → dist/module}/common/deeps.js +5 -9
  174. package/dist/module/common/deeps.js.map +1 -0
  175. package/{lib → dist/module}/common/id.js +20 -11
  176. package/dist/module/common/id.js.map +1 -0
  177. package/dist/module/common/index.js +701 -0
  178. package/dist/module/common/index.js.map +1 -0
  179. package/{lib → dist/module}/common/path.js +4 -8
  180. package/dist/module/common/path.js.map +1 -0
  181. package/{lib → dist/module}/common/promise.js +21 -23
  182. package/dist/module/common/promise.js.map +1 -0
  183. package/dist/module/common/serialize.js +43 -0
  184. package/dist/module/common/serialize.js.map +1 -0
  185. package/dist/module/common/unitTestUtils.js +48 -0
  186. package/dist/module/common/unitTestUtils.js.map +1 -0
  187. package/{lib → dist/module}/common/validate.js +20 -16
  188. package/dist/module/common/validate.js.map +1 -0
  189. package/{ios/RNFBApp/RNFBVersion.m → dist/module/index.js} +6 -5
  190. package/dist/module/index.js.map +1 -0
  191. package/{lib → dist/module}/internal/FirebaseModule.js +6 -11
  192. package/dist/module/internal/FirebaseModule.js.map +1 -0
  193. package/{lib → dist/module}/internal/NativeFirebaseError.js +19 -24
  194. package/dist/module/internal/NativeFirebaseError.js.map +1 -0
  195. package/dist/module/internal/NativeModules.js +4 -0
  196. package/dist/module/internal/NativeModules.js.map +1 -0
  197. package/{lib → dist/module}/internal/RNFBNativeEventEmitter.js +30 -21
  198. package/dist/module/internal/RNFBNativeEventEmitter.js.map +1 -0
  199. package/{android/src/reactnative/java/io/invertase/firebase/app/ReactNativeFirebaseVersion.java → dist/module/internal/SharedEventEmitter.js} +5 -5
  200. package/dist/module/internal/SharedEventEmitter.js.map +1 -0
  201. package/dist/module/internal/asyncStorage.js +73 -0
  202. package/dist/module/internal/asyncStorage.js.map +1 -0
  203. package/dist/module/internal/constants.js +23 -0
  204. package/dist/module/internal/constants.js.map +1 -0
  205. package/dist/module/internal/index.js +30 -0
  206. package/dist/module/internal/index.js.map +1 -0
  207. package/{lib → dist/module}/internal/logger.js +65 -55
  208. package/dist/module/internal/logger.js.map +1 -0
  209. package/dist/module/internal/nativeModule.android.js +5 -0
  210. package/dist/module/internal/nativeModule.android.js.map +1 -0
  211. package/dist/module/internal/nativeModule.ios.js +5 -0
  212. package/dist/module/internal/nativeModule.ios.js.map +1 -0
  213. package/dist/module/internal/nativeModule.js +7 -0
  214. package/dist/module/internal/nativeModule.js.map +1 -0
  215. package/dist/module/internal/nativeModuleAndroidIos.js +46 -0
  216. package/dist/module/internal/nativeModuleAndroidIos.js.map +1 -0
  217. package/dist/module/internal/nativeModuleWeb.js +45 -0
  218. package/dist/module/internal/nativeModuleWeb.js.map +1 -0
  219. package/dist/module/internal/nullSerialization.js +158 -0
  220. package/dist/module/internal/nullSerialization.js.map +1 -0
  221. package/{lib → dist/module}/internal/registry/app.js +41 -79
  222. package/dist/module/internal/registry/app.js.map +1 -0
  223. package/dist/module/internal/registry/namespace.js +262 -0
  224. package/dist/module/internal/registry/namespace.js.map +1 -0
  225. package/{lib → dist/module}/internal/registry/nativeModule.js +46 -62
  226. package/dist/module/internal/registry/nativeModule.js.map +1 -0
  227. package/{lib → dist/module}/internal/web/RNFBAppModule.js +76 -67
  228. package/dist/module/internal/web/RNFBAppModule.js.map +1 -0
  229. package/{android/src/reactnative/java/io/invertase/firebase/interfaces/NativeEvent.java → dist/module/internal/web/firebaseApp.js} +5 -10
  230. package/dist/module/internal/web/firebaseApp.js.map +1 -0
  231. package/{android/src/reactnative/java/io/invertase/firebase/interfaces/NativeError.java → dist/module/internal/web/firebaseAppCheck.js} +8 -14
  232. package/dist/module/internal/web/firebaseAppCheck.js.map +1 -0
  233. package/dist/module/internal/web/firebaseAuth.js +24 -0
  234. package/dist/module/internal/web/firebaseAuth.js.map +1 -0
  235. package/dist/module/internal/web/firebaseDatabase.js +24 -0
  236. package/dist/module/internal/web/firebaseDatabase.js.map +1 -0
  237. package/dist/module/internal/web/firebaseFirestore.js +24 -0
  238. package/dist/module/internal/web/firebaseFirestore.js.map +1 -0
  239. package/dist/module/internal/web/firebaseFunctions.js +24 -0
  240. package/dist/module/internal/web/firebaseFunctions.js.map +1 -0
  241. package/dist/module/internal/web/firebaseInstallations.js +26 -0
  242. package/dist/module/internal/web/firebaseInstallations.js.map +1 -0
  243. package/{android/src/reactnative/java/io/invertase/firebase/interfaces/ContextProvider.java → dist/module/internal/web/firebaseRemoteConfig.js} +8 -12
  244. package/dist/module/internal/web/firebaseRemoteConfig.js.map +1 -0
  245. package/dist/module/internal/web/firebaseStorage.js +24 -0
  246. package/dist/module/internal/web/firebaseStorage.js.map +1 -0
  247. package/dist/module/internal/web/memidb/FDBCursor.js +474 -0
  248. package/dist/module/internal/web/memidb/FDBCursor.js.map +1 -0
  249. package/dist/module/internal/web/memidb/FDBCursorWithValue.js +14 -0
  250. package/dist/module/internal/web/memidb/FDBCursorWithValue.js.map +1 -0
  251. package/dist/module/internal/web/memidb/FDBDatabase.js +158 -0
  252. package/dist/module/internal/web/memidb/FDBDatabase.js.map +1 -0
  253. package/dist/module/internal/web/memidb/FDBFactory.js +259 -0
  254. package/dist/module/internal/web/memidb/FDBFactory.js.map +1 -0
  255. package/dist/module/internal/web/memidb/FDBIndex.js +186 -0
  256. package/dist/module/internal/web/memidb/FDBIndex.js.map +1 -0
  257. package/dist/module/internal/web/memidb/FDBKeyRange.js +74 -0
  258. package/dist/module/internal/web/memidb/FDBKeyRange.js.map +1 -0
  259. package/dist/module/internal/web/memidb/FDBObjectStore.js +378 -0
  260. package/dist/module/internal/web/memidb/FDBObjectStore.js.map +1 -0
  261. package/dist/module/internal/web/memidb/FDBOpenDBRequest.js +12 -0
  262. package/dist/module/internal/web/memidb/FDBOpenDBRequest.js.map +1 -0
  263. package/dist/module/internal/web/memidb/FDBRequest.js +36 -0
  264. package/dist/module/internal/web/memidb/FDBRequest.js.map +1 -0
  265. package/dist/module/internal/web/memidb/FDBTransaction.js +216 -0
  266. package/dist/module/internal/web/memidb/FDBTransaction.js.map +1 -0
  267. package/dist/module/internal/web/memidb/FDBVersionChangeEvent.js +15 -0
  268. package/dist/module/internal/web/memidb/FDBVersionChangeEvent.js.map +1 -0
  269. package/dist/module/internal/web/memidb/LICENSE +208 -0
  270. package/dist/module/internal/web/memidb/index.js +41 -0
  271. package/dist/module/internal/web/memidb/index.js.map +1 -0
  272. package/dist/module/internal/web/memidb/lib/Database.js +35 -0
  273. package/dist/module/internal/web/memidb/lib/Database.js.map +1 -0
  274. package/dist/module/internal/web/memidb/lib/FakeDOMStringList.js +75 -0
  275. package/dist/module/internal/web/memidb/lib/FakeDOMStringList.js.map +1 -0
  276. package/dist/module/internal/web/memidb/lib/FakeEvent.js +41 -0
  277. package/dist/module/internal/web/memidb/lib/FakeEvent.js.map +1 -0
  278. package/dist/module/internal/web/memidb/lib/FakeEventTarget.js +107 -0
  279. package/dist/module/internal/web/memidb/lib/FakeEventTarget.js.map +1 -0
  280. package/dist/module/internal/web/memidb/lib/Index.js +160 -0
  281. package/dist/module/internal/web/memidb/lib/Index.js.map +1 -0
  282. package/dist/module/internal/web/memidb/lib/KeyGenerator.js +25 -0
  283. package/dist/module/internal/web/memidb/lib/KeyGenerator.js.map +1 -0
  284. package/dist/module/internal/web/memidb/lib/ObjectStore.js +175 -0
  285. package/dist/module/internal/web/memidb/lib/ObjectStore.js.map +1 -0
  286. package/dist/module/internal/web/memidb/lib/RecordStore.js +136 -0
  287. package/dist/module/internal/web/memidb/lib/RecordStore.js.map +1 -0
  288. package/dist/module/internal/web/memidb/lib/binarySearch.js +77 -0
  289. package/dist/module/internal/web/memidb/lib/binarySearch.js.map +1 -0
  290. package/dist/module/internal/web/memidb/lib/canInjectKey.js +26 -0
  291. package/dist/module/internal/web/memidb/lib/canInjectKey.js.map +1 -0
  292. package/dist/module/internal/web/memidb/lib/cmp.js +80 -0
  293. package/dist/module/internal/web/memidb/lib/cmp.js.map +1 -0
  294. package/dist/module/internal/web/memidb/lib/enforceRange.js +16 -0
  295. package/dist/module/internal/web/memidb/lib/enforceRange.js.map +1 -0
  296. package/dist/module/internal/web/memidb/lib/errors.js +81 -0
  297. package/dist/module/internal/web/memidb/lib/errors.js.map +1 -0
  298. package/dist/module/internal/web/memidb/lib/extractKey.js +42 -0
  299. package/dist/module/internal/web/memidb/lib/extractKey.js.map +1 -0
  300. package/dist/module/internal/web/memidb/lib/scheduling.js +32 -0
  301. package/dist/module/internal/web/memidb/lib/scheduling.js.map +1 -0
  302. package/dist/module/internal/web/memidb/lib/types.js +4 -0
  303. package/dist/module/internal/web/memidb/lib/types.js.map +1 -0
  304. package/dist/module/internal/web/memidb/lib/validateKeyPath.js +47 -0
  305. package/dist/module/internal/web/memidb/lib/validateKeyPath.js.map +1 -0
  306. package/dist/module/internal/web/memidb/lib/valueToKey.js +58 -0
  307. package/dist/module/internal/web/memidb/lib/valueToKey.js.map +1 -0
  308. package/dist/module/internal/web/memidb/lib/valueToKeyRange.js +22 -0
  309. package/dist/module/internal/web/memidb/lib/valueToKeyRange.js.map +1 -0
  310. package/dist/module/internal/web/structuredClone/index.js +235 -0
  311. package/dist/module/internal/web/structuredClone/index.js.map +1 -0
  312. package/{lib → dist/module}/internal/web/utils.js +24 -5
  313. package/dist/module/internal/web/utils.js.map +1 -0
  314. package/dist/module/modular.js +172 -0
  315. package/dist/module/modular.js.map +1 -0
  316. package/dist/module/namespaced.js +25 -0
  317. package/dist/module/namespaced.js.map +1 -0
  318. package/dist/module/package.json +1 -0
  319. package/dist/module/types/app.js +135 -0
  320. package/dist/module/types/app.js.map +1 -0
  321. package/dist/module/types/internal.js +4 -0
  322. package/dist/module/types/internal.js.map +1 -0
  323. package/dist/module/utils/UtilsStatics.js +55 -0
  324. package/dist/module/utils/UtilsStatics.js.map +1 -0
  325. package/{lib → dist/module}/utils/index.js +13 -15
  326. package/dist/module/utils/index.js.map +1 -0
  327. package/dist/module/version.js +5 -0
  328. package/dist/module/version.js.map +1 -0
  329. package/dist/typescript/commonjs/lib/FirebaseApp.d.ts +21 -0
  330. package/dist/typescript/commonjs/lib/FirebaseApp.d.ts.map +1 -0
  331. package/dist/typescript/commonjs/lib/common/Base64.d.ts +23 -0
  332. package/dist/typescript/commonjs/lib/common/Base64.d.ts.map +1 -0
  333. package/dist/typescript/commonjs/lib/common/MutatableParams.d.ts +10 -0
  334. package/dist/typescript/commonjs/lib/common/MutatableParams.d.ts.map +1 -0
  335. package/dist/typescript/commonjs/lib/common/ReferenceBase.d.ts +12 -0
  336. package/dist/typescript/commonjs/lib/common/ReferenceBase.d.ts.map +1 -0
  337. package/dist/typescript/commonjs/lib/common/deeps.d.ts +19 -0
  338. package/dist/typescript/commonjs/lib/common/deeps.d.ts.map +1 -0
  339. package/dist/typescript/commonjs/lib/common/id.d.ts +12 -0
  340. package/dist/typescript/commonjs/lib/common/id.d.ts.map +1 -0
  341. package/dist/typescript/commonjs/lib/common/index.d.ts +33 -0
  342. package/dist/typescript/commonjs/lib/common/index.d.ts.map +1 -0
  343. package/dist/typescript/commonjs/lib/common/path.d.ts +51 -0
  344. package/dist/typescript/commonjs/lib/common/path.d.ts.map +1 -0
  345. package/dist/typescript/commonjs/lib/common/promise.d.ts +12 -0
  346. package/dist/typescript/commonjs/lib/common/promise.d.ts.map +1 -0
  347. package/dist/typescript/commonjs/lib/common/serialize.d.ts +4 -0
  348. package/dist/typescript/commonjs/lib/common/serialize.d.ts.map +1 -0
  349. package/dist/typescript/commonjs/lib/common/unitTestUtils.d.ts +4 -0
  350. package/dist/typescript/commonjs/lib/common/unitTestUtils.d.ts.map +1 -0
  351. package/dist/typescript/commonjs/lib/common/validate.d.ts +100 -0
  352. package/dist/typescript/commonjs/lib/common/validate.d.ts.map +1 -0
  353. package/dist/typescript/commonjs/lib/index.d.ts +4 -0
  354. package/dist/typescript/commonjs/lib/index.d.ts.map +1 -0
  355. package/dist/typescript/commonjs/lib/internal/FirebaseModule.d.ts +17 -0
  356. package/dist/typescript/commonjs/lib/internal/FirebaseModule.d.ts.map +1 -0
  357. package/dist/typescript/commonjs/lib/internal/NativeFirebaseError.d.ts +20 -0
  358. package/dist/typescript/commonjs/lib/internal/NativeFirebaseError.d.ts.map +1 -0
  359. package/dist/typescript/commonjs/lib/internal/NativeModules.d.ts +83 -0
  360. package/dist/typescript/commonjs/lib/internal/NativeModules.d.ts.map +1 -0
  361. package/dist/typescript/commonjs/lib/internal/RNFBNativeEventEmitter.d.ts +13 -0
  362. package/dist/typescript/commonjs/lib/internal/RNFBNativeEventEmitter.d.ts.map +1 -0
  363. package/dist/typescript/commonjs/lib/internal/SharedEventEmitter.d.ts +4 -0
  364. package/dist/typescript/commonjs/lib/internal/SharedEventEmitter.d.ts.map +1 -0
  365. package/dist/typescript/commonjs/lib/internal/asyncStorage.d.ts +10 -0
  366. package/dist/typescript/commonjs/lib/internal/asyncStorage.d.ts.map +1 -0
  367. package/dist/typescript/commonjs/lib/internal/constants.d.ts +5 -0
  368. package/dist/typescript/commonjs/lib/internal/constants.d.ts.map +1 -0
  369. package/dist/typescript/commonjs/lib/internal/index.d.ts +12 -0
  370. package/dist/typescript/commonjs/lib/internal/index.d.ts.map +1 -0
  371. package/dist/typescript/commonjs/lib/internal/logger.d.ts +83 -0
  372. package/dist/typescript/commonjs/lib/internal/logger.d.ts.map +1 -0
  373. package/dist/typescript/commonjs/lib/internal/nativeModule.android.d.ts +3 -0
  374. package/dist/typescript/commonjs/lib/internal/nativeModule.android.d.ts.map +1 -0
  375. package/dist/typescript/commonjs/lib/internal/nativeModule.d.ts +3 -0
  376. package/dist/typescript/commonjs/lib/internal/nativeModule.d.ts.map +1 -0
  377. package/dist/typescript/commonjs/lib/internal/nativeModule.ios.d.ts +3 -0
  378. package/dist/typescript/commonjs/lib/internal/nativeModule.ios.d.ts.map +1 -0
  379. package/dist/typescript/commonjs/lib/internal/nativeModuleAndroidIos.d.ts +10 -0
  380. package/dist/typescript/commonjs/lib/internal/nativeModuleAndroidIos.d.ts.map +1 -0
  381. package/dist/typescript/commonjs/lib/internal/nativeModuleWeb.d.ts +3 -0
  382. package/dist/typescript/commonjs/lib/internal/nativeModuleWeb.d.ts.map +1 -0
  383. package/dist/typescript/commonjs/lib/internal/nullSerialization.d.ts +16 -0
  384. package/dist/typescript/commonjs/lib/internal/nullSerialization.d.ts.map +1 -0
  385. package/dist/typescript/commonjs/lib/internal/registry/app.d.ts +47 -0
  386. package/dist/typescript/commonjs/lib/internal/registry/app.d.ts.map +1 -0
  387. package/dist/typescript/commonjs/lib/internal/registry/namespace.d.ts +26 -0
  388. package/dist/typescript/commonjs/lib/internal/registry/namespace.d.ts.map +1 -0
  389. package/dist/typescript/commonjs/lib/internal/registry/nativeModule.d.ts +17 -0
  390. package/dist/typescript/commonjs/lib/internal/registry/nativeModule.d.ts.map +1 -0
  391. package/dist/typescript/commonjs/lib/internal/web/RNFBAppModule.d.ts +139 -0
  392. package/dist/typescript/commonjs/lib/internal/web/RNFBAppModule.d.ts.map +1 -0
  393. package/dist/typescript/commonjs/lib/internal/web/firebaseApp.d.ts +2 -0
  394. package/dist/typescript/commonjs/lib/internal/web/firebaseApp.d.ts.map +1 -0
  395. package/{lib/internal/web/firebaseAppCheck.js → dist/typescript/commonjs/lib/internal/web/firebaseAppCheck.d.ts} +1 -2
  396. package/dist/typescript/commonjs/lib/internal/web/firebaseAppCheck.d.ts.map +1 -0
  397. package/dist/typescript/commonjs/lib/internal/web/firebaseAuth.d.ts +3 -0
  398. package/dist/typescript/commonjs/lib/internal/web/firebaseAuth.d.ts.map +1 -0
  399. package/dist/typescript/commonjs/lib/internal/web/firebaseDatabase.d.ts +3 -0
  400. package/dist/typescript/commonjs/lib/internal/web/firebaseDatabase.d.ts.map +1 -0
  401. package/dist/typescript/commonjs/lib/internal/web/firebaseFirestore.d.ts +3 -0
  402. package/dist/typescript/commonjs/lib/internal/web/firebaseFirestore.d.ts.map +1 -0
  403. package/dist/typescript/commonjs/lib/internal/web/firebaseFunctions.d.ts +3 -0
  404. package/dist/typescript/commonjs/lib/internal/web/firebaseFunctions.d.ts.map +1 -0
  405. package/{lib/internal/web/firebaseInstallations.js → dist/typescript/commonjs/lib/internal/web/firebaseInstallations.d.ts} +1 -2
  406. package/dist/typescript/commonjs/lib/internal/web/firebaseInstallations.d.ts.map +1 -0
  407. package/{lib/internal/web/firebaseRemoteConfig.js → dist/typescript/commonjs/lib/internal/web/firebaseRemoteConfig.d.ts} +1 -2
  408. package/dist/typescript/commonjs/lib/internal/web/firebaseRemoteConfig.d.ts.map +1 -0
  409. package/dist/typescript/commonjs/lib/internal/web/firebaseStorage.d.ts +3 -0
  410. package/dist/typescript/commonjs/lib/internal/web/firebaseStorage.d.ts.map +1 -0
  411. package/dist/typescript/commonjs/lib/internal/web/utils.d.ts +13 -0
  412. package/dist/typescript/commonjs/lib/internal/web/utils.d.ts.map +1 -0
  413. package/dist/typescript/commonjs/lib/modular.d.ts +95 -0
  414. package/dist/typescript/commonjs/lib/modular.d.ts.map +1 -0
  415. package/dist/typescript/commonjs/lib/namespaced.d.ts +5 -0
  416. package/dist/typescript/commonjs/lib/namespaced.d.ts.map +1 -0
  417. package/dist/typescript/commonjs/lib/types/app.d.ts +561 -0
  418. package/dist/typescript/commonjs/lib/types/app.d.ts.map +1 -0
  419. package/dist/typescript/commonjs/lib/types/internal.d.ts +101 -0
  420. package/dist/typescript/commonjs/lib/types/internal.d.ts.map +1 -0
  421. package/dist/typescript/commonjs/lib/utils/UtilsStatics.d.ts +4 -0
  422. package/dist/typescript/commonjs/lib/utils/UtilsStatics.d.ts.map +1 -0
  423. package/dist/typescript/commonjs/lib/utils/index.d.ts +4 -0
  424. package/dist/typescript/commonjs/lib/utils/index.d.ts.map +1 -0
  425. package/dist/typescript/commonjs/lib/version.d.ts +2 -0
  426. package/dist/typescript/commonjs/lib/version.d.ts.map +1 -0
  427. package/dist/typescript/commonjs/package.json +1 -0
  428. package/dist/typescript/module/lib/FirebaseApp.d.ts +21 -0
  429. package/dist/typescript/module/lib/FirebaseApp.d.ts.map +1 -0
  430. package/dist/typescript/module/lib/common/Base64.d.ts +23 -0
  431. package/dist/typescript/module/lib/common/Base64.d.ts.map +1 -0
  432. package/dist/typescript/module/lib/common/MutatableParams.d.ts +10 -0
  433. package/dist/typescript/module/lib/common/MutatableParams.d.ts.map +1 -0
  434. package/dist/typescript/module/lib/common/ReferenceBase.d.ts +12 -0
  435. package/dist/typescript/module/lib/common/ReferenceBase.d.ts.map +1 -0
  436. package/dist/typescript/module/lib/common/deeps.d.ts +19 -0
  437. package/dist/typescript/module/lib/common/deeps.d.ts.map +1 -0
  438. package/dist/typescript/module/lib/common/id.d.ts +12 -0
  439. package/dist/typescript/module/lib/common/id.d.ts.map +1 -0
  440. package/dist/typescript/module/lib/common/index.d.ts +33 -0
  441. package/dist/typescript/module/lib/common/index.d.ts.map +1 -0
  442. package/dist/typescript/module/lib/common/path.d.ts +51 -0
  443. package/dist/typescript/module/lib/common/path.d.ts.map +1 -0
  444. package/dist/typescript/module/lib/common/promise.d.ts +12 -0
  445. package/dist/typescript/module/lib/common/promise.d.ts.map +1 -0
  446. package/dist/typescript/module/lib/common/serialize.d.ts +4 -0
  447. package/dist/typescript/module/lib/common/serialize.d.ts.map +1 -0
  448. package/dist/typescript/module/lib/common/unitTestUtils.d.ts +4 -0
  449. package/dist/typescript/module/lib/common/unitTestUtils.d.ts.map +1 -0
  450. package/dist/typescript/module/lib/common/validate.d.ts +100 -0
  451. package/dist/typescript/module/lib/common/validate.d.ts.map +1 -0
  452. package/dist/typescript/module/lib/index.d.ts +4 -0
  453. package/dist/typescript/module/lib/index.d.ts.map +1 -0
  454. package/dist/typescript/module/lib/internal/FirebaseModule.d.ts +17 -0
  455. package/dist/typescript/module/lib/internal/FirebaseModule.d.ts.map +1 -0
  456. package/dist/typescript/module/lib/internal/NativeFirebaseError.d.ts +20 -0
  457. package/dist/typescript/module/lib/internal/NativeFirebaseError.d.ts.map +1 -0
  458. package/dist/typescript/module/lib/internal/NativeModules.d.ts +83 -0
  459. package/dist/typescript/module/lib/internal/NativeModules.d.ts.map +1 -0
  460. package/dist/typescript/module/lib/internal/RNFBNativeEventEmitter.d.ts +13 -0
  461. package/dist/typescript/module/lib/internal/RNFBNativeEventEmitter.d.ts.map +1 -0
  462. package/dist/typescript/module/lib/internal/SharedEventEmitter.d.ts +4 -0
  463. package/dist/typescript/module/lib/internal/SharedEventEmitter.d.ts.map +1 -0
  464. package/dist/typescript/module/lib/internal/asyncStorage.d.ts +10 -0
  465. package/dist/typescript/module/lib/internal/asyncStorage.d.ts.map +1 -0
  466. package/dist/typescript/module/lib/internal/constants.d.ts +5 -0
  467. package/dist/typescript/module/lib/internal/constants.d.ts.map +1 -0
  468. package/dist/typescript/module/lib/internal/index.d.ts +12 -0
  469. package/dist/typescript/module/lib/internal/index.d.ts.map +1 -0
  470. package/dist/typescript/module/lib/internal/logger.d.ts +83 -0
  471. package/dist/typescript/module/lib/internal/logger.d.ts.map +1 -0
  472. package/dist/typescript/module/lib/internal/nativeModule.android.d.ts +3 -0
  473. package/dist/typescript/module/lib/internal/nativeModule.android.d.ts.map +1 -0
  474. package/dist/typescript/module/lib/internal/nativeModule.d.ts +3 -0
  475. package/dist/typescript/module/lib/internal/nativeModule.d.ts.map +1 -0
  476. package/dist/typescript/module/lib/internal/nativeModule.ios.d.ts +3 -0
  477. package/dist/typescript/module/lib/internal/nativeModule.ios.d.ts.map +1 -0
  478. package/dist/typescript/module/lib/internal/nativeModuleAndroidIos.d.ts +10 -0
  479. package/dist/typescript/module/lib/internal/nativeModuleAndroidIos.d.ts.map +1 -0
  480. package/dist/typescript/module/lib/internal/nativeModuleWeb.d.ts +3 -0
  481. package/dist/typescript/module/lib/internal/nativeModuleWeb.d.ts.map +1 -0
  482. package/dist/typescript/module/lib/internal/nullSerialization.d.ts +16 -0
  483. package/dist/typescript/module/lib/internal/nullSerialization.d.ts.map +1 -0
  484. package/dist/typescript/module/lib/internal/registry/app.d.ts +47 -0
  485. package/dist/typescript/module/lib/internal/registry/app.d.ts.map +1 -0
  486. package/dist/typescript/module/lib/internal/registry/namespace.d.ts +26 -0
  487. package/dist/typescript/module/lib/internal/registry/namespace.d.ts.map +1 -0
  488. package/dist/typescript/module/lib/internal/registry/nativeModule.d.ts +17 -0
  489. package/dist/typescript/module/lib/internal/registry/nativeModule.d.ts.map +1 -0
  490. package/dist/typescript/module/lib/internal/web/RNFBAppModule.d.ts +139 -0
  491. package/dist/typescript/module/lib/internal/web/RNFBAppModule.d.ts.map +1 -0
  492. package/dist/typescript/module/lib/internal/web/firebaseApp.d.ts +2 -0
  493. package/dist/typescript/module/lib/internal/web/firebaseApp.d.ts.map +1 -0
  494. package/dist/typescript/module/lib/internal/web/firebaseAppCheck.d.ts +5 -0
  495. package/dist/typescript/module/lib/internal/web/firebaseAppCheck.d.ts.map +1 -0
  496. package/dist/typescript/module/lib/internal/web/firebaseAuth.d.ts +3 -0
  497. package/dist/typescript/module/lib/internal/web/firebaseAuth.d.ts.map +1 -0
  498. package/dist/typescript/module/lib/internal/web/firebaseDatabase.d.ts +3 -0
  499. package/dist/typescript/module/lib/internal/web/firebaseDatabase.d.ts.map +1 -0
  500. package/dist/typescript/module/lib/internal/web/firebaseFirestore.d.ts +3 -0
  501. package/dist/typescript/module/lib/internal/web/firebaseFirestore.d.ts.map +1 -0
  502. package/dist/typescript/module/lib/internal/web/firebaseFunctions.d.ts +3 -0
  503. package/dist/typescript/module/lib/internal/web/firebaseFunctions.d.ts.map +1 -0
  504. package/dist/typescript/module/lib/internal/web/firebaseInstallations.d.ts +5 -0
  505. package/dist/typescript/module/lib/internal/web/firebaseInstallations.d.ts.map +1 -0
  506. package/dist/typescript/module/lib/internal/web/firebaseRemoteConfig.d.ts +5 -0
  507. package/dist/typescript/module/lib/internal/web/firebaseRemoteConfig.d.ts.map +1 -0
  508. package/dist/typescript/module/lib/internal/web/firebaseStorage.d.ts +3 -0
  509. package/dist/typescript/module/lib/internal/web/firebaseStorage.d.ts.map +1 -0
  510. package/dist/typescript/module/lib/internal/web/utils.d.ts +13 -0
  511. package/dist/typescript/module/lib/internal/web/utils.d.ts.map +1 -0
  512. package/dist/typescript/module/lib/modular.d.ts +95 -0
  513. package/dist/typescript/module/lib/modular.d.ts.map +1 -0
  514. package/dist/typescript/module/lib/namespaced.d.ts +5 -0
  515. package/dist/typescript/module/lib/namespaced.d.ts.map +1 -0
  516. package/dist/typescript/module/lib/types/app.d.ts +561 -0
  517. package/dist/typescript/module/lib/types/app.d.ts.map +1 -0
  518. package/dist/typescript/module/lib/types/internal.d.ts +101 -0
  519. package/dist/typescript/module/lib/types/internal.d.ts.map +1 -0
  520. package/dist/typescript/module/lib/utils/UtilsStatics.d.ts +4 -0
  521. package/dist/typescript/module/lib/utils/UtilsStatics.d.ts.map +1 -0
  522. package/dist/typescript/module/lib/utils/index.d.ts +4 -0
  523. package/dist/typescript/module/lib/utils/index.d.ts.map +1 -0
  524. package/dist/typescript/module/lib/version.d.ts +2 -0
  525. package/dist/typescript/module/lib/version.d.ts.map +1 -0
  526. package/dist/typescript/module/package.json +1 -0
  527. package/lib/FirebaseApp.ts +98 -0
  528. package/lib/common/{Base64.js → Base64.ts} +19 -11
  529. package/lib/common/MutatableParams.ts +50 -0
  530. package/lib/common/ReferenceBase.ts +45 -0
  531. package/lib/common/deeps.ts +92 -0
  532. package/lib/common/id.ts +91 -0
  533. package/lib/common/{index.js → index.ts} +60 -38
  534. package/lib/common/path.ts +124 -0
  535. package/lib/common/promise.ts +68 -0
  536. package/lib/common/{serialize.js → serialize.ts} +3 -2
  537. package/lib/common/unitTestUtils.ts +5 -4
  538. package/lib/common/validate.ts +232 -0
  539. package/lib/index.ts +27 -0
  540. package/lib/internal/FirebaseModule.ts +78 -0
  541. package/lib/internal/NativeFirebaseError.ts +111 -0
  542. package/lib/internal/NativeModules.ts +116 -0
  543. package/lib/internal/RNFBNativeEventEmitter.ts +139 -0
  544. package/lib/internal/asyncStorage.ts +76 -0
  545. package/lib/internal/{constants.js → constants.ts} +3 -1
  546. package/{ios/RNFBApp/RCTConvert+FIRApp.m → lib/internal/global.d.ts} +14 -12
  547. package/lib/internal/{index.js → index.ts} +2 -0
  548. package/lib/internal/logger.ts +270 -0
  549. package/lib/internal/nativeModuleAndroidIos.ts +55 -0
  550. package/lib/internal/nativeModuleWeb.ts +60 -0
  551. package/lib/internal/nullSerialization.ts +186 -0
  552. package/lib/internal/registry/app.ts +278 -0
  553. package/lib/internal/registry/{namespace.js → namespace.ts} +93 -54
  554. package/lib/internal/registry/nativeModule.ts +282 -0
  555. package/lib/internal/web/RNFBAppModule.ts +318 -0
  556. package/{ios/RNFBApp/RCTConvert+FIRApp.h → lib/internal/web/firebaseApp.ts} +4 -7
  557. package/lib/internal/web/firebaseAppCheck.ts +23 -0
  558. package/lib/internal/web/firebaseAuth.ts +21 -0
  559. package/lib/internal/web/firebaseDatabase.ts +21 -0
  560. package/{android/src/reactnative/java/io/invertase/firebase/app/ReactNativeFirebaseAppInitProvider.java → lib/internal/web/firebaseFirestore.ts} +4 -5
  561. package/lib/internal/web/firebaseFunctions.ts +21 -0
  562. package/lib/internal/web/firebaseInstallations.ts +23 -0
  563. package/lib/internal/web/firebaseRemoteConfig.ts +23 -0
  564. package/lib/internal/web/firebaseStorage.ts +21 -0
  565. package/{ios/RNFBApp/RNFBVersion.h → lib/internal/web/memidb/index.d.ts} +5 -4
  566. package/lib/internal/web/memidb/lib/errors.js +17 -0
  567. package/lib/internal/web/utils.ts +57 -0
  568. package/lib/modular.ts +219 -0
  569. package/lib/{index.js → namespaced.ts} +2 -2
  570. package/lib/{index.d.ts → types/app.ts} +81 -40
  571. package/lib/types/internal.ts +142 -0
  572. package/lib/utils/{UtilsStatics.js → UtilsStatics.ts} +20 -12
  573. package/lib/utils/index.ts +94 -0
  574. package/lib/version.ts +2 -0
  575. package/package.json +106 -9
  576. package/CHANGELOG.md +0 -1525
  577. package/RNFBApp.podspec +0 -49
  578. package/android/.editorconfig +0 -10
  579. package/android/build.gradle +0 -129
  580. package/android/firebase-json.gradle +0 -73
  581. package/android/gradle.properties +0 -2
  582. package/android/lint.xml +0 -5
  583. package/android/settings.gradle +0 -1
  584. package/android/src/main/AndroidManifest.xml +0 -24
  585. package/android/src/main/java/io/invertase/firebase/app/.gitkeep +0 -0
  586. package/android/src/main/java/io/invertase/firebase/common/TaskExecutorService.java +0 -124
  587. package/android/src/main/java/io/invertase/firebase/common/UniversalFirebaseModule.java +0 -62
  588. package/android/src/main/java/io/invertase/firebase/common/UniversalFirebasePreferences.java +0 -91
  589. package/android/src/main/java/io/invertase/firebase/interfaces/.gitkeep +0 -0
  590. package/android/src/reactnative/AndroidManifest.xml +0 -2
  591. package/android/src/reactnative/java/io/invertase/firebase/app/ReactNativeFirebaseApp.java +0 -46
  592. package/android/src/reactnative/java/io/invertase/firebase/app/ReactNativeFirebaseAppModule.java +0 -186
  593. package/android/src/reactnative/java/io/invertase/firebase/app/ReactNativeFirebaseAppPackage.java +0 -49
  594. package/android/src/reactnative/java/io/invertase/firebase/common/RCTConvertFirebase.java +0 -191
  595. package/android/src/reactnative/java/io/invertase/firebase/common/ReactNativeFirebaseEvent.java +0 -53
  596. package/android/src/reactnative/java/io/invertase/firebase/common/ReactNativeFirebaseEventEmitter.java +0 -151
  597. package/android/src/reactnative/java/io/invertase/firebase/common/ReactNativeFirebaseInitProvider.java +0 -78
  598. package/android/src/reactnative/java/io/invertase/firebase/common/ReactNativeFirebaseJSON.java +0 -107
  599. package/android/src/reactnative/java/io/invertase/firebase/common/ReactNativeFirebaseMeta.java +0 -93
  600. package/android/src/reactnative/java/io/invertase/firebase/common/ReactNativeFirebaseModule.java +0 -146
  601. package/android/src/reactnative/java/io/invertase/firebase/common/ReactNativeFirebasePreferences.java +0 -88
  602. package/android/src/reactnative/java/io/invertase/firebase/common/SharedUtils.java +0 -440
  603. package/android/src/reactnative/java/io/invertase/firebase/utils/ReactNativeFirebaseUtilsModule.java +0 -191
  604. package/app.plugin.js +0 -1
  605. package/firebase-schema.json +0 -149
  606. package/firebase_json.rb +0 -72
  607. package/ios/RNFBApp/RCTConvert+FIROptions.h +0 -23
  608. package/ios/RNFBApp/RCTConvert+FIROptions.m +0 -36
  609. package/ios/RNFBApp/RNFBAppModule.h +0 -28
  610. package/ios/RNFBApp/RNFBAppModule.m +0 -305
  611. package/ios/RNFBApp/RNFBJSON.h +0 -36
  612. package/ios/RNFBApp/RNFBJSON.m +0 -99
  613. package/ios/RNFBApp/RNFBMeta.h +0 -30
  614. package/ios/RNFBApp/RNFBMeta.m +0 -61
  615. package/ios/RNFBApp/RNFBPreferences.h +0 -44
  616. package/ios/RNFBApp/RNFBPreferences.m +0 -94
  617. package/ios/RNFBApp/RNFBRCTEventEmitter.h +0 -73
  618. package/ios/RNFBApp/RNFBRCTEventEmitter.m +0 -151
  619. package/ios/RNFBApp/RNFBSharedUtils.h +0 -65
  620. package/ios/RNFBApp/RNFBSharedUtils.m +0 -167
  621. package/ios/RNFBApp/RNFBUtilsModule.h +0 -30
  622. package/ios/RNFBApp/RNFBUtilsModule.m +0 -100
  623. package/ios/RNFBApp.xcodeproj/project.pbxproj +0 -405
  624. package/ios/RNFBApp.xcodeproj/xcshareddata/IDETemplateMacros.plist +0 -24
  625. package/ios_config.sh +0 -269
  626. package/lib/internal/asyncStorage.js +0 -47
  627. package/lib/internal/logger.d.ts +0 -85
  628. package/lib/internal/nativeModuleAndroidIos.js +0 -45
  629. package/lib/internal/nativeModuleWeb.js +0 -49
  630. package/lib/internal/web/firebaseApp.js +0 -3
  631. package/lib/internal/web/firebaseAuth.js +0 -4
  632. package/lib/internal/web/firebaseDatabase.js +0 -4
  633. package/lib/internal/web/firebaseFirestore.js +0 -4
  634. package/lib/internal/web/firebaseFunctions.js +0 -4
  635. package/lib/internal/web/firebaseStorage.js +0 -4
  636. package/lib/modular/index.d.ts +0 -131
  637. package/lib/modular/index.js +0 -150
  638. package/lib/version.js +0 -2
  639. package/plugin/build/android/applyPlugin.d.ts +0 -6
  640. package/plugin/build/android/applyPlugin.js +0 -29
  641. package/plugin/build/android/buildscriptDependency.d.ts +0 -6
  642. package/plugin/build/android/buildscriptDependency.js +0 -31
  643. package/plugin/build/android/constants.d.ts +0 -4
  644. package/plugin/build/android/constants.js +0 -8
  645. package/plugin/build/android/copyGoogleServices.d.ts +0 -5
  646. package/plugin/build/android/copyGoogleServices.js +0 -33
  647. package/plugin/build/android/index.d.ts +0 -4
  648. package/plugin/build/android/index.js +0 -9
  649. package/plugin/build/index.d.ts +0 -3
  650. package/plugin/build/index.js +0 -21
  651. package/plugin/build/ios/appDelegate.d.ts +0 -6
  652. package/plugin/build/ios/appDelegate.js +0 -116
  653. package/plugin/build/ios/googleServicesPlist.d.ts +0 -7
  654. package/plugin/build/ios/googleServicesPlist.js +0 -42
  655. package/plugin/build/ios/index.d.ts +0 -3
  656. package/plugin/build/ios/index.js +0 -7
  657. package/plugin/src/android/applyPlugin.ts +0 -30
  658. package/plugin/src/android/buildscriptDependency.ts +0 -33
  659. package/plugin/src/android/constants.ts +0 -7
  660. package/plugin/src/android/copyGoogleServices.ts +0 -36
  661. package/plugin/src/android/index.ts +0 -5
  662. package/plugin/src/index.ts +0 -27
  663. package/plugin/src/ios/appDelegate.ts +0 -140
  664. package/plugin/src/ios/googleServicesPlist.ts +0 -55
  665. package/plugin/src/ios/index.ts +0 -4
  666. package/plugin/tsconfig.json +0 -9
  667. package/plugin/tsconfig.tsbuildinfo +0 -1
  668. package/react-native.config.js +0 -19
  669. /package/lib/internal/{SharedEventEmitter.js → SharedEventEmitter.ts} +0 -0
  670. /package/lib/internal/{nativeModule.android.js → nativeModule.android.ts} +0 -0
  671. /package/lib/internal/{nativeModule.ios.js → nativeModule.ios.ts} +0 -0
  672. /package/lib/internal/{nativeModule.js → nativeModule.ts} +0 -0
@@ -17,9 +17,10 @@
17
17
 
18
18
  import { isString, createDeprecationProxy } from '../../common';
19
19
  import FirebaseApp from '../../FirebaseApp';
20
- import SDK_VERSION from '../../version';
21
- import { DEFAULT_APP_NAME, KNOWN_NAMESPACES } from '../constants';
20
+ import { version as SDK_VERSION } from '../../version';
21
+ import { DEFAULT_APP_NAME, KNOWN_NAMESPACES, type KnownNamespace } from '../constants';
22
22
  import FirebaseModule from '../FirebaseModule';
23
+ import type { ModuleGetter, FirebaseRoot, NamespaceConfig } from '../../types/internal';
23
24
  import {
24
25
  getApp,
25
26
  getApps,
@@ -31,12 +32,12 @@ import {
31
32
  } from './app';
32
33
 
33
34
  // firebase.X
34
- let FIREBASE_ROOT = null;
35
+ let FIREBASE_ROOT: FirebaseRoot | null = null;
35
36
 
36
- const NAMESPACE_REGISTRY = {};
37
- const APP_MODULE_INSTANCE = {};
38
- const MODULE_GETTER_FOR_APP = {};
39
- const MODULE_GETTER_FOR_ROOT = {};
37
+ const NAMESPACE_REGISTRY: Record<string, NamespaceConfig | undefined> = {};
38
+ const APP_MODULE_INSTANCE: Record<string, Record<string, FirebaseModule<any>>> = {};
39
+ const MODULE_GETTER_FOR_APP: Record<string, Record<string, ModuleGetter>> = {};
40
+ const MODULE_GETTER_FOR_ROOT: Record<string, ModuleGetter> = {};
40
41
 
41
42
  /**
42
43
  * Attaches module namespace getters on every newly created app.
@@ -46,10 +47,12 @@ const MODULE_GETTER_FOR_ROOT = {};
46
47
  setOnAppCreate(app => {
47
48
  for (let i = 0; i < KNOWN_NAMESPACES.length; i++) {
48
49
  const moduleNamespace = KNOWN_NAMESPACES[i];
49
- Object.defineProperty(app, moduleNamespace, {
50
- enumerable: false,
51
- get: firebaseAppModuleProxy.bind(null, app, moduleNamespace),
52
- });
50
+ if (moduleNamespace) {
51
+ Object.defineProperty(app, moduleNamespace, {
52
+ enumerable: false,
53
+ get: firebaseAppModuleProxy.bind(null, app, moduleNamespace),
54
+ });
55
+ }
53
56
  }
54
57
  });
55
58
 
@@ -70,17 +73,20 @@ setOnAppDestroy(app => {
70
73
  * @param moduleNamespace
71
74
  * @returns {*}
72
75
  */
73
- function getOrCreateModuleForApp(app, moduleNamespace) {
74
- if (MODULE_GETTER_FOR_APP[app.name] && MODULE_GETTER_FOR_APP[app.name][moduleNamespace]) {
75
- return MODULE_GETTER_FOR_APP[app.name][moduleNamespace];
76
+ function getOrCreateModuleForApp(app: FirebaseApp, moduleNamespace: KnownNamespace): ModuleGetter {
77
+ if (MODULE_GETTER_FOR_APP[app.name] && MODULE_GETTER_FOR_APP[app.name]?.[moduleNamespace]) {
78
+ return MODULE_GETTER_FOR_APP[app.name]![moduleNamespace]!;
76
79
  }
77
80
 
78
81
  if (!MODULE_GETTER_FOR_APP[app.name]) {
79
82
  MODULE_GETTER_FOR_APP[app.name] = {};
80
83
  }
81
84
 
82
- const { hasCustomUrlOrRegionSupport, hasMultiAppSupport, ModuleClass } =
83
- NAMESPACE_REGISTRY[moduleNamespace];
85
+ const config = NAMESPACE_REGISTRY[moduleNamespace];
86
+ if (!config) {
87
+ throw new Error(`Module namespace '${moduleNamespace}' is not registered.`);
88
+ }
89
+ const { hasCustomUrlOrRegionSupport, hasMultiAppSupport, ModuleClass } = config;
84
90
 
85
91
  // modules such as analytics only run on the default app
86
92
  if (!hasMultiAppSupport && app.name !== DEFAULT_APP_NAME) {
@@ -94,7 +100,7 @@ function getOrCreateModuleForApp(app, moduleNamespace) {
94
100
  }
95
101
 
96
102
  // e.g. firebase.storage(customUrlOrRegion), firebase.functions(customUrlOrRegion), firebase.firestore(databaseId), firebase.database(url)
97
- function firebaseModuleWithArgs(customUrlOrRegionOrDatabaseId) {
103
+ function firebaseModuleWithArgs(customUrlOrRegionOrDatabaseId?: string): FirebaseModule<any> {
98
104
  if (customUrlOrRegionOrDatabaseId !== undefined) {
99
105
  if (!hasCustomUrlOrRegionSupport) {
100
106
  // TODO throw Module does not support arguments error
@@ -113,19 +119,24 @@ function getOrCreateModuleForApp(app, moduleNamespace) {
113
119
  APP_MODULE_INSTANCE[app.name] = {};
114
120
  }
115
121
 
116
- if (!APP_MODULE_INSTANCE[app.name][key]) {
122
+ if (!APP_MODULE_INSTANCE[app.name]?.[key]) {
123
+ const moduleConfig = NAMESPACE_REGISTRY[moduleNamespace];
124
+ if (!moduleConfig) {
125
+ throw new Error(`Module namespace '${moduleNamespace}' is not registered.`);
126
+ }
117
127
  const module = createDeprecationProxy(
118
- new ModuleClass(app, NAMESPACE_REGISTRY[moduleNamespace], customUrlOrRegionOrDatabaseId),
119
- );
128
+ new ModuleClass(app, moduleConfig, customUrlOrRegionOrDatabaseId),
129
+ ) as unknown as FirebaseModule<any>;
120
130
 
121
- APP_MODULE_INSTANCE[app.name][key] = module;
131
+ APP_MODULE_INSTANCE[app.name]![key] = module;
122
132
  }
123
133
 
124
- return APP_MODULE_INSTANCE[app.name][key];
134
+ return APP_MODULE_INSTANCE[app.name]![key]!;
125
135
  }
126
136
 
127
- MODULE_GETTER_FOR_APP[app.name][moduleNamespace] = firebaseModuleWithArgs;
128
- return MODULE_GETTER_FOR_APP[app.name][moduleNamespace];
137
+ MODULE_GETTER_FOR_APP[app.name]![moduleNamespace] =
138
+ firebaseModuleWithArgs as unknown as ModuleGetter;
139
+ return MODULE_GETTER_FOR_APP[app.name]![moduleNamespace]!;
129
140
  }
130
141
 
131
142
  /**
@@ -133,18 +144,29 @@ function getOrCreateModuleForApp(app, moduleNamespace) {
133
144
  * @param moduleNamespace
134
145
  * @returns {*}
135
146
  */
136
- function getOrCreateModuleForRoot(moduleNamespace) {
147
+ function getOrCreateModuleForRoot(moduleNamespace: KnownNamespace): ModuleGetter {
137
148
  if (MODULE_GETTER_FOR_ROOT[moduleNamespace]) {
138
149
  return MODULE_GETTER_FOR_ROOT[moduleNamespace];
139
150
  }
140
151
 
141
- const { statics, hasMultiAppSupport, ModuleClass } = NAMESPACE_REGISTRY[moduleNamespace];
152
+ const config = NAMESPACE_REGISTRY[moduleNamespace];
153
+ if (!config) {
154
+ throw new Error(`Module namespace '${moduleNamespace}' is not registered.`);
155
+ }
156
+ const { statics, hasMultiAppSupport, ModuleClass } = config;
142
157
 
143
158
  // e.g. firebase.storage(app)
144
- function firebaseModuleWithApp(app) {
159
+ function firebaseModuleWithApp(app?: FirebaseApp): FirebaseModule<any> {
145
160
  const _app = app || getApp();
146
161
 
147
- if (!(_app instanceof FirebaseApp)) {
162
+ // Duck-type check for FirebaseApp (checking for required properties)
163
+ if (
164
+ !_app ||
165
+ typeof _app !== 'object' ||
166
+ !('name' in _app) ||
167
+ !('options' in _app) ||
168
+ typeof _app.name !== 'string'
169
+ ) {
148
170
  throw new Error(
149
171
  [
150
172
  `"firebase.${moduleNamespace}(app)" arg expects a FirebaseApp instance or undefined.`,
@@ -169,22 +191,28 @@ function getOrCreateModuleForRoot(moduleNamespace) {
169
191
  APP_MODULE_INSTANCE[_app.name] = {};
170
192
  }
171
193
 
172
- if (!APP_MODULE_INSTANCE[_app.name][moduleNamespace]) {
194
+ if (!APP_MODULE_INSTANCE[_app.name]?.[moduleNamespace]) {
195
+ const moduleConfig = NAMESPACE_REGISTRY[moduleNamespace];
196
+ if (!moduleConfig) {
197
+ throw new Error(`Module namespace '${moduleNamespace}' is not registered.`);
198
+ }
173
199
  const module = createDeprecationProxy(
174
- new ModuleClass(_app, NAMESPACE_REGISTRY[moduleNamespace]),
175
- );
176
- APP_MODULE_INSTANCE[_app.name][moduleNamespace] = module;
200
+ new ModuleClass(_app, moduleConfig),
201
+ ) as unknown as FirebaseModule<any>;
202
+ APP_MODULE_INSTANCE[_app.name]![moduleNamespace] = module;
177
203
  }
178
204
 
179
- return APP_MODULE_INSTANCE[_app.name][moduleNamespace];
205
+ return APP_MODULE_INSTANCE[_app.name]![moduleNamespace]!;
180
206
  }
181
207
 
182
208
  Object.assign(firebaseModuleWithApp, statics || {});
183
209
  // Object.freeze(firebaseModuleWithApp);
184
210
  // Wrap around statics, e.g. firebase.firestore.FieldValue, removed freeze as it stops proxy working. it is deprecated anyway
185
- MODULE_GETTER_FOR_ROOT[moduleNamespace] = createDeprecationProxy(firebaseModuleWithApp);
211
+ MODULE_GETTER_FOR_ROOT[moduleNamespace] = createDeprecationProxy(
212
+ firebaseModuleWithApp,
213
+ ) as unknown as ModuleGetter;
186
214
 
187
- return MODULE_GETTER_FOR_ROOT[moduleNamespace];
215
+ return MODULE_GETTER_FOR_ROOT[moduleNamespace]!;
188
216
  }
189
217
 
190
218
  /**
@@ -193,12 +221,15 @@ function getOrCreateModuleForRoot(moduleNamespace) {
193
221
  * @param moduleNamespace
194
222
  * @returns {*}
195
223
  */
196
- function firebaseRootModuleProxy(_firebaseNamespace, moduleNamespace) {
224
+ function firebaseRootModuleProxy(
225
+ _firebaseNamespace: FirebaseRoot,
226
+ moduleNamespace: string,
227
+ ): ModuleGetter {
197
228
  if (NAMESPACE_REGISTRY[moduleNamespace]) {
198
- return getOrCreateModuleForRoot(moduleNamespace);
229
+ return getOrCreateModuleForRoot(moduleNamespace as KnownNamespace);
199
230
  }
200
231
 
201
- moduleWithDashes = moduleNamespace
232
+ const moduleWithDashes = moduleNamespace
202
233
  .split(/(?=[A-Z])/)
203
234
  .join('-')
204
235
  .toLowerCase();
@@ -218,13 +249,14 @@ function firebaseRootModuleProxy(_firebaseNamespace, moduleNamespace) {
218
249
  * @param moduleNamespace
219
250
  * @returns {*}
220
251
  */
221
- export function firebaseAppModuleProxy(app, moduleNamespace) {
252
+ export function firebaseAppModuleProxy(app: FirebaseApp, moduleNamespace: string): ModuleGetter {
222
253
  if (NAMESPACE_REGISTRY[moduleNamespace]) {
223
- app._checkDestroyed();
224
- return getOrCreateModuleForApp(app, moduleNamespace);
254
+ // Call private _checkDestroyed method
255
+ (app as unknown as { _checkDestroyed: () => void })._checkDestroyed();
256
+ return getOrCreateModuleForApp(app, moduleNamespace as KnownNamespace);
225
257
  }
226
258
 
227
- moduleWithDashes = moduleNamespace
259
+ const moduleWithDashes = moduleNamespace
228
260
  .split(/(?=[A-Z])/)
229
261
  .join('-')
230
262
  .toLowerCase();
@@ -242,8 +274,9 @@ export function firebaseAppModuleProxy(app, moduleNamespace) {
242
274
  *
243
275
  * @returns {*}
244
276
  */
245
- export function createFirebaseRoot() {
246
- FIREBASE_ROOT = {
277
+ export function createFirebaseRoot(): FirebaseRoot {
278
+ // Create partial root object - module namespaces like 'utils' are added dynamically below
279
+ const root = {
247
280
  initializeApp,
248
281
  setReactNativeAsyncStorage,
249
282
  get app() {
@@ -254,24 +287,27 @@ export function createFirebaseRoot() {
254
287
  },
255
288
  SDK_VERSION,
256
289
  setLogLevel,
257
- };
290
+ } as FirebaseRoot;
258
291
 
259
292
  for (let i = 0; i < KNOWN_NAMESPACES.length; i++) {
260
293
  const namespace = KNOWN_NAMESPACES[i];
261
- Object.defineProperty(FIREBASE_ROOT, namespace, {
262
- enumerable: false,
263
- get: firebaseRootModuleProxy.bind(null, FIREBASE_ROOT, namespace),
264
- });
294
+ if (namespace) {
295
+ Object.defineProperty(root, namespace, {
296
+ enumerable: false,
297
+ get: firebaseRootModuleProxy.bind(null, root, namespace),
298
+ });
299
+ }
265
300
  }
266
301
 
267
- return FIREBASE_ROOT;
302
+ FIREBASE_ROOT = root;
303
+ return root;
268
304
  }
269
305
 
270
306
  /**
271
307
  *
272
308
  * @returns {*}
273
309
  */
274
- export function getFirebaseRoot() {
310
+ export function getFirebaseRoot(): FirebaseRoot {
275
311
  if (FIREBASE_ROOT) {
276
312
  return FIREBASE_ROOT;
277
313
  }
@@ -283,17 +319,20 @@ export function getFirebaseRoot() {
283
319
  * @param options
284
320
  * @returns {*}
285
321
  */
286
- export function createModuleNamespace(options = {}) {
322
+ export function createModuleNamespace(options: NamespaceConfig): ModuleGetter {
287
323
  const { namespace, ModuleClass } = options;
288
324
 
289
325
  if (!NAMESPACE_REGISTRY[namespace]) {
290
326
  // validation only for internal / module dev usage
291
- if (FirebaseModule.__extended__ !== ModuleClass.__extended__) {
327
+ const firebaseModuleExtended = (FirebaseModule as unknown as { __extended__: object })
328
+ .__extended__;
329
+ const moduleClassExtended = (ModuleClass as unknown as { __extended__: object }).__extended__;
330
+ if (firebaseModuleExtended !== moduleClassExtended) {
292
331
  throw new Error('INTERNAL ERROR: ModuleClass must be an instance of FirebaseModule.');
293
332
  }
294
333
 
295
334
  NAMESPACE_REGISTRY[namespace] = Object.assign({}, options);
296
335
  }
297
336
 
298
- return getFirebaseRoot()[namespace];
337
+ return getFirebaseRoot()[namespace] as ModuleGetter;
299
338
  }
@@ -0,0 +1,282 @@
1
+ /*
2
+ * Copyright (c) 2016-present Invertase Limited & Contributors
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this library except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ *
16
+ */
17
+ import { APP_NATIVE_MODULE } from '../constants';
18
+ import NativeFirebaseError from '../NativeFirebaseError';
19
+ import type { NativeError } from '../../types/internal';
20
+ import RNFBNativeEventEmitter from '../RNFBNativeEventEmitter';
21
+ import SharedEventEmitter from '../SharedEventEmitter';
22
+ import { getReactNativeModule } from '../nativeModule';
23
+ import { isAndroid, isIOS } from '../../common';
24
+ import FirebaseModule from '../FirebaseModule';
25
+ import type { WrappedNativeModule, RNFBAppModuleInterface } from '../NativeModules';
26
+ import { encodeNullValues } from '../nullSerialization';
27
+
28
+ interface NativeEvent {
29
+ appName?: string;
30
+ databaseId?: string;
31
+ [key: string]: unknown;
32
+ }
33
+
34
+ const NATIVE_MODULE_REGISTRY: Record<string, WrappedNativeModule> = {};
35
+ const NATIVE_MODULE_EVENT_SUBSCRIPTIONS: Record<string, boolean> = {};
36
+
37
+ function nativeModuleKey(module: FirebaseModule): string {
38
+ return `${module._customUrlOrRegion || ''}:${module.app.name}:${module._config.namespace}`;
39
+ }
40
+
41
+ /**
42
+ * Wraps a native module method to provide
43
+ * auto prepended args and custom Error classes.
44
+ *
45
+ * @param namespace
46
+ * @param method
47
+ * @param argToPrepend
48
+ * @returns {Function}
49
+ */
50
+ function nativeModuleMethodWrapped(
51
+ namespace: string,
52
+ method: (...args: unknown[]) => unknown,
53
+ argToPrepend: unknown[],
54
+ isTurboModule: boolean,
55
+ ): (...args: unknown[]) => unknown {
56
+ return (...args: unknown[]) => {
57
+ // For iOS TurboModules, encode null values in arguments to work around
58
+ // the limitation where null values in object properties get stripped during serialization
59
+ // See: https://github.com/facebook/react-native/issues/52802
60
+ const processedArgs = isIOS && isTurboModule ? args.map(arg => encodeNullValues(arg)) : args;
61
+ const allArgs = [...argToPrepend, ...processedArgs];
62
+ const possiblePromise = method(...allArgs);
63
+
64
+ if (possiblePromise && typeof possiblePromise === 'object' && 'then' in possiblePromise) {
65
+ const jsStack = new Error().stack;
66
+ return (possiblePromise as Promise<unknown>).catch((nativeError: NativeError) =>
67
+ Promise.reject(new NativeFirebaseError(nativeError, jsStack as string, namespace)),
68
+ );
69
+ }
70
+
71
+ return possiblePromise;
72
+ };
73
+ }
74
+
75
+ /**
76
+ * Prepends all arguments in prependArgs to all native method calls
77
+ *
78
+ * @param namespace
79
+ * @param NativeModule - Raw native module from React Native
80
+ * @param argToPrepend
81
+ */
82
+ function nativeModuleWrapped(
83
+ namespace: string,
84
+ NativeModule: Record<string, unknown> | undefined,
85
+ argToPrepend: unknown[],
86
+ isTurboModule: boolean,
87
+ ): WrappedNativeModule {
88
+ const native: Record<string, unknown> = {};
89
+ if (!NativeModule) {
90
+ return NativeModule as unknown as WrappedNativeModule;
91
+ }
92
+
93
+ const nativeModuleObj = NativeModule;
94
+ let properties = Object.keys(Object.getPrototypeOf(nativeModuleObj));
95
+ if (!properties.length) properties = Object.keys(nativeModuleObj);
96
+
97
+ for (let i = 0, len = properties.length; i < len; i++) {
98
+ const property = properties[i];
99
+ if (!property) continue;
100
+ if (typeof nativeModuleObj[property] === 'function') {
101
+ native[property] = nativeModuleMethodWrapped(
102
+ namespace,
103
+ nativeModuleObj[property] as (...args: unknown[]) => unknown,
104
+ argToPrepend,
105
+ isTurboModule,
106
+ );
107
+ } else {
108
+ native[property] = nativeModuleObj[property];
109
+ }
110
+ }
111
+
112
+ return native;
113
+ }
114
+
115
+ /**
116
+ * Initialises and wraps all the native module methods.
117
+ *
118
+ * @param module
119
+ * @returns {*}
120
+ */
121
+ function initialiseNativeModule(module: FirebaseModule): WrappedNativeModule {
122
+ const config = module._config;
123
+ const key = nativeModuleKey(module);
124
+ const {
125
+ namespace,
126
+ nativeEvents,
127
+ nativeModuleName,
128
+ hasMultiAppSupport,
129
+ hasCustomUrlOrRegionSupport,
130
+ disablePrependCustomUrlOrRegion,
131
+ turboModule,
132
+ } = config;
133
+ const multiModuleRoot: WrappedNativeModule = {};
134
+ const isTurboModule = !!turboModule;
135
+ const multiModule = Array.isArray(nativeModuleName);
136
+ const nativeModuleNames = multiModule ? nativeModuleName : [nativeModuleName];
137
+
138
+ for (let i = 0; i < nativeModuleNames.length; i++) {
139
+ const moduleName = nativeModuleNames[i];
140
+ if (!moduleName) continue;
141
+
142
+ const nativeModule = getReactNativeModule(moduleName);
143
+
144
+ // only error if there's a single native module
145
+ // as multi modules can mean some are optional
146
+ if (!multiModule && !nativeModule) {
147
+ throw new Error(getMissingModuleHelpText(namespace));
148
+ }
149
+
150
+ if (multiModule) {
151
+ multiModuleRoot[moduleName] = !!nativeModule;
152
+ }
153
+
154
+ const argToPrepend: Array<string> = [];
155
+
156
+ if (hasMultiAppSupport) {
157
+ argToPrepend.push(module.app.name);
158
+ }
159
+
160
+ if (hasCustomUrlOrRegionSupport && !disablePrependCustomUrlOrRegion) {
161
+ argToPrepend.push(module._customUrlOrRegion as string);
162
+ }
163
+
164
+ Object.assign(
165
+ multiModuleRoot,
166
+ nativeModuleWrapped(namespace, nativeModule, argToPrepend, isTurboModule),
167
+ );
168
+ }
169
+
170
+ if (nativeEvents && Array.isArray(nativeEvents) && nativeEvents.length) {
171
+ for (let i = 0, len = nativeEvents.length; i < len; i++) {
172
+ const eventName = nativeEvents[i];
173
+ if (eventName) {
174
+ subscribeToNativeModuleEvent(eventName);
175
+ }
176
+ }
177
+ }
178
+
179
+ Object.freeze(multiModuleRoot);
180
+
181
+ NATIVE_MODULE_REGISTRY[key] = multiModuleRoot;
182
+
183
+ return NATIVE_MODULE_REGISTRY[key];
184
+ }
185
+
186
+ /**
187
+ * Subscribe to a native event for js side distribution by appName
188
+ * React Native events are hard set at compile - cant do dynamic event names
189
+ * so we use a single event send it to js and js then internally can prefix it
190
+ * and distribute dynamically.
191
+ *
192
+ * @param eventName
193
+ * @private
194
+ */
195
+ function subscribeToNativeModuleEvent(eventName: string): void {
196
+ if (!NATIVE_MODULE_EVENT_SUBSCRIPTIONS[eventName]) {
197
+ RNFBNativeEventEmitter.addListener(eventName, (...args: unknown[]) => {
198
+ const event = args[0] as NativeEvent;
199
+ if (event.appName && event.databaseId) {
200
+ // Firestore requires both appName and databaseId to prefix
201
+ SharedEventEmitter.emit(`${event.appName}-${event.databaseId}-${eventName}`, event);
202
+ } else if (event.appName) {
203
+ // native event has an appName property - auto prefix and internally emit
204
+ SharedEventEmitter.emit(`${event.appName}-${eventName}`, event);
205
+ } else {
206
+ // standard event - no need to prefix
207
+ SharedEventEmitter.emit(eventName, event);
208
+ }
209
+ });
210
+
211
+ NATIVE_MODULE_EVENT_SUBSCRIPTIONS[eventName] = true;
212
+ }
213
+ }
214
+
215
+ /**
216
+ * Help text for integrating the native counter parts for each firebase module.
217
+ *
218
+ * @param namespace
219
+ * @returns {string}
220
+ */
221
+ function getMissingModuleHelpText(namespace: string): string {
222
+ const snippet = `firebase.${namespace}()`;
223
+
224
+ if (isIOS || isAndroid) {
225
+ return (
226
+ `You attempted to use a Firebase module that's not installed natively on your project by calling ${snippet}.` +
227
+ `\r\n\r\nEnsure you have installed the npm package '@react-native-firebase/${namespace}',` +
228
+ ' have imported it in your project, and have rebuilt your native application.'
229
+ );
230
+ }
231
+
232
+ return (
233
+ `You attempted to use a Firebase module that's not installed on your project by calling ${snippet}.` +
234
+ `\r\n\r\nEnsure you have installed the npm package '@react-native-firebase/${namespace}' and` +
235
+ ' have imported it in your project.'
236
+ );
237
+ }
238
+
239
+ /**
240
+ * Gets a wrapped native module instance for the provided firebase module.
241
+ * Will attempt to create a new instance if non previously created.
242
+ *
243
+ * @param module
244
+ * @returns {*}
245
+ */
246
+ export function getNativeModule(module: FirebaseModule): WrappedNativeModule {
247
+ const key = nativeModuleKey(module);
248
+
249
+ if (NATIVE_MODULE_REGISTRY[key]) {
250
+ return NATIVE_MODULE_REGISTRY[key];
251
+ }
252
+
253
+ return initialiseNativeModule(module);
254
+ }
255
+
256
+ /**
257
+ * Custom wrapped app module as it does not have it's own FirebaseModule based class.
258
+ *
259
+ * @returns {*}
260
+ */
261
+ export function getAppModule(): RNFBAppModuleInterface {
262
+ if (NATIVE_MODULE_REGISTRY[APP_NATIVE_MODULE]) {
263
+ return NATIVE_MODULE_REGISTRY[APP_NATIVE_MODULE] as unknown as RNFBAppModuleInterface;
264
+ }
265
+
266
+ const namespace = 'app';
267
+ const nativeModule = getReactNativeModule(APP_NATIVE_MODULE);
268
+
269
+ if (!nativeModule) {
270
+ throw new Error(getMissingModuleHelpText(namespace));
271
+ }
272
+
273
+ NATIVE_MODULE_REGISTRY[APP_NATIVE_MODULE] = nativeModuleWrapped(
274
+ namespace,
275
+ nativeModule,
276
+ [],
277
+ // TODO: change to true when we use TurboModules for app package
278
+ false,
279
+ );
280
+
281
+ return NATIVE_MODULE_REGISTRY[APP_NATIVE_MODULE] as unknown as RNFBAppModuleInterface;
282
+ }