@firebase/auth 0.18.2 → 0.18.3-canary.4594d3fd6

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 (89) hide show
  1. package/CHANGELOG.md +7 -1
  2. package/dist/auth-public.d.ts +28 -19
  3. package/dist/auth.d.ts +29 -20
  4. package/dist/cordova/index.js +2 -2
  5. package/dist/cordova/index.rn.d.ts +3 -0
  6. package/dist/cordova/internal.js +7 -3
  7. package/dist/cordova/internal.js.map +1 -1
  8. package/dist/cordova/{popup_redirect-a37d3acc.js → popup_redirect-1dbf4c8d.js} +48 -26
  9. package/dist/cordova/popup_redirect-1dbf4c8d.js.map +1 -0
  10. package/dist/cordova/src/core/errors.d.ts +2 -2
  11. package/dist/cordova/src/core/strategies/abstract_popup_redirect_operation.d.ts +1 -1
  12. package/dist/cordova/src/mfa/mfa_error.d.ts +4 -5
  13. package/dist/cordova/src/model/public_types.d.ts +25 -19
  14. package/dist/cordova/src/platform_browser/persistence/browser.d.ts +4 -3
  15. package/dist/cordova/src/platform_browser/persistence/browser.test.d.ts +17 -0
  16. package/dist/cordova/src/platform_browser/strategies/phone.d.ts +3 -0
  17. package/dist/cordova/test/helpers/erroring_unavailable_persistence.d.ts +36 -0
  18. package/dist/esm2017/{index-112b09e1.js → index-6ca0ee6a.js} +43 -24
  19. package/dist/esm2017/index-6ca0ee6a.js.map +1 -0
  20. package/dist/esm2017/index.js +1 -1
  21. package/dist/esm2017/index.rn.d.ts +3 -0
  22. package/dist/esm2017/internal.js +2 -2
  23. package/dist/esm2017/src/core/errors.d.ts +2 -2
  24. package/dist/esm2017/src/core/strategies/abstract_popup_redirect_operation.d.ts +1 -1
  25. package/dist/esm2017/src/mfa/mfa_error.d.ts +4 -5
  26. package/dist/esm2017/src/model/public_types.d.ts +25 -19
  27. package/dist/esm2017/src/platform_browser/persistence/browser.d.ts +4 -3
  28. package/dist/esm2017/src/platform_browser/persistence/browser.test.d.ts +17 -0
  29. package/dist/esm2017/src/platform_browser/strategies/phone.d.ts +3 -0
  30. package/dist/esm2017/test/helpers/erroring_unavailable_persistence.d.ts +36 -0
  31. package/dist/esm5/{index-8f8d1280.js → index-64d7b698.js} +53 -27
  32. package/dist/esm5/index-64d7b698.js.map +1 -0
  33. package/dist/esm5/index.js +1 -1
  34. package/dist/esm5/index.rn.d.ts +3 -0
  35. package/dist/esm5/internal.js +2 -2
  36. package/dist/esm5/src/core/errors.d.ts +2 -2
  37. package/dist/esm5/src/core/strategies/abstract_popup_redirect_operation.d.ts +1 -1
  38. package/dist/esm5/src/mfa/mfa_error.d.ts +4 -5
  39. package/dist/esm5/src/model/public_types.d.ts +25 -19
  40. package/dist/esm5/src/platform_browser/persistence/browser.d.ts +4 -3
  41. package/dist/esm5/src/platform_browser/persistence/browser.test.d.ts +17 -0
  42. package/dist/esm5/src/platform_browser/strategies/phone.d.ts +3 -0
  43. package/dist/esm5/test/helpers/erroring_unavailable_persistence.d.ts +36 -0
  44. package/dist/index.rn.d.ts +3 -0
  45. package/dist/index.webworker.esm5.js +19 -16
  46. package/dist/index.webworker.esm5.js.map +1 -1
  47. package/dist/node/{index-729bad29.js → index-868cfba3.js} +20 -17
  48. package/dist/node/index-868cfba3.js.map +1 -0
  49. package/dist/node/index.js +1 -1
  50. package/dist/node/index.rn.d.ts +3 -0
  51. package/dist/node/internal.js +29 -10
  52. package/dist/node/internal.js.map +1 -1
  53. package/dist/node/src/core/errors.d.ts +2 -2
  54. package/dist/node/src/core/strategies/abstract_popup_redirect_operation.d.ts +1 -1
  55. package/dist/node/src/mfa/mfa_error.d.ts +4 -5
  56. package/dist/node/src/model/public_types.d.ts +25 -19
  57. package/dist/node/src/platform_browser/persistence/browser.d.ts +4 -3
  58. package/dist/node/src/platform_browser/persistence/browser.test.d.ts +17 -0
  59. package/dist/node/src/platform_browser/strategies/phone.d.ts +3 -0
  60. package/dist/node/test/helpers/erroring_unavailable_persistence.d.ts +36 -0
  61. package/dist/rn/index.js +70 -64
  62. package/dist/rn/index.js.map +1 -1
  63. package/dist/rn/index.rn.d.ts +3 -0
  64. package/dist/rn/internal.js +338 -1465
  65. package/dist/rn/internal.js.map +1 -1
  66. package/dist/rn/{enum_maps-3f8f5548.js → phone-b154e168.js} +1189 -27
  67. package/dist/rn/phone-b154e168.js.map +1 -0
  68. package/dist/rn/src/core/errors.d.ts +2 -2
  69. package/dist/rn/src/core/strategies/abstract_popup_redirect_operation.d.ts +1 -1
  70. package/dist/rn/src/mfa/mfa_error.d.ts +4 -5
  71. package/dist/rn/src/model/public_types.d.ts +25 -19
  72. package/dist/rn/src/platform_browser/persistence/browser.d.ts +4 -3
  73. package/dist/rn/src/platform_browser/persistence/browser.test.d.ts +17 -0
  74. package/dist/rn/src/platform_browser/strategies/phone.d.ts +3 -0
  75. package/dist/rn/test/helpers/erroring_unavailable_persistence.d.ts +36 -0
  76. package/dist/src/core/errors.d.ts +2 -2
  77. package/dist/src/core/strategies/abstract_popup_redirect_operation.d.ts +1 -1
  78. package/dist/src/mfa/mfa_error.d.ts +4 -5
  79. package/dist/src/model/public_types.d.ts +25 -19
  80. package/dist/src/platform_browser/persistence/browser.d.ts +4 -3
  81. package/dist/src/platform_browser/persistence/browser.test.d.ts +17 -0
  82. package/dist/src/platform_browser/strategies/phone.d.ts +3 -0
  83. package/dist/test/helpers/erroring_unavailable_persistence.d.ts +36 -0
  84. package/package.json +6 -6
  85. package/dist/cordova/popup_redirect-a37d3acc.js.map +0 -1
  86. package/dist/esm2017/index-112b09e1.js.map +0 -1
  87. package/dist/esm5/index-8f8d1280.js.map +0 -1
  88. package/dist/node/index-729bad29.js.map +0 -1
  89. package/dist/rn/enum_maps-3f8f5548.js.map +0 -1
