@react-native-firebase/app 23.7.0 → 23.8.1

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 (602) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/android/src/main/java/io/invertase/firebase/common/UniversalFirebaseModule.java +2 -2
  3. package/android/src/reactnative/java/io/invertase/firebase/app/ReactNativeFirebaseVersion.java +1 -1
  4. package/dist/commonjs/FirebaseApp.js +85 -0
  5. package/dist/commonjs/FirebaseApp.js.map +1 -0
  6. package/dist/commonjs/common/Base64.js +106 -0
  7. package/dist/commonjs/common/Base64.js.map +1 -0
  8. package/dist/commonjs/common/MutatableParams.js +50 -0
  9. package/dist/commonjs/common/MutatableParams.js.map +1 -0
  10. package/dist/commonjs/common/ReferenceBase.js +49 -0
  11. package/dist/commonjs/common/ReferenceBase.js.map +1 -0
  12. package/dist/commonjs/common/deeps.js +82 -0
  13. package/dist/commonjs/common/deeps.js.map +1 -0
  14. package/dist/commonjs/common/id.js +88 -0
  15. package/dist/commonjs/common/id.js.map +1 -0
  16. package/dist/commonjs/common/index.js +799 -0
  17. package/dist/commonjs/common/index.js.map +1 -0
  18. package/dist/commonjs/common/path.js +133 -0
  19. package/dist/commonjs/common/path.js.map +1 -0
  20. package/dist/commonjs/common/promise.js +65 -0
  21. package/dist/commonjs/common/promise.js.map +1 -0
  22. package/dist/commonjs/common/serialize.js +48 -0
  23. package/dist/commonjs/common/serialize.js.map +1 -0
  24. package/dist/commonjs/common/unitTestUtils.js +54 -0
  25. package/dist/commonjs/common/unitTestUtils.js.map +1 -0
  26. package/dist/commonjs/common/validate.js +236 -0
  27. package/dist/commonjs/common/validate.js.map +1 -0
  28. package/dist/commonjs/index.js +42 -0
  29. package/dist/commonjs/index.js.map +1 -0
  30. package/dist/commonjs/internal/FirebaseModule.js +63 -0
  31. package/dist/commonjs/internal/FirebaseModule.js.map +1 -0
  32. package/dist/commonjs/internal/NativeFirebaseError.js +92 -0
  33. package/dist/commonjs/internal/NativeFirebaseError.js.map +1 -0
  34. package/dist/commonjs/internal/NativeModules.js +6 -0
  35. package/dist/commonjs/internal/NativeModules.js.map +1 -0
  36. package/dist/commonjs/internal/RNFBNativeEventEmitter.js +118 -0
  37. package/dist/commonjs/internal/RNFBNativeEventEmitter.js.map +1 -0
  38. package/dist/commonjs/internal/SharedEventEmitter.js +26 -0
  39. package/dist/commonjs/internal/SharedEventEmitter.js.map +1 -0
  40. package/dist/commonjs/internal/asyncStorage.js +83 -0
  41. package/dist/commonjs/internal/asyncStorage.js.map +1 -0
  42. package/dist/commonjs/internal/constants.js +27 -0
  43. package/dist/commonjs/internal/constants.js.map +1 -0
  44. package/dist/commonjs/internal/index.js +109 -0
  45. package/dist/commonjs/internal/index.js.map +1 -0
  46. package/dist/commonjs/internal/logger.js +256 -0
  47. package/dist/commonjs/internal/logger.js.map +1 -0
  48. package/dist/commonjs/internal/nativeModule.android.js +19 -0
  49. package/dist/commonjs/internal/nativeModule.android.js.map +1 -0
  50. package/dist/commonjs/internal/nativeModule.ios.js +19 -0
  51. package/dist/commonjs/internal/nativeModule.ios.js.map +1 -0
  52. package/dist/commonjs/internal/nativeModule.js +19 -0
  53. package/dist/commonjs/internal/nativeModule.js.map +1 -0
  54. package/dist/commonjs/internal/nativeModuleAndroidIos.js +51 -0
  55. package/dist/commonjs/internal/nativeModuleAndroidIos.js.map +1 -0
  56. package/dist/commonjs/internal/nativeModuleWeb.js +52 -0
  57. package/dist/commonjs/internal/nativeModuleWeb.js.map +1 -0
  58. package/dist/commonjs/internal/nullSerialization.js +162 -0
  59. package/dist/commonjs/internal/nullSerialization.js.map +1 -0
  60. package/dist/commonjs/internal/registry/app.js +238 -0
  61. package/dist/commonjs/internal/registry/app.js.map +1 -0
  62. package/dist/commonjs/internal/registry/namespace.js +269 -0
  63. package/dist/commonjs/internal/registry/namespace.js.map +1 -0
  64. package/dist/commonjs/internal/registry/nativeModule.js +224 -0
  65. package/dist/commonjs/internal/registry/nativeModule.js.map +1 -0
  66. package/dist/commonjs/internal/web/RNFBAppModule.js +273 -0
  67. package/dist/commonjs/internal/web/RNFBAppModule.js.map +1 -0
  68. package/dist/commonjs/internal/web/firebaseApp.js +17 -0
  69. package/dist/commonjs/internal/web/firebaseApp.js.map +1 -0
  70. package/dist/commonjs/internal/web/firebaseAppCheck.js +36 -0
  71. package/dist/commonjs/internal/web/firebaseAppCheck.js.map +1 -0
  72. package/dist/commonjs/internal/web/firebaseAuth.js +28 -0
  73. package/dist/commonjs/internal/web/firebaseAuth.js.map +1 -0
  74. package/dist/commonjs/internal/web/firebaseDatabase.js +28 -0
  75. package/dist/commonjs/internal/web/firebaseDatabase.js.map +1 -0
  76. package/dist/commonjs/internal/web/firebaseFirestore.js +28 -0
  77. package/dist/commonjs/internal/web/firebaseFirestore.js.map +1 -0
  78. package/dist/commonjs/internal/web/firebaseFunctions.js +28 -0
  79. package/dist/commonjs/internal/web/firebaseFunctions.js.map +1 -0
  80. package/dist/commonjs/internal/web/firebaseInstallations.js +36 -0
  81. package/dist/commonjs/internal/web/firebaseInstallations.js.map +1 -0
  82. package/dist/commonjs/internal/web/firebaseRemoteConfig.js +36 -0
  83. package/dist/commonjs/internal/web/firebaseRemoteConfig.js.map +1 -0
  84. package/dist/commonjs/internal/web/firebaseStorage.js +28 -0
  85. package/dist/commonjs/internal/web/firebaseStorage.js.map +1 -0
  86. package/dist/commonjs/internal/web/memidb/FDBCursor.js +479 -0
  87. package/dist/commonjs/internal/web/memidb/FDBCursor.js.map +1 -0
  88. package/dist/commonjs/internal/web/memidb/FDBCursorWithValue.js +19 -0
  89. package/dist/commonjs/internal/web/memidb/FDBCursorWithValue.js.map +1 -0
  90. package/dist/commonjs/internal/web/memidb/FDBDatabase.js +163 -0
  91. package/dist/commonjs/internal/web/memidb/FDBDatabase.js.map +1 -0
  92. package/dist/commonjs/internal/web/memidb/FDBFactory.js +264 -0
  93. package/dist/commonjs/internal/web/memidb/FDBFactory.js.map +1 -0
  94. package/dist/commonjs/internal/web/memidb/FDBIndex.js +191 -0
  95. package/dist/commonjs/internal/web/memidb/FDBIndex.js.map +1 -0
  96. package/dist/commonjs/internal/web/memidb/FDBKeyRange.js +78 -0
  97. package/dist/commonjs/internal/web/memidb/FDBKeyRange.js.map +1 -0
  98. package/dist/commonjs/internal/web/memidb/FDBObjectStore.js +383 -0
  99. package/dist/commonjs/internal/web/memidb/FDBObjectStore.js.map +1 -0
  100. package/dist/commonjs/internal/web/memidb/FDBOpenDBRequest.js +17 -0
  101. package/dist/commonjs/internal/web/memidb/FDBOpenDBRequest.js.map +1 -0
  102. package/dist/commonjs/internal/web/memidb/FDBRequest.js +41 -0
  103. package/dist/commonjs/internal/web/memidb/FDBRequest.js.map +1 -0
  104. package/dist/commonjs/internal/web/memidb/FDBTransaction.js +221 -0
  105. package/dist/commonjs/internal/web/memidb/FDBTransaction.js.map +1 -0
  106. package/dist/commonjs/internal/web/memidb/FDBVersionChangeEvent.js +20 -0
  107. package/dist/commonjs/internal/web/memidb/FDBVersionChangeEvent.js.map +1 -0
  108. package/dist/commonjs/internal/web/memidb/LICENSE +208 -0
  109. package/dist/commonjs/internal/web/memidb/index.js +45 -0
  110. package/dist/commonjs/internal/web/memidb/index.js.map +1 -0
  111. package/dist/commonjs/internal/web/memidb/lib/Database.js +38 -0
  112. package/dist/commonjs/internal/web/memidb/lib/Database.js.map +1 -0
  113. package/dist/commonjs/internal/web/memidb/lib/FakeDOMStringList.js +78 -0
  114. package/dist/commonjs/internal/web/memidb/lib/FakeDOMStringList.js.map +1 -0
  115. package/dist/commonjs/internal/web/memidb/lib/FakeEvent.js +45 -0
  116. package/dist/commonjs/internal/web/memidb/lib/FakeEvent.js.map +1 -0
  117. package/dist/commonjs/internal/web/memidb/lib/FakeEventTarget.js +111 -0
  118. package/dist/commonjs/internal/web/memidb/lib/FakeEventTarget.js.map +1 -0
  119. package/dist/commonjs/internal/web/memidb/lib/Index.js +164 -0
  120. package/dist/commonjs/internal/web/memidb/lib/Index.js.map +1 -0
  121. package/dist/commonjs/internal/web/memidb/lib/KeyGenerator.js +29 -0
  122. package/dist/commonjs/internal/web/memidb/lib/KeyGenerator.js.map +1 -0
  123. package/dist/commonjs/internal/web/memidb/lib/ObjectStore.js +180 -0
  124. package/dist/commonjs/internal/web/memidb/lib/ObjectStore.js.map +1 -0
  125. package/dist/commonjs/internal/web/memidb/lib/RecordStore.js +141 -0
  126. package/dist/commonjs/internal/web/memidb/lib/RecordStore.js.map +1 -0
  127. package/dist/commonjs/internal/web/memidb/lib/binarySearch.js +86 -0
  128. package/dist/commonjs/internal/web/memidb/lib/binarySearch.js.map +1 -0
  129. package/dist/commonjs/internal/web/memidb/lib/canInjectKey.js +30 -0
  130. package/dist/commonjs/internal/web/memidb/lib/canInjectKey.js.map +1 -0
  131. package/dist/commonjs/internal/web/memidb/lib/cmp.js +85 -0
  132. package/dist/commonjs/internal/web/memidb/lib/cmp.js.map +1 -0
  133. package/dist/commonjs/internal/web/memidb/lib/enforceRange.js +20 -0
  134. package/dist/commonjs/internal/web/memidb/lib/enforceRange.js.map +1 -0
  135. package/dist/commonjs/internal/web/memidb/lib/errors.js +95 -0
  136. package/dist/commonjs/internal/web/memidb/lib/errors.js.map +1 -0
  137. package/dist/commonjs/internal/web/memidb/lib/extractKey.js +46 -0
  138. package/dist/commonjs/internal/web/memidb/lib/extractKey.js.map +1 -0
  139. package/dist/commonjs/internal/web/memidb/lib/scheduling.js +37 -0
  140. package/dist/commonjs/internal/web/memidb/lib/scheduling.js.map +1 -0
  141. package/dist/commonjs/internal/web/memidb/lib/types.js +6 -0
  142. package/dist/commonjs/internal/web/memidb/lib/types.js.map +1 -0
  143. package/dist/commonjs/internal/web/memidb/lib/validateKeyPath.js +51 -0
  144. package/dist/commonjs/internal/web/memidb/lib/validateKeyPath.js.map +1 -0
  145. package/dist/commonjs/internal/web/memidb/lib/valueToKey.js +62 -0
  146. package/dist/commonjs/internal/web/memidb/lib/valueToKey.js.map +1 -0
  147. package/dist/commonjs/internal/web/memidb/lib/valueToKeyRange.js +26 -0
  148. package/dist/commonjs/internal/web/memidb/lib/valueToKeyRange.js.map +1 -0
  149. package/dist/commonjs/internal/web/structuredClone/index.js +239 -0
  150. package/dist/commonjs/internal/web/structuredClone/index.js.map +1 -0
  151. package/dist/commonjs/internal/web/utils.js +59 -0
  152. package/dist/commonjs/internal/web/utils.js.map +1 -0
  153. package/dist/commonjs/modular.js +190 -0
  154. package/dist/commonjs/modular.js.map +1 -0
  155. package/dist/commonjs/namespaced.js +35 -0
  156. package/dist/commonjs/namespaced.js.map +1 -0
  157. package/dist/commonjs/package.json +1 -0
  158. package/dist/commonjs/types/app.js +139 -0
  159. package/dist/commonjs/types/app.js.map +1 -0
  160. package/dist/commonjs/types/internal.js +6 -0
  161. package/dist/commonjs/types/internal.js.map +1 -0
  162. package/dist/commonjs/utils/UtilsStatics.js +59 -0
  163. package/dist/commonjs/utils/UtilsStatics.js.map +1 -0
  164. package/dist/commonjs/utils/index.js +94 -0
  165. package/dist/commonjs/utils/index.js.map +1 -0
  166. package/dist/commonjs/version.js +9 -0
  167. package/dist/commonjs/version.js.map +1 -0
  168. package/{lib → dist/module}/FirebaseApp.js +14 -14
  169. package/dist/module/FirebaseApp.js.map +1 -0
  170. package/dist/module/common/Base64.js +100 -0
  171. package/dist/module/common/Base64.js.map +1 -0
  172. package/{lib → dist/module}/common/MutatableParams.js +4 -6
  173. package/dist/module/common/MutatableParams.js.map +1 -0
  174. package/{lib → dist/module}/common/ReferenceBase.js +3 -2
  175. package/dist/module/common/ReferenceBase.js.map +1 -0
  176. package/{lib → dist/module}/common/deeps.js +5 -9
  177. package/dist/module/common/deeps.js.map +1 -0
  178. package/{lib → dist/module}/common/id.js +20 -11
  179. package/dist/module/common/id.js.map +1 -0
  180. package/dist/module/common/index.js +701 -0
  181. package/dist/module/common/index.js.map +1 -0
  182. package/{lib → dist/module}/common/path.js +4 -8
  183. package/dist/module/common/path.js.map +1 -0
  184. package/{lib → dist/module}/common/promise.js +21 -23
  185. package/dist/module/common/promise.js.map +1 -0
  186. package/dist/module/common/serialize.js +43 -0
  187. package/dist/module/common/serialize.js.map +1 -0
  188. package/dist/module/common/unitTestUtils.js +48 -0
  189. package/dist/module/common/unitTestUtils.js.map +1 -0
  190. package/{lib → dist/module}/common/validate.js +20 -16
  191. package/dist/module/common/validate.js.map +1 -0
  192. package/dist/module/index.js +22 -0
  193. package/dist/module/index.js.map +1 -0
  194. package/{lib → dist/module}/internal/FirebaseModule.js +6 -11
  195. package/dist/module/internal/FirebaseModule.js.map +1 -0
  196. package/{lib → dist/module}/internal/NativeFirebaseError.js +19 -24
  197. package/dist/module/internal/NativeFirebaseError.js.map +1 -0
  198. package/dist/module/internal/NativeModules.js +4 -0
  199. package/dist/module/internal/NativeModules.js.map +1 -0
  200. package/{lib → dist/module}/internal/RNFBNativeEventEmitter.js +30 -21
  201. package/dist/module/internal/RNFBNativeEventEmitter.js.map +1 -0
  202. package/dist/module/internal/SharedEventEmitter.js +22 -0
  203. package/dist/module/internal/SharedEventEmitter.js.map +1 -0
  204. package/dist/module/internal/asyncStorage.js +73 -0
  205. package/dist/module/internal/asyncStorage.js.map +1 -0
  206. package/dist/module/internal/constants.js +23 -0
  207. package/dist/module/internal/constants.js.map +1 -0
  208. package/dist/module/internal/index.js +30 -0
  209. package/dist/module/internal/index.js.map +1 -0
  210. package/{lib → dist/module}/internal/logger.js +65 -55
  211. package/dist/module/internal/logger.js.map +1 -0
  212. package/dist/module/internal/nativeModule.android.js +5 -0
  213. package/dist/module/internal/nativeModule.android.js.map +1 -0
  214. package/dist/module/internal/nativeModule.ios.js +5 -0
  215. package/dist/module/internal/nativeModule.ios.js.map +1 -0
  216. package/dist/module/internal/nativeModule.js +7 -0
  217. package/dist/module/internal/nativeModule.js.map +1 -0
  218. package/dist/module/internal/nativeModuleAndroidIos.js +46 -0
  219. package/dist/module/internal/nativeModuleAndroidIos.js.map +1 -0
  220. package/dist/module/internal/nativeModuleWeb.js +45 -0
  221. package/dist/module/internal/nativeModuleWeb.js.map +1 -0
  222. package/dist/module/internal/nullSerialization.js +158 -0
  223. package/dist/module/internal/nullSerialization.js.map +1 -0
  224. package/{lib → dist/module}/internal/registry/app.js +41 -79
  225. package/dist/module/internal/registry/app.js.map +1 -0
  226. package/dist/module/internal/registry/namespace.js +262 -0
  227. package/dist/module/internal/registry/namespace.js.map +1 -0
  228. package/{lib → dist/module}/internal/registry/nativeModule.js +46 -62
  229. package/dist/module/internal/registry/nativeModule.js.map +1 -0
  230. package/{lib → dist/module}/internal/web/RNFBAppModule.js +76 -67
  231. package/dist/module/internal/web/RNFBAppModule.js.map +1 -0
  232. package/dist/module/internal/web/firebaseApp.js +23 -0
  233. package/dist/module/internal/web/firebaseApp.js.map +1 -0
  234. package/dist/module/internal/web/firebaseAppCheck.js +26 -0
  235. package/dist/module/internal/web/firebaseAppCheck.js.map +1 -0
  236. package/dist/module/internal/web/firebaseAuth.js +24 -0
  237. package/dist/module/internal/web/firebaseAuth.js.map +1 -0
  238. package/dist/module/internal/web/firebaseDatabase.js +24 -0
  239. package/dist/module/internal/web/firebaseDatabase.js.map +1 -0
  240. package/dist/module/internal/web/firebaseFirestore.js +24 -0
  241. package/dist/module/internal/web/firebaseFirestore.js.map +1 -0
  242. package/dist/module/internal/web/firebaseFunctions.js +24 -0
  243. package/dist/module/internal/web/firebaseFunctions.js.map +1 -0
  244. package/dist/module/internal/web/firebaseInstallations.js +26 -0
  245. package/dist/module/internal/web/firebaseInstallations.js.map +1 -0
  246. package/dist/module/internal/web/firebaseRemoteConfig.js +26 -0
  247. package/dist/module/internal/web/firebaseRemoteConfig.js.map +1 -0
  248. package/dist/module/internal/web/firebaseStorage.js +24 -0
  249. package/dist/module/internal/web/firebaseStorage.js.map +1 -0
  250. package/dist/module/internal/web/memidb/FDBCursor.js +474 -0
  251. package/dist/module/internal/web/memidb/FDBCursor.js.map +1 -0
  252. package/dist/module/internal/web/memidb/FDBCursorWithValue.js +14 -0
  253. package/dist/module/internal/web/memidb/FDBCursorWithValue.js.map +1 -0
  254. package/dist/module/internal/web/memidb/FDBDatabase.js +158 -0
  255. package/dist/module/internal/web/memidb/FDBDatabase.js.map +1 -0
  256. package/dist/module/internal/web/memidb/FDBFactory.js +259 -0
  257. package/dist/module/internal/web/memidb/FDBFactory.js.map +1 -0
  258. package/dist/module/internal/web/memidb/FDBIndex.js +186 -0
  259. package/dist/module/internal/web/memidb/FDBIndex.js.map +1 -0
  260. package/dist/module/internal/web/memidb/FDBKeyRange.js +74 -0
  261. package/dist/module/internal/web/memidb/FDBKeyRange.js.map +1 -0
  262. package/dist/module/internal/web/memidb/FDBObjectStore.js +378 -0
  263. package/dist/module/internal/web/memidb/FDBObjectStore.js.map +1 -0
  264. package/dist/module/internal/web/memidb/FDBOpenDBRequest.js +12 -0
  265. package/dist/module/internal/web/memidb/FDBOpenDBRequest.js.map +1 -0
  266. package/dist/module/internal/web/memidb/FDBRequest.js +36 -0
  267. package/dist/module/internal/web/memidb/FDBRequest.js.map +1 -0
  268. package/dist/module/internal/web/memidb/FDBTransaction.js +216 -0
  269. package/dist/module/internal/web/memidb/FDBTransaction.js.map +1 -0
  270. package/dist/module/internal/web/memidb/FDBVersionChangeEvent.js +15 -0
  271. package/dist/module/internal/web/memidb/FDBVersionChangeEvent.js.map +1 -0
  272. package/dist/module/internal/web/memidb/LICENSE +208 -0
  273. package/dist/module/internal/web/memidb/index.js +41 -0
  274. package/dist/module/internal/web/memidb/index.js.map +1 -0
  275. package/dist/module/internal/web/memidb/lib/Database.js +35 -0
  276. package/dist/module/internal/web/memidb/lib/Database.js.map +1 -0
  277. package/dist/module/internal/web/memidb/lib/FakeDOMStringList.js +75 -0
  278. package/dist/module/internal/web/memidb/lib/FakeDOMStringList.js.map +1 -0
  279. package/dist/module/internal/web/memidb/lib/FakeEvent.js +41 -0
  280. package/dist/module/internal/web/memidb/lib/FakeEvent.js.map +1 -0
  281. package/dist/module/internal/web/memidb/lib/FakeEventTarget.js +107 -0
  282. package/dist/module/internal/web/memidb/lib/FakeEventTarget.js.map +1 -0
  283. package/dist/module/internal/web/memidb/lib/Index.js +160 -0
  284. package/dist/module/internal/web/memidb/lib/Index.js.map +1 -0
  285. package/dist/module/internal/web/memidb/lib/KeyGenerator.js +25 -0
  286. package/dist/module/internal/web/memidb/lib/KeyGenerator.js.map +1 -0
  287. package/dist/module/internal/web/memidb/lib/ObjectStore.js +175 -0
  288. package/dist/module/internal/web/memidb/lib/ObjectStore.js.map +1 -0
  289. package/dist/module/internal/web/memidb/lib/RecordStore.js +136 -0
  290. package/dist/module/internal/web/memidb/lib/RecordStore.js.map +1 -0
  291. package/dist/module/internal/web/memidb/lib/binarySearch.js +77 -0
  292. package/dist/module/internal/web/memidb/lib/binarySearch.js.map +1 -0
  293. package/dist/module/internal/web/memidb/lib/canInjectKey.js +26 -0
  294. package/dist/module/internal/web/memidb/lib/canInjectKey.js.map +1 -0
  295. package/dist/module/internal/web/memidb/lib/cmp.js +80 -0
  296. package/dist/module/internal/web/memidb/lib/cmp.js.map +1 -0
  297. package/dist/module/internal/web/memidb/lib/enforceRange.js +16 -0
  298. package/dist/module/internal/web/memidb/lib/enforceRange.js.map +1 -0
  299. package/dist/module/internal/web/memidb/lib/errors.js +81 -0
  300. package/dist/module/internal/web/memidb/lib/errors.js.map +1 -0
  301. package/dist/module/internal/web/memidb/lib/extractKey.js +42 -0
  302. package/dist/module/internal/web/memidb/lib/extractKey.js.map +1 -0
  303. package/dist/module/internal/web/memidb/lib/scheduling.js +32 -0
  304. package/dist/module/internal/web/memidb/lib/scheduling.js.map +1 -0
  305. package/dist/module/internal/web/memidb/lib/types.js +4 -0
  306. package/dist/module/internal/web/memidb/lib/types.js.map +1 -0
  307. package/dist/module/internal/web/memidb/lib/validateKeyPath.js +47 -0
  308. package/dist/module/internal/web/memidb/lib/validateKeyPath.js.map +1 -0
  309. package/dist/module/internal/web/memidb/lib/valueToKey.js +58 -0
  310. package/dist/module/internal/web/memidb/lib/valueToKey.js.map +1 -0
  311. package/dist/module/internal/web/memidb/lib/valueToKeyRange.js +22 -0
  312. package/dist/module/internal/web/memidb/lib/valueToKeyRange.js.map +1 -0
  313. package/dist/module/internal/web/structuredClone/index.js +235 -0
  314. package/dist/module/internal/web/structuredClone/index.js.map +1 -0
  315. package/{lib → dist/module}/internal/web/utils.js +24 -5
  316. package/dist/module/internal/web/utils.js.map +1 -0
  317. package/dist/module/modular.js +172 -0
  318. package/dist/module/modular.js.map +1 -0
  319. package/dist/module/namespaced.js +25 -0
  320. package/dist/module/namespaced.js.map +1 -0
  321. package/dist/module/package.json +1 -0
  322. package/dist/module/types/app.js +135 -0
  323. package/dist/module/types/app.js.map +1 -0
  324. package/dist/module/types/internal.js +4 -0
  325. package/dist/module/types/internal.js.map +1 -0
  326. package/dist/module/utils/UtilsStatics.js +55 -0
  327. package/dist/module/utils/UtilsStatics.js.map +1 -0
  328. package/{lib → dist/module}/utils/index.js +13 -15
  329. package/dist/module/utils/index.js.map +1 -0
  330. package/dist/module/version.js +5 -0
  331. package/dist/module/version.js.map +1 -0
  332. package/dist/typescript/commonjs/lib/FirebaseApp.d.ts +21 -0
  333. package/dist/typescript/commonjs/lib/FirebaseApp.d.ts.map +1 -0
  334. package/dist/typescript/commonjs/lib/common/Base64.d.ts +23 -0
  335. package/dist/typescript/commonjs/lib/common/Base64.d.ts.map +1 -0
  336. package/dist/typescript/commonjs/lib/common/MutatableParams.d.ts +10 -0
  337. package/dist/typescript/commonjs/lib/common/MutatableParams.d.ts.map +1 -0
  338. package/dist/typescript/commonjs/lib/common/ReferenceBase.d.ts +12 -0
  339. package/dist/typescript/commonjs/lib/common/ReferenceBase.d.ts.map +1 -0
  340. package/dist/typescript/commonjs/lib/common/deeps.d.ts +19 -0
  341. package/dist/typescript/commonjs/lib/common/deeps.d.ts.map +1 -0
  342. package/dist/typescript/commonjs/lib/common/id.d.ts +12 -0
  343. package/dist/typescript/commonjs/lib/common/id.d.ts.map +1 -0
  344. package/dist/typescript/commonjs/lib/common/index.d.ts +33 -0
  345. package/dist/typescript/commonjs/lib/common/index.d.ts.map +1 -0
  346. package/dist/typescript/commonjs/lib/common/path.d.ts +51 -0
  347. package/dist/typescript/commonjs/lib/common/path.d.ts.map +1 -0
  348. package/dist/typescript/commonjs/lib/common/promise.d.ts +12 -0
  349. package/dist/typescript/commonjs/lib/common/promise.d.ts.map +1 -0
  350. package/dist/typescript/commonjs/lib/common/serialize.d.ts +4 -0
  351. package/dist/typescript/commonjs/lib/common/serialize.d.ts.map +1 -0
  352. package/dist/typescript/commonjs/lib/common/unitTestUtils.d.ts +4 -0
  353. package/dist/typescript/commonjs/lib/common/unitTestUtils.d.ts.map +1 -0
  354. package/dist/typescript/commonjs/lib/common/validate.d.ts +100 -0
  355. package/dist/typescript/commonjs/lib/common/validate.d.ts.map +1 -0
  356. package/dist/typescript/commonjs/lib/index.d.ts +4 -0
  357. package/dist/typescript/commonjs/lib/index.d.ts.map +1 -0
  358. package/dist/typescript/commonjs/lib/internal/FirebaseModule.d.ts +17 -0
  359. package/dist/typescript/commonjs/lib/internal/FirebaseModule.d.ts.map +1 -0
  360. package/dist/typescript/commonjs/lib/internal/NativeFirebaseError.d.ts +20 -0
  361. package/dist/typescript/commonjs/lib/internal/NativeFirebaseError.d.ts.map +1 -0
  362. package/dist/typescript/commonjs/lib/internal/NativeModules.d.ts +83 -0
  363. package/dist/typescript/commonjs/lib/internal/NativeModules.d.ts.map +1 -0
  364. package/dist/typescript/commonjs/lib/internal/RNFBNativeEventEmitter.d.ts +13 -0
  365. package/dist/typescript/commonjs/lib/internal/RNFBNativeEventEmitter.d.ts.map +1 -0
  366. package/dist/typescript/commonjs/lib/internal/SharedEventEmitter.d.ts +4 -0
  367. package/dist/typescript/commonjs/lib/internal/SharedEventEmitter.d.ts.map +1 -0
  368. package/dist/typescript/commonjs/lib/internal/asyncStorage.d.ts +10 -0
  369. package/dist/typescript/commonjs/lib/internal/asyncStorage.d.ts.map +1 -0
  370. package/dist/typescript/commonjs/lib/internal/constants.d.ts +5 -0
  371. package/dist/typescript/commonjs/lib/internal/constants.d.ts.map +1 -0
  372. package/dist/typescript/commonjs/lib/internal/index.d.ts +12 -0
  373. package/dist/typescript/commonjs/lib/internal/index.d.ts.map +1 -0
  374. package/dist/typescript/commonjs/lib/internal/logger.d.ts +83 -0
  375. package/dist/typescript/commonjs/lib/internal/logger.d.ts.map +1 -0
  376. package/dist/typescript/commonjs/lib/internal/nativeModule.android.d.ts +3 -0
  377. package/dist/typescript/commonjs/lib/internal/nativeModule.android.d.ts.map +1 -0
  378. package/dist/typescript/commonjs/lib/internal/nativeModule.d.ts +3 -0
  379. package/dist/typescript/commonjs/lib/internal/nativeModule.d.ts.map +1 -0
  380. package/dist/typescript/commonjs/lib/internal/nativeModule.ios.d.ts +3 -0
  381. package/dist/typescript/commonjs/lib/internal/nativeModule.ios.d.ts.map +1 -0
  382. package/dist/typescript/commonjs/lib/internal/nativeModuleAndroidIos.d.ts +10 -0
  383. package/dist/typescript/commonjs/lib/internal/nativeModuleAndroidIos.d.ts.map +1 -0
  384. package/dist/typescript/commonjs/lib/internal/nativeModuleWeb.d.ts +3 -0
  385. package/dist/typescript/commonjs/lib/internal/nativeModuleWeb.d.ts.map +1 -0
  386. package/dist/typescript/commonjs/lib/internal/nullSerialization.d.ts +16 -0
  387. package/dist/typescript/commonjs/lib/internal/nullSerialization.d.ts.map +1 -0
  388. package/dist/typescript/commonjs/lib/internal/registry/app.d.ts +47 -0
  389. package/dist/typescript/commonjs/lib/internal/registry/app.d.ts.map +1 -0
  390. package/dist/typescript/commonjs/lib/internal/registry/namespace.d.ts +26 -0
  391. package/dist/typescript/commonjs/lib/internal/registry/namespace.d.ts.map +1 -0
  392. package/dist/typescript/commonjs/lib/internal/registry/nativeModule.d.ts +17 -0
  393. package/dist/typescript/commonjs/lib/internal/registry/nativeModule.d.ts.map +1 -0
  394. package/dist/typescript/commonjs/lib/internal/web/RNFBAppModule.d.ts +139 -0
  395. package/dist/typescript/commonjs/lib/internal/web/RNFBAppModule.d.ts.map +1 -0
  396. package/dist/typescript/commonjs/lib/internal/web/firebaseApp.d.ts +2 -0
  397. package/dist/typescript/commonjs/lib/internal/web/firebaseApp.d.ts.map +1 -0
  398. package/{lib/internal/web/firebaseAppCheck.js → dist/typescript/commonjs/lib/internal/web/firebaseAppCheck.d.ts} +1 -2
  399. package/dist/typescript/commonjs/lib/internal/web/firebaseAppCheck.d.ts.map +1 -0
  400. package/dist/typescript/commonjs/lib/internal/web/firebaseAuth.d.ts +3 -0
  401. package/dist/typescript/commonjs/lib/internal/web/firebaseAuth.d.ts.map +1 -0
  402. package/dist/typescript/commonjs/lib/internal/web/firebaseDatabase.d.ts +3 -0
  403. package/dist/typescript/commonjs/lib/internal/web/firebaseDatabase.d.ts.map +1 -0
  404. package/dist/typescript/commonjs/lib/internal/web/firebaseFirestore.d.ts +3 -0
  405. package/dist/typescript/commonjs/lib/internal/web/firebaseFirestore.d.ts.map +1 -0
  406. package/dist/typescript/commonjs/lib/internal/web/firebaseFunctions.d.ts +3 -0
  407. package/dist/typescript/commonjs/lib/internal/web/firebaseFunctions.d.ts.map +1 -0
  408. package/{lib/internal/web/firebaseInstallations.js → dist/typescript/commonjs/lib/internal/web/firebaseInstallations.d.ts} +1 -2
  409. package/dist/typescript/commonjs/lib/internal/web/firebaseInstallations.d.ts.map +1 -0
  410. package/{lib/internal/web/firebaseRemoteConfig.js → dist/typescript/commonjs/lib/internal/web/firebaseRemoteConfig.d.ts} +1 -2
  411. package/dist/typescript/commonjs/lib/internal/web/firebaseRemoteConfig.d.ts.map +1 -0
  412. package/dist/typescript/commonjs/lib/internal/web/firebaseStorage.d.ts +3 -0
  413. package/dist/typescript/commonjs/lib/internal/web/firebaseStorage.d.ts.map +1 -0
  414. package/dist/typescript/commonjs/lib/internal/web/utils.d.ts +13 -0
  415. package/dist/typescript/commonjs/lib/internal/web/utils.d.ts.map +1 -0
  416. package/dist/typescript/commonjs/lib/modular.d.ts +95 -0
  417. package/dist/typescript/commonjs/lib/modular.d.ts.map +1 -0
  418. package/dist/typescript/commonjs/lib/namespaced.d.ts +5 -0
  419. package/dist/typescript/commonjs/lib/namespaced.d.ts.map +1 -0
  420. package/dist/typescript/commonjs/lib/types/app.d.ts +561 -0
  421. package/dist/typescript/commonjs/lib/types/app.d.ts.map +1 -0
  422. package/dist/typescript/commonjs/lib/types/internal.d.ts +101 -0
  423. package/dist/typescript/commonjs/lib/types/internal.d.ts.map +1 -0
  424. package/dist/typescript/commonjs/lib/utils/UtilsStatics.d.ts +4 -0
  425. package/dist/typescript/commonjs/lib/utils/UtilsStatics.d.ts.map +1 -0
  426. package/dist/typescript/commonjs/lib/utils/index.d.ts +4 -0
  427. package/dist/typescript/commonjs/lib/utils/index.d.ts.map +1 -0
  428. package/dist/typescript/commonjs/lib/version.d.ts +2 -0
  429. package/dist/typescript/commonjs/lib/version.d.ts.map +1 -0
  430. package/dist/typescript/commonjs/package.json +1 -0
  431. package/dist/typescript/module/lib/FirebaseApp.d.ts +21 -0
  432. package/dist/typescript/module/lib/FirebaseApp.d.ts.map +1 -0
  433. package/dist/typescript/module/lib/common/Base64.d.ts +23 -0
  434. package/dist/typescript/module/lib/common/Base64.d.ts.map +1 -0
  435. package/dist/typescript/module/lib/common/MutatableParams.d.ts +10 -0
  436. package/dist/typescript/module/lib/common/MutatableParams.d.ts.map +1 -0
  437. package/dist/typescript/module/lib/common/ReferenceBase.d.ts +12 -0
  438. package/dist/typescript/module/lib/common/ReferenceBase.d.ts.map +1 -0
  439. package/dist/typescript/module/lib/common/deeps.d.ts +19 -0
  440. package/dist/typescript/module/lib/common/deeps.d.ts.map +1 -0
  441. package/dist/typescript/module/lib/common/id.d.ts +12 -0
  442. package/dist/typescript/module/lib/common/id.d.ts.map +1 -0
  443. package/dist/typescript/module/lib/common/index.d.ts +33 -0
  444. package/dist/typescript/module/lib/common/index.d.ts.map +1 -0
  445. package/dist/typescript/module/lib/common/path.d.ts +51 -0
  446. package/dist/typescript/module/lib/common/path.d.ts.map +1 -0
  447. package/dist/typescript/module/lib/common/promise.d.ts +12 -0
  448. package/dist/typescript/module/lib/common/promise.d.ts.map +1 -0
  449. package/dist/typescript/module/lib/common/serialize.d.ts +4 -0
  450. package/dist/typescript/module/lib/common/serialize.d.ts.map +1 -0
  451. package/dist/typescript/module/lib/common/unitTestUtils.d.ts +4 -0
  452. package/dist/typescript/module/lib/common/unitTestUtils.d.ts.map +1 -0
  453. package/dist/typescript/module/lib/common/validate.d.ts +100 -0
  454. package/dist/typescript/module/lib/common/validate.d.ts.map +1 -0
  455. package/dist/typescript/module/lib/index.d.ts +4 -0
  456. package/dist/typescript/module/lib/index.d.ts.map +1 -0
  457. package/dist/typescript/module/lib/internal/FirebaseModule.d.ts +17 -0
  458. package/dist/typescript/module/lib/internal/FirebaseModule.d.ts.map +1 -0
  459. package/dist/typescript/module/lib/internal/NativeFirebaseError.d.ts +20 -0
  460. package/dist/typescript/module/lib/internal/NativeFirebaseError.d.ts.map +1 -0
  461. package/dist/typescript/module/lib/internal/NativeModules.d.ts +83 -0
  462. package/dist/typescript/module/lib/internal/NativeModules.d.ts.map +1 -0
  463. package/dist/typescript/module/lib/internal/RNFBNativeEventEmitter.d.ts +13 -0
  464. package/dist/typescript/module/lib/internal/RNFBNativeEventEmitter.d.ts.map +1 -0
  465. package/dist/typescript/module/lib/internal/SharedEventEmitter.d.ts +4 -0
  466. package/dist/typescript/module/lib/internal/SharedEventEmitter.d.ts.map +1 -0
  467. package/dist/typescript/module/lib/internal/asyncStorage.d.ts +10 -0
  468. package/dist/typescript/module/lib/internal/asyncStorage.d.ts.map +1 -0
  469. package/dist/typescript/module/lib/internal/constants.d.ts +5 -0
  470. package/dist/typescript/module/lib/internal/constants.d.ts.map +1 -0
  471. package/dist/typescript/module/lib/internal/index.d.ts +12 -0
  472. package/dist/typescript/module/lib/internal/index.d.ts.map +1 -0
  473. package/dist/typescript/module/lib/internal/logger.d.ts +83 -0
  474. package/dist/typescript/module/lib/internal/logger.d.ts.map +1 -0
  475. package/dist/typescript/module/lib/internal/nativeModule.android.d.ts +3 -0
  476. package/dist/typescript/module/lib/internal/nativeModule.android.d.ts.map +1 -0
  477. package/dist/typescript/module/lib/internal/nativeModule.d.ts +3 -0
  478. package/dist/typescript/module/lib/internal/nativeModule.d.ts.map +1 -0
  479. package/dist/typescript/module/lib/internal/nativeModule.ios.d.ts +3 -0
  480. package/dist/typescript/module/lib/internal/nativeModule.ios.d.ts.map +1 -0
  481. package/dist/typescript/module/lib/internal/nativeModuleAndroidIos.d.ts +10 -0
  482. package/dist/typescript/module/lib/internal/nativeModuleAndroidIos.d.ts.map +1 -0
  483. package/dist/typescript/module/lib/internal/nativeModuleWeb.d.ts +3 -0
  484. package/dist/typescript/module/lib/internal/nativeModuleWeb.d.ts.map +1 -0
  485. package/dist/typescript/module/lib/internal/nullSerialization.d.ts +16 -0
  486. package/dist/typescript/module/lib/internal/nullSerialization.d.ts.map +1 -0
  487. package/dist/typescript/module/lib/internal/registry/app.d.ts +47 -0
  488. package/dist/typescript/module/lib/internal/registry/app.d.ts.map +1 -0
  489. package/dist/typescript/module/lib/internal/registry/namespace.d.ts +26 -0
  490. package/dist/typescript/module/lib/internal/registry/namespace.d.ts.map +1 -0
  491. package/dist/typescript/module/lib/internal/registry/nativeModule.d.ts +17 -0
  492. package/dist/typescript/module/lib/internal/registry/nativeModule.d.ts.map +1 -0
  493. package/dist/typescript/module/lib/internal/web/RNFBAppModule.d.ts +139 -0
  494. package/dist/typescript/module/lib/internal/web/RNFBAppModule.d.ts.map +1 -0
  495. package/dist/typescript/module/lib/internal/web/firebaseApp.d.ts +2 -0
  496. package/dist/typescript/module/lib/internal/web/firebaseApp.d.ts.map +1 -0
  497. package/dist/typescript/module/lib/internal/web/firebaseAppCheck.d.ts +5 -0
  498. package/dist/typescript/module/lib/internal/web/firebaseAppCheck.d.ts.map +1 -0
  499. package/dist/typescript/module/lib/internal/web/firebaseAuth.d.ts +3 -0
  500. package/dist/typescript/module/lib/internal/web/firebaseAuth.d.ts.map +1 -0
  501. package/dist/typescript/module/lib/internal/web/firebaseDatabase.d.ts +3 -0
  502. package/dist/typescript/module/lib/internal/web/firebaseDatabase.d.ts.map +1 -0
  503. package/dist/typescript/module/lib/internal/web/firebaseFirestore.d.ts +3 -0
  504. package/dist/typescript/module/lib/internal/web/firebaseFirestore.d.ts.map +1 -0
  505. package/dist/typescript/module/lib/internal/web/firebaseFunctions.d.ts +3 -0
  506. package/dist/typescript/module/lib/internal/web/firebaseFunctions.d.ts.map +1 -0
  507. package/dist/typescript/module/lib/internal/web/firebaseInstallations.d.ts +5 -0
  508. package/dist/typescript/module/lib/internal/web/firebaseInstallations.d.ts.map +1 -0
  509. package/dist/typescript/module/lib/internal/web/firebaseRemoteConfig.d.ts +5 -0
  510. package/dist/typescript/module/lib/internal/web/firebaseRemoteConfig.d.ts.map +1 -0
  511. package/dist/typescript/module/lib/internal/web/firebaseStorage.d.ts +3 -0
  512. package/dist/typescript/module/lib/internal/web/firebaseStorage.d.ts.map +1 -0
  513. package/dist/typescript/module/lib/internal/web/utils.d.ts +13 -0
  514. package/dist/typescript/module/lib/internal/web/utils.d.ts.map +1 -0
  515. package/dist/typescript/module/lib/modular.d.ts +95 -0
  516. package/dist/typescript/module/lib/modular.d.ts.map +1 -0
  517. package/dist/typescript/module/lib/namespaced.d.ts +5 -0
  518. package/dist/typescript/module/lib/namespaced.d.ts.map +1 -0
  519. package/dist/typescript/module/lib/types/app.d.ts +561 -0
  520. package/dist/typescript/module/lib/types/app.d.ts.map +1 -0
  521. package/dist/typescript/module/lib/types/internal.d.ts +101 -0
  522. package/dist/typescript/module/lib/types/internal.d.ts.map +1 -0
  523. package/dist/typescript/module/lib/utils/UtilsStatics.d.ts +4 -0
  524. package/dist/typescript/module/lib/utils/UtilsStatics.d.ts.map +1 -0
  525. package/dist/typescript/module/lib/utils/index.d.ts +4 -0
  526. package/dist/typescript/module/lib/utils/index.d.ts.map +1 -0
  527. package/dist/typescript/module/lib/version.d.ts +2 -0
  528. package/dist/typescript/module/lib/version.d.ts.map +1 -0
  529. package/dist/typescript/module/package.json +1 -0
  530. package/ios/RNFBApp/RNFBNullSentinelInterceptor.h +47 -0
  531. package/ios/RNFBApp/RNFBNullSentinelInterceptor.m +74 -0
  532. package/ios/RNFBApp/RNFBSharedUtils.h +2 -0
  533. package/ios/RNFBApp/RNFBSharedUtils.m +118 -0
  534. package/ios/RNFBApp/RNFBVersion.m +1 -1
  535. package/ios/RNFBApp.xcodeproj/project.pbxproj +6 -0
  536. package/lib/FirebaseApp.ts +98 -0
  537. package/lib/common/{Base64.js → Base64.ts} +19 -11
  538. package/lib/common/MutatableParams.ts +50 -0
  539. package/lib/common/ReferenceBase.ts +45 -0
  540. package/lib/common/deeps.ts +92 -0
  541. package/lib/common/id.ts +91 -0
  542. package/lib/common/{index.js → index.ts} +60 -38
  543. package/lib/common/path.ts +124 -0
  544. package/lib/common/promise.ts +68 -0
  545. package/lib/common/{serialize.js → serialize.ts} +3 -2
  546. package/lib/common/unitTestUtils.ts +5 -4
  547. package/lib/common/validate.ts +232 -0
  548. package/lib/index.ts +27 -0
  549. package/lib/internal/FirebaseModule.ts +78 -0
  550. package/lib/internal/NativeFirebaseError.ts +111 -0
  551. package/lib/internal/NativeModules.ts +116 -0
  552. package/lib/internal/RNFBNativeEventEmitter.ts +139 -0
  553. package/lib/internal/asyncStorage.ts +76 -0
  554. package/lib/internal/{constants.js → constants.ts} +3 -1
  555. package/lib/internal/global.d.ts +33 -0
  556. package/lib/internal/{index.js → index.ts} +2 -0
  557. package/lib/internal/logger.ts +270 -0
  558. package/lib/internal/nativeModuleAndroidIos.ts +55 -0
  559. package/lib/internal/nativeModuleWeb.ts +60 -0
  560. package/lib/internal/nullSerialization.ts +186 -0
  561. package/lib/internal/registry/app.ts +278 -0
  562. package/lib/internal/registry/{namespace.js → namespace.ts} +93 -54
  563. package/lib/internal/registry/nativeModule.ts +282 -0
  564. package/lib/internal/web/RNFBAppModule.ts +318 -0
  565. package/lib/internal/web/firebaseApp.ts +20 -0
  566. package/lib/internal/web/firebaseAppCheck.ts +23 -0
  567. package/lib/internal/web/firebaseAuth.ts +21 -0
  568. package/lib/internal/web/firebaseDatabase.ts +21 -0
  569. package/lib/internal/web/firebaseFirestore.ts +21 -0
  570. package/lib/internal/web/firebaseFunctions.ts +21 -0
  571. package/lib/internal/web/firebaseInstallations.ts +23 -0
  572. package/lib/internal/web/firebaseRemoteConfig.ts +23 -0
  573. package/lib/internal/web/firebaseStorage.ts +21 -0
  574. package/lib/internal/web/memidb/index.d.ts +21 -0
  575. package/lib/internal/web/memidb/lib/errors.js +17 -0
  576. package/lib/internal/web/utils.ts +57 -0
  577. package/lib/modular.ts +219 -0
  578. package/lib/{index.js → namespaced.ts} +2 -2
  579. package/lib/{index.d.ts → types/app.ts} +81 -40
  580. package/lib/types/internal.ts +142 -0
  581. package/lib/utils/{UtilsStatics.js → UtilsStatics.ts} +20 -12
  582. package/lib/utils/index.ts +94 -0
  583. package/lib/version.ts +2 -0
  584. package/package.json +99 -9
  585. package/tsconfig.json +10 -0
  586. package/lib/internal/asyncStorage.js +0 -47
  587. package/lib/internal/logger.d.ts +0 -85
  588. package/lib/internal/nativeModuleAndroidIos.js +0 -45
  589. package/lib/internal/nativeModuleWeb.js +0 -49
  590. package/lib/internal/web/firebaseApp.js +0 -3
  591. package/lib/internal/web/firebaseAuth.js +0 -4
  592. package/lib/internal/web/firebaseDatabase.js +0 -4
  593. package/lib/internal/web/firebaseFirestore.js +0 -4
  594. package/lib/internal/web/firebaseFunctions.js +0 -4
  595. package/lib/internal/web/firebaseStorage.js +0 -4
  596. package/lib/modular/index.d.ts +0 -131
  597. package/lib/modular/index.js +0 -150
  598. package/lib/version.js +0 -2
  599. /package/lib/internal/{SharedEventEmitter.js → SharedEventEmitter.ts} +0 -0
  600. /package/lib/internal/{nativeModule.android.js → nativeModule.android.ts} +0 -0
  601. /package/lib/internal/{nativeModule.ios.js → nativeModule.ios.ts} +0 -0
  602. /package/lib/internal/{nativeModule.js → nativeModule.ts} +0 -0
