@firebase/auth 0.19.7 → 0.19.8-canary.50de44c2e

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 (65) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/dist/auth-public.d.ts +3 -2
  3. package/dist/auth.d.ts +3 -2
  4. package/dist/cordova/index.doc.d.ts +1 -1
  5. package/dist/cordova/index.js +2 -2
  6. package/dist/cordova/internal.js +2 -2
  7. package/dist/cordova/{popup_redirect-58dc2c45.js → popup_redirect-194657e6.js} +3 -6
  8. package/dist/cordova/popup_redirect-194657e6.js.map +1 -0
  9. package/dist/cordova/src/model/public_types.d.ts +3 -2
  10. package/dist/cordova/src/model/user.d.ts +1 -0
  11. package/dist/cordova/src/platform_react_native/persistence/react_native.d.ts +1 -1
  12. package/dist/esm2017/{index-cff4f2fd.js → index-bf1f8433.js} +3 -6
  13. package/dist/esm2017/index-bf1f8433.js.map +1 -0
  14. package/dist/esm2017/index.doc.d.ts +1 -1
  15. package/dist/esm2017/index.js +1 -1
  16. package/dist/esm2017/internal.js +2 -2
  17. package/dist/esm2017/src/model/public_types.d.ts +3 -2
  18. package/dist/esm2017/src/model/user.d.ts +1 -0
  19. package/dist/esm2017/src/platform_react_native/persistence/react_native.d.ts +1 -1
  20. package/dist/esm5/{index-22e07d1b.js → index-8a81cbfc.js} +3 -6
  21. package/dist/esm5/index-8a81cbfc.js.map +1 -0
  22. package/dist/esm5/index.doc.d.ts +1 -1
  23. package/dist/esm5/index.js +1 -1
  24. package/dist/esm5/internal.js +2 -2
  25. package/dist/esm5/src/model/public_types.d.ts +3 -2
  26. package/dist/esm5/src/model/user.d.ts +1 -0
  27. package/dist/esm5/src/platform_react_native/persistence/react_native.d.ts +1 -1
  28. package/dist/index.doc.d.ts +1 -1
  29. package/dist/index.webworker.esm5.js +2 -5
  30. package/dist/index.webworker.esm5.js.map +1 -1
  31. package/dist/node/{index-2e359668.js → index-fe37936f.js} +3 -6
  32. package/dist/node/index-fe37936f.js.map +1 -0
  33. package/dist/node/index.doc.d.ts +1 -1
  34. package/dist/node/index.js +1 -1
  35. package/dist/node/internal.js +1 -1
  36. package/dist/node/src/model/public_types.d.ts +3 -2
  37. package/dist/node/src/model/user.d.ts +1 -0
  38. package/dist/node/src/platform_react_native/persistence/react_native.d.ts +1 -1
  39. package/dist/node-esm/{index-1011747c.js → index-041a60d6.js} +3 -6
  40. package/dist/node-esm/index-041a60d6.js.map +1 -0
  41. package/dist/node-esm/index.doc.d.ts +1 -1
  42. package/dist/node-esm/index.js +1 -1
  43. package/dist/node-esm/internal.js +2 -2
  44. package/dist/node-esm/src/model/public_types.d.ts +3 -2
  45. package/dist/node-esm/src/model/user.d.ts +1 -0
  46. package/dist/node-esm/src/platform_react_native/persistence/react_native.d.ts +1 -1
  47. package/dist/rn/index.doc.d.ts +1 -1
  48. package/dist/rn/index.js +2 -2
  49. package/dist/rn/index.js.map +1 -1
  50. package/dist/rn/internal.js +1 -1
  51. package/dist/rn/{phone-49cc5af7.js → phone-83d15b50.js} +3 -6
  52. package/dist/rn/phone-83d15b50.js.map +1 -0
  53. package/dist/rn/src/model/public_types.d.ts +3 -2
  54. package/dist/rn/src/model/user.d.ts +1 -0
  55. package/dist/rn/src/platform_react_native/persistence/react_native.d.ts +1 -1
  56. package/dist/src/model/public_types.d.ts +3 -2
  57. package/dist/src/model/user.d.ts +1 -0
  58. package/dist/src/platform_react_native/persistence/react_native.d.ts +1 -1
  59. package/package.json +6 -6
  60. package/dist/cordova/popup_redirect-58dc2c45.js.map +0 -1
  61. package/dist/esm2017/index-cff4f2fd.js.map +0 -1
  62. package/dist/esm5/index-22e07d1b.js.map +0 -1
  63. package/dist/node/index-2e359668.js.map +0 -1
  64. package/dist/node-esm/index-1011747c.js.map +0 -1
  65. package/dist/rn/phone-49cc5af7.js.map +0 -1
@@ -21,4 +21,4 @@
21
21
  */
22
22
  export * from './index';
23
23
  export { cordovaPopupRedirectResolver } from './index.cordova';
