@aws-amplify/auth 4.6.2-next.36 → 4.6.2-next.41

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 (63) hide show
  1. package/lib/Auth.d.ts +2 -0
  2. package/lib/Auth.js +150 -155
  3. package/lib/Auth.js.map +1 -1
  4. package/lib/Errors.js +2 -12
  5. package/lib/Errors.js.map +1 -1
  6. package/lib/OAuth/OAuth.js +2 -12
  7. package/lib/OAuth/OAuth.js.map +1 -1
  8. package/lib/OAuth/oauthStorage.js +2 -12
  9. package/lib/OAuth/oauthStorage.js.map +1 -1
  10. package/lib/OAuth/oauthStorage.native.js +2 -12
  11. package/lib/OAuth/oauthStorage.native.js.map +1 -1
  12. package/lib/OAuth/urlOpener.js +2 -12
  13. package/lib/OAuth/urlOpener.js.map +1 -1
  14. package/lib/OAuth/urlOpener.native.js +2 -12
  15. package/lib/OAuth/urlOpener.native.js.map +1 -1
  16. package/lib/index.js +2 -12
  17. package/lib/index.js.map +1 -1
  18. package/lib/types/Auth.js +2 -12
  19. package/lib/types/Auth.js.map +1 -1
  20. package/lib/types/index.js +2 -12
  21. package/lib/types/index.js.map +1 -1
  22. package/lib/urlListener.js +2 -12
  23. package/lib/urlListener.js.map +1 -1
  24. package/lib/urlListener.native.js +2 -12
  25. package/lib/urlListener.native.js.map +1 -1
  26. package/lib-esm/Auth.d.ts +2 -0
  27. package/lib-esm/Auth.js +150 -155
  28. package/lib-esm/Auth.js.map +1 -1
  29. package/lib-esm/Errors.js +2 -12
  30. package/lib-esm/Errors.js.map +1 -1
  31. package/lib-esm/OAuth/OAuth.js +2 -12
  32. package/lib-esm/OAuth/OAuth.js.map +1 -1
  33. package/lib-esm/OAuth/oauthStorage.js +2 -12
  34. package/lib-esm/OAuth/oauthStorage.js.map +1 -1
  35. package/lib-esm/OAuth/oauthStorage.native.js +2 -12
  36. package/lib-esm/OAuth/oauthStorage.native.js.map +1 -1
  37. package/lib-esm/OAuth/urlOpener.js +2 -12
  38. package/lib-esm/OAuth/urlOpener.js.map +1 -1
  39. package/lib-esm/OAuth/urlOpener.native.js +2 -12
  40. package/lib-esm/OAuth/urlOpener.native.js.map +1 -1
  41. package/lib-esm/index.js +2 -12
  42. package/lib-esm/index.js.map +1 -1
  43. package/lib-esm/types/Auth.js +2 -12
  44. package/lib-esm/types/Auth.js.map +1 -1
  45. package/lib-esm/types/index.js +2 -12
  46. package/lib-esm/types/index.js.map +1 -1
  47. package/lib-esm/urlListener.js +2 -12
  48. package/lib-esm/urlListener.js.map +1 -1
  49. package/lib-esm/urlListener.native.js +2 -12
  50. package/lib-esm/urlListener.native.js.map +1 -1
  51. package/package.json +4 -5
  52. package/src/Auth.ts +109 -124
  53. package/src/Errors.ts +2 -12
  54. package/src/OAuth/OAuth.ts +2 -12
  55. package/src/OAuth/oauthStorage.native.ts +2 -12
  56. package/src/OAuth/oauthStorage.ts +2 -12
  57. package/src/OAuth/urlOpener.native.ts +2 -12
  58. package/src/OAuth/urlOpener.ts +2 -12
  59. package/src/index.ts +2 -12
  60. package/src/types/Auth.ts +2 -12
  61. package/src/types/index.ts +2 -12
  62. package/src/urlListener.native.ts +2 -12
  63. package/src/urlListener.ts +2 -12