@@ -1858,7 +1858,7 @@ function _performSignInRequest(auth, method, path, request, customErrorMap) {
1858
1858
  serverResponse = (_a.sent());
1859
1859
  if ('mfaPendingCredential' in serverResponse) {
1860
1860
  _fail(auth, "multi-factor-auth-required" /* MFA_REQUIRED */, {
1861
- serverResponse: serverResponse
1861
+ _serverResponse: serverResponse
1862
1862
  });
1863
1863
  }
1864
1864
  return [2 /*return*/, serverResponse];
@@ -5895,14 +5895,14 @@ var MultiFactorError = /** @class */ (function (_super) {
5895
5895
  var _this = _super.call(this, error.code, error.message) || this;
5896
5896
  _this.operationType = operationType;
5897
5897
  _this.user = user;
5898
- _this.name = 'FirebaseError';
5899
5898
  // https://github.com/Microsoft/TypeScript-wiki/blob/master/Breaking-Changes.md#extending-built-ins-like-error-array-and-map-may-no-longer-work
5900
5899
  Object.setPrototypeOf(_this, MultiFactorError.prototype);
5901
- _this.appName = auth.name;
5902
- _this.code = error.code;
5903
- _this.tenantId = (_a = auth.tenantId) !== null && _a !== void 0 ? _a : undefined;
5904
- _this.serverResponse = error.customData
5905
- .serverResponse;
5900
+ _this.customData = {
5901
+ appName: auth.name,
5902
+ tenantId: (_a = auth.tenantId) !== null && _a !== void 0 ? _a : undefined,
5903
+ _serverResponse: error.customData._serverResponse,
5904
+ operationType: operationType,
5905
+ };
5906
5906
  return _this;
5907
5907
  }
5908
5908
  MultiFactorError._fromErrorAndOperation = function (auth, error, operationType, user) {
@@ -7440,11 +7440,12 @@ var MultiFactorResolverImpl = /** @class */ (function () {
7440
7440
  MultiFactorResolverImpl._fromError = function (authExtern, error) {
7441
7441
  var _this = this;
7442
7442
  var auth = _castAuth(authExtern);
7443
- var hints = (error.serverResponse.mfaInfo || []).map(function (enrollment) {
7443
+ var serverResponse = error.customData._serverResponse;
7444
+ var hints = (serverResponse.mfaInfo || []).map(function (enrollment) {
7444
7445
  return MultiFactorInfoImpl._fromServerResponse(auth, enrollment);
7445
7446
  });
7446
- _assert(error.serverResponse.mfaPendingCredential, auth, "internal-error" /* INTERNAL_ERROR */);
7447
- var session = MultiFactorSessionImpl._fromMfaPendingCredential(error.serverResponse.mfaPendingCredential);
7447
+ _assert(serverResponse.mfaPendingCredential, auth, "internal-error" /* INTERNAL_ERROR */);
7448
+ var session = MultiFactorSessionImpl._fromMfaPendingCredential(serverResponse.mfaPendingCredential);
7448
7449
  return new MultiFactorResolverImpl(session, hints, function (assertion) { return __awaiter(_this, void 0, void 0, function () {
7449
7450
  var mfaResponse, idTokenResponse, _a, userCredential;
7450
7451
  return __generator(this, function (_b) {
@@ -7453,9 +7454,9 @@ var MultiFactorResolverImpl = /** @class */ (function () {
7453
7454
  case 1:
7454
7455
  mfaResponse = _b.sent();
7455
7456
  // Clear out the unneeded fields from the old login response
7456
- delete error.serverResponse.mfaInfo;
7457
- delete error.serverResponse.mfaPendingCredential;
7458
- idTokenResponse = __assign(__assign({}, error.serverResponse), { idToken: mfaResponse.idToken, refreshToken: mfaResponse.refreshToken });
7457
+ delete serverResponse.mfaInfo;
7458
+ delete serverResponse.mfaPendingCredential;
7459
+ idTokenResponse = __assign(__assign({}, serverResponse), { idToken: mfaResponse.idToken, refreshToken: mfaResponse.refreshToken });
7459
7460
  _a = error.operationType;
7460
7461
  switch (_a) {
7461
7462
  case "signIn" /* SIGN_IN */: return [3 /*break*/, 2];
@@ -7505,8 +7506,8 @@ function getMultiFactorResolver(auth, error) {
7505
7506
  var _a;
7506
7507
  var authModular = getModularInstance(auth);
7507
7508
  var errorInternal = error;
7508
- _assert(error.operationType, authModular, "argument-error" /* ARGUMENT_ERROR */);
7509
- _assert((_a = errorInternal.serverResponse) === null || _a === void 0 ? void 0 : _a.mfaPendingCredential, authModular, "argument-error" /* ARGUMENT_ERROR */);
7509
+ _assert(error.customData.operationType, authModular, "argument-error" /* ARGUMENT_ERROR */);
7510
+ _assert((_a = errorInternal.customData._serverResponse) === null || _a === void 0 ? void 0 : _a.mfaPendingCredential, authModular, "argument-error" /* ARGUMENT_ERROR */);
7510
7511
  return MultiFactorResolverImpl._fromError(authModular, errorInternal);
7511
7512
  }
7512
7513
 
@@ -7665,7 +7666,7 @@ function multiFactor(user) {
7665
7666
  }
7666
7667
 
7667
7668
  var name = "@firebase/auth";
7668
- var version = "0.18.2";
7669
+ var version = "0.18.3-canary.4594d3fd6";
7669
7670
 
7670
7671
  /**
7671
7672
  * @license
@@ -7824,6 +7825,8 @@ function registerAuth(clientPlatform) {
7824
7825
  return (function (auth) { return new AuthInterop(auth); })(auth);
7825
7826
  }, "PRIVATE" /* PRIVATE */).setInstantiationMode("EXPLICIT" /* EXPLICIT */));
7826
7827
  registerVersion(name, version, getVersionForPlatform(clientPlatform));
7828
+ // BUILD_TARGET will be replaced by values like esm5, esm2017, cjs5, etc during the compilation
7829
+ registerVersion(name, version, 'esm5');
7827
7830
  }
7828
7831
 
7829
7832
  /**
@@ -7944,8 +7947,8 @@ var ActionCodeOperation = {
7944
7947
  // Both have the same implementation but use a different underlying storage
7945
7948
  // object.
7946
7949
  var BrowserPersistenceClass = /** @class */ (function () {
7947
- function BrowserPersistenceClass(storage, type) {
7948
- this.storage = storage;
7950
+ function BrowserPersistenceClass(storageRetriever, type) {
7951
+ this.storageRetriever = storageRetriever;
7949
7952
  this.type = type;
7950
7953
  }
7951
7954
  BrowserPersistenceClass.prototype._isAvailable = function () {
@@ -7973,6 +7976,13 @@ var BrowserPersistenceClass = /** @class */ (function () {
7973
7976
  this.storage.removeItem(key);
7974
7977
  return Promise.resolve();
7975
7978
  };
7979
+ Object.defineProperty(BrowserPersistenceClass.prototype, "storage", {
7980
+ get: function () {
7981
+ return this.storageRetriever();
7982
+ },
7983
+ enumerable: false,
7984
+ configurable: true
7985
+ });
7976
7986
  return BrowserPersistenceClass;
7977
7987
  }());
7978
7988
 
@@ -8003,7 +8013,7 @@ var IE10_LOCAL_STORAGE_SYNC_DELAY = 10;
8003
8013
  var BrowserLocalPersistence = /** @class */ (function (_super) {
8004
8014
  __extends(BrowserLocalPersistence, _super);
8005
8015
  function BrowserLocalPersistence() {
8006
- var _this = _super.call(this, window.localStorage, "LOCAL" /* LOCAL */) || this;
8016
+ var _this = _super.call(this, function () { return window.localStorage; }, "LOCAL" /* LOCAL */) || this;
8007
8017
  _this.boundEventHandler = function (event, poll) { return _this.onStorageEvent(event, poll); };
8008
8018
  _this.listeners = {};
8009
8019
  _this.localCache = {};
@@ -8239,7 +8249,7 @@ var browserLocalPersistence = BrowserLocalPersistence;
8239
8249
  var BrowserSessionPersistence = /** @class */ (function (_super) {
8240
8250
  __extends(BrowserSessionPersistence, _super);
8241
8251
  function BrowserSessionPersistence() {
8242
- return _super.call(this, window.sessionStorage, "SESSION" /* SESSION */) || this;
8252
+ return _super.call(this, function () { return window.sessionStorage; }, "SESSION" /* SESSION */) || this;
8243
8253
  }
8244
8254
  BrowserSessionPersistence.prototype._addListener = function (_key, _listener) {
8245
8255
  // Listeners are not supported for session storage since it cannot be shared across windows
@@ -8562,7 +8572,13 @@ var RedirectAction = /** @class */ (function (_super) {
8562
8572
  case 7:
8563
8573
  redirectOutcomeMap.set(this.auth._key(), readyOutcome);
8564
8574
  _b.label = 8;
8565
- case 8: return [2 /*return*/, readyOutcome()];
8575
+ case 8:
8576
+ // If we're not bypassing auth state, the ready outcome should be set to
8577
+ // null.
8578
+ if (!this.bypassAuthState) {
8579
+ redirectOutcomeMap.set(this.auth._key(), function () { return Promise.resolve(null); });
8580
+ }
8581
+ return [2 /*return*/, readyOutcome()];
8566
8582
  }
8567
8583
  });
8568
8584
  });
@@ -8608,16 +8624,22 @@ var RedirectAction = /** @class */ (function (_super) {
8608
8624
  }(AbstractPopupRedirectOperation));
8609
8625
  function _getAndClearPendingRedirectStatus(resolver, auth) {
8610
8626
  return __awaiter(this, void 0, void 0, function () {
8611
- var key, hasPendingRedirect;
8627
+ var key, persistence, hasPendingRedirect;
8612
8628
  return __generator(this, function (_a) {
8613
8629
  switch (_a.label) {
8614
8630
  case 0:
8615
8631
  key = pendingRedirectKey(auth);
8616
- return [4 /*yield*/, resolverPersistence(resolver)._get(key)];
8632
+ persistence = resolverPersistence(resolver);
8633
+ return [4 /*yield*/, persistence._isAvailable()];
8617
8634
  case 1:
8618
- hasPendingRedirect = (_a.sent()) === 'true';
8619
- return [4 /*yield*/, resolverPersistence(resolver)._remove(key)];
8635
+ if (!(_a.sent())) {
8636
+ return [2 /*return*/, false];
8637
+ }
8638
+ return [4 /*yield*/, persistence._get(key)];
8620
8639
  case 2:
8640
+ hasPendingRedirect = (_a.sent()) === 'true';
8641
+ return [4 /*yield*/, persistence._remove(key)];
8642
+ case 3:
8621
8643
  _a.sent();
8622
8644
  return [2 /*return*/, hasPendingRedirect];
8623
8645
  }
@@ -9786,4 +9808,4 @@ function generateNoEvent() {
9786
9808
  }
9787
9809
 
9788
9810
  export { fetchSignInMethodsForEmail as $, ActionCodeOperation as A, GithubAuthProvider as B, OAuthProvider as C, SAMLAuthProvider as D, EmailAuthCredential as E, FactorId as F, GoogleAuthProvider as G, signInAnonymously as H, signInWithCredential as I, linkWithCredential as J, reauthenticateWithCredential as K, signInWithCustomToken as L, sendPasswordResetEmail as M, confirmPasswordReset as N, OperationType as O, ProviderId as P, applyActionCode as Q, checkActionCode as R, SignInMethod as S, TwitterAuthProvider as T, verifyPasswordResetCode as U, createUserWithEmailAndPassword as V, signInWithEmailAndPassword as W, sendSignInLinkToEmail as X, isSignInWithEmailLink as Y, signInWithEmailLink as Z, _signInWithRedirect as _, _reauthenticateWithRedirect as a, sendEmailVerification as a0, verifyBeforeUpdateEmail as a1, ActionCodeURL as a2, parseActionCodeURL as a3, updateProfile as a4, updateEmail as a5, updatePassword as a6, getIdToken as a7, getIdTokenResult as a8, unlink as a9, _emulatorUrl as aA, _isChromeIOS as aB, _isFirefox as aC, _isIOSStandalone as aD, _isMobileBrowser as aE, _isSafari as aF, _isIOS as aG, _getRedirectResult as aH, _getRedirectUrl as aI, _setWindowLocation as aJ, AuthEventManager as aK, debugFail as aL, finalizeEnrollPhoneMfa as aM, _persistenceKeyName as aN, UserImpl as aO, _getInstance as aP, AuthImpl as aQ, _getClientVersion as aR, FetchProvider as aS, SAMLAuthCredential as aT, signInWithRedirect as aU, linkWithRedirect as aV, reauthenticateWithRedirect as aW, getAdditionalUserInfo as aa, reload as ab, getMultiFactorResolver as ac, multiFactor as ad, _performApiRequest as ae, _addTidIfNecessary as af, _createError as ag, _assert as ah, Delay as ai, _window as aj, _isHttpOrHttps as ak, _isWorker as al, _castAuth as am, sendPhoneVerificationCode as an, startEnrollPhoneMfa as ao, _assertLinkedStatus as ap, _link$1 as aq, debugAssert as ar, _generateEventId as as, AbstractPopupRedirectOperation as at, _assertInstanceOf as au, _withDefaultResolver as av, FederatedAuthProvider as aw, _fail as ax, _getProjectConfig as ay, _getCurrentUrl as az, _linkWithRedirect as b, indexedDBLocalPersistence as c, cordovaPopupRedirectResolver as d, browserLocalPersistence as e, browserSessionPersistence as f, getRedirectResult as g, onAuthStateChanged as h, initializeAuth as i, updateCurrentUser as j, signOut as k, deleteUser as l, debugErrorMap as m, AUTH_ERROR_CODES_MAP_DO_NOT_USE_INTERNALLY as n, onIdTokenChanged as o, prodErrorMap as p, connectAuthEmulator as q, registerAuth as r, setPersistence as s, AuthCredential as t, useDeviceLanguage as u, OAuthCredential as v, PhoneAuthCredential as w, inMemoryPersistence as x, EmailAuthProvider as y, FacebookAuthProvider as z };
9789
- //# sourceMappingURL=popup_redirect-a37d3acc.js.map
9811
+ //# sourceMappingURL=popup_redirect-1dbf4c8d.js.map