@@ -0,0 +1,262 @@
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 { isString, createDeprecationProxy } from "../../common/index.js";
21
+ import { version as SDK_VERSION } from "../../version.js";
22
+ import { DEFAULT_APP_NAME, KNOWN_NAMESPACES } from "../constants.js";
23
+ import FirebaseModule from "../FirebaseModule.js";
24
+ import { getApp, getApps, initializeApp, setLogLevel, setReactNativeAsyncStorage, setOnAppCreate, setOnAppDestroy } from "./app.js";
25
+
26
+ // firebase.X
27
+ let FIREBASE_ROOT = null;
28
+ const NAMESPACE_REGISTRY = {};
29
+ const APP_MODULE_INSTANCE = {};
30
+ const MODULE_GETTER_FOR_APP = {};
31
+ const MODULE_GETTER_FOR_ROOT = {};
32
+
33
+ /**
34
+ * Attaches module namespace getters on every newly created app.
35
+ *
36
+ * Structured like this to avoid metro require cycles.
37
+ */
38
+ setOnAppCreate(app => {
39
+ for (let i = 0; i < KNOWN_NAMESPACES.length; i++) {
40
+ const moduleNamespace = KNOWN_NAMESPACES[i];
41
+ if (moduleNamespace) {
42
+ Object.defineProperty(app, moduleNamespace, {
43
+ enumerable: false,
44
+ get: firebaseAppModuleProxy.bind(null, app, moduleNamespace)
45
+ });
46
+ }
47
+ }
48
+ });
49
+
50
+ /**
51
+ * Destroys all APP_MODULE_INSTANCE & MODULE_GETTER_FOR_APP objects relating to the
52
+ * recently destroyed app.
53
+ *
54
+ * Structured like this to avoid metro require cycles.
55
+ */
56
+ setOnAppDestroy(app => {
57
+ delete APP_MODULE_INSTANCE[app.name];
58
+ delete MODULE_GETTER_FOR_APP[app.name];
59
+ });
60
+
61
+ /**
62
+ *
63
+ * @param app
64
+ * @param moduleNamespace
65
+ * @returns {*}
66
+ */
67
+ function getOrCreateModuleForApp(app, moduleNamespace) {
68
+ if (MODULE_GETTER_FOR_APP[app.name] && MODULE_GETTER_FOR_APP[app.name]?.[moduleNamespace]) {
69
+ return MODULE_GETTER_FOR_APP[app.name][moduleNamespace];
70
+ }
71
+ if (!MODULE_GETTER_FOR_APP[app.name]) {
72
+ MODULE_GETTER_FOR_APP[app.name] = {};
73
+ }
74
+ const config = NAMESPACE_REGISTRY[moduleNamespace];
75
+ if (!config) {
76
+ throw new Error(`Module namespace '${moduleNamespace}' is not registered.`);
77
+ }
78
+ const {
79
+ hasCustomUrlOrRegionSupport,
80
+ hasMultiAppSupport,
81
+ ModuleClass
82
+ } = config;
83
+
84
+ // modules such as analytics only run on the default app
85
+ if (!hasMultiAppSupport && app.name !== DEFAULT_APP_NAME) {
86
+ throw new Error([`You attempted to call "firebase.app('${app.name}').${moduleNamespace}" but; ${moduleNamespace} does not support multiple Firebase Apps.`, '', `Ensure you access ${moduleNamespace} from the default application only.`].join('\r\n'));
87
+ }
88
+
89
+ // e.g. firebase.storage(customUrlOrRegion), firebase.functions(customUrlOrRegion), firebase.firestore(databaseId), firebase.database(url)
90
+ function firebaseModuleWithArgs(customUrlOrRegionOrDatabaseId) {
91
+ if (customUrlOrRegionOrDatabaseId !== undefined) {
92
+ if (!hasCustomUrlOrRegionSupport) {
93
+ // TODO throw Module does not support arguments error
94
+ }
95
+ if (!isString(customUrlOrRegionOrDatabaseId)) {
96
+ // TODO throw Module first argument must be a string error
97
+ }
98
+ }
99
+ const key = customUrlOrRegionOrDatabaseId ? `${customUrlOrRegionOrDatabaseId}:${moduleNamespace}` : moduleNamespace;
100
+ if (!APP_MODULE_INSTANCE[app.name]) {
101
+ APP_MODULE_INSTANCE[app.name] = {};
102
+ }
103
+ if (!APP_MODULE_INSTANCE[app.name]?.[key]) {
104
+ const moduleConfig = NAMESPACE_REGISTRY[moduleNamespace];
105
+ if (!moduleConfig) {
106
+ throw new Error(`Module namespace '${moduleNamespace}' is not registered.`);
107
+ }
108
+ const module = createDeprecationProxy(new ModuleClass(app, moduleConfig, customUrlOrRegionOrDatabaseId));
109
+ APP_MODULE_INSTANCE[app.name][key] = module;
110
+ }
111
+ return APP_MODULE_INSTANCE[app.name][key];
112
+ }
113
+ MODULE_GETTER_FOR_APP[app.name][moduleNamespace] = firebaseModuleWithArgs;
114
+ return MODULE_GETTER_FOR_APP[app.name][moduleNamespace];
115
+ }
116
+
117
+ /**
118
+ *
119
+ * @param moduleNamespace
120
+ * @returns {*}
121
+ */
122
+ function getOrCreateModuleForRoot(moduleNamespace) {
123
+ if (MODULE_GETTER_FOR_ROOT[moduleNamespace]) {
124
+ return MODULE_GETTER_FOR_ROOT[moduleNamespace];
125
+ }
126
+ const config = NAMESPACE_REGISTRY[moduleNamespace];
127
+ if (!config) {
128
+ throw new Error(`Module namespace '${moduleNamespace}' is not registered.`);
129
+ }
130
+ const {
131
+ statics,
132
+ hasMultiAppSupport,
133
+ ModuleClass
134
+ } = config;
135
+
136
+ // e.g. firebase.storage(app)
137
+ function firebaseModuleWithApp(app) {
138
+ const _app = app || getApp();
139
+
140
+ // Duck-type check for FirebaseApp (checking for required properties)
141
+ if (!_app || typeof _app !== 'object' || !('name' in _app) || !('options' in _app) || typeof _app.name !== 'string') {
142
+ throw new Error([`"firebase.${moduleNamespace}(app)" arg expects a FirebaseApp instance or undefined.`, '', 'Ensure the arg provided is a Firebase app instance; or no args to use the default Firebase app.'].join('\r\n'));
143
+ }
144
+
145
+ // modules such as analytics only run on the default app
146
+ if (!hasMultiAppSupport && _app.name !== DEFAULT_APP_NAME) {
147
+ throw new Error([`You attempted to call "firebase.${moduleNamespace}(app)" but; ${moduleNamespace} does not support multiple Firebase Apps.`, '', `Ensure the app provided is the default Firebase app only and not the "${_app.name}" app.`].join('\r\n'));
148
+ }
149
+ if (!APP_MODULE_INSTANCE[_app.name]) {
150
+ APP_MODULE_INSTANCE[_app.name] = {};
151
+ }
152
+ if (!APP_MODULE_INSTANCE[_app.name]?.[moduleNamespace]) {
153
+ const moduleConfig = NAMESPACE_REGISTRY[moduleNamespace];
154
+ if (!moduleConfig) {
155
+ throw new Error(`Module namespace '${moduleNamespace}' is not registered.`);
156
+ }
157
+ const module = createDeprecationProxy(new ModuleClass(_app, moduleConfig));
158
+ APP_MODULE_INSTANCE[_app.name][moduleNamespace] = module;
159
+ }
160
+ return APP_MODULE_INSTANCE[_app.name][moduleNamespace];
161
+ }
162
+ Object.assign(firebaseModuleWithApp, statics || {});
163
+ // Object.freeze(firebaseModuleWithApp);
164
+ // Wrap around statics, e.g. firebase.firestore.FieldValue, removed freeze as it stops proxy working. it is deprecated anyway
165
+ MODULE_GETTER_FOR_ROOT[moduleNamespace] = createDeprecationProxy(firebaseModuleWithApp);
166
+ return MODULE_GETTER_FOR_ROOT[moduleNamespace];
167
+ }
168
+
169
+ /**
170
+ *
171
+ * @param firebaseNamespace
172
+ * @param moduleNamespace
173
+ * @returns {*}
174
+ */
175
+ function firebaseRootModuleProxy(_firebaseNamespace, moduleNamespace) {
176
+ if (NAMESPACE_REGISTRY[moduleNamespace]) {
177
+ return getOrCreateModuleForRoot(moduleNamespace);
178
+ }
179
+ const moduleWithDashes = moduleNamespace.split(/(?=[A-Z])/).join('-').toLowerCase();
180
+ throw new Error([`You attempted to use 'firebase.${moduleNamespace}' but this module could not be found.`, '', `Ensure you have installed and imported the '@react-native-firebase/${moduleWithDashes}' package.`].join('\r\n'));
181
+ }
182
+
183
+ /**
184
+ *
185
+ * @param app
186
+ * @param moduleNamespace
187
+ * @returns {*}
188
+ */
189
+ export function firebaseAppModuleProxy(app, moduleNamespace) {
190
+ if (NAMESPACE_REGISTRY[moduleNamespace]) {
191
+ // Call private _checkDestroyed method
192
+ app._checkDestroyed();
193
+ return getOrCreateModuleForApp(app, moduleNamespace);
194
+ }
195
+ const moduleWithDashes = moduleNamespace.split(/(?=[A-Z])/).join('-').toLowerCase();
196
+ throw new Error([`You attempted to use "firebase.app('${app.name}').${moduleNamespace}" but this module could not be found.`, '', `Ensure you have installed and imported the '@react-native-firebase/${moduleWithDashes}' package.`].join('\r\n'));
197
+ }
198
+
199
+ /**
200
+ *
201
+ * @returns {*}
202
+ */
203
+ export function createFirebaseRoot() {
204
+ // Create partial root object - module namespaces like 'utils' are added dynamically below
205
+ const root = {
206
+ initializeApp,
207
+ setReactNativeAsyncStorage,
208
+ get app() {
209
+ return getApp;
210
+ },
211
+ get apps() {
212
+ return getApps();
213
+ },
214
+ SDK_VERSION,
215
+ setLogLevel
216
+ };
217
+ for (let i = 0; i < KNOWN_NAMESPACES.length; i++) {
218
+ const namespace = KNOWN_NAMESPACES[i];
219
+ if (namespace) {
220
+ Object.defineProperty(root, namespace, {
221
+ enumerable: false,
222
+ get: firebaseRootModuleProxy.bind(null, root, namespace)
223
+ });
224
+ }
225
+ }
226
+ FIREBASE_ROOT = root;
227
+ return root;
228
+ }
229
+
230
+ /**
231
+ *
232
+ * @returns {*}
233
+ */
234
+ export function getFirebaseRoot() {
235
+ if (FIREBASE_ROOT) {
236
+ return FIREBASE_ROOT;
237
+ }
238
+ return createFirebaseRoot();
239
+ }
240
+
241
+ /**
242
+ *
243
+ * @param options
244
+ * @returns {*}
245
+ */
246
+ export function createModuleNamespace(options) {
247
+ const {
248
+ namespace,
249
+ ModuleClass
250
+ } = options;
251
+ if (!NAMESPACE_REGISTRY[namespace]) {
252
+ // validation only for internal / module dev usage
253
+ const firebaseModuleExtended = FirebaseModule.__extended__;
254
+ const moduleClassExtended = ModuleClass.__extended__;
255
+ if (firebaseModuleExtended !== moduleClassExtended) {
256
+ throw new Error('INTERNAL ERROR: ModuleClass must be an instance of FirebaseModule.');
257
+ }
258
+ NAMESPACE_REGISTRY[namespace] = Object.assign({}, options);
259
+ }
260
+ return getFirebaseRoot()[namespace];
261
+ }
262
+ //# sourceMappingURL=namespace.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["isString","createDeprecationProxy","version","SDK_VERSION","DEFAULT_APP_NAME","KNOWN_NAMESPACES","FirebaseModule","getApp","getApps","initializeApp","setLogLevel","setReactNativeAsyncStorage","setOnAppCreate","setOnAppDestroy","FIREBASE_ROOT","NAMESPACE_REGISTRY","APP_MODULE_INSTANCE","MODULE_GETTER_FOR_APP","MODULE_GETTER_FOR_ROOT","app","i","length","moduleNamespace","Object","defineProperty","enumerable","get","firebaseAppModuleProxy","bind","name","getOrCreateModuleForApp","config","Error","hasCustomUrlOrRegionSupport","hasMultiAppSupport","ModuleClass","join","firebaseModuleWithArgs","customUrlOrRegionOrDatabaseId","undefined","key","moduleConfig","module","getOrCreateModuleForRoot","statics","firebaseModuleWithApp","_app","assign","firebaseRootModuleProxy","_firebaseNamespace","moduleWithDashes","split","toLowerCase","_checkDestroyed","createFirebaseRoot","root","apps","namespace","getFirebaseRoot","createModuleNamespace","options","firebaseModuleExtended","__extended__","moduleClassExtended"],"sourceRoot":"../../../../lib","sources":["internal/registry/namespace.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASA,QAAQ,EAAEC,sBAAsB,QAAQ,uBAAc;AAE/D,SAASC,OAAO,IAAIC,WAAW,QAAQ,kBAAe;AACtD,SAASC,gBAAgB,EAAEC,gBAAgB,QAA6B,iBAAc;AACtF,OAAOC,cAAc,MAAM,sBAAmB;AAE9C,SACEC,MAAM,EACNC,OAAO,EACPC,aAAa,EACbC,WAAW,EACXC,0BAA0B,EAC1BC,cAAc,EACdC,eAAe,QACV,UAAO;;AAEd;AACA,IAAIC,aAAkC,GAAG,IAAI;AAE7C,MAAMC,kBAA+D,GAAG,CAAC,CAAC;AAC1E,MAAMC,mBAAwE,GAAG,CAAC,CAAC;AACnF,MAAMC,qBAAmE,GAAG,CAAC,CAAC;AAC9E,MAAMC,sBAAoD,GAAG,CAAC,CAAC;;AAE/D;AACA;AACA;AACA;AACA;AACAN,cAAc,CAACO,GAAG,IAAI;EACpB,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGf,gBAAgB,CAACgB,MAAM,EAAED,CAAC,EAAE,EAAE;IAChD,MAAME,eAAe,GAAGjB,gBAAgB,CAACe,CAAC,CAAC;IAC3C,IAAIE,eAAe,EAAE;MACnBC,MAAM,CAACC,cAAc,CAACL,GAAG,EAAEG,eAAe,EAAE;QAC1CG,UAAU,EAAE,KAAK;QACjBC,GAAG,EAAEC,sBAAsB,CAACC,IAAI,CAAC,IAAI,EAAET,GAAG,EAAEG,eAAe;MAC7D,CAAC,CAAC;IACJ;EACF;AACF,CAAC,CAAC;;AAEF;AACA;AACA;AACA;AACA;AACA;AACAT,eAAe,CAACM,GAAG,IAAI;EACrB,OAAOH,mBAAmB,CAACG,GAAG,CAACU,IAAI,CAAC;EACpC,OAAOZ,qBAAqB,CAACE,GAAG,CAACU,IAAI,CAAC;AACxC,CAAC,CAAC;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,uBAAuBA,CAACX,GAAgB,EAAEG,eAA+B,EAAgB;EAChG,IAAIL,qBAAqB,CAACE,GAAG,CAACU,IAAI,CAAC,IAAIZ,qBAAqB,CAACE,GAAG,CAACU,IAAI,CAAC,GAAGP,eAAe,CAAC,EAAE;IACzF,OAAOL,qBAAqB,CAACE,GAAG,CAACU,IAAI,CAAC,CAAEP,eAAe,CAAC;EAC1D;EAEA,IAAI,CAACL,qBAAqB,CAACE,GAAG,CAACU,IAAI,CAAC,EAAE;IACpCZ,qBAAqB,CAACE,GAAG,CAACU,IAAI,CAAC,GAAG,CAAC,CAAC;EACtC;EAEA,MAAME,MAAM,GAAGhB,kBAAkB,CAACO,eAAe,CAAC;EAClD,IAAI,CAACS,MAAM,EAAE;IACX,MAAM,IAAIC,KAAK,CAAC,qBAAqBV,eAAe,sBAAsB,CAAC;EAC7E;EACA,MAAM;IAAEW,2BAA2B;IAAEC,kBAAkB;IAAEC;EAAY,CAAC,GAAGJ,MAAM;;EAE/E;EACA,IAAI,CAACG,kBAAkB,IAAIf,GAAG,CAACU,IAAI,KAAKzB,gBAAgB,EAAE;IACxD,MAAM,IAAI4B,KAAK,CACb,CACE,wCAAwCb,GAAG,CAACU,IAAI,MAAMP,eAAe,UAAUA,eAAe,2CAA2C,EACzI,EAAE,EACF,qBAAqBA,eAAe,qCAAqC,CAC1E,CAACc,IAAI,CAAC,MAAM,CACf,CAAC;EACH;;EAEA;EACA,SAASC,sBAAsBA,CAACC,6BAAsC,EAAuB;IAC3F,IAAIA,6BAA6B,KAAKC,SAAS,EAAE;MAC/C,IAAI,CAACN,2BAA2B,EAAE;QAChC;MAAA;MAGF,IAAI,CAACjC,QAAQ,CAACsC,6BAA6B,CAAC,EAAE;QAC5C;MAAA;IAEJ;IAEA,MAAME,GAAG,GAAGF,6BAA6B,GACrC,GAAGA,6BAA6B,IAAIhB,eAAe,EAAE,GACrDA,eAAe;IAEnB,IAAI,CAACN,mBAAmB,CAACG,GAAG,CAACU,IAAI,CAAC,EAAE;MAClCb,mBAAmB,CAACG,GAAG,CAACU,IAAI,CAAC,GAAG,CAAC,CAAC;IACpC;IAEA,IAAI,CAACb,mBAAmB,CAACG,GAAG,CAACU,IAAI,CAAC,GAAGW,GAAG,CAAC,EAAE;MACzC,MAAMC,YAAY,GAAG1B,kBAAkB,CAACO,eAAe,CAAC;MACxD,IAAI,CAACmB,YAAY,EAAE;QACjB,MAAM,IAAIT,KAAK,CAAC,qBAAqBV,eAAe,sBAAsB,CAAC;MAC7E;MACA,MAAMoB,MAAM,GAAGzC,sBAAsB,CACnC,IAAIkC,WAAW,CAAChB,GAAG,EAAEsB,YAAY,EAAEH,6BAA6B,CAClE,CAAmC;MAEnCtB,mBAAmB,CAACG,GAAG,CAACU,IAAI,CAAC,CAAEW,GAAG,CAAC,GAAGE,MAAM;IAC9C;IAEA,OAAO1B,mBAAmB,CAACG,GAAG,CAACU,IAAI,CAAC,CAAEW,GAAG,CAAC;EAC5C;EAEAvB,qBAAqB,CAACE,GAAG,CAACU,IAAI,CAAC,CAAEP,eAAe,CAAC,GAC/Ce,sBAAiD;EACnD,OAAOpB,qBAAqB,CAACE,GAAG,CAACU,IAAI,CAAC,CAAEP,eAAe,CAAC;AAC1D;;AAEA;AACA;AACA;AACA;AACA;AACA,SAASqB,wBAAwBA,CAACrB,eAA+B,EAAgB;EAC/E,IAAIJ,sBAAsB,CAACI,eAAe,CAAC,EAAE;IAC3C,OAAOJ,sBAAsB,CAACI,eAAe,CAAC;EAChD;EAEA,MAAMS,MAAM,GAAGhB,kBAAkB,CAACO,eAAe,CAAC;EAClD,IAAI,CAACS,MAAM,EAAE;IACX,MAAM,IAAIC,KAAK,CAAC,qBAAqBV,eAAe,sBAAsB,CAAC;EAC7E;EACA,MAAM;IAAEsB,OAAO;IAAEV,kBAAkB;IAAEC;EAAY,CAAC,GAAGJ,MAAM;;EAE3D;EACA,SAASc,qBAAqBA,CAAC1B,GAAiB,EAAuB;IACrE,MAAM2B,IAAI,GAAG3B,GAAG,IAAIZ,MAAM,CAAC,CAAC;;IAE5B;IACA,IACE,CAACuC,IAAI,IACL,OAAOA,IAAI,KAAK,QAAQ,IACxB,EAAE,MAAM,IAAIA,IAAI,CAAC,IACjB,EAAE,SAAS,IAAIA,IAAI,CAAC,IACpB,OAAOA,IAAI,CAACjB,IAAI,KAAK,QAAQ,EAC7B;MACA,MAAM,IAAIG,KAAK,CACb,CACE,aAAaV,eAAe,yDAAyD,EACrF,EAAE,EACF,iGAAiG,CAClG,CAACc,IAAI,CAAC,MAAM,CACf,CAAC;IACH;;IAEA;IACA,IAAI,CAACF,kBAAkB,IAAIY,IAAI,CAACjB,IAAI,KAAKzB,gBAAgB,EAAE;MACzD,MAAM,IAAI4B,KAAK,CACb,CACE,mCAAmCV,eAAe,eAAeA,eAAe,2CAA2C,EAC3H,EAAE,EACF,yEAAyEwB,IAAI,CAACjB,IAAI,QAAQ,CAC3F,CAACO,IAAI,CAAC,MAAM,CACf,CAAC;IACH;IAEA,IAAI,CAACpB,mBAAmB,CAAC8B,IAAI,CAACjB,IAAI,CAAC,EAAE;MACnCb,mBAAmB,CAAC8B,IAAI,CAACjB,IAAI,CAAC,GAAG,CAAC,CAAC;IACrC;IAEA,IAAI,CAACb,mBAAmB,CAAC8B,IAAI,CAACjB,IAAI,CAAC,GAAGP,eAAe,CAAC,EAAE;MACtD,MAAMmB,YAAY,GAAG1B,kBAAkB,CAACO,eAAe,CAAC;MACxD,IAAI,CAACmB,YAAY,EAAE;QACjB,MAAM,IAAIT,KAAK,CAAC,qBAAqBV,eAAe,sBAAsB,CAAC;MAC7E;MACA,MAAMoB,MAAM,GAAGzC,sBAAsB,CACnC,IAAIkC,WAAW,CAACW,IAAI,EAAEL,YAAY,CACpC,CAAmC;MACnCzB,mBAAmB,CAAC8B,IAAI,CAACjB,IAAI,CAAC,CAAEP,eAAe,CAAC,GAAGoB,MAAM;IAC3D;IAEA,OAAO1B,mBAAmB,CAAC8B,IAAI,CAACjB,IAAI,CAAC,CAAEP,eAAe,CAAC;EACzD;EAEAC,MAAM,CAACwB,MAAM,CAACF,qBAAqB,EAAED,OAAO,IAAI,CAAC,CAAC,CAAC;EACnD;EACA;EACA1B,sBAAsB,CAACI,eAAe,CAAC,GAAGrB,sBAAsB,CAC9D4C,qBACF,CAA4B;EAE5B,OAAO3B,sBAAsB,CAACI,eAAe,CAAC;AAChD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS0B,uBAAuBA,CAC9BC,kBAAgC,EAChC3B,eAAuB,EACT;EACd,IAAIP,kBAAkB,CAACO,eAAe,CAAC,EAAE;IACvC,OAAOqB,wBAAwB,CAACrB,eAAiC,CAAC;EACpE;EAEA,MAAM4B,gBAAgB,GAAG5B,eAAe,CACrC6B,KAAK,CAAC,WAAW,CAAC,CAClBf,IAAI,CAAC,GAAG,CAAC,CACTgB,WAAW,CAAC,CAAC;EAEhB,MAAM,IAAIpB,KAAK,CACb,CACE,kCAAkCV,eAAe,uCAAuC,EACxF,EAAE,EACF,sEAAsE4B,gBAAgB,YAAY,CACnG,CAACd,IAAI,CAAC,MAAM,CACf,CAAC;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAAST,sBAAsBA,CAACR,GAAgB,EAAEG,eAAuB,EAAgB;EAC9F,IAAIP,kBAAkB,CAACO,eAAe,CAAC,EAAE;IACvC;IACCH,GAAG,CAAgDkC,eAAe,CAAC,CAAC;IACrE,OAAOvB,uBAAuB,CAACX,GAAG,EAAEG,eAAiC,CAAC;EACxE;EAEA,MAAM4B,gBAAgB,GAAG5B,eAAe,CACrC6B,KAAK,CAAC,WAAW,CAAC,CAClBf,IAAI,CAAC,GAAG,CAAC,CACTgB,WAAW,CAAC,CAAC;EAEhB,MAAM,IAAIpB,KAAK,CACb,CACE,uCAAuCb,GAAG,CAACU,IAAI,MAAMP,eAAe,uCAAuC,EAC3G,EAAE,EACF,sEAAsE4B,gBAAgB,YAAY,CACnG,CAACd,IAAI,CAAC,MAAM,CACf,CAAC;AACH;;AAEA;AACA;AACA;AACA;AACA,OAAO,SAASkB,kBAAkBA,CAAA,EAAiB;EACjD;EACA,MAAMC,IAAI,GAAG;IACX9C,aAAa;IACbE,0BAA0B;IAC1B,IAAIQ,GAAGA,CAAA,EAAG;MACR,OAAOZ,MAAM;IACf,CAAC;IACD,IAAIiD,IAAIA,CAAA,EAAG;MACT,OAAOhD,OAAO,CAAC,CAAC;IAClB,CAAC;IACDL,WAAW;IACXO;EACF,CAAiB;EAEjB,KAAK,IAAIU,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGf,gBAAgB,CAACgB,MAAM,EAAED,CAAC,EAAE,EAAE;IAChD,MAAMqC,SAAS,GAAGpD,gBAAgB,CAACe,CAAC,CAAC;IACrC,IAAIqC,SAAS,EAAE;MACblC,MAAM,CAACC,cAAc,CAAC+B,IAAI,EAAEE,SAAS,EAAE;QACrChC,UAAU,EAAE,KAAK;QACjBC,GAAG,EAAEsB,uBAAuB,CAACpB,IAAI,CAAC,IAAI,EAAE2B,IAAI,EAAEE,SAAS;MACzD,CAAC,CAAC;IACJ;EACF;EAEA3C,aAAa,GAAGyC,IAAI;EACpB,OAAOA,IAAI;AACb;;AAEA;AACA;AACA;AACA;AACA,OAAO,SAASG,eAAeA,CAAA,EAAiB;EAC9C,IAAI5C,aAAa,EAAE;IACjB,OAAOA,aAAa;EACtB;EACA,OAAOwC,kBAAkB,CAAC,CAAC;AAC7B;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASK,qBAAqBA,CAACC,OAAwB,EAAgB;EAC5E,MAAM;IAAEH,SAAS;IAAEtB;EAAY,CAAC,GAAGyB,OAAO;EAE1C,IAAI,CAAC7C,kBAAkB,CAAC0C,SAAS,CAAC,EAAE;IAClC;IACA,MAAMI,sBAAsB,GAAIvD,cAAc,CAC3CwD,YAAY;IACf,MAAMC,mBAAmB,GAAI5B,WAAW,CAAyC2B,YAAY;IAC7F,IAAID,sBAAsB,KAAKE,mBAAmB,EAAE;MAClD,MAAM,IAAI/B,KAAK,CAAC,oEAAoE,CAAC;IACvF;IAEAjB,kBAAkB,CAAC0C,SAAS,CAAC,GAAGlC,MAAM,CAACwB,MAAM,CAAC,CAAC,CAAC,EAAEa,OAAO,CAAC;EAC5D;EAEA,OAAOF,eAAe,CAAC,CAAC,CAACD,SAAS,CAAC;AACrC","ignoreList":[]}
@@ -1,3 +1,5 @@
1
+ "use strict";
2
+
1
3
  /*
2
4
  * Copyright (c) 2016-present Invertase Limited & Contributors
3
5
  *
@@ -14,17 +16,15 @@
14
16
  * limitations under the License.
15
17
  *
16
18
  */