24
- export { reactNativeLocalPersistence } from './index.rn';
24
+ export { reactNativeLocalPersistence, getReactNativePersistence } from './index.rn';
@@ -1,4 +1,4 @@
1
- export { A as ActionCodeOperation, ac as ActionCodeURL, G as AuthCredential, C as AuthErrorCodes, H as EmailAuthCredential, L as EmailAuthProvider, M as FacebookAuthProvider, F as FactorId, Q as GithubAuthProvider, N as GoogleAuthProvider, I as OAuthCredential, T as OAuthProvider, O as OperationType, J as PhoneAuthCredential, P as PhoneAuthProvider, m as PhoneMultiFactorGenerator, o as ProviderId, R as RecaptchaVerifier, U as SAMLAuthProvider, S as SignInMethod, V as TwitterAuthProvider, a1 as applyActionCode, b as browserLocalPersistence, k as browserPopupRedirectResolver, a as browserSessionPersistence, a2 as checkActionCode, a0 as confirmPasswordReset, E as connectAuthEmulator, a4 as createUserWithEmailAndPassword, z as debugErrorMap, y as deleteUser, a9 as fetchSignInMethodsForEmail, ak as getAdditionalUserInfo, n as getAuth, ah as getIdToken, ai as getIdTokenResult, am as getMultiFactorResolver, j as getRedirectResult, K as inMemoryPersistence, i as indexedDBLocalPersistence, D as initializeAuth, a7 as isSignInWithEmailLink, Y as linkWithCredential, l as linkWithPhoneNumber, d as linkWithPopup, g as linkWithRedirect, an as multiFactor, t as onAuthStateChanged, q as onIdTokenChanged, ad as parseActionCodeURL, B as prodErrorMap, Z as reauthenticateWithCredential, r as reauthenticateWithPhoneNumber, e as reauthenticateWithPopup, h as reauthenticateWithRedirect, al as reload, aa as sendEmailVerification, $ as sendPasswordResetEmail, a6 as sendSignInLinkToEmail, p as setPersistence, W as signInAnonymously, X as signInWithCredential, _ as signInWithCustomToken, a5 as signInWithEmailAndPassword, a8 as signInWithEmailLink, s as signInWithPhoneNumber, c as signInWithPopup, f as signInWithRedirect, x as signOut, aj as unlink, w as updateCurrentUser, af as updateEmail, ag as updatePassword, u as updatePhoneNumber, ae as updateProfile, v as useDeviceLanguage, ab as verifyBeforeUpdateEmail, a3 as verifyPasswordResetCode } from './index-1011747c.js';
1
+ export { A as ActionCodeOperation, ac as ActionCodeURL, G as AuthCredential, C as AuthErrorCodes, H as EmailAuthCredential, L as EmailAuthProvider, M as FacebookAuthProvider, F as FactorId, Q as GithubAuthProvider, N as GoogleAuthProvider, I as OAuthCredential, T as OAuthProvider, O as OperationType, J as PhoneAuthCredential, P as PhoneAuthProvider, m as PhoneMultiFactorGenerator, o as ProviderId, R as RecaptchaVerifier, U as SAMLAuthProvider, S as SignInMethod, V as TwitterAuthProvider, a1 as applyActionCode, b as browserLocalPersistence, k as browserPopupRedirectResolver, a as browserSessionPersistence, a2 as checkActionCode, a0 as confirmPasswordReset, E as connectAuthEmulator, a4 as createUserWithEmailAndPassword, z as debugErrorMap, y as deleteUser, a9 as fetchSignInMethodsForEmail, ak as getAdditionalUserInfo, n as getAuth, ah as getIdToken, ai as getIdTokenResult, am as getMultiFactorResolver, j as getRedirectResult, K as inMemoryPersistence, i as indexedDBLocalPersistence, D as initializeAuth, a7 as isSignInWithEmailLink, Y as linkWithCredential, l as linkWithPhoneNumber, d as linkWithPopup, g as linkWithRedirect, an as multiFactor, t as onAuthStateChanged, q as onIdTokenChanged, ad as parseActionCodeURL, B as prodErrorMap, Z as reauthenticateWithCredential, r as reauthenticateWithPhoneNumber, e as reauthenticateWithPopup, h as reauthenticateWithRedirect, al as reload, aa as sendEmailVerification, $ as sendPasswordResetEmail, a6 as sendSignInLinkToEmail, p as setPersistence, W as signInAnonymously, X as signInWithCredential, _ as signInWithCustomToken, a5 as signInWithEmailAndPassword, a8 as signInWithEmailLink, s as signInWithPhoneNumber, c as signInWithPopup, f as signInWithRedirect, x as signOut, aj as unlink, w as updateCurrentUser, af as updateEmail, ag as updatePassword, u as updatePhoneNumber, ae as updateProfile, v as useDeviceLanguage, ab as verifyBeforeUpdateEmail, a3 as verifyPasswordResetCode } from './index-041a60d6.js';
2
2
  import '@firebase/util';
