@react-native-firebase/app 25.1.0 → 26.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (150) hide show
  1. package/CHANGELOG.md +43 -0
  2. package/RNFBApp.podspec +7 -13
  3. package/android/build.gradle +25 -6
  4. package/android/src/reactnative/java/io/invertase/firebase/app/{ReactNativeFirebaseAppModule.java → NativeRNFBTurboApp.java} +81 -45
  5. package/android/src/reactnative/java/io/invertase/firebase/app/ReactNativeFirebaseAppPackage.java +3 -3
  6. package/android/src/reactnative/java/io/invertase/firebase/app/ReactNativeFirebaseVersion.java +2 -2
  7. package/android/src/reactnative/java/io/invertase/firebase/app/generated/java/com/facebook/fbreact/specs/NativeRNFBTurboAppSpec.java +136 -0
  8. package/android/src/reactnative/java/io/invertase/firebase/app/generated/java/com/facebook/fbreact/specs/NativeRNFBTurboUtilsSpec.java +94 -0
  9. package/android/src/reactnative/java/io/invertase/firebase/app/generated/jni/CMakeLists.txt +36 -0
  10. package/android/src/reactnative/java/io/invertase/firebase/app/generated/jni/RNFBAppTurboModules-generated.cpp +170 -0
  11. package/android/src/reactnative/java/io/invertase/firebase/app/generated/jni/RNFBAppTurboModules.h +39 -0
  12. package/android/src/reactnative/java/io/invertase/firebase/app/generated/jni/react/renderer/components/RNFBAppTurboModules/RNFBAppTurboModulesJSI-generated.cpp +187 -0
  13. package/android/src/reactnative/java/io/invertase/firebase/app/generated/jni/react/renderer/components/RNFBAppTurboModules/RNFBAppTurboModulesJSI.h +606 -0
  14. package/android/src/reactnative/java/io/invertase/firebase/common/RCTConvertFirebase.java +3 -3
  15. package/android/src/reactnative/java/io/invertase/firebase/common/ReactNativeFirebaseEventEmitter.java +475 -20
  16. package/android/src/reactnative/java/io/invertase/firebase/common/ReactNativeFirebaseMeta.java +8 -0
  17. package/android/src/reactnative/java/io/invertase/firebase/common/ReactNativeFirebasePreferences.java +8 -0
  18. package/android/src/reactnative/java/io/invertase/firebase/utils/{ReactNativeFirebaseUtilsModule.java → NativeRNFBTurboUtils.java} +57 -40
  19. package/android/src/test/java/io/invertase/firebase/app/NativeRNFBTurboAppTest.java +400 -0
  20. package/android/src/test/java/io/invertase/firebase/common/ReactNativeFirebaseEventEmitterTest.java +1823 -0
  21. package/app.plugin.js +1 -1
  22. package/dist/module/FirebaseApp.js +0 -9
  23. package/dist/module/FirebaseApp.js.map +1 -1
  24. package/dist/module/common/index.js +0 -645
  25. package/dist/module/common/index.js.map +1 -1
  26. package/dist/module/common/unitTestUtils.js +18 -54
  27. package/dist/module/common/unitTestUtils.js.map +1 -1
  28. package/dist/module/index.js +0 -1
  29. package/dist/module/index.js.map +1 -1
  30. package/dist/module/internal/RNFBNativeEventEmitter.js +12 -6
  31. package/dist/module/internal/RNFBNativeEventEmitter.js.map +1 -1
  32. package/dist/module/internal/constants.js +2 -2
  33. package/dist/module/internal/constants.js.map +1 -1
  34. package/dist/module/internal/index.js +1 -1
  35. package/dist/module/internal/index.js.map +1 -1
  36. package/dist/module/internal/nativeModuleAndroidIos.js +50 -10
  37. package/dist/module/internal/nativeModuleAndroidIos.js.map +1 -1
  38. package/dist/module/internal/nativeModuleWeb.js +12 -4
  39. package/dist/module/internal/nativeModuleWeb.js.map +1 -1
  40. package/dist/module/internal/registry/app.js +20 -12
  41. package/dist/module/internal/registry/app.js.map +1 -1
  42. package/dist/module/internal/registry/modular.js +73 -0
  43. package/dist/module/internal/registry/modular.js.map +1 -0
  44. package/dist/module/internal/registry/nativeModule.js +116 -95
  45. package/dist/module/internal/registry/nativeModule.js.map +1 -1
  46. package/dist/module/modular.js +44 -37
  47. package/dist/module/modular.js.map +1 -1
  48. package/dist/module/types/app.js +0 -3
  49. package/dist/module/types/app.js.map +1 -1
  50. package/dist/module/types/internal.js +0 -2
  51. package/dist/module/utils/UtilsStatics.js +2 -2
  52. package/dist/module/utils/UtilsStatics.js.map +1 -1
  53. package/dist/module/utils/index.js +21 -17
  54. package/dist/module/utils/index.js.map +1 -1
  55. package/dist/module/version.js +1 -1
  56. package/dist/typescript/lib/FirebaseApp.d.ts +1 -2
  57. package/dist/typescript/lib/FirebaseApp.d.ts.map +1 -1
  58. package/dist/typescript/lib/common/index.d.ts +0 -8
  59. package/dist/typescript/lib/common/index.d.ts.map +1 -1
  60. package/dist/typescript/lib/common/unitTestUtils.d.ts +1 -4
  61. package/dist/typescript/lib/common/unitTestUtils.d.ts.map +1 -1
  62. package/dist/typescript/lib/index.d.ts +0 -1
  63. package/dist/typescript/lib/index.d.ts.map +1 -1
  64. package/dist/typescript/lib/internal/NativeFirebaseError.d.ts +1 -1
  65. package/dist/typescript/lib/internal/NativeFirebaseError.d.ts.map +1 -1
  66. package/dist/typescript/lib/internal/RNFBNativeEventEmitter.d.ts.map +1 -1
  67. package/dist/typescript/lib/internal/constants.d.ts +2 -3
  68. package/dist/typescript/lib/internal/constants.d.ts.map +1 -1
  69. package/dist/typescript/lib/internal/index.d.ts +1 -1
  70. package/dist/typescript/lib/internal/index.d.ts.map +1 -1
  71. package/dist/typescript/lib/internal/nativeModuleAndroidIos.d.ts +2 -6
  72. package/dist/typescript/lib/internal/nativeModuleAndroidIos.d.ts.map +1 -1
  73. package/dist/typescript/lib/internal/nativeModuleWeb.d.ts.map +1 -1
  74. package/dist/typescript/lib/internal/registry/app.d.ts +2 -2
  75. package/dist/typescript/lib/internal/registry/app.d.ts.map +1 -1
  76. package/dist/typescript/lib/internal/registry/modular.d.ts +22 -0
  77. package/dist/typescript/lib/internal/registry/modular.d.ts.map +1 -0
  78. package/dist/typescript/lib/internal/registry/nativeModule.d.ts +3 -11
  79. package/dist/typescript/lib/internal/registry/nativeModule.d.ts.map +1 -1
  80. package/dist/typescript/lib/modular.d.ts +21 -7
  81. package/dist/typescript/lib/modular.d.ts.map +1 -1
  82. package/dist/typescript/lib/types/app.d.ts +4 -4
  83. package/dist/typescript/lib/types/app.d.ts.map +1 -1
  84. package/dist/typescript/lib/types/internal.d.ts +1 -33
  85. package/dist/typescript/lib/types/internal.d.ts.map +1 -1
  86. package/dist/typescript/lib/utils/index.d.ts +7 -3
  87. package/dist/typescript/lib/utils/index.d.ts.map +1 -1
  88. package/dist/typescript/lib/version.d.ts +1 -1
  89. package/firebase-schema.json +5 -1
  90. package/ios/RNFBApp/RNFBAppModule.h +1 -3
  91. package/ios/RNFBApp/{RNFBAppModule.m → RNFBAppModule.mm} +74 -77
  92. package/ios/RNFBApp/RNFBUtilsModule.h +1 -3
  93. package/ios/RNFBApp/{RNFBUtilsModule.m → RNFBUtilsModule.mm} +68 -25
  94. package/ios/RNFBApp/RNFBVersion.m +1 -1
  95. package/ios/RNFBApp.xcodeproj/project.pbxproj +12 -12
  96. package/ios/generated/RCTAppDependencyProvider.h +25 -0
  97. package/ios/generated/RCTAppDependencyProvider.mm +55 -0
  98. package/ios/generated/RCTModuleProviders.h +16 -0
  99. package/ios/generated/RCTModuleProviders.mm +52 -0
  100. package/ios/generated/RCTModulesConformingToProtocolsProvider.h +18 -0
  101. package/ios/generated/RCTModulesConformingToProtocolsProvider.mm +33 -0
  102. package/ios/generated/RCTThirdPartyComponentsProvider.h +16 -0
  103. package/ios/generated/RCTThirdPartyComponentsProvider.mm +23 -0
  104. package/ios/generated/RCTUnstableModulesRequiringMainQueueSetupProvider.h +14 -0
  105. package/ios/generated/RCTUnstableModulesRequiringMainQueueSetupProvider.mm +19 -0
  106. package/ios/generated/RNFBAppTurboModules/RNFBAppTurboModules-generated.mm +210 -0
  107. package/ios/generated/RNFBAppTurboModules/RNFBAppTurboModules.h +399 -0
  108. package/ios/generated/RNFBAppTurboModulesJSI-generated.cpp +187 -0
  109. package/ios/generated/RNFBAppTurboModulesJSI.h +606 -0
  110. package/ios/generated/ReactAppDependencyProvider.podspec +34 -0
  111. package/ios/generated/ReactCodegen.podspec +111 -0
  112. package/lib/FirebaseApp.ts +1 -10
  113. package/lib/common/index.ts +0 -742
  114. package/lib/common/unitTestUtils.ts +17 -73
  115. package/lib/index.ts +0 -1
  116. package/lib/internal/NativeFirebaseError.ts +1 -1
  117. package/lib/internal/RNFBNativeEventEmitter.ts +12 -6
  118. package/lib/internal/constants.ts +3 -25
  119. package/lib/internal/global.d.ts +0 -4
  120. package/lib/internal/index.ts +1 -1
  121. package/lib/internal/nativeModuleAndroidIos.ts +69 -12
  122. package/lib/internal/nativeModuleWeb.ts +11 -5
  123. package/lib/internal/registry/app.ts +24 -22
  124. package/lib/internal/registry/modular.ts +97 -0
  125. package/lib/internal/registry/nativeModule.ts +136 -107
  126. package/lib/modular.ts +47 -72
  127. package/lib/types/app.ts +6 -11
  128. package/lib/types/internal.ts +1 -46
  129. package/lib/utils/UtilsStatics.ts +2 -2
  130. package/lib/utils/index.ts +24 -18
  131. package/lib/version.ts +1 -1
  132. package/package.json +41 -3
  133. package/plugin/build/app.plugin.d.ts +2 -0
  134. package/plugin/build/app.plugin.js +6 -0
  135. package/plugin/src/app.plugin.ts +3 -0
  136. package/plugin/tsconfig.tsbuildinfo +1 -1
  137. package/react-native.config.js +2 -0
  138. package/specs/NativeRNFBTurboApp.ts +57 -0
  139. package/specs/NativeRNFBTurboUtils.ts +34 -0
  140. package/typedoc.json +1 -2
  141. package/dist/module/internal/registry/namespace.js +0 -262
  142. package/dist/module/internal/registry/namespace.js.map +0 -1
  143. package/dist/module/namespaced.js +0 -25
  144. package/dist/module/namespaced.js.map +0 -1
  145. package/dist/typescript/lib/internal/registry/namespace.d.ts +0 -26
  146. package/dist/typescript/lib/internal/registry/namespace.d.ts.map +0 -1
  147. package/dist/typescript/lib/namespaced.d.ts +0 -5
  148. package/dist/typescript/lib/namespaced.d.ts.map +0 -1
  149. package/lib/internal/registry/namespace.ts +0 -338
  150. package/lib/namespaced.ts +0 -24
