@react-native-firebase/auth 24.1.0 → 25.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 (216) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/android/src/main/java/io/invertase/firebase/auth/ReactNativeFirebaseAuthModule.java +16 -4
  3. package/dist/module/ActionCodeURL.js +140 -0
  4. package/dist/module/ActionCodeURL.js.map +1 -0
  5. package/{lib → dist/module}/ConfirmationResult.js +4 -5
  6. package/dist/module/ConfirmationResult.js.map +1 -0
  7. package/{lib → dist/module}/MultiFactorResolver.js +14 -5
  8. package/dist/module/MultiFactorResolver.js.map +1 -0
  9. package/{lib → dist/module}/PhoneAuthListener.js +52 -75
  10. package/dist/module/PhoneAuthListener.js.map +1 -0
  11. package/dist/module/PhoneAuthState.js +25 -0
  12. package/dist/module/PhoneAuthState.js.map +1 -0
  13. package/dist/module/PhoneMultiFactorGenerator.js +39 -0
  14. package/dist/module/PhoneMultiFactorGenerator.js.map +1 -0
  15. package/{lib → dist/module}/Settings.js +3 -7
  16. package/dist/module/Settings.js.map +1 -0
  17. package/{lib → dist/module}/TotpMultiFactorGenerator.js +20 -15
  18. package/dist/module/TotpMultiFactorGenerator.js.map +1 -0
  19. package/{lib → dist/module}/TotpSecret.js +7 -5
  20. package/dist/module/TotpSecret.js.map +1 -0
  21. package/dist/module/User.js +245 -0
  22. package/dist/module/User.js.map +1 -0
  23. package/dist/module/constants.js +54 -0
  24. package/dist/module/constants.js.map +1 -0
  25. package/dist/module/credentials/AuthCredential.js +51 -0
  26. package/dist/module/credentials/AuthCredential.js.map +1 -0
  27. package/dist/module/credentials/EmailAuthCredential.js +51 -0
  28. package/dist/module/credentials/EmailAuthCredential.js.map +1 -0
  29. package/dist/module/credentials/OAuthCredential.js +84 -0
  30. package/dist/module/credentials/OAuthCredential.js.map +1 -0
  31. package/dist/module/credentials/PhoneAuthCredential.js +50 -0
  32. package/dist/module/credentials/PhoneAuthCredential.js.map +1 -0
  33. package/{lib/providers/GoogleAuthProvider.js → dist/module/credentials/index.js} +7 -19
  34. package/dist/module/credentials/index.js.map +1 -0
  35. package/{lib → dist/module}/getMultiFactorResolver.js +5 -8
  36. package/dist/module/getMultiFactorResolver.js.map +1 -0
  37. package/{lib/providers/FacebookAuthProvider.js → dist/module/index.js} +11 -18
  38. package/dist/module/index.js.map +1 -0
  39. package/dist/module/modular.js +779 -0
  40. package/dist/module/modular.js.map +1 -0
  41. package/{lib → dist/module}/multiFactor.js +16 -14
  42. package/dist/module/multiFactor.js.map +1 -0
  43. package/dist/module/namespaced.js +522 -0
  44. package/dist/module/namespaced.js.map +1 -0
  45. package/dist/module/package.json +1 -0
  46. package/dist/module/password-policy/PasswordPolicyImpl.js +103 -0
  47. package/dist/module/password-policy/PasswordPolicyImpl.js.map +1 -0
  48. package/{lib → dist/module}/password-policy/PasswordPolicyMixin.js +14 -16
  49. package/dist/module/password-policy/PasswordPolicyMixin.js.map +1 -0
  50. package/{lib → dist/module}/password-policy/passwordPolicyApi.js +18 -12
  51. package/dist/module/password-policy/passwordPolicyApi.js.map +1 -0
  52. package/{lib → dist/module}/providers/AppleAuthProvider.js +14 -7
  53. package/dist/module/providers/AppleAuthProvider.js.map +1 -0
  54. package/{lib → dist/module}/providers/EmailAuthProvider.js +10 -25
  55. package/dist/module/providers/EmailAuthProvider.js.map +1 -0
  56. package/dist/module/providers/FacebookAuthProvider.js +56 -0
  57. package/dist/module/providers/FacebookAuthProvider.js.map +1 -0
  58. package/dist/module/providers/GithubAuthProvider.js +49 -0
  59. package/dist/module/providers/GithubAuthProvider.js.map +1 -0
  60. package/dist/module/providers/GoogleAuthProvider.js +57 -0
  61. package/dist/module/providers/GoogleAuthProvider.js.map +1 -0
  62. package/dist/module/providers/OAuthProvider.js +116 -0
  63. package/dist/module/providers/OAuthProvider.js.map +1 -0
  64. package/{lib → dist/module}/providers/OIDCAuthProvider.js +15 -7
  65. package/dist/module/providers/OIDCAuthProvider.js.map +1 -0
  66. package/dist/module/providers/PhoneAuthProvider.js +87 -0
  67. package/dist/module/providers/PhoneAuthProvider.js.map +1 -0
  68. package/dist/module/providers/TwitterAuthProvider.js +50 -0
  69. package/dist/module/providers/TwitterAuthProvider.js.map +1 -0
  70. package/dist/module/types/auth.js +43 -0
  71. package/dist/module/types/auth.js.map +1 -0
  72. package/dist/module/types/internal.js +4 -0
  73. package/dist/module/types/internal.js.map +1 -0
  74. package/dist/module/types/namespaced.js +62 -0
  75. package/dist/module/types/namespaced.js.map +1 -0
  76. package/dist/module/version.js +5 -0
  77. package/dist/module/version.js.map +1 -0
  78. package/dist/module/web/RNFBAuthModule.android.js +5 -0
  79. package/dist/module/web/RNFBAuthModule.android.js.map +1 -0
  80. package/dist/module/web/RNFBAuthModule.ios.js +5 -0
  81. package/dist/module/web/RNFBAuthModule.ios.js.map +1 -0
  82. package/{lib → dist/module}/web/RNFBAuthModule.js +104 -321
  83. package/dist/module/web/RNFBAuthModule.js.map +1 -0
  84. package/dist/typescript/lib/ActionCodeURL.d.ts +41 -0
  85. package/dist/typescript/lib/ActionCodeURL.d.ts.map +1 -0
  86. package/dist/typescript/lib/ConfirmationResult.d.ts +10 -0
  87. package/dist/typescript/lib/ConfirmationResult.d.ts.map +1 -0
  88. package/dist/typescript/lib/MultiFactorResolver.d.ts +24 -0
  89. package/dist/typescript/lib/MultiFactorResolver.d.ts.map +1 -0
  90. package/dist/typescript/lib/PhoneAuthListener.d.ts +34 -0
  91. package/dist/typescript/lib/PhoneAuthListener.d.ts.map +1 -0
  92. package/dist/typescript/lib/PhoneAuthState.d.ts +7 -0
  93. package/dist/typescript/lib/PhoneAuthState.d.ts.map +1 -0
  94. package/dist/typescript/lib/PhoneMultiFactorGenerator.d.ts +7 -0
  95. package/dist/typescript/lib/PhoneMultiFactorGenerator.d.ts.map +1 -0
  96. package/dist/typescript/lib/Settings.d.ts +13 -0
  97. package/dist/typescript/lib/Settings.d.ts.map +1 -0
  98. package/dist/typescript/lib/TotpMultiFactorGenerator.d.ts +11 -0
  99. package/dist/typescript/lib/TotpMultiFactorGenerator.d.ts.map +1 -0
  100. package/dist/typescript/lib/TotpSecret.d.ts +33 -0
  101. package/dist/typescript/lib/TotpSecret.d.ts.map +1 -0
  102. package/dist/typescript/lib/User.d.ts +51 -0
  103. package/dist/typescript/lib/User.d.ts.map +1 -0
  104. package/dist/typescript/lib/constants.d.ts +35 -0
  105. package/dist/typescript/lib/constants.d.ts.map +1 -0
  106. package/dist/typescript/lib/credentials/AuthCredential.d.ts +12 -0
  107. package/dist/typescript/lib/credentials/AuthCredential.d.ts.map +1 -0
  108. package/dist/typescript/lib/credentials/EmailAuthCredential.d.ts +8 -0
  109. package/dist/typescript/lib/credentials/EmailAuthCredential.d.ts.map +1 -0
  110. package/dist/typescript/lib/credentials/OAuthCredential.d.ts +22 -0
  111. package/dist/typescript/lib/credentials/OAuthCredential.d.ts.map +1 -0
  112. package/dist/typescript/lib/credentials/PhoneAuthCredential.d.ts +8 -0
  113. package/dist/typescript/lib/credentials/PhoneAuthCredential.d.ts.map +1 -0
  114. package/dist/typescript/lib/credentials/index.d.ts +5 -0
  115. package/dist/typescript/lib/credentials/index.d.ts.map +1 -0
  116. package/dist/typescript/lib/getMultiFactorResolver.d.ts +19 -0
  117. package/dist/typescript/lib/getMultiFactorResolver.d.ts.map +1 -0
  118. package/dist/typescript/lib/index.d.ts +8 -0
  119. package/dist/typescript/lib/index.d.ts.map +1 -0
  120. package/dist/typescript/lib/modular.d.ts +360 -0
  121. package/dist/typescript/lib/modular.d.ts.map +1 -0
  122. package/dist/typescript/lib/multiFactor.d.ts +26 -0
  123. package/dist/typescript/lib/multiFactor.d.ts.map +1 -0
  124. package/dist/typescript/lib/namespaced.d.ts +12 -0
  125. package/dist/typescript/lib/namespaced.d.ts.map +1 -0
  126. package/dist/typescript/lib/password-policy/PasswordPolicyImpl.d.ts +19 -0
  127. package/dist/typescript/lib/password-policy/PasswordPolicyImpl.d.ts.map +1 -0
  128. package/dist/typescript/lib/password-policy/PasswordPolicyMixin.d.ts +11 -0
  129. package/dist/typescript/lib/password-policy/PasswordPolicyMixin.d.ts.map +1 -0
  130. package/dist/typescript/lib/password-policy/passwordPolicyApi.d.ts +10 -0
  131. package/dist/typescript/lib/password-policy/passwordPolicyApi.d.ts.map +1 -0
  132. package/dist/typescript/lib/providers/AppleAuthProvider.d.ts +16 -0
  133. package/dist/typescript/lib/providers/AppleAuthProvider.d.ts.map +1 -0
  134. package/dist/typescript/lib/providers/EmailAuthProvider.d.ts +11 -0
  135. package/dist/typescript/lib/providers/EmailAuthProvider.d.ts.map +1 -0
  136. package/dist/typescript/lib/providers/FacebookAuthProvider.d.ts +19 -0
  137. package/dist/typescript/lib/providers/FacebookAuthProvider.d.ts.map +1 -0
  138. package/dist/typescript/lib/providers/GithubAuthProvider.d.ts +15 -0
  139. package/dist/typescript/lib/providers/GithubAuthProvider.d.ts.map +1 -0
  140. package/dist/typescript/lib/providers/GoogleAuthProvider.d.ts +21 -0
  141. package/dist/typescript/lib/providers/GoogleAuthProvider.d.ts.map +1 -0
  142. package/dist/typescript/lib/providers/OAuthProvider.d.ts +33 -0
  143. package/dist/typescript/lib/providers/OAuthProvider.d.ts.map +1 -0
  144. package/dist/typescript/lib/providers/OIDCAuthProvider.d.ts +16 -0
  145. package/dist/typescript/lib/providers/OIDCAuthProvider.d.ts.map +1 -0
  146. package/dist/typescript/lib/providers/PhoneAuthProvider.d.ts +16 -0
  147. package/dist/typescript/lib/providers/PhoneAuthProvider.d.ts.map +1 -0
  148. package/dist/typescript/lib/providers/TwitterAuthProvider.d.ts +15 -0
  149. package/dist/typescript/lib/providers/TwitterAuthProvider.d.ts.map +1 -0
  150. package/dist/typescript/lib/types/auth.d.ts +305 -0
  151. package/dist/typescript/lib/types/auth.d.ts.map +1 -0
  152. package/dist/typescript/lib/types/internal.d.ts +292 -0
  153. package/dist/typescript/lib/types/internal.d.ts.map +1 -0
  154. package/dist/typescript/lib/types/namespaced.d.ts +2185 -0
  155. package/dist/typescript/lib/types/namespaced.d.ts.map +1 -0
  156. package/dist/typescript/lib/version.d.ts +2 -0
  157. package/dist/typescript/lib/version.d.ts.map +1 -0
  158. package/dist/typescript/lib/web/RNFBAuthModule.android.d.ts +3 -0
  159. package/dist/typescript/lib/web/RNFBAuthModule.android.d.ts.map +1 -0
  160. package/dist/typescript/lib/web/RNFBAuthModule.d.ts +406 -0
  161. package/dist/typescript/lib/web/RNFBAuthModule.d.ts.map +1 -0
  162. package/dist/typescript/lib/web/RNFBAuthModule.ios.d.ts +3 -0
  163. package/dist/typescript/lib/web/RNFBAuthModule.ios.d.ts.map +1 -0
  164. package/dist/typescript/package.json +1 -0
  165. package/ios/RNFBAuth/RNFBAuthModule.m +4 -2
  166. package/lib/ActionCodeURL.ts +174 -0
  167. package/lib/ConfirmationResult.ts +42 -0
  168. package/lib/MultiFactorResolver.ts +51 -0
  169. package/lib/PhoneAuthListener.ts +312 -0
  170. package/lib/PhoneAuthState.ts +22 -0
  171. package/lib/{PhoneMultiFactorGenerator.js → PhoneMultiFactorGenerator.ts} +8 -2
  172. package/lib/Settings.ts +59 -0
  173. package/lib/TotpMultiFactorGenerator.ts +78 -0
  174. package/lib/TotpSecret.ts +71 -0
  175. package/lib/{User.js → User.ts} +127 -83
  176. package/lib/constants.ts +55 -0
  177. package/lib/credentials/AuthCredential.ts +55 -0
  178. package/lib/credentials/EmailAuthCredential.ts +70 -0
  179. package/lib/credentials/OAuthCredential.ts +113 -0
  180. package/lib/credentials/PhoneAuthCredential.ts +66 -0
  181. package/lib/{providers/GithubAuthProvider.js → credentials/index.ts} +4 -19
  182. package/lib/getMultiFactorResolver.ts +40 -0
  183. package/lib/{providers/TwitterAuthProvider.js → index.ts} +14 -19
  184. package/lib/modular.ts +1158 -0
  185. package/lib/multiFactor.ts +83 -0
  186. package/lib/namespaced.ts +846 -0
  187. package/lib/password-policy/{PasswordPolicyImpl.js → PasswordPolicyImpl.ts} +37 -19
  188. package/lib/password-policy/PasswordPolicyMixin.ts +83 -0
  189. package/lib/password-policy/passwordPolicyApi.ts +60 -0
  190. package/lib/providers/AppleAuthProvider.ts +44 -0
  191. package/lib/providers/EmailAuthProvider.ts +42 -0
  192. package/lib/providers/FacebookAuthProvider.ts +58 -0
  193. package/lib/providers/GithubAuthProvider.ts +51 -0
  194. package/lib/providers/GoogleAuthProvider.ts +60 -0
  195. package/lib/providers/OAuthProvider.ts +150 -0
  196. package/lib/providers/OIDCAuthProvider.ts +49 -0
  197. package/lib/providers/PhoneAuthProvider.ts +161 -0
  198. package/lib/providers/TwitterAuthProvider.ts +52 -0
  199. package/lib/types/auth.ts +393 -0
  200. package/lib/types/internal.ts +474 -0
  201. package/lib/{index.d.ts → types/namespaced.ts} +52 -41
  202. package/lib/version.ts +2 -0
  203. package/lib/web/RNFBAuthModule.ts +1359 -0
  204. package/package.json +41 -9
  205. package/plugin/tsconfig.tsbuildinfo +1 -1
  206. package/tsconfig.json +26 -0
  207. package/tsdoc.json +22 -0
  208. package/typedoc.json +9 -2
  209. package/lib/index.js +0 -572
  210. package/lib/modular/index.d.ts +0 -801
  211. package/lib/modular/index.js +0 -651
  212. package/lib/providers/OAuthProvider.js +0 -70
  213. package/lib/providers/PhoneAuthProvider.js +0 -52
  214. package/lib/version.js +0 -2
  215. /package/lib/web/{RNFBAuthModule.android.js → RNFBAuthModule.android.ts} +0 -0
  216. /package/lib/web/{RNFBAuthModule.ios.js → RNFBAuthModule.ios.ts} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"names":["getApp","MODULAR_DEPRECATION_ARG","ActionCodeOperation","FactorId","OperationType","ProviderId","SignInMethod","PhoneMultiFactorGenerator","PhoneAuthState","TotpMultiFactorGenerator","TotpSecret","MultiFactorUser","MultiFactorUserModule","AppleAuthProvider","EmailAuthProvider","FacebookAuthProvider","GithubAuthProvider","GoogleAuthProvider","OAuthProvider","OIDCAuthProvider","PhoneAuthProvider","TwitterAuthProvider","ActionCodeURL","appWithAuth","app","name","getAuthInternal","auth","getUserInternal","user","normalizeAdditionalUserInfo","info","isNewUser","Boolean","profile","providerId","username","normalizeUserCredential","userCredential","overrides","normalizedUserCredential","additionalUserInfo","operationType","SIGN_IN","normalizeMultiFactorInfo","normalizedInfo","uid","displayName","enrollmentTime","factorId","phoneNumber","normalizeActionCodeInfo","actionCodeInfo","data","email","multiFactorInfo","previousEmail","undefined","fromEmail","operation","normalizeConfirmationResult","confirmationResult","verificationId","Error","confirm","verificationCode","PHONE","normalizeMultiFactorResolver","resolver","hints","map","session","resolveSignIn","assertion","normalizeMultiFactorUser","multiFactorUser","enrolledFactors","getSession","enroll","unenroll","option","AuthCredential","EmailAuthCredential","OAuthCredential","PhoneAuthCredential","normalizeAuthListener","nextOrObserver","next","callAuthMethod","method","args","call","callUserMethod","getAuth","initializeAuth","_deps","applyActionCode","oobCode","authInternal","beforeAuthStateChanged","callback","onAbort","checkActionCode","then","confirmPasswordReset","newPassword","connectAuthEmulator","url","options","useEmulator","createUserWithEmailAndPassword","password","fetchSignInMethodsForEmail","getMultiFactorResolver","error","getRedirectResult","_auth","_resolver","isSignInWithEmailLink","emailLink","onAuthStateChanged","_error","_completed","onIdTokenChanged","revokeAccessToken","_token","sendPasswordResetEmail","actionCodeSettings","sendSignInLinkToEmail","setPersistence","_persistence","signInAnonymously","signInWithCredential","credential","signInWithCustomToken","customToken","signInWithEmailAndPassword","signInWithEmailLink","PASSWORD","signInWithPhoneNumber","_appVerifier","verifyPhoneNumber","autoVerifyTimeoutOrForceResend","forceResend","signInWithPopup","provider","signInWithRedirect","signOut","updateCurrentUser","useDeviceLanguage","setLanguageCode","languageCode","useUserAccessGroup","userAccessGroup","verifyPasswordResetCode","code","parseActionCodeURL","link","parseLink","deleteUser","userInternal","delete","getIdToken","forceRefresh","getIdTokenResult","linkWithCredential","LINK","linkWithPhoneNumber","_user","_phoneNumber","linkWithPopup","linkWithRedirect","multiFactor","reauthenticateWithCredential","REAUTHENTICATE","reauthenticateWithPhoneNumber","reauthenticateWithPopup","reauthenticateWithRedirect","reload","sendEmailVerification","unlink","updateEmail","newEmail","updatePassword","updatePhoneNumber","updateProfile","photoURL","verifyBeforeUpdateEmail","getAdditionalUserInfo","getCustomAuthDomain","validatePassword","authWithPasswordValidation"],"sourceRoot":"../../lib","sources":["modular.ts"],"mappings":"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","ignoreList":[]}