3
3
  import '@firebase/app';
4
4
  import 'tslib';
@@ -1,5 +1,5 @@
1
- import { ao as _getInstance, ap as _assert, aq as _signInWithCredential, ar as _reauthenticate, as as _link$1, G as AuthCredential, at as signInWithIdp, au as _fail, av as debugAssert, aw as _persistenceKeyName, ax as _castAuth, ay as FederatedAuthProvider, az as BaseOAuthProvider, aA as _emulatorUrl, aB as _performApiRequest, aC as _isIOS7Or8, aD as _isIOS, aE as _isAndroid, aF as _createError, aG as _isSafari, aH as _isIframe, aI as _isMobileBrowser, aJ as _isIE10 } from './index-1011747c.js';
2
- export { A as ActionCodeOperation, ac as ActionCodeURL, G as AuthCredential, C as AuthErrorCodes, aL as AuthImpl, H as EmailAuthCredential, L as EmailAuthProvider, M as FacebookAuthProvider, F as FactorId, aN as FetchProvider, Q as GithubAuthProvider, N as GoogleAuthProvider, I as OAuthCredential, T as OAuthProvider, O as OperationType, J as PhoneAuthCredential, P as PhoneAuthProvider, m as PhoneMultiFactorGenerator, o as ProviderId, R as RecaptchaVerifier, aO as SAMLAuthCredential, U as SAMLAuthProvider, S as SignInMethod, V as TwitterAuthProvider, aK as UserImpl, ap as _assert, ax as _castAuth, au as _fail, aM as _getClientVersion, ao as _getInstance, aw as _persistenceKeyName, a1 as applyActionCode, b as browserLocalPersistence, k as browserPopupRedirectResolver, a as browserSessionPersistence, a2 as checkActionCode, a0 as confirmPasswordReset, E as connectAuthEmulator, a4 as createUserWithEmailAndPassword, z as debugErrorMap, y as deleteUser, a9 as fetchSignInMethodsForEmail, ak as getAdditionalUserInfo, n as getAuth, ah as getIdToken, ai as getIdTokenResult, am as getMultiFactorResolver, j as getRedirectResult, K as inMemoryPersistence, i as indexedDBLocalPersistence, D as initializeAuth, a7 as isSignInWithEmailLink, Y as linkWithCredential, l as linkWithPhoneNumber, d as linkWithPopup, g as linkWithRedirect, an as multiFactor, t as onAuthStateChanged, q as onIdTokenChanged, ad as parseActionCodeURL, B as prodErrorMap, Z as reauthenticateWithCredential, r as reauthenticateWithPhoneNumber, e as reauthenticateWithPopup, h as reauthenticateWithRedirect, al as reload, aa as sendEmailVerification, $ as sendPasswordResetEmail, a6 as sendSignInLinkToEmail, p as setPersistence, W as signInAnonymously, X as signInWithCredential, _ as signInWithCustomToken, a5 as signInWithEmailAndPassword, a8 as signInWithEmailLink, s as signInWithPhoneNumber, c as signInWithPopup, f as signInWithRedirect, x as signOut, aj as unlink, w as updateCurrentUser, af as updateEmail, ag as updatePassword, u as updatePhoneNumber, ae as updateProfile, v as useDeviceLanguage, ab as verifyBeforeUpdateEmail, a3 as verifyPasswordResetCode } from './index-1011747c.js';
1
+ import { ao as _getInstance, ap as _assert, aq as _signInWithCredential, ar as _reauthenticate, as as _link$1, G as AuthCredential, at as signInWithIdp, au as _fail, av as debugAssert, aw as _persistenceKeyName, ax as _castAuth, ay as FederatedAuthProvider, az as BaseOAuthProvider, aA as _emulatorUrl, aB as _performApiRequest, aC as _isIOS7Or8, aD as _isIOS, aE as _isAndroid, aF as _createError, aG as _isSafari, aH as _isIframe, aI as _isMobileBrowser, aJ as _isIE10 } from './index-041a60d6.js';
2
+ export { A as ActionCodeOperation, ac as ActionCodeURL, G as AuthCredential, C as AuthErrorCodes, aL as AuthImpl, H as EmailAuthCredential, L as EmailAuthProvider, M as FacebookAuthProvider, F as FactorId, aN as FetchProvider, Q as GithubAuthProvider, N as GoogleAuthProvider, I as OAuthCredential, T as OAuthProvider, O as OperationType, J as PhoneAuthCredential, P as PhoneAuthProvider, m as PhoneMultiFactorGenerator, o as ProviderId, R as RecaptchaVerifier, aO as SAMLAuthCredential, U as SAMLAuthProvider, S as SignInMethod, V as TwitterAuthProvider, aK as UserImpl, ap as _assert, ax as _castAuth, au as _fail, aM as _getClientVersion, ao as _getInstance, aw as _persistenceKeyName, a1 as applyActionCode, b as browserLocalPersistence, k as browserPopupRedirectResolver, a as browserSessionPersistence, a2 as checkActionCode, a0 as confirmPasswordReset, E as connectAuthEmulator, a4 as createUserWithEmailAndPassword, z as debugErrorMap, y as deleteUser, a9 as fetchSignInMethodsForEmail, ak as getAdditionalUserInfo, n as getAuth, ah as getIdToken, ai as getIdTokenResult, am as getMultiFactorResolver, j as getRedirectResult, K as inMemoryPersistence, i as indexedDBLocalPersistence, D as initializeAuth, a7 as isSignInWithEmailLink, Y as linkWithCredential, l as linkWithPhoneNumber, d as linkWithPopup, g as linkWithRedirect, an as multiFactor, t as onAuthStateChanged, q as onIdTokenChanged, ad as parseActionCodeURL, B as prodErrorMap, Z as reauthenticateWithCredential, r as reauthenticateWithPhoneNumber, e as reauthenticateWithPopup, h as reauthenticateWithRedirect, al as reload, aa as sendEmailVerification, $ as sendPasswordResetEmail, a6 as sendSignInLinkToEmail, p as setPersistence, W as signInAnonymously, X as signInWithCredential, _ as signInWithCustomToken, a5 as signInWithEmailAndPassword, a8 as signInWithEmailLink, s as signInWithPhoneNumber, c as signInWithPopup, f as signInWithRedirect, x as signOut, aj as unlink, w as updateCurrentUser, af as updateEmail, ag as updatePassword, u as updatePhoneNumber, ae as updateProfile, v as useDeviceLanguage, ab as verifyBeforeUpdateEmail, a3 as verifyPasswordResetCode } from './index-041a60d6.js';
3
3
  import { querystring, isEmpty, getUA, querystringDecode } from '@firebase/util';