@@ -108,649 +108,4 @@ export function parseListenerOrObserver(listenerOrObserver) {
108
108
  }
109
109
  throw new Error("'listenerOrObserver' expected a function or an object with 'next' function.");
110
110
  }
111
-
112
- // Used to indicate if there is no corresponding modular function
113
- const NO_REPLACEMENT = true;
114
- const mapOfDeprecationReplacements = {
115
- analytics: {
116
- default: {
117
- logEvent: 'logEvent()',
118
- setAnalyticsCollectionEnabled: 'setAnalyticsCollectionEnabled()',
119
- setSessionTimeoutDuration: 'setSessionTimeoutDuration()',
120
- getAppInstanceId: 'getAppInstanceId()',
121
- getSessionId: 'getSessionId()',
122
- setUserId: 'setUserId()',
123
- setUserProperty: 'setUserProperty()',
124
- setUserProperties: 'setUserProperties()',
125
- resetAnalyticsData: 'resetAnalyticsData()',
126
- setDefaultEventParameters: 'setDefaultEventParameters()',
127
- initiateOnDeviceConversionMeasurementWithEmailAddress: 'initiateOnDeviceConversionMeasurementWithEmailAddress()',
128
- initiateOnDeviceConversionMeasurementWithHashedEmailAddress: 'initiateOnDeviceConversionMeasurementWithHashedEmailAddress()',
129
- initiateOnDeviceConversionMeasurementWithPhoneNumber: 'initiateOnDeviceConversionMeasurementWithPhoneNumber()',
130
- initiateOnDeviceConversionMeasurementWithHashedPhoneNumber: 'initiateOnDeviceConversionMeasurementWithHashedPhoneNumber()',
131
- setConsent: 'setConsent()',
132
- // We're deprecating all helper methods for event. e.g. `logAddPaymentInfo()` from namespaced and modular.
133
- logAddPaymentInfo: 'logEvent()',
134
- logScreenView: 'logEvent()',
135
- logAddShippingInfo: 'logEvent()',
136
- logAddToCart: 'logEvent()',
137
- logAddToWishlist: 'logEvent()',
138
- logAppOpen: 'logEvent()',
139
- logBeginCheckout: 'logEvent()',
140
- logCampaignDetails: 'logEvent()',
141
- logEarnVirtualCurrency: 'logEvent()',
142
- logGenerateLead: 'logEvent()',
143
- logJoinGroup: 'logEvent()',
144
- logLevelEnd: 'logEvent()',
145
- logLevelStart: 'logEvent()',
146
- logLevelUp: 'logEvent()',
147
- logLogin: 'logEvent()',
148
- logPostScore: 'logEvent()',
149
- logSelectContent: 'logEvent()',
150
- logPurchase: 'logEvent()',
151
- logRefund: 'logEvent()',
152
- logRemoveFromCart: 'logEvent()',
153
- logSearch: 'logEvent()',
154
- logSelectItem: 'logEvent()',
155
- logSetCheckoutOption: 'logEvent()',
156
- logSelectPromotion: 'logEvent()',
157
- logShare: 'logEvent()',
158
- logSignUp: 'logEvent()',
159
- logSpendVirtualCurrency: 'logEvent()',
160
- logTutorialBegin: 'logEvent()',
161
- logTutorialComplete: 'logEvent()',
162
- logUnlockAchievement: 'logEvent()',
163
- logViewCart: 'logEvent()',
164
- logViewItem: 'logEvent()',
165
- logViewPromotion: 'logEvent()',
166
- logViewSearchResults: 'logEvent()'
167
- }
168
- },
169
- appCheck: {
170
- default: {
171
- activate: 'initializeAppCheck()',
172
- setTokenAutoRefreshEnabled: 'setTokenAutoRefreshEnabled()',
173
- getToken: 'getToken()',
174
- getLimitedUseToken: 'getLimitedUseToken()',
175
- onTokenChanged: 'onTokenChanged()'
176
- },
177
- statics: {
178
- CustomProvider: 'CustomProvider'
179
- }
180
- },
181
- appDistribution: {
182
- default: {
183
- isTesterSignedIn: 'isTesterSignedIn()',
184
- signInTester: 'signInTester()',
185
- checkForUpdate: 'checkForUpdate()',
186
- signOutTester: 'signOutTester()'
187
- }
188
- },
189
- auth: {
190
- default: {
191
- applyActionCode: 'applyActionCode()',
192
- checkActionCode: 'checkActionCode()',
193
- confirmPasswordReset: 'confirmPasswordReset()',
194
- createUserWithEmailAndPassword: 'createUserWithEmailAndPassword()',
195
- fetchSignInMethodsForEmail: 'fetchSignInMethodsForEmail()',
196
- getMultiFactorResolver: 'getMultiFactorResolver()',
197
- isSignInWithEmailLink: 'isSignInWithEmailLink()',
198
- onAuthStateChanged: 'onAuthStateChanged()',
199
- onIdTokenChanged: 'onIdTokenChanged()',
200
- sendPasswordResetEmail: 'sendPasswordResetEmail()',
201
- sendSignInLinkToEmail: 'sendSignInLinkToEmail()',
202
- signInAnonymously: 'signInAnonymously()',
203
- signInWithCredential: 'signInWithCredential()',
204
- signInWithCustomToken: 'signInWithCustomToken()',
205
- signInWithEmailAndPassword: 'signInWithEmailAndPassword()',
206
- signInWithEmailLink: 'signInWithEmailLink()',
207
- signInWithPhoneNumber: 'signInWithPhoneNumber()',
208
- signInWithRedirect: 'signInWithRedirect()',
209
- signInWithPopup: 'signInWithPopup()',
210
- signOut: 'signOut()',
211
- useUserAccessGroup: 'useUserAccessGroup()',
212
- verifyPasswordResetCode: 'verifyPasswordResetCode()',
213
- getCustomAuthDomain: 'getCustomAuthDomain()',
214
- useEmulator: 'connectAuthEmulator()',
215
- setLanguageCode: 'useDeviceLanguage()',
216
- multiFactor: 'multiFactor()',
217
- useDeviceLanguage: 'useDeviceLanguage()',
218
- updateCurrentUser: 'updateCurrentUser()',
219
- validatePassword: 'validatePassword()'
220
- },
221
- User: {
222
- delete: 'deleteUser()',
223
- getIdToken: 'getIdToken()',
224
- getIdTokenResult: 'getIdTokenResult()',
225
- linkWithCredential: 'linkWithCredential()',
226
- linkWithPopup: 'linkWithPopup()',
227
- linkWithRedirect: 'linkWithRedirect()',
228
- reauthenticateWithCredential: 'reauthenticateWithCredential()',
229
- reauthenticateWithPopup: 'reauthenticateWithPopup()',
230
- reauthenticateWithRedirect: 'reauthenticateWithRedirect()',
231
- reload: 'reload()',
232
- sendEmailVerification: 'sendEmailVerification()',
233
- toJSON: NO_REPLACEMENT,
234
- unlink: 'unlink()',
235
- updateEmail: 'updateEmail()',
236
- updatePassword: 'updatePassword()',
237
- updatePhoneNumber: 'updatePhoneNumber()',
238
- updateProfile: 'updateProfile()',
239
- verifyBeforeUpdateEmail: 'verifyBeforeUpdateEmail()'
240
- },
241
- statics: {
242
- AppleAuthProvider: 'AppleAuthProvider',
243
- EmailAuthProvider: 'EmailAuthProvider',
244
- PhoneAuthProvider: 'PhoneAuthProvider',
245
- GoogleAuthProvider: 'GoogleAuthProvider',
246
- GithubAuthProvider: 'GithubAuthProvider',
247
- TwitterAuthProvider: 'TwitterAuthProvider',
248
- FacebookAuthProvider: 'FacebookAuthProvider',
249
- PhoneMultiFactorGenerator: 'PhoneMultiFactorGenerator',
250
- OAuthProvider: 'OAuthProvider',
251
- OIDCAuthProvider: 'OIDCAuthProvider',
252
- PhoneAuthState: 'PhoneAuthState',
253
- getMultiFactorResolver: 'getMultiFactorResolver()',
254
- multiFactor: 'multiFactor()'
255
- }
256
- },
257
- crashlytics: {
258
- default: {
259
- checkForUnsentReports: 'checkForUnsentReports()',
260
- crash: 'crash()',
261
- deleteUnsentReports: 'deleteUnsentReports()',
262
- didCrashOnPreviousExecution: 'didCrashOnPreviousExecution()',
263
- log: 'log()',
264
- setAttribute: 'setAttribute()',
265
- setAttributes: 'setAttributes()',
266
- setUserId: 'setUserId()',
267
- recordError: 'recordError()',
268
- sendUnsentReports: 'sendUnsentReports()',
269
- setCrashlyticsCollectionEnabled: 'setCrashlyticsCollectionEnabled()'
270
- }
271
- },
272
- database: {
273
- default: {
274
- useEmulator: 'connectDatabaseEmulator()',
275
- goOffline: 'goOffline()',
276
- goOnline: 'goOnline()',
277
- ref: 'ref()',
278
- refFromURL: 'refFromURL()',
279
- setPersistenceEnabled: 'setPersistenceEnabled()',
280
- setLoggingEnabled: 'setLoggingEnabled()',
281
- setPersistenceCacheSizeBytes: 'setPersistenceCacheSizeBytes()',
282
- getServerTime: 'getServerTime()'
283
- },
284
- statics: {
285
- ServerValue: 'ServerValue'
286
- },
287
- DatabaseReference: {
288
- child: 'child()',
289
- set: 'set()',
290
- update: 'update()',
291
- setWithPriority: 'setWithPriority()',
292
- remove: 'remove()',
293
- on: 'onValue()',
294
- once: 'get()',
295
- endAt: 'endAt()',
296
- endBefore: 'endBefore()',
297
- startAt: 'startAt()',
298
- startAfter: 'startAfter()',
299
- limitToFirst: 'limitToFirst()',
300
- limitToLast: 'limitToLast()',
301
- orderByChild: 'orderByChild()',
302
- orderByKey: 'orderByKey()',
303
- orderByValue: 'orderByValue()',
304
- equalTo: 'equalTo()',
305
- setPriority: 'setPriority()',
306
- push: 'push()',
307
- onDisconnect: 'onDisconnect()',
308
- keepSynced: 'keepSynced()',
309
- transaction: 'runTransaction()'
310
- }
311
- },
312
- firestore: {
313
- default: {
314
- batch: 'writeBatch()',
315
- loadBundle: 'loadBundle()',
316
- namedQuery: 'namedQuery()',
317
- clearPersistence: 'clearIndexedDbPersistence()',
318
- waitForPendingWrites: 'waitForPendingWrites()',
319
- terminate: 'terminate()',
320
- useEmulator: 'connectFirestoreEmulator()',
321
- collection: 'collection()',
322
- collectionGroup: 'collectionGroup()',
323
- disableNetwork: 'disableNetwork()',
324
- doc: 'doc()',
325
- enableNetwork: 'enableNetwork()',
326
- runTransaction: 'runTransaction()',
327
- settings: 'settings()',
328
- persistentCacheIndexManager: 'getPersistentCacheIndexManager()'
329
- },
330
- statics: {
331
- setLogLevel: 'setLogLevel()',
332
- Filter: 'where()',
333
- FieldValue: 'FieldValue',
334
- Timestamp: 'Timestamp',
335
- GeoPoint: 'GeoPoint',
336
- Blob: 'Bytes',
337
- FieldPath: 'FieldPath'
338
- },
339
- CollectionReference: {
340
- count: 'getCountFromServer()',
341
- countFromServer: 'getCountFromServer()',
342
- endAt: 'endAt()',
343
- endBefore: 'endBefore()',
344
- get: 'getDocs()',
345
- isEqual: NO_REPLACEMENT,
346
- limit: 'limit()',
347
- limitToLast: 'limitToLast()',
348
- onSnapshot: 'onSnapshot()',
349
- orderBy: 'orderBy()',
350
- startAfter: 'startAfter()',
351
- startAt: 'startAt()',
352
- where: 'where()',
353
- add: 'addDoc()',
354
- doc: 'doc()'
355
- },
356
- DocumentReference: {
357
- collection: 'collection()',
358
- delete: 'deleteDoc()',
359
- get: 'getDoc()',
360
- isEqual: NO_REPLACEMENT,
361
- onSnapshot: 'onSnapshot()',
362
- set: 'setDoc()',
363
- update: 'updateDoc()'
364
- },
365
- DocumentSnapshot: {
366
- isEqual: NO_REPLACEMENT
367
- },
368
- FieldValue: {
369
- arrayRemove: 'arrayRemove()',
370
- arrayUnion: 'arrayUnion()',
371
- delete: 'deleteField()',
372
- increment: 'increment()',
373
- serverTimestamp: 'serverTimestamp()'
374
- },
375
- Filter: {
376
- or: 'or()',
377
- and: 'and()'
378
- },
379
- PersistentCacheIndexManager: {
380
- enableIndexAutoCreation: 'enablePersistentCacheIndexAutoCreation()',
381
- disableIndexAutoCreation: 'disablePersistentCacheIndexAutoCreation()',
382
- deleteAllIndexes: 'deleteAllPersistentCacheIndexes()'
383
- },
384
- Timestamp: {
385
- seconds: NO_REPLACEMENT,
386
- nanoseconds: NO_REPLACEMENT
387
- }
388
- },
389
- functions: {
390
- default: {
391
- useEmulator: 'connectFirestoreEmulator()',
392
- httpsCallable: 'httpsCallable()',
393
- httpsCallableFromUrl: 'httpsCallableFromUrl()'
394
- },
395
- statics: {
396
- HttpsErrorCode: 'HttpsErrorCode'
397
- }
398
- },
399
- installations: {
400
- default: {
401
- delete: 'deleteInstallations()',
402
- getId: 'getId()',
403
- getToken: 'getToken()'
404
- }
405
- },
406
- inAppMessaging: {
407
- default: {
408
- isMessagesDisplaySuppressed: 'isMessagesDisplaySuppressed()',
409
- setMessagesDisplaySuppressed: 'setMessagesDisplaySuppressed()',
410
- isAutomaticDataCollectionEnabled: 'isAutomaticDataCollectionEnabled()',
411
- setAutomaticDataCollectionEnabled: 'setAutomaticDataCollectionEnabled()',
412
- triggerEvent: 'triggerEvent()'
413
- }
414
- },
415
- messaging: {
416
- default: {
417
- isAutoInitEnabled: 'isAutoInitEnabled()',
418
- isDeviceRegisteredForRemoteMessages: 'isDeviceRegisteredForRemoteMessages()',
419
- isNotificationDelegationEnabled: 'isNotificationDelegationEnabled()',
420
- isDeliveryMetricsExportToBigQueryEnabled: 'isDeliveryMetricsExportToBigQueryEnabled()',
421
- setAutoInitEnabled: 'setAutoInitEnabled()',
422
- getInitialNotification: 'getInitialNotification()',
423
- getDidOpenSettingsForNotification: 'getDidOpenSettingsForNotification()',
424
- getIsHeadless: 'getIsHeadless()',
425
- onNotificationOpenedApp: 'onNotificationOpenedApp()',
426
- onTokenRefresh: 'onTokenRefresh()',
427
- requestPermission: 'requestPermission()',
428
- registerDeviceForRemoteMessages: 'registerDeviceForRemoteMessages()',
429
- unregisterDeviceForRemoteMessages: 'unregisterDeviceForRemoteMessages()',
430
- getAPNSToken: 'getAPNSToken()',
431
- setAPNSToken: 'setAPNSToken()',
432
- hasPermission: 'hasPermission()',
433
- onDeletedMessages: 'onDeletedMessages()',
434
- onMessageSent: 'onMessageSent()',
435
- onSendError: 'onSendError()',
436
- setBackgroundMessageHandler: 'setBackgroundMessageHandler()',
437
- setOpenSettingsForNotificationsHandler: 'setOpenSettingsForNotificationsHandler()',
438
- sendMessage: 'sendMessage()',
439
- subscribeToTopic: 'subscribeToTopic()',
440
- unsubscribeFromTopic: 'unsubscribeFromTopic()',
441
- setNotificationDelegationEnabled: 'setNotificationDelegationEnabled()',
442
- // Actual firebase-js-sdk methods
443
- getToken: 'getToken()',
444
- deleteToken: 'deleteToken()',
445
- onMessage: 'onMessage()',
446
- isSupported: 'isSupported()',
447
- setDeliveryMetricsExportToBigQuery: 'experimentalSetDeliveryMetricsExportedToBigQueryEnabled()'
448
- },
449
- statics: {
450
- AuthorizationStatus: 'AuthorizationStatus',
451
- NotificationAndroidPriority: 'NotificationAndroidPriority',
452
- NotificationAndroidVisibility: 'NotificationAndroidVisibility'
453
- }
454
- },
455
- perf: {
456
- default: {
457
- setPerformanceCollectionEnabled: 'initializePerformance()',
458
- newTrace: 'trace()',
459
- newHttpMetric: 'httpMetric()',
460
- newScreenTrace: 'newScreenTrace()',
461
- startScreenTrace: 'startScreenTrace()'
462
- }
463
- },
464
- remoteConfig: {
465
- default: {
466
- activate: 'activate()',
467
- ensureInitialized: 'ensureInitialized()',
468
- fetchAndActivate: 'fetchAndActivate()',
469
- getAll: 'getAll()',
470
- getBoolean: 'getBoolean()',
471
- getNumber: 'getNumber()',
472
- getString: 'getString()',
473
- getValue: 'getValue()',
474
- reset: 'reset()',
475
- setConfigSettings: 'setConfigSettings()',
476
- fetch: 'fetch()',
477
- setDefaults: 'setDefaults()',
478
- setDefaultsFromResource: 'setDefaultsFromResource()',
479
- onConfigUpdated: 'onConfigUpdated()'
480
- },
481
- statics: {
482
- LastFetchStatus: 'LastFetchStatus',
483
- ValueSource: 'ValueSource'
484
- }
485
- },
486
- storage: {
487
- default: {
488
- useEmulator: 'connectStorageEmulator()',
489
- ref: 'ref()',
490
- refFromURL: 'refFromURL()',
491
- setMaxOperationRetryTime: 'setMaxOperationRetryTime()',
492
- setMaxUploadRetryTime: 'setMaxUploadRetryTime()',
493
- setMaxDownloadRetryTime: 'setMaxDownloadRetryTime()'
494
- },
495
- Reference: {
496
- delete: 'deleteObject()',
497
- getDownloadURL: 'getDownloadURL()',
498
- getMetadata: 'getMetadata()',
499
- list: 'list()',
500
- listAll: 'listAll()',
501
- updateMetadata: 'updateMetadata()',
502
- put: 'uploadBytesResumable()',
503
- putString: 'uploadString()',
504
- putFile: 'putFile()',
505
- writeToFile: 'writeToFile()',
506
- toString: 'toString()',
507
- child: 'child()'
508
- },
509
- statics: {
510
- StringFormat: 'StringFormat',
511
- TaskEvent: 'TaskEvent',
512
- TaskState: 'TaskState'
513
- }
514
- }
515
- };
516
- const modularDeprecationMessage = 'This method is deprecated (as well as all React Native Firebase namespaced API) and will be removed in the next major release ' + 'as part of move to match Firebase Web modular SDK API. Please see migration guide for more details: https://rnfirebase.io/migrating-to-v22';
517
- export function deprecationConsoleWarning(nameSpace, methodName, instanceName, isModularMethod) {
518
- if (!isModularMethod) {
519
- const moduleMap = mapOfDeprecationReplacements[nameSpace];
520
- if (moduleMap) {
521
- const instanceMap = moduleMap[instanceName];
522
- const deprecatedMethod = instanceMap?.[methodName];
523
- if (instanceMap && deprecatedMethod) {
524
- if (!globalThis.RNFB_SILENCE_MODULAR_DEPRECATION_WARNINGS) {
525
- // eslint-disable-next-line no-console
526
- console.warn(createMessage(nameSpace, methodName, instanceName));
527
- if (globalThis.RNFB_MODULAR_DEPRECATION_STRICT_MODE === true) {
528
- throw new Error('Deprecated API usage detected while in strict mode.');
529
- }
530
- }
531
- }
532
- }
533
- }
534
- }
535
- export function createMessage(nameSpace, methodName, instanceName = 'default', uniqueMessage = null) {
536
- if (uniqueMessage) {
537
- // Unique deprecation message used for testing
538
- return uniqueMessage;
539
- }
540
- const moduleMap = mapOfDeprecationReplacements[nameSpace];
541
- if (moduleMap) {
542
- const instance = moduleMap[instanceName];
543
- if (instance) {
544
- const replacementMethodName = instance[methodName];
545
- if (replacementMethodName !== NO_REPLACEMENT) {
546
- return modularDeprecationMessage + `. Method called was \`${methodName}\`. Please use \`${replacementMethodName}\` instead.`;
547
- } else {
548
- return modularDeprecationMessage + `. Method called was \`${methodName}\``;
549
- }
550
- }
551
- }
552
- return undefined;
553
- }
554
- function getNamespace(target) {
555
- if (target.constructor.name === 'DatabaseReference') {
556
- return 'database';
557
- }
558
- if (target.GeoPoint || target.CustomProvider) {
559
- // target is statics object. GeoPoint - Firestore, CustomProvider - AppCheck
560
- return 'firestore';
561
- }
562
- if (target._config && target._config.namespace) {
563
- return target._config.namespace;
564
- }
565
- if (target.constructor.name === 'Reference') {
566
- return 'storage';
567
- }
568
- const className = target.name ? target.name : target.constructor.name;
569
- return Object.keys(mapOfDeprecationReplacements).find(key => {
570
- if (mapOfDeprecationReplacements[key]?.[className]) {
571
- return key;
572
- }
573
- return false;
574
- });
575
- }
576
- function getInstanceName(target) {
577
- if (target.GeoPoint || target.CustomProvider) {
578
- // target is statics object. GeoPoint - Firestore, CustomProvider - AppCheck
579
- return 'statics';
580
- }
581
- if (target.ServerValue) {
582
- return 'statics';
583
- }
584
- if (target._config) {
585
- // module class instance, we use default to store map of deprecated methods
586
- return 'default';
587
- }
588
- if (target.constructor.name === 'Reference') {
589
- // if path passed into ref(), it will pass in the arg as target.name
590
- return target.constructor.name;
591
- }
592
- if (target.name) {
593
- // It's a function which has a name property unlike classes
594
- return target.name;
595
- }
596
- // It's a class instance
597
- return target.constructor.name;
598
- }
599
- const MODULAR_INSTANCE_SYMBOL = Symbol('react-native-firebase-modular-instance');
600
- function isObjectLike(value) {
601
- return typeof value === 'object' && value !== null || typeof value === 'function';
602
- }
603
- function isModularInstance(value) {
604
- if (!isObjectLike(value)) {
605
- return false;
606
- }
607
- return Object.getOwnPropertyDescriptor(value, MODULAR_INSTANCE_SYMBOL)?.value === true;
608
- }
609
- function markModularInstance(value) {
610
- if (!isObjectLike(value) || isModularInstance(value)) {
611
- return value;
612
- }
613
- Object.defineProperty(value, MODULAR_INSTANCE_SYMBOL, {
614
- value: true,
615
- configurable: true,
616
- enumerable: false,
617
- writable: false
618
- });
619
- return value;
620
- }
621
- function isModularAccess(target, receiver) {
622
- return _isModularCall || isModularInstance(target) || isModularInstance(receiver);
623
- }
624
- export function createDeprecationProxy(instance) {
625
- return new Proxy(instance, {
626
- construct(target, args) {
627
- // needed for Timestamp which we pass as static, when we construct new instance, we need to wrap it in proxy again.
628
- return createDeprecationProxy(new target(...args));
629
- },
630
- get(target, prop, receiver) {
631
- const originalMethod = target[prop];
632
- const modularAccess = isModularAccess(target, receiver);
633
- if (prop === 'constructor') {
634
- return Reflect.get(target, prop, receiver);
635
- }
636
- if (target && target.constructor && target.constructor.name === 'Timestamp') {
637
- deprecationConsoleWarning('firestore', prop, 'Timestamp', modularAccess);
638
- return Reflect.get(target, prop, receiver);
639
- }
640
- if (target && target.name === 'firebaseModuleWithApp') {
641
- // statics
642
- if (prop === 'Filter' || prop === 'FieldValue' || prop === 'Timestamp' || prop === 'GeoPoint' || prop === 'Blob' || prop === 'FieldPath') {
643
- deprecationConsoleWarning('firestore', prop, 'statics', false);
644
- }
645
- if (prop === 'LastFetchStatus' || prop === 'ValueSource') {
646
- deprecationConsoleWarning('remoteConfig', prop, 'statics', false);
647
- }
648
- if (prop === 'CustomProvider') {
649
- deprecationConsoleWarning('appCheck', prop, 'statics', false);
650
- }
651
- if (prop === 'StringFormat' || prop === 'TaskEvent' || prop === 'TaskState') {
652
- deprecationConsoleWarning('storage', prop, 'statics', false);
653
- }
654
- if (prop === 'PhoneAuthState' || prop === 'AppleAuthProvider' || prop === 'PhoneAuthProvider' || prop === 'GoogleAuthProvider' || prop === 'GithubAuthProvider' || prop === 'TwitterAuthProvider' || prop === 'FacebookAuthProvider' || prop === 'OAuthProvider' || prop === 'OIDCAuthProvider' || prop === 'PhoneMultiFactorGenerator' || prop === 'EmailAuthProvider' || prop === 'multiFactor' || prop === 'getMultiFactorResolver') {
655
- deprecationConsoleWarning('auth', prop, 'statics', false);
656
- }
657
- if (prop === 'AuthorizationStatus' || prop === 'NotificationAndroidPriority' || prop === 'NotificationAndroidVisibility') {
658
- deprecationConsoleWarning('messaging', prop, 'statics', false);
659
- }
660
- if (prop === 'ServerValue') {
661
- deprecationConsoleWarning('database', prop, 'statics', false);
662
- }
663
- if (prop !== 'setLogLevel') {
664
- // we want to capture setLogLevel function call which we do below
665
- return Reflect.get(target, prop, receiver);
666
- }
667
- }
668
-
669
- // Check if it's a getter/setter first
670
- const descriptor = Object.getOwnPropertyDescriptor(target, prop) || Object.getOwnPropertyDescriptor(Object.getPrototypeOf(target), prop);
671
- if (descriptor && (descriptor.get || descriptor.set)) {
672
- const instanceName = getInstanceName(target);
673
- const nameSpace = getNamespace(target);
674
- if (descriptor.get && nameSpace) {
675
- // Handle getter - call it and show deprecation warning
676
- deprecationConsoleWarning(nameSpace, prop, instanceName, modularAccess);
677
- const result = descriptor.get.call(target);
678
- return modularAccess ? markModularInstance(result) : result;
679
- }
680
- if (descriptor.set && nameSpace) {
681
- // Handle setter - return a function that calls the setter with deprecation warning
682
- return function (value) {
683
- deprecationConsoleWarning(nameSpace, prop, instanceName, modularAccess);
684
- descriptor.set.call(target, value);
685
- };
686
- }
687
- }
688
- if (typeof originalMethod === 'function') {
689
- return function (...args) {
690
- const isModularMethod = modularAccess || args.includes(MODULAR_DEPRECATION_ARG);
691
- const instanceName = getInstanceName(target);
692
- const nameSpace = getNamespace(target);
693
- if (nameSpace) {
694
- deprecationConsoleWarning(nameSpace, prop, instanceName, isModularMethod);
695
- }
696
- const result = originalMethod.apply(target, filterModularArgument(args));
697
- return isModularMethod ? markModularInstance(result) : result;
698
- };
699
- }
700
- return Reflect.get(target, prop, receiver);
701
- },
702
- set(target, prop, value, receiver) {
703
- const modularAccess = isModularAccess(target, receiver);
704
- const descriptor = Object.getOwnPropertyDescriptor(target, prop) || Object.getOwnPropertyDescriptor(Object.getPrototypeOf(target), prop);
705
- if (descriptor?.set) {
706
- const instanceName = getInstanceName(target);
707
- const nameSpace = getNamespace(target);
708
- if (nameSpace) {
709
- deprecationConsoleWarning(nameSpace, prop, instanceName, modularAccess);
710
- }
711
- descriptor.set.call(target, value);
712
- return true;
713
- }
714
- return Reflect.set(target, prop, value, receiver);
715
- }
716
- });
717
- }
718
- export const MODULAR_DEPRECATION_ARG = 'react-native-firebase-modular-method-call';
719
-
720
- // Flag to track if we're currently in a modular call
721
- let _isModularCall = false;
722
- export function withModularFlag(fn) {
723
- const previousFlag = _isModularCall;
724
- _isModularCall = true;
725
- try {
726
- return fn();
727
- } finally {
728
- _isModularCall = previousFlag;
729
- }
730
- }
731
- export function filterModularArgument(list) {
732
- return list.filter(arg => arg !== MODULAR_DEPRECATION_ARG);
733
- }
734
- export function warnIfNotModularCall(args, replacementMethodName = '') {
735
- for (let i = 0; i < args.length; i++) {
736
- if (args[i] === MODULAR_DEPRECATION_ARG) {
737
- return;
738
- }
739
- }
740
- let message = modularDeprecationMessage;
741
- if (replacementMethodName.length > 0) {
742
- message += ` Please use \`${replacementMethodName}\` instead.`;
743
- }
744
- if (!globalThis.RNFB_SILENCE_MODULAR_DEPRECATION_WARNINGS) {
745
- // eslint-disable-next-line no-console
746
- console.warn(message);
747
- if (globalThis.RNFB_MODULAR_DEPRECATION_STRICT_MODE === true) {
748
- throw new Error('Deprecated API usage detected while in strict mode.');
749
- }
750
- }
751
- }
752
- export function isModularCall(args) {
753
- const argsArray = Array.from(args);
754
- return argsArray.includes(MODULAR_DEPRECATION_ARG);
755
- }
756
111
  //# sourceMappingURL=index.js.map