@firebase/auth 0.18.3 → 0.19.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 (89) hide show
  1. package/CHANGELOG.md +16 -0
  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-f608cd47.js → popup_redirect-c65b3459.js} +46 -26
  9. package/dist/cordova/popup_redirect-c65b3459.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-f41a0691.js → index-238d6fa9.js} +41 -24
  19. package/dist/esm2017/index-238d6fa9.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-fd8b7af5.js → index-47dd1018.js} +51 -27
  32. package/dist/esm5/index-47dd1018.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 +17 -16
  46. package/dist/index.webworker.esm5.js.map +1 -1
  47. package/dist/node/{index-358613ec.js → index-da4673cf.js} +18 -17
  48. package/dist/node/index-da4673cf.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-81db3ff6.js → phone-e3d3bcce.js} +1187 -27
  67. package/dist/rn/phone-e3d3bcce.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 +2 -2
  85. package/dist/cordova/popup_redirect-f608cd47.js.map +0 -1
  86. package/dist/esm2017/index-f41a0691.js.map +0 -1
  87. package/dist/esm5/index-fd8b7af5.js.map +0 -1
  88. package/dist/node/index-358613ec.js.map +0 -1
  89. package/dist/rn/enum_maps-81db3ff6.js.map +0 -1
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var index = require('./index-358613ec.js');
5
+ var index = require('./index-da4673cf.js');
6
6
  require('tslib');
7
7
  require('@firebase/util');
8
8
  require('@firebase/app');
@@ -17,6 +17,9 @@
17
17
  import { FirebaseApp } from '@firebase/app';
18
18
  import { Auth, Persistence } from './src/model/public_types';
19
19
  export * from './index.shared';
20
+ export { PhoneAuthProvider } from './src/platform_browser/providers/phone';
21
+ export { signInWithPhoneNumber, linkWithPhoneNumber, reauthenticateWithPhoneNumber, updatePhoneNumber } from './src/platform_browser/strategies/phone';
22
+ export { PhoneMultiFactorGenerator } from './src/platform_browser/mfa/assertions/phone';
20
23
  /**
21
24
  * An implementation of {@link Persistence} of type 'LOCAL' for use in React
22
25
  * Native environments.
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var index = require('./index-358613ec.js');
5
+ var index = require('./index-da4673cf.js');
6
6
  var tslib = require('tslib');
7
7
  var util = require('@firebase/util');
8
8
  var app = require('@firebase/app');
@@ -370,7 +370,13 @@ var RedirectAction = /** @class */ (function (_super) {
370
370
  case 7:
371
371
  redirectOutcomeMap.set(this.auth._key(), readyOutcome);
372
372
  _b.label = 8;
373
- case 8: return [2 /*return*/, readyOutcome()];
373
+ case 8:
374
+ // If we're not bypassing auth state, the ready outcome should be set to
375
+ // null.
376
+ if (!this.bypassAuthState) {
377
+ redirectOutcomeMap.set(this.auth._key(), function () { return Promise.resolve(null); });
378
+ }
379
+ return [2 /*return*/, readyOutcome()];
374
380
  }
375
381
  });
376
382
  });
@@ -416,16 +422,22 @@ var RedirectAction = /** @class */ (function (_super) {
416
422
  }(AbstractPopupRedirectOperation));
417
423
  function _getAndClearPendingRedirectStatus(resolver, auth) {
418
424
  return tslib.__awaiter(this, void 0, void 0, function () {
419
- var key, hasPendingRedirect;
425
+ var key, persistence, hasPendingRedirect;
420
426
  return tslib.__generator(this, function (_a) {
421
427
  switch (_a.label) {
422
428
  case 0:
423
429
  key = pendingRedirectKey(auth);
424
- return [4 /*yield*/, resolverPersistence(resolver)._get(key)];
430
+ persistence = resolverPersistence(resolver);
431
+ return [4 /*yield*/, persistence._isAvailable()];
425
432
  case 1:
426
- hasPendingRedirect = (_a.sent()) === 'true';
427
- return [4 /*yield*/, resolverPersistence(resolver)._remove(key)];
433
+ if (!(_a.sent())) {
434
+ return [2 /*return*/, false];
435
+ }
436
+ return [4 /*yield*/, persistence._get(key)];
428
437
  case 2:
438
+ hasPendingRedirect = (_a.sent()) === 'true';
439
+ return [4 /*yield*/, persistence._remove(key)];
440
+ case 3:
429
441
  _a.sent();
430
442
  return [2 /*return*/, hasPendingRedirect];
431
443
  }
@@ -508,8 +520,8 @@ var STORAGE_AVAILABLE_KEY = '__sak';
508
520
  // Both have the same implementation but use a different underlying storage
509
521
  // object.
510
522
  var BrowserPersistenceClass = /** @class */ (function () {
511
- function BrowserPersistenceClass(storage, type) {
512
- this.storage = storage;
523
+ function BrowserPersistenceClass(storageRetriever, type) {
524
+ this.storageRetriever = storageRetriever;
513
525
  this.type = type;
514
526
  }
515
527
  BrowserPersistenceClass.prototype._isAvailable = function () {
@@ -537,6 +549,13 @@ var BrowserPersistenceClass = /** @class */ (function () {
537
549
  this.storage.removeItem(key);
538
550
  return Promise.resolve();
539
551
  };
552
+ Object.defineProperty(BrowserPersistenceClass.prototype, "storage", {
553
+ get: function () {
554
+ return this.storageRetriever();
555
+ },
556
+ enumerable: false,
557
+ configurable: true
558
+ });
540
559
  return BrowserPersistenceClass;
541
560
  }());
542
561
 
@@ -559,7 +578,7 @@ var BrowserPersistenceClass = /** @class */ (function () {
559
578
  var BrowserSessionPersistence = /** @class */ (function (_super) {
560
579
  tslib.__extends(BrowserSessionPersistence, _super);
561
580
  function BrowserSessionPersistence() {
562
- return _super.call(this, window.sessionStorage, "SESSION" /* SESSION */) || this;
581
+ return _super.call(this, function () { return window.sessionStorage; }, "SESSION" /* SESSION */) || this;
563
582
  }
564
583
  BrowserSessionPersistence.prototype._addListener = function (_key, _listener) {
565
584
  // Listeners are not supported for session storage since it cannot be shared across windows
@@ -1101,7 +1120,7 @@ var IE10_LOCAL_STORAGE_SYNC_DELAY = 10;
1101
1120
  var BrowserLocalPersistence = /** @class */ (function (_super) {
1102
1121
  tslib.__extends(BrowserLocalPersistence, _super);
1103
1122
  function BrowserLocalPersistence() {
1104
- var _this = _super.call(this, window.localStorage, "LOCAL" /* LOCAL */) || this;
1123
+ var _this = _super.call(this, function () { return window.localStorage; }, "LOCAL" /* LOCAL */) || this;
1105
1124
  _this.boundEventHandler = function (event, poll) { return _this.onStorageEvent(event, poll); };
1106
1125
  _this.listeners = {};
1107
1126
  _this.localCache = {};