@@ -1,21 +1,23 @@
1
- import { reload } from './modular';
1
+ "use strict";
2
+
3
+ import { reload } from "./modular.js";
2
4
  /**
3
5
  * Return a MultiFactorUser instance the gateway to multi-factor operations.
4
6
  */
5
7
  export function multiFactor(auth) {
6
8
  return new MultiFactorUser(auth);
7
9
  }
8
-
9
10
  export class MultiFactorUser {
10
11
  constructor(auth, user) {
11
12
  this._auth = auth;
12
13
  if (user === undefined) {
13
14
  user = auth.currentUser;
14
15
  }
15
- this._user = user;
16
- this.enrolledFactors = user.multiFactor.enrolledFactors;
16
+ if (!user) {
17
+ throw new Error('A user is required to access multi-factor operations.');
18
+ }
19
+ this.enrolledFactors = user.multiFactor?.enrolledFactors ?? [];
17
20
  }
18
-
19
21
  getSession() {
20
22
  return this._auth.native.getSession();
21
23
  }
@@ -26,25 +28,25 @@ export class MultiFactorUser {
26
28
  * profile, which is necessary to see the multi-factor changes.
27
29
  */
28
30
  async enroll(multiFactorAssertion, displayName) {
29
- const { token, secret, totpSecret, verificationCode } = multiFactorAssertion;
30
- if (token && secret) {
31
- await this._auth.native.finalizeMultiFactorEnrollment(token, secret, displayName);
32
- } else if (totpSecret && verificationCode) {
33
- await this._auth.native.finalizeTotpEnrollment(totpSecret, verificationCode, displayName);
31
+ const assertion = multiFactorAssertion;
32
+ if (assertion.factorId === 'phone') {
33
+ await this._auth.native.finalizeMultiFactorEnrollment(assertion.token, assertion.secret, displayName ?? undefined);
34
+ } else if (assertion.factorId === 'totp') {
35
+ await this._auth.native.finalizeTotpEnrollment(assertion.totpSecret, assertion.verificationCode, displayName ?? undefined);
34
36
  } else {
37
+ // Runtime guard for callers that bypass the typed MFA assertion helpers.
35
38
  throw new Error('Invalid multi-factor assertion provided for enrollment.');
36
39
  }
37
40
 
38
41
  // We need to reload the user otherwise the changes are not visible
39
42
  // TODO reload not working on Other platform
40
- return reload(this._auth.currentUser);
43
+ await reload(this._auth.currentUser);
41
44
  }
42
-
43
45
  async unenroll(enrollmentId) {
44
46
  await this._auth.native.unenrollMultiFactor(enrollmentId);
45
-
46
47
  if (this._auth.currentUser) {
47
- return reload(this._auth.currentUser);
48
+ await reload(this._auth.currentUser);
48
49
  }
49
50
  }
50
51
  }
52
+ //# sourceMappingURL=multiFactor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["reload","multiFactor","auth","MultiFactorUser","constructor","user","_auth","undefined","currentUser","Error","enrolledFactors","getSession","native","enroll","multiFactorAssertion","displayName","assertion","factorId","finalizeMultiFactorEnrollment","token","secret","finalizeTotpEnrollment","totpSecret","verificationCode","unenroll","enrollmentId","unenrollMultiFactor"],"sourceRoot":"../../lib","sources":["multiFactor.ts"],"mappings":";;AAAA,SAASA,MAAM,QAAQ,cAAW;AAYlC;AACA;AACA;AACA,OAAO,SAASC,WAAWA,CAACC,IAAyB,EAAqC;EACxF,OAAO,IAAIC,eAAe,CAACD,IAAI,CAAC;AAClC;AAEA,OAAO,MAAMC,eAAe,CAAC;EAI3BC,WAAWA,CAACF,IAAyB,EAAEG,IAA6B,EAAE;IACpE,IAAI,CAACC,KAAK,GAAGJ,IAAI;IACjB,IAAIG,IAAI,KAAKE,SAAS,EAAE;MACtBF,IAAI,GAAGH,IAAI,CAACM,WAAqC;IACnD;IAEA,IAAI,CAACH,IAAI,EAAE;MACT,MAAM,IAAII,KAAK,CAAC,uDAAuD,CAAC;IAC1E;IAEA,IAAI,CAACC,eAAe,GAAGL,IAAI,CAACJ,WAAW,EAAES,eAAe,IAAI,EAAE;EAChE;EAEAC,UAAUA,CAAA,EAAkD;IAC1D,OAAO,IAAI,CAACL,KAAK,CAACM,MAAM,CAACD,UAAU,CAAC,CAAC;EACvC;;EAEA;AACF;AACA;AACA;AACA;EACE,MAAME,MAAMA,CACVC,oBAA0F,EAC1FC,WAA2B,EACZ;IACf,MAAMC,SAAS,GAAGF,oBAA8D;IAEhF,IAAIE,SAAS,CAACC,QAAQ,KAAK,OAAO,EAAE;MAClC,MAAM,IAAI,CAACX,KAAK,CAACM,MAAM,CAACM,6BAA6B,CACnDF,SAAS,CAACG,KAAK,EACfH,SAAS,CAACI,MAAM,EAChBL,WAAW,IAAIR,SACjB,CAAC;IACH,CAAC,MAAM,IAAIS,SAAS,CAACC,QAAQ,KAAK,MAAM,EAAE;MACxC,MAAM,IAAI,CAACX,KAAK,CAACM,MAAM,CAACS,sBAAsB,CAC5CL,SAAS,CAACM,UAAU,EACpBN,SAAS,CAACO,gBAAgB,EAC1BR,WAAW,IAAIR,SACjB,CAAC;IACH,CAAC,MAAM;MACL;MACA,MAAM,IAAIE,KAAK,CAAC,yDAAyD,CAAC;IAC5E;;IAEA;IACA;IACA,MAAMT,MAAM,CAAC,IAAI,CAACM,KAAK,CAACE,WAA8B,CAAC;EACzD;EAEA,MAAMgB,QAAQA,CAACC,YAAwD,EAAiB;IACtF,MAAM,IAAI,CAACnB,KAAK,CAACM,MAAM,CAACc,mBAAmB,CACzCD,YACF,CAAC;IAED,IAAI,IAAI,CAACnB,KAAK,CAACE,WAAW,EAAE;MAC1B,MAAMR,MAAM,CAAC,IAAI,CAACM,KAAK,CAACE,WAA8B,CAAC;IACzD;EACF;AACF","ignoreList":[]}
@@ -0,0 +1,522 @@
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 { createDeprecationProxy, isAndroid, isBoolean, isNull, isOther, isString, isValidUrl, parseListenerOrObserver } from '@react-native-firebase/app/dist/module/common';
21
+ import { setReactNativeModule } from '@react-native-firebase/app/dist/module/internal/nativeModule';
22
+ import { FirebaseModule, createModuleNamespace, getFirebaseRoot } from '@react-native-firebase/app/dist/module/internal';
23
+ import ConfirmationResult from "./ConfirmationResult.js";
24
+ import { PhoneAuthState } from "./PhoneAuthState.js";
25
+ import PhoneAuthListener from "./PhoneAuthListener.js";
26
+ import PhoneMultiFactorGenerator from "./PhoneMultiFactorGenerator.js";
27
+ import TotpMultiFactorGenerator from "./TotpMultiFactorGenerator.js";
28
+ import Settings from "./Settings.js";
29
+ import User from "./User.js";
30
+ import { getMultiFactorResolver } from "./getMultiFactorResolver.js";
31
+ import { MultiFactorUser, multiFactor } from "./multiFactor.js";
32
+ import AppleAuthProvider from "./providers/AppleAuthProvider.js";
33
+ import EmailAuthProvider from "./providers/EmailAuthProvider.js";
34
+ import FacebookAuthProvider from "./providers/FacebookAuthProvider.js";
35
+ import GithubAuthProvider from "./providers/GithubAuthProvider.js";
36
+ import GoogleAuthProvider from "./providers/GoogleAuthProvider.js";
37
+ import OAuthProvider from "./providers/OAuthProvider.js";
38
+ import OIDCAuthProvider from "./providers/OIDCAuthProvider.js";
39
+ import PhoneAuthProvider from "./providers/PhoneAuthProvider.js";
40
+ import TwitterAuthProvider from "./providers/TwitterAuthProvider.js";
41
+ import { version } from "./version.js";
42
+ import fallBackModule from './web/RNFBAuthModule';
43
+ import { PasswordPolicyMixin } from "./password-policy/PasswordPolicyMixin.js";
44
+ const nativeEvents = ['auth_state_changed', 'auth_id_token_changed', 'phone_auth_state_changed'];
45
+ const statics = {
46
+ AppleAuthProvider,
47
+ EmailAuthProvider,
48
+ PhoneAuthProvider,
49
+ GoogleAuthProvider,
50
+ GithubAuthProvider,
51
+ TwitterAuthProvider,
52
+ FacebookAuthProvider,
53
+ PhoneMultiFactorGenerator,
54
+ TotpMultiFactorGenerator,
55
+ OAuthProvider,
56
+ OIDCAuthProvider,
57
+ PhoneAuthState,
58
+ getMultiFactorResolver,
59
+ multiFactor
60
+ };
61
+ const namespace = 'auth';
62
+ const nativeModuleName = 'RNFBAuthModule';
63
+ class FirebaseAuthModule extends FirebaseModule {
64
+ constructor(app, config, customUrlOrRegion) {
65
+ super(app, config, customUrlOrRegion);
66
+ this._user = null;
67
+ this._settings = null;
68
+ this._authResult = false;
69
+ this._languageCode = this.native.APP_LANGUAGE[this.app.name] ?? '';
70
+ this._tenantId = null;
71
+ this._projectPasswordPolicy = null;
72
+ this._tenantPasswordPolicies = {};
73
+ this._emulatorConfig = null;
74
+ this._authStateReadyPromise = null;
75
+ this._beforeAuthStateChangedCallbacks = [];
76
+ if (!this.languageCode) {
77
+ this._languageCode = this.native.APP_LANGUAGE['[DEFAULT]'] ?? '';
78
+ }
79
+ const initialUser = this.native.APP_USER[this.app.name];
80
+ if (initialUser) {
81
+ this._setUser(initialUser);
82
+ }
83
+ this.emitter.addListener(this.eventNameForApp('auth_state_changed'), event => {
84
+ const authEvent = event;
85
+ void this._handleAuthStateChanged(authEvent.user);
86
+ });
87
+ this.emitter.addListener(this.eventNameForApp('phone_auth_state_changed'), event => {
88
+ const phoneAuthEvent = event;
89
+ const eventKey = `phone:auth:${phoneAuthEvent.requestKey}:${phoneAuthEvent.type}`;
90
+ this.emitter.emit(eventKey, phoneAuthEvent.state);
91
+ });
92
+ this.emitter.addListener(this.eventNameForApp('auth_id_token_changed'), event => {
93
+ const authEvent = event;
94
+ this._setUser(authEvent.user);
95
+ this.emitter.emit(this.eventNameForApp('onIdTokenChanged'), this._user);
96
+ });
97
+ this.native.addAuthStateListener();
98
+ this.native.addIdTokenListener();
99
+
100
+ // custom authDomain in only available from App's FirebaseOptions,
101
+ // but we need it in Auth if it exists. During app configuration we store
102
+ // mappings from app name to authDomain, this auth constructor
103
+ // is a reasonable time to use the mapping and set it into auth natively
104
+ if (!isOther) {
105
+ // Only supported on native platforms
106
+ this.native.configureAuthDomain();
107
+ }
108
+ }
109
+ get languageCode() {
110
+ return this._languageCode;
111
+ }
112
+ set languageCode(code) {
113
+ // For modular API, not recommended to set languageCode directly as it should be set in the native SDKs first
114
+ if (!isString(code) && !isNull(code)) {
115
+ throw new Error("firebase.auth().languageCode = (*) expected 'languageCode' to be a string or null value");
116
+ }
117
+ // as this is a setter, we can't use async/await. So we set it first so it is available immediately
118
+ if (code === null) {
119
+ this._languageCode = this.native.APP_LANGUAGE[this.app.name] ?? '';
120
+ if (!this.languageCode) {
121
+ this._languageCode = this.native.APP_LANGUAGE['[DEFAULT]'] ?? '';
122
+ }
123
+ } else {
124
+ this._languageCode = code;
125
+ }
126
+ // This sets it natively
127
+ void this.setLanguageCode(code);
128
+ }
129
+ get config() {
130
+ // Native iOS/Android Firebase Auth SDKs do not expose the firebase-js-sdk config object.
131
+ return {};
132
+ }
133
+ get tenantId() {
134
+ return this._tenantId;
135
+ }
136
+ set tenantId(tenantId) {
137
+ void this.setTenantId(tenantId);
138
+ }
139
+ get emulatorConfig() {
140
+ return this._emulatorConfig;
141
+ }
142
+ authStateReady() {
143
+ if (this._authResult) {
144
+ return Promise.resolve();
145
+ }
146
+ if (!this._authStateReadyPromise) {
147
+ this._authStateReadyPromise = new Promise(resolve => {
148
+ const unsubscribe = this.onAuthStateChanged(() => {
149
+ if (this._authResult) {
150
+ unsubscribe();
151
+ resolve();
152
+ }
153
+ });
154
+ if (this._authResult) {
155
+ unsubscribe();
156
+ resolve();
157
+ }
158
+ });
159
+ }
160
+ return this._authStateReadyPromise;
161
+ }
162
+ beforeAuthStateChanged(callback, onAbort) {
163
+ const entry = {
164
+ callback,
165
+ onAbort
166
+ };
167
+ this._beforeAuthStateChangedCallbacks.push(entry);
168
+ return () => {
169
+ const index = this._beforeAuthStateChangedCallbacks.indexOf(entry);
170
+ if (index >= 0) {
171
+ this._beforeAuthStateChangedCallbacks.splice(index, 1);
172
+ }
173
+ };
174
+ }
175
+ async updateCurrentUser(user) {
176
+ if (user === null) {
177
+ await this.signOut();
178
+ return;
179
+ }
180
+ const userInternal = user;
181
+ if (!userInternal._auth || userInternal._auth !== this) {
182
+ throw new Error("firebase.auth().updateCurrentUser() expected 'user' to be an Auth instance from the same Firebase App");
183
+ }
184
+ if (!userInternal._user) {
185
+ throw new Error("firebase.auth().updateCurrentUser(*) expected 'user' to be a valid User");
186
+ }
187
+ this._setUser(userInternal._user);
188
+ }
189
+ async _handleAuthStateChanged(nativeUser) {
190
+ const pendingUser = nativeUser ? createDeprecationProxy(new User(this, nativeUser)) : null;
191
+ for (const {
192
+ callback,
193
+ onAbort
194
+ } of [...this._beforeAuthStateChangedCallbacks]) {
195
+ try {
196
+ await callback(pendingUser);
197
+ } catch {
198
+ onAbort?.();
199
+ return;
200
+ }
201
+ }
202
+ this._setUser(nativeUser);
203
+ this.emitter.emit(this.eventNameForApp('onAuthStateChanged'), this._user);
204
+ }
205
+ get settings() {
206
+ if (!this._settings) {
207
+ this._settings = new Settings(this);
208
+ }
209
+ return this._settings;
210
+ }
211
+ get currentUser() {
212
+ return this._user;
213
+ }
214
+ _setUser(user) {
215
+ this._user = user ? createDeprecationProxy(new User(this, user)) : null;
216
+ this._authResult = true;
217
+ this.emitter.emit(this.eventNameForApp('onUserChanged'), this._user);
218
+ return this._user;
219
+ }
220
+ _setUserCredential(userCredential) {
221
+ const user = createDeprecationProxy(new User(this, userCredential.user));
222
+ this._user = user;
223
+ this._authResult = true;
224
+ this.emitter.emit(this.eventNameForApp('onUserChanged'), this._user);
225
+ return {
226
+ additionalUserInfo: userCredential.additionalUserInfo,
227
+ user
228
+ };
229
+ }
230
+ async setLanguageCode(code) {
231
+ if (!isString(code) && !isNull(code)) {
232
+ throw new Error("firebase.auth().setLanguageCode(*) expected 'languageCode' to be a string or null value");
233
+ }
234
+ await this.native.setLanguageCode(code);
235
+ if (code === null) {
236
+ this._languageCode = this.native.APP_LANGUAGE[this.app.name] ?? '';
237
+ if (!this.languageCode) {
238
+ this._languageCode = this.native.APP_LANGUAGE['[DEFAULT]'] ?? '';
239
+ }
240
+ } else {
241
+ this._languageCode = code;
242
+ }
243
+ }
244
+ async setTenantId(tenantId) {
245
+ if (!isString(tenantId) && !isNull(tenantId)) {
246
+ throw new Error("firebase.auth().setTenantId(*) expected 'tenantId' to be a string");
247
+ }
248
+ await this.native.setTenantId(tenantId);
249
+ this._tenantId = tenantId;
250
+ }
251
+ onAuthStateChanged(listenerOrObserver) {
252
+ const listener = parseListenerOrObserver(listenerOrObserver);
253
+ const subscription = this.emitter.addListener(this.eventNameForApp('onAuthStateChanged'), listener);
254
+ if (this._authResult) {
255
+ Promise.resolve().then(() => {
256
+ listener(this._user || null);
257
+ });
258
+ }
259
+ return () => subscription.remove();
260
+ }
261
+ onIdTokenChanged(listenerOrObserver) {
262
+ const listener = parseListenerOrObserver(listenerOrObserver);
263
+ const subscription = this.emitter.addListener(this.eventNameForApp('onIdTokenChanged'), listener);
264
+ if (this._authResult) {
265
+ Promise.resolve().then(() => {
266
+ listener(this._user || null);
267
+ });
268
+ }
269
+ return () => subscription.remove();
270
+ }
271
+ onUserChanged(listenerOrObserver) {
272
+ const listener = parseListenerOrObserver(listenerOrObserver);
273
+ const subscription = this.emitter.addListener(this.eventNameForApp('onUserChanged'), listener);
274
+ if (this._authResult) {
275
+ Promise.resolve().then(() => {
276
+ listener(this._user || null);
277
+ });
278
+ }
279
+ return () => {
280
+ subscription.remove();
281
+ };
282
+ }
283
+ signOut() {
284
+ return this.native.signOut().then(() => {
285
+ this._setUser(null);
286
+ });
287
+ }
288
+ signInAnonymously() {
289
+ return this.native.signInAnonymously().then(userCredential => this._setUserCredential(userCredential));
290
+ }
291
+ signInWithPhoneNumber(phoneNumber, forceResend) {
292
+ if (isAndroid) {
293
+ return this.native.signInWithPhoneNumber(phoneNumber, forceResend || false).then(result => new ConfirmationResult(this, result.verificationId));
294
+ }
295
+ return this.native.signInWithPhoneNumber(phoneNumber).then(result => new ConfirmationResult(this, result.verificationId));
296
+ }
297
+ verifyPhoneNumber(phoneNumber, autoVerifyTimeoutOrForceResend, forceResend) {
298
+ let _forceResend = forceResend;
299
+ let _autoVerifyTimeout = 60;
300
+ if (isBoolean(autoVerifyTimeoutOrForceResend)) {
301
+ _forceResend = autoVerifyTimeoutOrForceResend;
302
+ } else {
303
+ _autoVerifyTimeout = autoVerifyTimeoutOrForceResend;
304
+ }
305
+ return new PhoneAuthListener(this, phoneNumber, _autoVerifyTimeout, _forceResend);
306
+ }
307
+ verifyPhoneNumberWithMultiFactorInfo(multiFactorHint, session) {
308
+ return this.native.verifyPhoneNumberWithMultiFactorInfo(multiFactorHint.uid, session);
309
+ }
310
+ verifyPhoneNumberForMultiFactor(phoneInfoOptions) {
311
+ const {
312
+ phoneNumber,
313
+ session
314
+ } = phoneInfoOptions;
315
+ return this.native.verifyPhoneNumberForMultiFactor(phoneNumber, session);
316
+ }
317
+ resolveMultiFactorSignIn(session, verificationId, verificationCode) {
318
+ return this.native.resolveMultiFactorSignIn(session, verificationId, verificationCode).then(userCredential => {
319
+ return this._setUserCredential(userCredential);
320
+ });
321
+ }
322
+ resolveTotpSignIn(session, uid, totpSecret) {
323
+ return this.native.resolveTotpSignIn(session, uid, totpSecret).then(userCredential => {
324
+ return this._setUserCredential(userCredential);
325
+ });
326
+ }
327
+ createUserWithEmailAndPassword(email, password) {
328
+ return this.native.createUserWithEmailAndPassword(email, password).then(userCredential => this._setUserCredential(userCredential))
329
+ /* istanbul ignore next - native error handling cannot be unit tested */.catch(error => {
330
+ if (error.code === 'auth/password-does-not-meet-requirements') {
331
+ return this._recachePasswordPolicy().catch(() => {
332
+ // Silently ignore recache failures - the original error matters more
333
+ }).then(() => {
334
+ throw error;
335
+ });
336
+ }
337
+ throw error;
338
+ });
339
+ }
340
+ signInWithEmailAndPassword(email, password) {
341
+ return this.native.signInWithEmailAndPassword(email, password).then(userCredential => this._setUserCredential(userCredential))
342
+ /* istanbul ignore next - native error handling cannot be unit tested */.catch(error => {
343
+ if (error.code === 'auth/password-does-not-meet-requirements') {
344
+ return this._recachePasswordPolicy().catch(() => {
345
+ // Silently ignore recache failures - the original error matters more
346
+ }).then(() => {
347
+ throw error;
348
+ });
349
+ }
350
+ throw error;
351
+ });
352
+ }
353
+ signInWithCustomToken(customToken) {
354
+ return this.native.signInWithCustomToken(customToken).then(userCredential => this._setUserCredential(userCredential));
355
+ }
356
+ signInWithCredential(credential) {
357
+ return this.native.signInWithCredential(credential.providerId, credential.token, credential.secret).then(userCredential => this._setUserCredential(userCredential));
358
+ }
359
+ revokeToken(authorizationCode) {
360
+ return this.native.revokeToken(authorizationCode);
361
+ }
362
+ sendPasswordResetEmail(email, actionCodeSettings = null) {
363
+ return this.native.sendPasswordResetEmail(email, actionCodeSettings);
364
+ }
365
+ _resolveActionCodeSettings(actionCodeSettings) {
366
+ if (actionCodeSettings && isString(actionCodeSettings.url)) {
367
+ return actionCodeSettings;
368
+ }
369
+ const authDomain = this.app.options.authDomain;
370
+ let url = 'https://localhost';
371
+ if (authDomain && isString(authDomain)) {
372
+ url = isValidUrl(authDomain) ? authDomain : `https://${authDomain}`;
373
+ }
374
+ return {
375
+ ...(actionCodeSettings ?? {}),
376
+ url,
377
+ handleCodeInApp: actionCodeSettings?.handleCodeInApp ?? true
378
+ };
379
+ }
380
+ sendSignInLinkToEmail(email, actionCodeSettings) {
381
+ return this.native.sendSignInLinkToEmail(email, this._resolveActionCodeSettings(actionCodeSettings));
382
+ }
383
+ isSignInWithEmailLink(emailLink) {
384
+ return this.native.isSignInWithEmailLink(emailLink);
385
+ }
386
+ signInWithEmailLink(email, emailLink) {
387
+ return this.native.signInWithEmailLink(email, emailLink ?? '').then(userCredential => this._setUserCredential(userCredential));
388
+ }
389
+ confirmPasswordReset(code, newPassword) {
390
+ return this.native.confirmPasswordReset(code, newPassword)
391
+ /* istanbul ignore next - native error handling cannot be unit tested */.catch(error => {
392
+ if (error.code === 'auth/password-does-not-meet-requirements') {
393
+ return this._recachePasswordPolicy().catch(() => {
394
+ // Silently ignore recache failures - the original error matters more
395
+ }).then(() => {
396
+ throw error;
397
+ });
398
+ }
399
+ throw error;
400
+ });
401
+ }
402
+ applyActionCode(code) {
403
+ return this.native.applyActionCode(code).then(user => {
404
+ this._setUser(user);
405
+ });
406
+ }
407
+ checkActionCode(code) {
408
+ return this.native.checkActionCode(code);
409
+ }
410
+ fetchSignInMethodsForEmail(email) {
411
+ return this.native.fetchSignInMethodsForEmail(email);
412
+ }
413
+ verifyPasswordResetCode(code) {
414
+ return this.native.verifyPasswordResetCode(code);
415
+ }
416
+ useUserAccessGroup(userAccessGroup) {
417
+ if (isAndroid) {
418
+ return Promise.resolve();
419
+ }
420
+ return this.native.useUserAccessGroup(userAccessGroup).then(() => undefined);
421
+ }
422
+ getRedirectResult() {
423
+ throw new Error('firebase.auth().getRedirectResult() is unsupported by the native Firebase SDKs.');
424
+ }
425
+ setPersistence() {
426
+ throw new Error('firebase.auth().setPersistence() is unsupported by the native Firebase SDKs.');
427
+ }
428
+ signInWithPopup(provider) {
429
+ return this.native.signInWithProvider(provider.toObject()).then(userCredential => this._setUserCredential(userCredential));
430
+ }
431
+ signInWithRedirect(provider) {
432
+ return this.native.signInWithProvider(provider.toObject()).then(userCredential => this._setUserCredential(userCredential));
433
+ }
434
+
435
+ // firebase issue - https://github.com/invertase/react-native-firebase/pull/655#issuecomment-349904680
436
+ useDeviceLanguage() {
437
+ throw new Error('firebase.auth().useDeviceLanguage() is unsupported by the native Firebase SDKs.');
438
+ }
439
+ useEmulator(url, options) {
440
+ if (!url || !isString(url) || !isValidUrl(url)) {
441
+ throw new Error('firebase.auth().useEmulator() takes a non-empty string URL');
442
+ }
443
+ let _url = url;
444
+ const androidBypassEmulatorUrlRemap = typeof this.firebaseJson.android_bypass_emulator_url_remap === 'boolean' && this.firebaseJson.android_bypass_emulator_url_remap;
445
+ if (!androidBypassEmulatorUrlRemap && isAndroid && _url) {
446
+ if (_url.startsWith('http://localhost')) {
447
+ _url = _url.replace('http://localhost', 'http://10.0.2.2');
448
+ // eslint-disable-next-line no-console
449
+ console.log('Mapping auth host "localhost" to "10.0.2.2" for android emulators. Use real IP on real devices. You can bypass this behaviour with "android_bypass_emulator_url_remap" flag.');
450
+ }
451
+ if (_url.startsWith('http://127.0.0.1')) {
452
+ _url = _url.replace('http://127.0.0.1', 'http://10.0.2.2');
453
+ // eslint-disable-next-line no-console
454
+ console.log('Mapping auth host "127.0.0.1" to "10.0.2.2" for android emulators. Use real IP on real devices. You can bypass this behaviour with "android_bypass_emulator_url_remap" flag.');
455
+ }
456
+ }
457
+
458
+ // Native calls take the host and port split out
459
+ const hostPortRegex = /^http:\/\/([\w\d-.]+):(\d+)$/;
460
+ const urlMatches = _url.match(hostPortRegex);
461
+ if (!urlMatches) {
462
+ throw new Error('firebase.auth().useEmulator() unable to parse host and port from URL');
463
+ }
464
+ const host = urlMatches[1];
465
+ const portString = urlMatches[2];
466
+ if (!host) {
467
+ throw new Error('firebase.auth().useEmulator() unable to parse host from URL');
468
+ }
469
+ const port = portString ? parseInt(portString, 10) : undefined;
470
+ this._emulatorConfig = {
471
+ protocol: 'http',
472
+ host,
473
+ port: port ?? null,
474
+ options: {
475
+ disableWarnings: options?.disableWarnings ?? false
476
+ }
477
+ };
478
+ this.native.useEmulator(host, port);
479
+ // @ts-ignore - undocumented return, useful for unit testing
480
+ return [host, port];
481
+ }
482
+ getMultiFactorResolver(error) {
483
+ return getMultiFactorResolver(this, error);
484
+ }
485
+ multiFactor(user) {
486
+ if (!this.currentUser || user.uid !== this.currentUser.uid) {
487
+ throw new Error('firebase.auth().multiFactor() only operates on currentUser');
488
+ }
489
+ return new MultiFactorUser(this, user);
490
+ }
491
+ getCustomAuthDomain() {
492
+ return this.native.getCustomAuthDomain();
493
+ }
494
+ }
495
+
496
+ // Apply password policy mixin to FirebaseAuthModule
497
+ Object.assign(FirebaseAuthModule.prototype, PasswordPolicyMixin);
498
+
499
+ // import { SDK_VERSION } from '@react-native-firebase/auth';
500
+ export const SDK_VERSION = version;
501
+ const authNamespace = createModuleNamespace({
502
+ statics,
503
+ version,
504
+ namespace,
505
+ nativeModuleName,
506
+ nativeEvents,
507
+ hasMultiAppSupport: true,
508
+ hasCustomUrlOrRegionSupport: false,
509
+ ModuleClass: FirebaseAuthModule
510
+ });
511
+ // import auth from '@react-native-firebase/auth';
512
+ // auth().X(...);
513
+ export default authNamespace;
514
+
515
+ // import auth, { firebase } from '@react-native-firebase/auth';
516
+ // auth().X(...);
517
+ // firebase.auth().X(...);
518
+ export const firebase = getFirebaseRoot();
519
+
520
+ // Register the interop module for non-native platforms.
521
+ setReactNativeModule(nativeModuleName, fallBackModule);
522
+ //# sourceMappingURL=namespaced.js.map