17
-
18
- import { APP_NATIVE_MODULE } from '../constants';
19
- import NativeFirebaseError from '../NativeFirebaseError';
20
- import RNFBNativeEventEmitter from '../RNFBNativeEventEmitter';
21
- import SharedEventEmitter from '../SharedEventEmitter';
19
+ import { APP_NATIVE_MODULE } from "../constants.js";
20
+ import NativeFirebaseError from "../NativeFirebaseError.js";
21
+ import RNFBNativeEventEmitter from "../RNFBNativeEventEmitter.js";
22
+ import SharedEventEmitter from "../SharedEventEmitter.js";
22
23
  import { getReactNativeModule } from '../nativeModule';
23
- import { isAndroid, isIOS } from '../../common';
24
-
24
+ import { isAndroid, isIOS } from "../../common/index.js";
25
+ import { encodeNullValues } from "../nullSerialization.js";
25
26
  const NATIVE_MODULE_REGISTRY = {};
26
27
  const NATIVE_MODULE_EVENT_SUBSCRIPTIONS = {};
27
-
28
28
  function nativeModuleKey(module) {
29
29
  return `${module._customUrlOrRegion || ''}:${module.app.name}:${module._config.namespace}`;
30
30
  }
@@ -38,17 +38,18 @@ function nativeModuleKey(module) {
38
38
  * @param argToPrepend
39
39
  * @returns {Function}
40
40
  */
41
- function nativeModuleMethodWrapped(namespace, method, argToPrepend) {
41
+ function nativeModuleMethodWrapped(namespace, method, argToPrepend, isTurboModule) {
42
42
  return (...args) => {
43
- const possiblePromise = method(...[...argToPrepend, ...args]);
44
-
45
- if (possiblePromise && possiblePromise.then) {
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
46
+ const processedArgs = isIOS && isTurboModule ? args.map(arg => encodeNullValues(arg)) : args;
47
+ const allArgs = [...argToPrepend, ...processedArgs];
48
+ const possiblePromise = method(...allArgs);
49
+ if (possiblePromise && typeof possiblePromise === 'object' && 'then' in possiblePromise) {
46
50
  const jsStack = new Error().stack;
47
- return possiblePromise.catch(nativeError =>
48
- Promise.reject(new NativeFirebaseError(nativeError, jsStack, namespace)),
49
- );
51
+ return possiblePromise.catch(nativeError => Promise.reject(new NativeFirebaseError(nativeError, jsStack, namespace)));
50
52
  }
51
-
52
53
  return possiblePromise;
53
54
  };
54
55
  }
@@ -57,27 +58,26 @@ function nativeModuleMethodWrapped(namespace, method, argToPrepend) {
57
58
  * Prepends all arguments in prependArgs to all native method calls
58
59
  *
59
60
  * @param namespace
60
- * @param NativeModule
61
+ * @param NativeModule - Raw native module from React Native
61
62
  * @param argToPrepend
62
63
  */
63
- function nativeModuleWrapped(namespace, NativeModule, argToPrepend) {
64
+ function nativeModuleWrapped(namespace, NativeModule, argToPrepend, isTurboModule) {
64
65
  const native = {};
65
66
  if (!NativeModule) {
66
67
  return NativeModule;
67
68
  }
68
-
69
- let properties = Object.keys(Object.getPrototypeOf(NativeModule));
70
- if (!properties.length) properties = Object.keys(NativeModule);
71
-
69
+ const nativeModuleObj = NativeModule;
70
+ let properties = Object.keys(Object.getPrototypeOf(nativeModuleObj));
71
+ if (!properties.length) properties = Object.keys(nativeModuleObj);
72
72
  for (let i = 0, len = properties.length; i < len; i++) {
73
73
  const property = properties[i];
74
- if (typeof NativeModule[property] === 'function') {
75
- native[property] = nativeModuleMethodWrapped(namespace, NativeModule[property], argToPrepend);
74
+ if (!property) continue;
75
+ if (typeof nativeModuleObj[property] === 'function') {
76
+ native[property] = nativeModuleMethodWrapped(namespace, nativeModuleObj[property], argToPrepend, isTurboModule);
76
77
  } else {
77
- native[property] = NativeModule[property];
78
+ native[property] = nativeModuleObj[property];
78
79
  }
79
80
  }
80
-
81
81
  return native;
82
82
  }
83
83
 
@@ -97,47 +97,44 @@ function initialiseNativeModule(module) {
97
97
  hasMultiAppSupport,
98
98
  hasCustomUrlOrRegionSupport,
99
99
  disablePrependCustomUrlOrRegion,
100
+ turboModule
100
101
  } = config;
101
102
  const multiModuleRoot = {};
103
+ const isTurboModule = !!turboModule;
102
104
  const multiModule = Array.isArray(nativeModuleName);
103
105
  const nativeModuleNames = multiModule ? nativeModuleName : [nativeModuleName];
104
-
105
106
  for (let i = 0; i < nativeModuleNames.length; i++) {
106
- const nativeModule = getReactNativeModule(nativeModuleNames[i]);
107
+ const moduleName = nativeModuleNames[i];
108
+ if (!moduleName) continue;
109
+ const nativeModule = getReactNativeModule(moduleName);
107
110
 
108
111
  // only error if there's a single native module
109
112
  // as multi modules can mean some are optional
110
113
  if (!multiModule && !nativeModule) {
111
114
  throw new Error(getMissingModuleHelpText(namespace));
112
115
  }
113
-
114
116
  if (multiModule) {
115
- multiModuleRoot[nativeModuleNames[i]] = !!nativeModule;
117
+ multiModuleRoot[moduleName] = !!nativeModule;
116
118
  }
117
-
118
119
  const argToPrepend = [];
119
-
120
120
  if (hasMultiAppSupport) {
121
121
  argToPrepend.push(module.app.name);
122
122
  }
123
-
124
123
  if (hasCustomUrlOrRegionSupport && !disablePrependCustomUrlOrRegion) {
125
124
  argToPrepend.push(module._customUrlOrRegion);
126
125
  }
127
-
128
- Object.assign(multiModuleRoot, nativeModuleWrapped(namespace, nativeModule, argToPrepend));
126
+ Object.assign(multiModuleRoot, nativeModuleWrapped(namespace, nativeModule, argToPrepend, isTurboModule));
129
127
  }
130
-
131
- if (nativeEvents && nativeEvents.length) {
128
+ if (nativeEvents && Array.isArray(nativeEvents) && nativeEvents.length) {
132
129
  for (let i = 0, len = nativeEvents.length; i < len; i++) {
133
- subscribeToNativeModuleEvent(nativeEvents[i]);
130
+ const eventName = nativeEvents[i];
131
+ if (eventName) {
132
+ subscribeToNativeModuleEvent(eventName);
133
+ }
134
134
  }
135
135
  }
136
-
137
136
  Object.freeze(multiModuleRoot);
138
-
139
137
  NATIVE_MODULE_REGISTRY[key] = multiModuleRoot;
140
-
141
138
  return NATIVE_MODULE_REGISTRY[key];
142
139
  }
143
140
 
@@ -152,7 +149,8 @@ function initialiseNativeModule(module) {
152
149
  */
153
150
  function subscribeToNativeModuleEvent(eventName) {
154
151
  if (!NATIVE_MODULE_EVENT_SUBSCRIPTIONS[eventName]) {
155
- RNFBNativeEventEmitter.addListener(eventName, event => {
152
+ RNFBNativeEventEmitter.addListener(eventName, (...args) => {
153
+ const event = args[0];
156
154
  if (event.appName && event.databaseId) {
157
155
  // Firestore requires both appName and databaseId to prefix
158
156
  SharedEventEmitter.emit(`${event.appName}-${event.databaseId}-${eventName}`, event);
@@ -164,7 +162,6 @@ function subscribeToNativeModuleEvent(eventName) {
164
162
  SharedEventEmitter.emit(eventName, event);
165
163
  }
166
164
  });
167
-
168
165
  NATIVE_MODULE_EVENT_SUBSCRIPTIONS[eventName] = true;
169
166
  }
170
167
  }
@@ -177,20 +174,10 @@ function subscribeToNativeModuleEvent(eventName) {
177
174
  */
178
175
  function getMissingModuleHelpText(namespace) {
179
176
  const snippet = `firebase.${namespace}()`;
180
-
181
177
  if (isIOS || isAndroid) {
182
- return (
183
- `You attempted to use a Firebase module that's not installed natively on your project by calling ${snippet}.` +
184
- `\r\n\r\nEnsure you have installed the npm package '@react-native-firebase/${namespace}',` +
185
- ' have imported it in your project, and have rebuilt your native application.'
186
- );
178
+ return `You attempted to use a Firebase module that's not installed natively on your project by calling ${snippet}.` + `\r\n\r\nEnsure you have installed the npm package '@react-native-firebase/${namespace}',` + ' have imported it in your project, and have rebuilt your native application.';
187
179
  }
188
-
189
- return (
190
- `You attempted to use a Firebase module that's not installed on your project by calling ${snippet}.` +
191
- `\r\n\r\nEnsure you have installed the npm package '@react-native-firebase/${namespace}' and` +
192
- ' have imported it in your project.'
193
- );
180
+ 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.';
194
181
  }
195
182
 
196
183
  /**
@@ -202,11 +189,9 @@ function getMissingModuleHelpText(namespace) {
202
189
  */
203
190
  export function getNativeModule(module) {
204
191
  const key = nativeModuleKey(module);
205
-
206
192
  if (NATIVE_MODULE_REGISTRY[key]) {
207
193
  return NATIVE_MODULE_REGISTRY[key];
208
194
  }
209
-
210
195
  return initialiseNativeModule(module);
211
196
  }
212
197
 
@@ -219,15 +204,14 @@ export function getAppModule() {
219
204
  if (NATIVE_MODULE_REGISTRY[APP_NATIVE_MODULE]) {
220
205
  return NATIVE_MODULE_REGISTRY[APP_NATIVE_MODULE];
221
206
  }
222
-
223
207
  const namespace = 'app';
224
208
  const nativeModule = getReactNativeModule(APP_NATIVE_MODULE);
225
-
226
209
  if (!nativeModule) {
227
210
  throw new Error(getMissingModuleHelpText(namespace));
228
211
  }
229
-
230
- NATIVE_MODULE_REGISTRY[APP_NATIVE_MODULE] = nativeModuleWrapped(namespace, nativeModule, []);
231
-
212
+ NATIVE_MODULE_REGISTRY[APP_NATIVE_MODULE] = nativeModuleWrapped(namespace, nativeModule, [],
213
+ // TODO: change to true when we use TurboModules for app package
214
+ false);
232
215
  return NATIVE_MODULE_REGISTRY[APP_NATIVE_MODULE];
233
216
  }
217
+ //# sourceMappingURL=nativeModule.js.map
@@ -0,0 +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":[]}