4
4
  import 'tslib';
5
5
  import { SDK_VERSION } from '@firebase/app';
@@ -587,7 +587,8 @@ export interface MultiFactorInfo {
587
587
  }
588
588
  /**
589
589
  * The subclass of the {@link MultiFactorInfo} interface for phone number
590
- * second factors. The factorId of this second factor is {@link FactorId.PHONE}.
590
+ * second factors. The `factorId` of this second factor is {@link FactorId}.PHONE.
591
+ * @public
591
592
  */
592
593
  export interface PhoneMultiFactorInfo extends MultiFactorInfo {
593
594
  /** The phone number associated with the current second factor. */
@@ -808,7 +809,7 @@ export interface PhoneMultiFactorEnrollInfoOptions {
808
809
  session: MultiFactorSession;
809
810
  }
810
811
  /**
811
- * Options used for signing-in with a second factor.
812
+ * Options used for signing in with a second factor.
812
813
  *
813
814
  * @public
814
815
  */
@@ -38,6 +38,7 @@ export interface UserParameters {
38
38
  isAnonymous?: boolean | null;
39
39
  emailVerified?: boolean | null;
40
40
  tenantId?: string | null;
41
+ providerData?: MutableUserInfo[] | null;
41
42
  createdAt?: string | null;
42
43
  lastLoginAt?: string | null;
43
44
  }
@@ -16,7 +16,7 @@
16
16
  */
17
17
  import { Persistence, ReactNativeAsyncStorage } from '../../model/public_types';
18
18
  /**
19
- * Returns a persistence object that wraps AsyncStorage imported from
19
+ * Returns a persistence object that wraps `AsyncStorage` imported from
20
20
  * `react-native` or `@react-native-community/async-storage`, and can
21
21
  * be used in the persistence dependency field in {@link initializeAuth}.
22
22
  *
@@ -21,4 +21,4 @@
21
21
  */
22
22
  export * from './index';
23
23
  export { cordovaPopupRedirectResolver } from './index.cordova';
24
- export { reactNativeLocalPersistence } from './index.rn';
24
+ export { reactNativeLocalPersistence, getReactNativePersistence } from './index.rn';
package/dist/rn/index.js CHANGED
@@ -4,7 +4,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var ReactNative = require('react-native');
6
6
  var app = require('@firebase/app');
7
- var phone = require('./phone-49cc5af7.js');
7
+ var phone = require('./phone-83d15b50.js');
8
8
  var tslib = require('tslib');
9
9
  require('@firebase/util');
10
10
  require('@firebase/component');
@@ -47,7 +47,7 @@ var ReactNative__namespace = /*#__PURE__*/_interopNamespace(ReactNative);
47
47
  * limitations under the License.
48
48
  */
49
49
  /**
50
- * Returns a persistence object that wraps AsyncStorage imported from
50
+ * Returns a persistence object that wraps `AsyncStorage` imported from
51
51
  * `react-native` or `@react-native-community/async-storage`, and can
52
52
  * be used in the persistence dependency field in {@link initializeAuth}.
53
53
  *
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../src/platform_react_native/persistence/react_native.ts","../../index.rn.ts"],"sourcesContent":["/**\n * @license\n * Copyright 2019 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Persistence, ReactNativeAsyncStorage } from '../../model/public_types';\n\nimport {\n PersistenceInternal,\n PersistenceType,\n PersistenceValue,\n STORAGE_AVAILABLE_KEY,\n StorageEventListener\n} from '../../core/persistence';\n\n/**\n * Returns a persistence object that wraps AsyncStorage imported from\n * `react-native` or `@react-native-community/async-storage`, and can\n * be used in the persistence dependency field in {@link initializeAuth}.\n * \n * @public\n */\nexport function getReactNativePersistence(\n storage: ReactNativeAsyncStorage\n): Persistence {\n // In the _getInstance() implementation (see src/core/persistence/index.ts),\n // we expect each \"externs.Persistence\" object passed to us by the user to\n // be able to be instantiated (as a class) using \"new\". That function also\n // expects the constructor to be empty. Since ReactNativeStorage requires the\n // underlying storage layer, we need to be able to create subclasses\n // (closures, esentially) that have the storage layer but empty constructor.\n return class implements PersistenceInternal {\n static type: 'LOCAL' = 'LOCAL';\n readonly type: PersistenceType = PersistenceType.LOCAL;\n\n async _isAvailable(): Promise<boolean> {\n try {\n if (!storage) {\n return false;\n }\n await storage.setItem(STORAGE_AVAILABLE_KEY, '1');\n await storage.removeItem(STORAGE_AVAILABLE_KEY);\n return true;\n } catch {\n return false;\n }\n }\n\n _set(key: string, value: PersistenceValue): Promise<void> {\n return storage.setItem(key, JSON.stringify(value));\n }\n\n async _get<T extends PersistenceValue>(key: string): Promise<T | null> {\n const json = await storage.getItem(key);\n return json ? JSON.parse(json) : null;\n }\n\n _remove(key: string): Promise<void> {\n return storage.removeItem(key);\n }\n\n _addListener(_key: string, _listener: StorageEventListener): void {\n // Listeners are not supported for React Native storage.\n return;\n }\n\n _removeListener(_key: string, _listener: StorageEventListener): void {\n // Listeners are not supported for React Native storage.\n return;\n }\n };\n}\n","/**\n * @license\n * Copyright 2017 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * This is the file that people using React Native will actually import. You\n * should only include this file if you have something specific about your\n * implementation that mandates having a separate entrypoint. Otherwise you can\n * just use index.ts\n */\n\nimport * as ReactNative from 'react-native';\n\nimport { FirebaseApp, getApp, _getProvider } from '@firebase/app';\nimport { Auth, Persistence } from './src/model/public_types';\n\nimport { initializeAuth } from './src';\nimport { registerAuth } from './src/core/auth/register';\nimport { ClientPlatform } from './src/core/util/version';\nimport { getReactNativePersistence } from './src/platform_react_native/persistence/react_native';\n\n// Core functionality shared by all clients\nexport * from './index.shared';\n\n// Export some Phone symbols\n// providers\nexport { PhoneAuthProvider } from './src/platform_browser/providers/phone';\n\n// strategies\nexport {\n signInWithPhoneNumber,\n linkWithPhoneNumber,\n reauthenticateWithPhoneNumber,\n updatePhoneNumber\n} from './src/platform_browser/strategies/phone';\n\n// MFA\nexport { PhoneMultiFactorGenerator } from './src/platform_browser/mfa/assertions/phone';\n\n/**\n * An implementation of {@link Persistence} of type 'LOCAL' for use in React\n * Native environments.\n *\n * @public\n */\nexport const reactNativeLocalPersistence: Persistence =\n getReactNativePersistence({\n getItem(...args) {\n // Called inline to avoid deprecation warnings on startup.\n return ReactNative.AsyncStorage.getItem(...args);\n },\n setItem(...args) {\n // Called inline to avoid deprecation warnings on startup.\n return ReactNative.AsyncStorage.setItem(...args);\n },\n removeItem(...args) {\n // Called inline to avoid deprecation warnings on startup.\n return ReactNative.AsyncStorage.removeItem(...args);\n },\n });\n\nexport {getReactNativePersistence};\n\nexport function getAuth(app: FirebaseApp = getApp()): Auth {\n const provider = _getProvider(app, 'auth');\n\n if (provider.isInitialized()) {\n return provider.getImmediate();\n }\n\n return initializeAuth(app, {\n persistence: reactNativeLocalPersistence\n });\n}\n\nregisterAuth(ClientPlatform.REACT_NATIVE);\n"],"names":["STORAGE_AVAILABLE_KEY","ReactNative","app","getApp","_getProvider","initializeAuth","registerAuth"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;;;;;;;;;;AA2BA;;;;;;;SAOgB,yBAAyB,CACvC,OAAgC;;;;;;;;IAQhC;YAAO;gBAEI,SAAI,uBAA0C;aAqCxD;YAnCO,8BAAY,GAAlB;;;;;;gCAEI,IAAI,CAAC,OAAO,EAAE;oCACZ,sBAAO,KAAK,EAAC;iCACd;gCACD,qBAAM,OAAO,CAAC,OAAO,CAACA,2BAAqB,EAAE,GAAG,CAAC,EAAA;;gCAAjD,SAAiD,CAAC;gCAClD,qBAAM,OAAO,CAAC,UAAU,CAACA,2BAAqB,CAAC,EAAA;;gCAA/C,SAA+C,CAAC;gCAChD,sBAAO,IAAI,EAAC;;;gCAEZ,sBAAO,KAAK,EAAC;;;;;aAEhB;YAED,sBAAI,GAAJ,UAAK,GAAW,EAAE,KAAuB;gBACvC,OAAO,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;aACpD;YAEK,sBAAI,GAAV,UAAuC,GAAW;;;;;oCACnC,qBAAM,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,EAAA;;gCAAjC,IAAI,GAAG,SAA0B;gCACvC,sBAAO,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,EAAC;;;;aACvC;YAED,yBAAO,GAAP,UAAQ,GAAW;gBACjB,OAAO,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;aAChC;YAED,8BAAY,GAAZ,UAAa,IAAY,EAAE,SAA+B;;gBAExD,OAAO;aACR;YAED,iCAAe,GAAf,UAAgB,IAAY,EAAE,SAA+B;;gBAE3D,OAAO;aACR;YACH,cAAC;SAAA;QAtCQ,OAAI,GAAY,OAAQ;WAsC/B;AACJ;;ACnFA;;;;;;;;;;;;;;;;AAoDA;;;;;;IAMa,2BAA2B,GACtC,yBAAyB,CAAC;IACxB,OAAO;;QAAC,cAAO;aAAP,UAAO,EAAP,qBAAO,EAAP,IAAO;YAAP,yBAAO;;;QAEb,OAAO,CAAA,KAAAC,sBAAW,CAAC,YAAY,EAAC,OAAO,WAAI,IAAI,EAAE;KAClD;IACD,OAAO;;QAAC,cAAO;aAAP,UAAO,EAAP,qBAAO,EAAP,IAAO;YAAP,yBAAO;;;QAEb,OAAO,CAAA,KAAAA,sBAAW,CAAC,YAAY,EAAC,OAAO,WAAI,IAAI,EAAE;KAClD;IACD,UAAU;;QAAC,cAAO;aAAP,UAAO,EAAP,qBAAO,EAAP,IAAO;YAAP,yBAAO;;;QAEhB,OAAO,CAAA,KAAAA,sBAAW,CAAC,YAAY,EAAC,UAAU,WAAI,IAAI,EAAE;KACrD;CACF,EAAE;SAIW,OAAO,CAACC,KAA2B;IAA3B,sBAAA,EAAAA,QAAmBC,UAAM,EAAE;IACjD,IAAM,QAAQ,GAAGC,gBAAY,CAACF,KAAG,EAAE,MAAM,CAAC,CAAC;IAE3C,IAAI,QAAQ,CAAC,aAAa,EAAE,EAAE;QAC5B,OAAO,QAAQ,CAAC,YAAY,EAAE,CAAC;KAChC;IAED,OAAOG,oBAAc,CAACH,KAAG,EAAE;QACzB,WAAW,EAAE,2BAA2B;KACzC,CAAC,CAAC;AACL,CAAC;AAEDI,kBAAY,kCAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../src/platform_react_native/persistence/react_native.ts","../../index.rn.ts"],"sourcesContent":["/**\n * @license\n * Copyright 2019 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Persistence, ReactNativeAsyncStorage } from '../../model/public_types';\n\nimport {\n PersistenceInternal,\n PersistenceType,\n PersistenceValue,\n STORAGE_AVAILABLE_KEY,\n StorageEventListener\n} from '../../core/persistence';\n\n/**\n * Returns a persistence object that wraps `AsyncStorage` imported from\n * `react-native` or `@react-native-community/async-storage`, and can\n * be used in the persistence dependency field in {@link initializeAuth}.\n * \n * @public\n */\nexport function getReactNativePersistence(\n storage: ReactNativeAsyncStorage\n): Persistence {\n // In the _getInstance() implementation (see src/core/persistence/index.ts),\n // we expect each \"externs.Persistence\" object passed to us by the user to\n // be able to be instantiated (as a class) using \"new\". That function also\n // expects the constructor to be empty. Since ReactNativeStorage requires the\n // underlying storage layer, we need to be able to create subclasses\n // (closures, esentially) that have the storage layer but empty constructor.\n return class implements PersistenceInternal {\n static type: 'LOCAL' = 'LOCAL';\n readonly type: PersistenceType = PersistenceType.LOCAL;\n\n async _isAvailable(): Promise<boolean> {\n try {\n if (!storage) {\n return false;\n }\n await storage.setItem(STORAGE_AVAILABLE_KEY, '1');\n await storage.removeItem(STORAGE_AVAILABLE_KEY);\n return true;\n } catch {\n return false;\n }\n }\n\n _set(key: string, value: PersistenceValue): Promise<void> {\n return storage.setItem(key, JSON.stringify(value));\n }\n\n async _get<T extends PersistenceValue>(key: string): Promise<T | null> {\n const json = await storage.getItem(key);\n return json ? JSON.parse(json) : null;\n }\n\n _remove(key: string): Promise<void> {\n return storage.removeItem(key);\n }\n\n _addListener(_key: string, _listener: StorageEventListener): void {\n // Listeners are not supported for React Native storage.\n return;\n }\n\n _removeListener(_key: string, _listener: StorageEventListener): void {\n // Listeners are not supported for React Native storage.\n return;\n }\n };\n}\n","/**\n * @license\n * Copyright 2017 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * This is the file that people using React Native will actually import. You\n * should only include this file if you have something specific about your\n * implementation that mandates having a separate entrypoint. Otherwise you can\n * just use index.ts\n */\n\nimport * as ReactNative from 'react-native';\n\nimport { FirebaseApp, getApp, _getProvider } from '@firebase/app';\nimport { Auth, Persistence } from './src/model/public_types';\n\nimport { initializeAuth } from './src';\nimport { registerAuth } from './src/core/auth/register';\nimport { ClientPlatform } from './src/core/util/version';\nimport { getReactNativePersistence } from './src/platform_react_native/persistence/react_native';\n\n// Core functionality shared by all clients\nexport * from './index.shared';\n\n// Export some Phone symbols\n// providers\nexport { PhoneAuthProvider } from './src/platform_browser/providers/phone';\n\n// strategies\nexport {\n signInWithPhoneNumber,\n linkWithPhoneNumber,\n reauthenticateWithPhoneNumber,\n updatePhoneNumber\n} from './src/platform_browser/strategies/phone';\n\n// MFA\nexport { PhoneMultiFactorGenerator } from './src/platform_browser/mfa/assertions/phone';\n\n/**\n * An implementation of {@link Persistence} of type 'LOCAL' for use in React\n * Native environments.\n *\n * @public\n */\nexport const reactNativeLocalPersistence: Persistence =\n getReactNativePersistence({\n getItem(...args) {\n // Called inline to avoid deprecation warnings on startup.\n return ReactNative.AsyncStorage.getItem(...args);\n },\n setItem(...args) {\n // Called inline to avoid deprecation warnings on startup.\n return ReactNative.AsyncStorage.setItem(...args);\n },\n removeItem(...args) {\n // Called inline to avoid deprecation warnings on startup.\n return ReactNative.AsyncStorage.removeItem(...args);\n },\n });\n\nexport {getReactNativePersistence};\n\nexport function getAuth(app: FirebaseApp = getApp()): Auth {\n const provider = _getProvider(app, 'auth');\n\n if (provider.isInitialized()) {\n return provider.getImmediate();\n }\n\n return initializeAuth(app, {\n persistence: reactNativeLocalPersistence\n });\n}\n\nregisterAuth(ClientPlatform.REACT_NATIVE);\n"],"names":["STORAGE_AVAILABLE_KEY","ReactNative","app","getApp","_getProvider","initializeAuth","registerAuth"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;;;;;;;;;;AA2BA;;;;;;;SAOgB,yBAAyB,CACvC,OAAgC;;;;;;;;IAQhC;YAAO;gBAEI,SAAI,uBAA0C;aAqCxD;YAnCO,8BAAY,GAAlB;;;;;;gCAEI,IAAI,CAAC,OAAO,EAAE;oCACZ,sBAAO,KAAK,EAAC;iCACd;gCACD,qBAAM,OAAO,CAAC,OAAO,CAACA,2BAAqB,EAAE,GAAG,CAAC,EAAA;;gCAAjD,SAAiD,CAAC;gCAClD,qBAAM,OAAO,CAAC,UAAU,CAACA,2BAAqB,CAAC,EAAA;;gCAA/C,SAA+C,CAAC;gCAChD,sBAAO,IAAI,EAAC;;;gCAEZ,sBAAO,KAAK,EAAC;;;;;aAEhB;YAED,sBAAI,GAAJ,UAAK,GAAW,EAAE,KAAuB;gBACvC,OAAO,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;aACpD;YAEK,sBAAI,GAAV,UAAuC,GAAW;;;;;oCACnC,qBAAM,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,EAAA;;gCAAjC,IAAI,GAAG,SAA0B;gCACvC,sBAAO,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,EAAC;;;;aACvC;YAED,yBAAO,GAAP,UAAQ,GAAW;gBACjB,OAAO,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;aAChC;YAED,8BAAY,GAAZ,UAAa,IAAY,EAAE,SAA+B;;gBAExD,OAAO;aACR;YAED,iCAAe,GAAf,UAAgB,IAAY,EAAE,SAA+B;;gBAE3D,OAAO;aACR;YACH,cAAC;SAAA;QAtCQ,OAAI,GAAY,OAAQ;WAsC/B;AACJ;;ACnFA;;;;;;;;;;;;;;;;AAoDA;;;;;;IAMa,2BAA2B,GACtC,yBAAyB,CAAC;IACxB,OAAO;;QAAC,cAAO;aAAP,UAAO,EAAP,qBAAO,EAAP,IAAO;YAAP,yBAAO;;;QAEb,OAAO,CAAA,KAAAC,sBAAW,CAAC,YAAY,EAAC,OAAO,WAAI,IAAI,EAAE;KAClD;IACD,OAAO;;QAAC,cAAO;aAAP,UAAO,EAAP,qBAAO,EAAP,IAAO;YAAP,yBAAO;;;QAEb,OAAO,CAAA,KAAAA,sBAAW,CAAC,YAAY,EAAC,OAAO,WAAI,IAAI,EAAE;KAClD;IACD,UAAU;;QAAC,cAAO;aAAP,UAAO,EAAP,qBAAO,EAAP,IAAO;YAAP,yBAAO;;;QAEhB,OAAO,CAAA,KAAAA,sBAAW,CAAC,YAAY,EAAC,UAAU,WAAI,IAAI,EAAE;KACrD;CACF,EAAE;SAIW,OAAO,CAACC,KAA2B;IAA3B,sBAAA,EAAAA,QAAmBC,UAAM,EAAE;IACjD,IAAM,QAAQ,GAAGC,gBAAY,CAACF,KAAG,EAAE,MAAM,CAAC,CAAC;IAE3C,IAAI,QAAQ,CAAC,aAAa,EAAE,EAAE;QAC5B,OAAO,QAAQ,CAAC,YAAY,EAAE,CAAC;KAChC;IAED,OAAOG,oBAAc,CAACH,KAAG,EAAE;QACzB,WAAW,EAAE,2BAA2B;KACzC,CAAC,CAAC;AACL,CAAC;AAEDI,kBAAY,kCAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var phone = require('./phone-49cc5af7.js');
5
+ var phone = require('./phone-83d15b50.js');
6
6
  var tslib = require('tslib');
7
7
  var util = require('@firebase/util');
8
8
  var app = require('@firebase/app');
@@ -1701,10 +1701,6 @@ var UserImpl = /** @class */ (function () {
1701
1701
  var uid = _a.uid, auth = _a.auth, stsTokenManager = _a.stsTokenManager, opt = tslib.__rest(_a, ["uid", "auth", "stsTokenManager"]);
1702
1702
  // For the user object, provider is always Firebase.
1703
1703
  this.providerId = "firebase" /* FIREBASE */;
1704
- this.emailVerified = false;
1705
- this.isAnonymous = false;
1706
- this.tenantId = null;
1707
- this.providerData = [];
1708
1704
  this.proactiveRefresh = new ProactiveRefresh(this);
1709
1705
  this.reloadUserInfo = null;
1710
1706
  this.reloadListener = null;
@@ -1719,6 +1715,7 @@ var UserImpl = /** @class */ (function () {
1719
1715
  this.photoURL = opt.photoURL || null;
1720
1716
  this.isAnonymous = opt.isAnonymous || false;
1721
1717
  this.tenantId = opt.tenantId || null;
1718
+ this.providerData = opt.providerData ? tslib.__spreadArray([], opt.providerData) : [];
1722
1719
  this.metadata = new UserMetadata(opt.createdAt || undefined, opt.lastLoginAt || undefined);
1723
1720
  }
1724
1721
  UserImpl.prototype.getIdToken = function (forceRefresh) {
@@ -6789,7 +6786,7 @@ function multiFactor(user) {
6789
6786
  }
6790
6787
 
6791
6788
  var name = "@firebase/auth";
6792
- var version = "0.19.7";
6789
+ var version = "0.19.8-canary.50de44c2e";
6793
6790
 
6794
6791
  /**
6795
6792
  * @license
@@ -8312,4 +8309,4 @@ exports.updateProfile = updateProfile;
8312
8309
  exports.useDeviceLanguage = useDeviceLanguage;
8313
8310
  exports.verifyBeforeUpdateEmail = verifyBeforeUpdateEmail;
8314
8311
  exports.verifyPasswordResetCode = verifyPasswordResetCode;
8315
- //# sourceMappingURL=phone-49cc5af7.js.map
8312
+ //# sourceMappingURL=phone-83d15b50.js.map