package/lib/Auth.d.ts CHANGED
@@ -16,6 +16,7 @@ export declare class AuthClass {
16
16
  private oAuthFlowInProgress;
17
17
  private pendingSignIn;
18
18
  private autoSignInInitiated;
19
+ private inflightSessionPromise;
19
20
  Credentials: import("@aws-amplify/core").CredentialsClass;
20
21
  /**
21
22
  * Initialize Auth with AWS configurations
@@ -199,6 +200,7 @@ export declare class AuthClass {
199
200
  * @return - A promise resolves to session object if success
200
201
  */
201
202
  currentSession(): Promise<CognitoUserSession>;
203
+ private _userSession;
202
204
  /**
203
205
  * Get the corresponding user session
204
206
  * @param {Object} user - The CognitoUser object
package/lib/Auth.js CHANGED
@@ -1,16 +1,6 @@
1
1
  "use strict";
2
- /*
3
- * Copyright 2017-2022 Amazon.com, Inc. or its affiliates. All Rights Reserved.
4
- *
5
- * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with
6
- * the License. A copy of the License is located at
7
- *
8
- * http://aws.amazon.com/apache2.0/
9
- *
10
- * or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
11
- * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions
12
- * and limitations under the License.
13
- */
2
+ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
+ // SPDX-License-Identifier: Apache-2.0
14
4
  Object.defineProperty(exports, "__esModule", { value: true });
15
5
  var tslib_1 = require("tslib");
16
6
  var types_1 = require("./types");
@@ -50,6 +40,7 @@ var AuthClass = /** @class */ (function () {
50
40
  this.user = null;
51
41
  this.oAuthFlowInProgress = false;
52
42
  this.autoSignInInitiated = false;
43
+ this.inflightSessionPromise = null;
53
44
  this.Credentials = core_1.Credentials;
54
45
  this.wrapRefreshSessionCallback = function (callback) {
55
46
  var wrapped = function (error, data) {
@@ -1386,10 +1377,10 @@ var AuthClass = /** @class */ (function () {
1386
1377
  return new Promise(function (res, rej) {
1387
1378
  _this._storageSync
1388
1379
  .then(function () { return tslib_1.__awaiter(_this, void 0, void 0, function () {
1389
- var user, clientMetadata;
1380
+ var user, session, bypassCache, clientMetadata, _a, scope, err_1;
1390
1381
  var _this = this;
1391
- return tslib_1.__generator(this, function (_a) {
1392
- switch (_a.label) {
1382
+ return tslib_1.__generator(this, function (_b) {
1383
+ switch (_b.label) {
1393
1384
  case 0:
1394
1385
  if (!this.isOAuthInProgress()) return [3 /*break*/, 2];
1395
1386
  logger.debug('OAuth signIn in progress, waiting for resolution...');
@@ -1413,8 +1404,8 @@ var AuthClass = /** @class */ (function () {
1413
1404
  }
1414
1405
  })];
1415
1406
  case 1:
1416
- _a.sent();
1417
- _a.label = 2;
1407
+ _b.sent();
1408
+ _b.label = 2;
1418
1409
  case 2:
1419
1410
  user = this.userPool.getCurrentUser();
1420
1411
  if (!user) {
@@ -1422,96 +1413,77 @@ var AuthClass = /** @class */ (function () {
1422
1413
  rej('No current user');
1423
1414
  return [2 /*return*/];
1424
1415
  }
1416
+ _b.label = 3;
1417
+ case 3:
1418
+ _b.trys.push([3, 7, , 8]);
1419
+ return [4 /*yield*/, this._userSession(user)];
1420
+ case 4:
1421
+ session = _b.sent();
1422
+ bypassCache = params ? params.bypassCache : false;
1423
+ if (!bypassCache) return [3 /*break*/, 6];
1424
+ return [4 /*yield*/, this.Credentials.clear()];
1425
+ case 5:
1426
+ _b.sent();
1427
+ _b.label = 6;
1428
+ case 6:
1425
1429
  clientMetadata = this._config.clientMetadata;
1426
- // refresh the session if the session expired.
1427
- user.getSession(function (err, session) { return tslib_1.__awaiter(_this, void 0, void 0, function () {
1428
- var cleanUpError_5, bypassCache, clientMetadata, _a, scope;
1429
- var _this = this;
1430
- return tslib_1.__generator(this, function (_b) {
1431
- switch (_b.label) {
1432
- case 0:
1433
- if (!err) return [3 /*break*/, 5];
1434
- logger.debug('Failed to get the user session', err);
1435
- if (!this.isSessionInvalid(err)) return [3 /*break*/, 4];
1436
- _b.label = 1;
1437
- case 1:
1438
- _b.trys.push([1, 3, , 4]);
1439
- return [4 /*yield*/, this.cleanUpInvalidSession(user)];
1440
- case 2:
1441
- _b.sent();
1442
- return [3 /*break*/, 4];
1443
- case 3:
1444
- cleanUpError_5 = _b.sent();
1445
- rej(new Error("Session is invalid due to: " + err.message + " and failed to clean up invalid session: " + cleanUpError_5.message));
1446
- return [2 /*return*/];
1447
- case 4:
1448
- rej(err);
1449
- return [2 /*return*/];
1450
- case 5:
1451
- bypassCache = params ? params.bypassCache : false;
1452
- if (!bypassCache) return [3 /*break*/, 7];
1453
- return [4 /*yield*/, this.Credentials.clear()];
1454
- case 6:
1455
- _b.sent();
1456
- _b.label = 7;
1457
- case 7:
1458
- clientMetadata = this._config.clientMetadata;
1459
- _a = session.getAccessToken().decodePayload().scope, scope = _a === void 0 ? '' : _a;
1460
- if (scope.split(' ').includes(USER_ADMIN_SCOPE)) {
1461
- user.getUserData(function (err, data) { return tslib_1.__awaiter(_this, void 0, void 0, function () {
1462
- var cleanUpError_6, preferredMFA, attributeList, i, attribute, userAttribute, attributes;
1463
- return tslib_1.__generator(this, function (_a) {
1464
- switch (_a.label) {
1465
- case 0:
1466
- if (!err) return [3 /*break*/, 7];
1467
- logger.debug('getting user data failed', err);
1468
- if (!this.isSessionInvalid(err)) return [3 /*break*/, 5];
1469
- _a.label = 1;
1470
- case 1:
1471
- _a.trys.push([1, 3, , 4]);
1472
- return [4 /*yield*/, this.cleanUpInvalidSession(user)];
1473
- case 2:
1474
- _a.sent();
1475
- return [3 /*break*/, 4];
1476
- case 3:
1477
- cleanUpError_6 = _a.sent();
1478
- rej(new Error("Session is invalid due to: " + err.message + " and failed to clean up invalid session: " + cleanUpError_6.message));
1479
- return [2 /*return*/];
1480
- case 4:
1481
- rej(err);
1482
- return [3 /*break*/, 6];
1483
- case 5:
1484
- res(user);
1485
- _a.label = 6;
1486
- case 6: return [2 /*return*/];
1487
- case 7:
1488
- preferredMFA = data.PreferredMfaSetting || 'NOMFA';
1489
- attributeList = [];
1490
- for (i = 0; i < data.UserAttributes.length; i++) {
1491
- attribute = {
1492
- Name: data.UserAttributes[i].Name,
1493
- Value: data.UserAttributes[i].Value,
1494
- };
1495
- userAttribute = new amazon_cognito_identity_js_1.CognitoUserAttribute(attribute);
1496
- attributeList.push(userAttribute);
1497
- }
1498
- attributes = this.attributesToObject(attributeList);
1499
- Object.assign(user, { attributes: attributes, preferredMFA: preferredMFA });
1500
- return [2 /*return*/, res(user)];
1501
- }
1502
- });
1503
- }); }, { bypassCache: bypassCache, clientMetadata: clientMetadata });
1504
- }
1505
- else {
1506
- logger.debug("Unable to get the user data because the " + USER_ADMIN_SCOPE + " " +
1507
- "is not in the scopes of the access token");
1430
+ _a = session.getAccessToken().decodePayload().scope, scope = _a === void 0 ? '' : _a;
1431
+ if (scope.split(' ').includes(USER_ADMIN_SCOPE)) {
1432
+ user.getUserData(function (err, data) { return tslib_1.__awaiter(_this, void 0, void 0, function () {
1433
+ var cleanUpError_5, preferredMFA, attributeList, i, attribute, userAttribute, attributes;
1434
+ return tslib_1.__generator(this, function (_a) {
1435
+ switch (_a.label) {
1436
+ case 0:
1437
+ if (!err) return [3 /*break*/, 7];
1438
+ logger.debug('getting user data failed', err);
1439
+ if (!this.isSessionInvalid(err)) return [3 /*break*/, 5];
1440
+ _a.label = 1;
1441
+ case 1:
1442
+ _a.trys.push([1, 3, , 4]);
1443
+ return [4 /*yield*/, this.cleanUpInvalidSession(user)];
1444
+ case 2:
1445
+ _a.sent();
1446
+ return [3 /*break*/, 4];
1447
+ case 3:
1448
+ cleanUpError_5 = _a.sent();
1449
+ rej(new Error("Session is invalid due to: " + err.message + " and failed to clean up invalid session: " + cleanUpError_5.message));
1450
+ return [2 /*return*/];
1451
+ case 4:
1452
+ rej(err);
1453
+ return [3 /*break*/, 6];
1454
+ case 5:
1455
+ res(user);
1456
+ _a.label = 6;
1457
+ case 6: return [2 /*return*/];
1458
+ case 7:
1459
+ preferredMFA = data.PreferredMfaSetting || 'NOMFA';
1460
+ attributeList = [];
1461
+ for (i = 0; i < data.UserAttributes.length; i++) {
1462
+ attribute = {
1463
+ Name: data.UserAttributes[i].Name,
1464
+ Value: data.UserAttributes[i].Value,
1465
+ };
1466
+ userAttribute = new amazon_cognito_identity_js_1.CognitoUserAttribute(attribute);
1467
+ attributeList.push(userAttribute);
1468
+ }
1469
+ attributes = this.attributesToObject(attributeList);
1470
+ Object.assign(user, { attributes: attributes, preferredMFA: preferredMFA });
1508
1471
  return [2 /*return*/, res(user)];
1509
- }
1510
- return [2 /*return*/];
1511
- }
1512
- });
1513
- }); }, { clientMetadata: clientMetadata });
1514
- return [2 /*return*/];
1472
+ }
1473
+ });
1474
+ }); }, { bypassCache: bypassCache, clientMetadata: clientMetadata });
1475
+ }
1476
+ else {
1477
+ logger.debug("Unable to get the user data because the " + USER_ADMIN_SCOPE + " " +
1478
+ "is not in the scopes of the access token");
1479
+ return [2 /*return*/, res(user)];
1480
+ }
1481
+ return [3 /*break*/, 8];
1482
+ case 7:
1483
+ err_1 = _b.sent();
1484
+ rej(err_1);
1485
+ return [3 /*break*/, 8];
1486
+ case 8: return [2 /*return*/];
1515
1487
  }
1516
1488
  });
1517
1489
  }); })
@@ -1621,50 +1593,73 @@ var AuthClass = /** @class */ (function () {
1621
1593
  });
1622
1594
  });
1623
1595
  };
1596
+ AuthClass.prototype._userSession = function (user) {
1597
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
1598
+ var clientMetadata;
1599
+ var _this = this;
1600
+ return tslib_1.__generator(this, function (_a) {
1601
+ switch (_a.label) {
1602
+ case 0:
1603
+ if (!user) {
1604
+ logger.debug('the user is null');
1605
+ return [2 /*return*/, this.rejectAuthError(Auth_1.AuthErrorTypes.NoUserSession)];
1606
+ }
1607
+ clientMetadata = this._config.clientMetadata;
1608
+ // Debouncing the concurrent userSession calls by caching the promise.
1609
+ // This solution asumes users will always call this function with the same CognitoUser instance.
1610
+ if (!this.inflightSessionPromise) {
1611
+ this.inflightSessionPromise = new Promise(function (res, rej) {
1612
+ user.getSession(function (err, session) { return tslib_1.__awaiter(_this, void 0, void 0, function () {
1613
+ var cleanUpError_6;
1614
+ return tslib_1.__generator(this, function (_a) {
1615
+ switch (_a.label) {
1616
+ case 0:
1617
+ if (!err) return [3 /*break*/, 5];
1618
+ logger.debug('Failed to get the session from user', user);
1619
+ if (!this.isSessionInvalid(err)) return [3 /*break*/, 4];
1620
+ _a.label = 1;
1621
+ case 1:
1622
+ _a.trys.push([1, 3, , 4]);
1623
+ return [4 /*yield*/, this.cleanUpInvalidSession(user)];
1624
+ case 2:
1625
+ _a.sent();
1626
+ return [3 /*break*/, 4];
1627
+ case 3:
1628
+ cleanUpError_6 = _a.sent();
1629
+ rej(new Error("Session is invalid due to: " + err.message + " and failed to clean up invalid session: " + cleanUpError_6.message));
1630
+ return [2 /*return*/];
1631
+ case 4:
1632
+ rej(err);
1633
+ return [2 /*return*/];
1634
+ case 5:
1635
+ logger.debug('Succeed to get the user session', session);
1636
+ res(session);
1637
+ return [2 /*return*/];
1638
+ }
1639
+ });
1640
+ }); }, { clientMetadata: clientMetadata });
1641
+ });
1642
+ }
1643
+ _a.label = 1;
1644
+ case 1:
1645
+ _a.trys.push([1, , 3, 4]);
1646
+ return [4 /*yield*/, this.inflightSessionPromise];
1647
+ case 2: return [2 /*return*/, _a.sent()];
1648
+ case 3:
1649
+ this.inflightSessionPromise = null;
1650
+ return [7 /*endfinally*/];
1651
+ case 4: return [2 /*return*/];
1652
+ }
1653
+ });
1654
+ });
1655
+ };
1624
1656
  /**
1625
1657
  * Get the corresponding user session
1626
1658
  * @param {Object} user - The CognitoUser object
1627
1659
  * @return - A promise resolves to the session
1628
1660
  */
1629
1661
  AuthClass.prototype.userSession = function (user) {
1630
- var _this = this;
1631
- if (!user) {
1632
- logger.debug('the user is null');
1633
- return this.rejectAuthError(Auth_1.AuthErrorTypes.NoUserSession);
1634
- }
1635
- var clientMetadata = this._config.clientMetadata; // TODO: verify behavior if this is override during signIn
1636
- return new Promise(function (res, rej) {
1637
- logger.debug('Getting the session from this user:', user);
1638
- user.getSession(function (err, session) { return tslib_1.__awaiter(_this, void 0, void 0, function () {
1639
- var cleanUpError_7;
1640
- return tslib_1.__generator(this, function (_a) {
1641
- switch (_a.label) {
1642
- case 0:
1643
- if (!err) return [3 /*break*/, 5];
1644
- logger.debug('Failed to get the session from user', user);
1645
- if (!this.isSessionInvalid(err)) return [3 /*break*/, 4];
1646
- _a.label = 1;
1647
- case 1:
1648
- _a.trys.push([1, 3, , 4]);
1649
- return [4 /*yield*/, this.cleanUpInvalidSession(user)];
1650
- case 2:
1651
- _a.sent();
1652
- return [3 /*break*/, 4];
1653
- case 3:
1654
- cleanUpError_7 = _a.sent();
1655
- rej(new Error("Session is invalid due to: " + err.message + " and failed to clean up invalid session: " + cleanUpError_7.message));
1656
- return [2 /*return*/];
1657
- case 4:
1658
- rej(err);
1659
- return [2 /*return*/];
1660
- case 5:
1661
- logger.debug('Succeed to get the user session', session);
1662
- res(session);
1663
- return [2 /*return*/];
1664
- }
1665
- });
1666
- }); }, { clientMetadata: clientMetadata });
1667
- });
1662
+ return this._userSession(user);
1668
1663
  };
1669
1664
  /**
1670
1665
  * Get authenticated credentials of current user.
@@ -1808,7 +1803,7 @@ var AuthClass = /** @class */ (function () {
1808
1803
  // we must validate the user as an authenticated user by using getSession
1809
1804
  var clientMetadata = _this._config.clientMetadata; // TODO: verify behavior if this is override during signIn
1810
1805
  user.getSession(function (err, result) { return tslib_1.__awaiter(_this, void 0, void 0, function () {
1811
- var cleanUpError_8;
1806
+ var cleanUpError_7;
1812
1807
  var _this = this;
1813
1808
  return tslib_1.__generator(this, function (_a) {
1814
1809
  switch (_a.label) {
@@ -1824,8 +1819,8 @@ var AuthClass = /** @class */ (function () {
1824
1819
  _a.sent();
1825
1820
  return [3 /*break*/, 4];
1826
1821
  case 3:
1827
- cleanUpError_8 = _a.sent();
1828
- rej(new Error("Session is invalid due to: " + err.message + " and failed to clean up invalid session: " + cleanUpError_8.message));
1822
+ cleanUpError_7 = _a.sent();
1823
+ rej(new Error("Session is invalid due to: " + err.message + " and failed to clean up invalid session: " + cleanUpError_7.message));
1829
1824
  return [2 /*return*/];
1830
1825
  case 4: return [2 /*return*/, rej(err)];
1831
1826
  case 5:
@@ -2049,7 +2044,7 @@ var AuthClass = /** @class */ (function () {
2049
2044
  */
2050
2045
  AuthClass.prototype.currentUserInfo = function () {
2051
2046
  return tslib_1.__awaiter(this, void 0, void 0, function () {
2052
- var source, user, attributes, userAttrs, credentials, e_12, info, err_1, user;
2047
+ var source, user, attributes, userAttrs, credentials, e_12, info, err_2, user;
2053
2048
  return tslib_1.__generator(this, function (_a) {
2054
2049
  switch (_a.label) {
2055
2050
  case 0:
@@ -2090,8 +2085,8 @@ var AuthClass = /** @class */ (function () {
2090
2085
  };
2091
2086
  return [2 /*return*/, info];
2092
2087
  case 8:
2093
- err_1 = _a.sent();
2094
- logger.error('currentUserInfo error', err_1);
2088
+ err_2 = _a.sent();
2089
+ logger.error('currentUserInfo error', err_2);
2095
2090
  return [2 /*return*/, {}];
2096
2091
  case 9:
2097
2092
  if (source === 'federated') {
@@ -2172,7 +2167,7 @@ var AuthClass = /** @class */ (function () {
2172
2167
  */
2173
2168
  AuthClass.prototype._handleAuthResponse = function (URL) {
2174
2169
  return tslib_1.__awaiter(this, void 0, void 0, function () {
2175
- var currentUrl, hasCodeOrError, hasTokenOrError, _a, accessToken, idToken, refreshToken, state, session, credentials, isCustomStateIncluded, currentUser, customState, err_2;
2170
+ var currentUrl, hasCodeOrError, hasTokenOrError, _a, accessToken, idToken, refreshToken, state, session, credentials, isCustomStateIncluded, currentUser, customState, err_3;
2176
2171
  return tslib_1.__generator(this, function (_b) {
2177
2172
  switch (_b.label) {
2178
2173
  case 0:
@@ -2245,16 +2240,16 @@ var AuthClass = /** @class */ (function () {
2245
2240
  //#endregion
2246
2241
  return [2 /*return*/, credentials];
2247
2242
  case 6:
2248
- err_2 = _b.sent();
2249
- logger.debug('Error in cognito hosted auth response', err_2);
2243
+ err_3 = _b.sent();
2244
+ logger.debug('Error in cognito hosted auth response', err_3);
2250
2245
  // Just like a successful handling of `?code`, replace the window history to "dispose" of the `code`.
2251
2246
  // Otherwise, reloading the page will throw errors as the `code` has already been spent.
2252
2247
  if (window && typeof window.history !== 'undefined') {
2253
2248
  window.history.replaceState({}, null, this._config.oauth.redirectSignIn);
2254
2249
  }
2255
- dispatchAuthEvent('signIn_failure', err_2, "The OAuth response flow failed");
2256
- dispatchAuthEvent('cognitoHostedUI_failure', err_2, "A failure occurred when returning to the Cognito Hosted UI");
2257
- dispatchAuthEvent('customState_failure', err_2, "A failure occurred when returning state");
2250
+ dispatchAuthEvent('signIn_failure', err_3, "The OAuth response flow failed");
2251
+ dispatchAuthEvent('cognitoHostedUI_failure', err_3, "A failure occurred when returning to the Cognito Hosted UI");
2252
+ dispatchAuthEvent('customState_failure', err_3, "A failure occurred when returning state");
2258
2253
  return [3 /*break*/, 7];
2259
2254
  case 7: return [3 /*break*/, 9];
2260
2255
  case 8: