{"version":3,"sources":["webpack:///./node_modules/@aws-amplify/ui-components/dist/esm-es5/constants-c8ecaa24.js","webpack:///./node_modules/@aws-amplify/core/lib-esm/StorageHelper/index.js","webpack:///./node_modules/@aws-amplify/core/lib-esm/Util/Retry.js","webpack:///./node_modules/@aws-amplify/core/lib-esm/OAuthHelper/GoogleOAuth.js","webpack:///./node_modules/@aws-amplify/core/lib-esm/OAuthHelper/FacebookOAuth.js","webpack:///./node_modules/@aws-amplify/core/lib-esm/OAuthHelper/index.js","webpack:///./node_modules/@aws-amplify/core/lib-esm/Credentials.js","webpack:///./node_modules/@aws-amplify/core/lib-esm/Platform/version.js","webpack:///./node_modules/@aws-amplify/core/lib-esm/Platform/index.js"],"names":["USERNAME_SUFFIX","EMAIL_SUFFIX","CODE_SUFFIX","PHONE_SUFFIX","PASSWORD_SUFFIX","COUNTRY_DIAL_CODE_SUFFIX","COUNTRY_DIAL_CODE_DEFAULT","AUTH_SOURCE_KEY","PHONE_EMPTY_ERROR_MESSAGE","NO_AUTH_MODULE_FOUND","NO_STORAGE_MODULE_FOUND","NO_INTERACTIONS_MODULE_FOUND","USER_NOT_SETUP_SOFTWARE_TOKEN_MFA","USER_NOT_VERIFIED_SOFTWARE_TOKEN_MFA","AUTH_CHANNEL","UI_AUTH_CHANNEL","TOAST_AUTH_ERROR_EVENT","AUTH_STATE_CHANGE_EVENT","dataMemory","MemoryStorage","setItem","key","value","getItem","Object","prototype","hasOwnProperty","call","undefined","removeItem","clear","StorageHelper","this","storageWindow","window","localStorage","exception","getStorage","__extends","extendStatics","d","b","setPrototypeOf","__proto__","Array","p","__","constructor","create","__awaiter","thisArg","_arguments","P","generator","adopt","resolve","Promise","reject","fulfilled","step","next","e","rejected","result","done","then","apply","__generator","body","f","y","t","g","_","label","sent","trys","ops","verb","Symbol","iterator","n","v","op","TypeError","pop","length","push","__read","o","m","r","i","ar","error","__spread","arguments","concat","logger","NonRetryableError","_super","message","_this","nonRetryable","Error","isNonRetryableError","obj","retry","functionToRetry","args","delayFn","attempt","err_1","retryIn_1","_a","debug","name","JSON","stringify","res","setTimeout","jitteredBackoff","maxDelayMs","BASE_TIME_MS","JITTER_FACTOR","delay","Math","pow","random","jitteredExponentialRetry","waitForInit","rej","isBrowser","ga","auth2","GoogleOAuth","initialized","refreshGoogleToken","bind","_refreshGoogleTokenImpl","getAuthInstance","googleAuth","googleUser","currentUser","get","isSignedIn","reloadAuthResponse","authResponse","id_token","expires_at","token","catch","err","fb","FacebookOAuth","refreshFacebookToken","_refreshFacebookTokenImpl","errorMessage","getLoginStatus","fbResponse","response","accessToken","expiresIn","date","Date","getTime","scope","__assign","assign","s","CREDENTIALS_TTL","COGNITO_IDENTITY_KEY_PREFIX","CredentialsClass","config","_gettingCredPromise","_refreshHandlers","Auth","configure","getModuleName","getCredSource","_credentials_source","_config","refreshHandlers","_storage","storage","_storageSync","_pickupCredentials","_getCognitoIdentityIdStorageKey","identityPoolId","isPending","_keepAlive","cred","user_1","session","refreshToken_1","refreshRequest","_b","_credentials","_isExpired","_isPastTTL","Amplify","currentUserCredentials","currentUserPoolUser","currentSession","refreshToken","refreshSession","data","refreshFederatedToken","federatedInfo","provider","user","identity_id","getFullYear","that","_setCredentialsFromFederation","_providerRefreshWithRetry","refreshHandler","MAX_DELAY_MS","isNetworkError","toLowerCase","lastIndexOf","credentials","ts","now","expiration","_nextCredentialsRefresh","_setCredentialsForGuest","region","mandatorySignIn","identityId","cognitoClient","cognitoIdentityParams","credentialsProvider","_c","_getGuestIdentityId","_identityId","CognitoIdentityClient","customUserAgent","client","fromCognitoIdentity","IdentityId","credentialsFromCognitoIdentity","send","GetIdCommand","IdentityPoolId","_loadCredentials","_removeGuestIdentityId","params","domains","google","facebook","amazon","developer","domain","logins","fromCognitoIdentityPool","_setCredentialsFromSession","idToken","getIdToken","getJwtToken","userPoolId","guestIdentityId","generatedOrRetrievedIdentityId","AccessKeyId","Expiration","SecretKey","SessionToken","primaryIdentityId","Logins","GetCredentialsForIdentityCommand","Credentials","accessKeyId","secretAccessKey","sessionToken","source","authenticated","info","id","_setGuestIdentityId","set","e_1","e_2","shear","register","version","BASE_USER_AGENT","Platform","userAgent","product","navigator","isReactNative","getAmplifyUserAgent"],"mappings":"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","file":"js/chunk-720834b1.8ce254bf.js","sourcesContent":["// Dictionaries\n// fieldId constants\nvar USERNAME_SUFFIX = 'username';\nvar EMAIL_SUFFIX = 'email';\nvar CODE_SUFFIX = 'code';\nvar PHONE_SUFFIX = 'phone';\nvar PASSWORD_SUFFIX = 'password';\n// Country Dial Code common constants\nvar COUNTRY_DIAL_CODE_SUFFIX = 'country-dial-code-select';\nvar COUNTRY_DIAL_CODE_DEFAULT = '+1';\n// Auth Keys\nvar AUTH_SOURCE_KEY = 'amplify-auth-source';\n// Error message Common Constants\nvar PHONE_EMPTY_ERROR_MESSAGE = 'Phone number can not be empty';\nvar NO_AUTH_MODULE_FOUND = 'No Auth module found, please ensure @aws-amplify/auth is imported';\nvar NO_STORAGE_MODULE_FOUND = 'No Storage module found, please ensure @aws-amplify/storage is imported';\nvar NO_INTERACTIONS_MODULE_FOUND = 'No Interactions module found, please ensure @aws-amplify/interactions is imported';\n// Select MFA Types Messages\nvar USER_NOT_SETUP_SOFTWARE_TOKEN_MFA = 'User has not set up software token mfa';\nvar USER_NOT_VERIFIED_SOFTWARE_TOKEN_MFA = 'User has not verified software token mfa';\n// Hub Events and Channels\nvar AUTH_CHANNEL = 'auth';\nvar UI_AUTH_CHANNEL = 'UI Auth';\nvar TOAST_AUTH_ERROR_EVENT = 'ToastAuthError';\nvar AUTH_STATE_CHANGE_EVENT = 'AuthStateChange';\nexport { AUTH_CHANNEL as A, COUNTRY_DIAL_CODE_SUFFIX as C, EMAIL_SUFFIX as E, NO_AUTH_MODULE_FOUND as N, PHONE_EMPTY_ERROR_MESSAGE as P, TOAST_AUTH_ERROR_EVENT as T, UI_AUTH_CHANNEL as U, AUTH_STATE_CHANGE_EVENT as a, PHONE_SUFFIX as b, NO_INTERACTIONS_MODULE_FOUND as c, NO_STORAGE_MODULE_FOUND as d, USER_NOT_SETUP_SOFTWARE_TOKEN_MFA as e, USER_NOT_VERIFIED_SOFTWARE_TOKEN_MFA as f, COUNTRY_DIAL_CODE_DEFAULT as g, AUTH_SOURCE_KEY as h, CODE_SUFFIX as i, PASSWORD_SUFFIX as j, USERNAME_SUFFIX as k };\n","/*\n * Copyright 2017-2017 Amazon.com, Inc. or its affiliates. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"). You may not use this file except in compliance with\n * the License. A copy of the License is located at\n *\n * http://aws.amazon.com/apache2.0/\n *\n * or in the \"license\" file accompanying this file. This file is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR\n * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions\n * and limitations under the License.\n */\nvar dataMemory = {};\n/** @class */\nvar MemoryStorage = /** @class */ (function () {\n function MemoryStorage() {\n }\n /**\n * This is used to set a specific item in storage\n * @param {string} key - the key for the item\n * @param {object} value - the value\n * @returns {string} value that was set\n */\n MemoryStorage.setItem = function (key, value) {\n dataMemory[key] = value;\n return dataMemory[key];\n };\n /**\n * This is used to get a specific key from storage\n * @param {string} key - the key for the item\n * This is used to clear the storage\n * @returns {string} the data item\n */\n MemoryStorage.getItem = function (key) {\n return Object.prototype.hasOwnProperty.call(dataMemory, key)\n ? dataMemory[key]\n : undefined;\n };\n /**\n * This is used to remove an item from storage\n * @param {string} key - the key being set\n * @returns {string} value - value that was deleted\n */\n MemoryStorage.removeItem = function (key) {\n return delete dataMemory[key];\n };\n /**\n * This is used to clear the storage\n * @returns {string} nothing\n */\n MemoryStorage.clear = function () {\n dataMemory = {};\n return dataMemory;\n };\n return MemoryStorage;\n}());\nexport { MemoryStorage };\nvar StorageHelper = /** @class */ (function () {\n /**\n * This is used to get a storage object\n * @returns {object} the storage\n */\n function StorageHelper() {\n try {\n this.storageWindow = window.localStorage;\n this.storageWindow.setItem('aws.amplify.test-ls', 1);\n this.storageWindow.removeItem('aws.amplify.test-ls');\n }\n catch (exception) {\n this.storageWindow = MemoryStorage;\n }\n }\n /**\n * This is used to return the storage\n * @returns {object} the storage\n */\n StorageHelper.prototype.getStorage = function () {\n return this.storageWindow;\n };\n return StorageHelper;\n}());\nexport { StorageHelper };\n/**\n * @deprecated use named import\n */\nexport default StorageHelper;\n//# sourceMappingURL=index.js.map","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __read = (this && this.__read) || function (o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n};\nvar __spread = (this && this.__spread) || function () {\n for (var ar = [], i = 0; i < arguments.length; i++) ar = ar.concat(__read(arguments[i]));\n return ar;\n};\nimport { ConsoleLogger as Logger } from '../Logger/ConsoleLogger';\nvar logger = new Logger('Util');\nvar NonRetryableError = /** @class */ (function (_super) {\n __extends(NonRetryableError, _super);\n function NonRetryableError(message) {\n var _this = _super.call(this, message) || this;\n _this.nonRetryable = true;\n return _this;\n }\n return NonRetryableError;\n}(Error));\nexport { NonRetryableError };\nvar isNonRetryableError = function (obj) {\n var key = 'nonRetryable';\n return obj && obj[key];\n};\n/**\n * @private\n * Internal use of Amplify only\n */\nexport function retry(functionToRetry, args, delayFn, attempt) {\n if (attempt === void 0) { attempt = 1; }\n return __awaiter(this, void 0, void 0, function () {\n var err_1, retryIn_1;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (typeof functionToRetry !== 'function') {\n throw Error('functionToRetry must be a function');\n }\n logger.debug(functionToRetry.name + \" attempt #\" + attempt + \" with this vars: \" + JSON.stringify(args));\n _a.label = 1;\n case 1:\n _a.trys.push([1, 3, , 8]);\n return [4 /*yield*/, functionToRetry.apply(void 0, __spread(args))];\n case 2: return [2 /*return*/, _a.sent()];\n case 3:\n err_1 = _a.sent();\n logger.debug(\"error on \" + functionToRetry.name, err_1);\n if (isNonRetryableError(err_1)) {\n logger.debug(functionToRetry.name + \" non retryable error\", err_1);\n throw err_1;\n }\n retryIn_1 = delayFn(attempt, args, err_1);\n logger.debug(functionToRetry.name + \" retrying in \" + retryIn_1 + \" ms\");\n if (!(retryIn_1 !== false)) return [3 /*break*/, 6];\n return [4 /*yield*/, new Promise(function (res) { return setTimeout(res, retryIn_1); })];\n case 4:\n _a.sent();\n return [4 /*yield*/, retry(functionToRetry, args, delayFn, attempt + 1)];\n case 5: return [2 /*return*/, _a.sent()];\n case 6: throw err_1;\n case 7: return [3 /*break*/, 8];\n case 8: return [2 /*return*/];\n }\n });\n });\n}\nvar MAX_DELAY_MS = 5 * 60 * 1000;\nfunction jitteredBackoff(maxDelayMs) {\n var BASE_TIME_MS = 100;\n var JITTER_FACTOR = 100;\n return function (attempt) {\n var delay = Math.pow(2, attempt) * BASE_TIME_MS + JITTER_FACTOR * Math.random();\n return delay > maxDelayMs ? false : delay;\n };\n}\n/**\n * @private\n * Internal use of Amplify only\n */\nexport var jitteredExponentialRetry = function (functionToRetry, args, maxDelayMs) {\n if (maxDelayMs === void 0) { maxDelayMs = MAX_DELAY_MS; }\n return retry(functionToRetry, args, jitteredBackoff(maxDelayMs));\n};\n//# sourceMappingURL=Retry.js.map","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\n/*\n * Copyright 2017-2017 Amazon.com, Inc. or its affiliates. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"). You may not use this file except in compliance with\n * the License. A copy of the License is located at\n *\n * http://aws.amazon.com/apache2.0/\n *\n * or in the \"license\" file accompanying this file. This file is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR\n * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions\n * and limitations under the License.\n */\nimport { ConsoleLogger as Logger } from '../Logger';\nimport { browserOrNode } from '../JS';\nimport { NonRetryableError } from '../Util';\nvar logger = new Logger('CognitoCredentials');\nvar waitForInit = new Promise(function (res, rej) {\n if (!browserOrNode().isBrowser) {\n logger.debug('not in the browser, directly resolved');\n return res();\n }\n var ga = window['gapi'] && window['gapi'].auth2 ? window['gapi'].auth2 : null;\n if (ga) {\n logger.debug('google api already loaded');\n return res();\n }\n else {\n setTimeout(function () {\n return res();\n }, 2000);\n }\n});\nvar GoogleOAuth = /** @class */ (function () {\n function GoogleOAuth() {\n this.initialized = false;\n this.refreshGoogleToken = this.refreshGoogleToken.bind(this);\n this._refreshGoogleTokenImpl = this._refreshGoogleTokenImpl.bind(this);\n }\n GoogleOAuth.prototype.refreshGoogleToken = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!!this.initialized) return [3 /*break*/, 2];\n logger.debug('need to wait for the Google SDK loaded');\n return [4 /*yield*/, waitForInit];\n case 1:\n _a.sent();\n this.initialized = true;\n logger.debug('finish waiting');\n _a.label = 2;\n case 2: return [2 /*return*/, this._refreshGoogleTokenImpl()];\n }\n });\n });\n };\n GoogleOAuth.prototype._refreshGoogleTokenImpl = function () {\n var ga = null;\n if (browserOrNode().isBrowser)\n ga = window['gapi'] && window['gapi'].auth2 ? window['gapi'].auth2 : null;\n if (!ga) {\n logger.debug('no gapi auth2 available');\n return Promise.reject('no gapi auth2 available');\n }\n return new Promise(function (res, rej) {\n ga.getAuthInstance()\n .then(function (googleAuth) {\n if (!googleAuth) {\n logger.debug('google Auth undefined');\n rej(new NonRetryableError('google Auth undefined'));\n }\n var googleUser = googleAuth.currentUser.get();\n // refresh the token\n if (googleUser.isSignedIn()) {\n logger.debug('refreshing the google access token');\n googleUser\n .reloadAuthResponse()\n .then(function (authResponse) {\n var id_token = authResponse.id_token, expires_at = authResponse.expires_at;\n res({ token: id_token, expires_at: expires_at });\n })\n .catch(function (err) {\n if (err && err.error === 'network_error') {\n // Not using NonRetryableError so handler will be retried\n rej('Network error reloading google auth response');\n }\n else {\n rej(new NonRetryableError('Failed to reload google auth response'));\n }\n });\n }\n else {\n rej(new NonRetryableError('User is not signed in with Google'));\n }\n })\n .catch(function (err) {\n logger.debug('Failed to refresh google token', err);\n rej(new NonRetryableError('Failed to refresh google token'));\n });\n });\n };\n return GoogleOAuth;\n}());\nexport { GoogleOAuth };\n/**\n * @deprecated use named import\n */\nexport default GoogleOAuth;\n//# sourceMappingURL=GoogleOAuth.js.map","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\n/*\n * Copyright 2017-2017 Amazon.com, Inc. or its affiliates. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"). You may not use this file except in compliance with\n * the License. A copy of the License is located at\n *\n * http://aws.amazon.com/apache2.0/\n *\n * or in the \"license\" file accompanying this file. This file is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR\n * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions\n * and limitations under the License.\n */\nimport { ConsoleLogger as Logger } from '../Logger';\nimport { browserOrNode } from '../JS';\nimport { NonRetryableError } from '../Util';\nvar logger = new Logger('CognitoCredentials');\nvar waitForInit = new Promise(function (res, rej) {\n if (!browserOrNode().isBrowser) {\n logger.debug('not in the browser, directly resolved');\n return res();\n }\n var fb = window['FB'];\n if (fb) {\n logger.debug('FB SDK already loaded');\n return res();\n }\n else {\n setTimeout(function () {\n return res();\n }, 2000);\n }\n});\nvar FacebookOAuth = /** @class */ (function () {\n function FacebookOAuth() {\n this.initialized = false;\n this.refreshFacebookToken = this.refreshFacebookToken.bind(this);\n this._refreshFacebookTokenImpl = this._refreshFacebookTokenImpl.bind(this);\n }\n FacebookOAuth.prototype.refreshFacebookToken = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!!this.initialized) return [3 /*break*/, 2];\n logger.debug('need to wait for the Facebook SDK loaded');\n return [4 /*yield*/, waitForInit];\n case 1:\n _a.sent();\n this.initialized = true;\n logger.debug('finish waiting');\n _a.label = 2;\n case 2: return [2 /*return*/, this._refreshFacebookTokenImpl()];\n }\n });\n });\n };\n FacebookOAuth.prototype._refreshFacebookTokenImpl = function () {\n var fb = null;\n if (browserOrNode().isBrowser)\n fb = window['FB'];\n if (!fb) {\n var errorMessage = 'no fb sdk available';\n logger.debug(errorMessage);\n return Promise.reject(new NonRetryableError(errorMessage));\n }\n return new Promise(function (res, rej) {\n fb.getLoginStatus(function (fbResponse) {\n if (!fbResponse || !fbResponse.authResponse) {\n var errorMessage = 'no response from facebook when refreshing the jwt token';\n logger.debug(errorMessage);\n // There is no definitive indication for a network error in\n // fbResponse, so we are treating it as an invalid token.\n rej(new NonRetryableError(errorMessage));\n }\n else {\n var response = fbResponse.authResponse;\n var accessToken = response.accessToken, expiresIn = response.expiresIn;\n var date = new Date();\n var expires_at = expiresIn * 1000 + date.getTime();\n if (!accessToken) {\n var errorMessage = 'the jwtToken is undefined';\n logger.debug(errorMessage);\n rej(new NonRetryableError(errorMessage));\n }\n res({\n token: accessToken,\n expires_at: expires_at,\n });\n }\n }, { scope: 'public_profile,email' });\n });\n };\n return FacebookOAuth;\n}());\nexport { FacebookOAuth };\n/**\n * @deprecated use named import\n */\nexport default FacebookOAuth;\n//# sourceMappingURL=FacebookOAuth.js.map","/*\n * Copyright 2017-2017 Amazon.com, Inc. or its affiliates. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"). You may not use this file except in compliance with\n * the License. A copy of the License is located at\n *\n * http://aws.amazon.com/apache2.0/\n *\n * or in the \"license\" file accompanying this file. This file is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR\n * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions\n * and limitations under the License.\n */\nimport { GoogleOAuth as GoogleOAuthClass } from './GoogleOAuth';\nimport { FacebookOAuth as FacebookOAuthClass } from './FacebookOAuth';\nexport var GoogleOAuth = new GoogleOAuthClass();\nexport var FacebookOAuth = new FacebookOAuthClass();\n//# sourceMappingURL=index.js.map","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nimport { ConsoleLogger as Logger } from './Logger';\nimport { StorageHelper } from './StorageHelper';\nimport { makeQuerablePromise } from './JS';\nimport { FacebookOAuth, GoogleOAuth } from './OAuthHelper';\nimport { jitteredExponentialRetry } from './Util';\nimport { getAmplifyUserAgent } from './Platform';\nimport { Amplify } from './Amplify';\nimport { fromCognitoIdentity, fromCognitoIdentityPool, } from '@aws-sdk/credential-provider-cognito-identity';\nimport { CognitoIdentityClient, GetIdCommand, GetCredentialsForIdentityCommand, } from '@aws-sdk/client-cognito-identity';\nvar logger = new Logger('Credentials');\nvar CREDENTIALS_TTL = 50 * 60 * 1000; // 50 min, can be modified on config if required in the future\nvar COGNITO_IDENTITY_KEY_PREFIX = 'CognitoIdentityId-';\nvar CredentialsClass = /** @class */ (function () {\n function CredentialsClass(config) {\n this._gettingCredPromise = null;\n this._refreshHandlers = {};\n // Allow `Auth` to be injected for SSR, but Auth isn't a required dependency for Credentials\n this.Auth = undefined;\n this.configure(config);\n this._refreshHandlers['google'] = GoogleOAuth.refreshGoogleToken;\n this._refreshHandlers['facebook'] = FacebookOAuth.refreshFacebookToken;\n }\n CredentialsClass.prototype.getModuleName = function () {\n return 'Credentials';\n };\n CredentialsClass.prototype.getCredSource = function () {\n return this._credentials_source;\n };\n CredentialsClass.prototype.configure = function (config) {\n if (!config)\n return this._config || {};\n this._config = Object.assign({}, this._config, config);\n var refreshHandlers = this._config.refreshHandlers;\n // If the developer has provided an object of refresh handlers,\n // then we can merge the provided handlers with the current handlers.\n if (refreshHandlers) {\n this._refreshHandlers = __assign(__assign({}, this._refreshHandlers), refreshHandlers);\n }\n this._storage = this._config.storage;\n if (!this._storage) {\n this._storage = new StorageHelper().getStorage();\n }\n this._storageSync = Promise.resolve();\n if (typeof this._storage['sync'] === 'function') {\n this._storageSync = this._storage['sync']();\n }\n return this._config;\n };\n CredentialsClass.prototype.get = function () {\n logger.debug('getting credentials');\n return this._pickupCredentials();\n };\n // currently we only store the guest identity in local storage\n CredentialsClass.prototype._getCognitoIdentityIdStorageKey = function (identityPoolId) {\n return \"\" + COGNITO_IDENTITY_KEY_PREFIX + identityPoolId;\n };\n CredentialsClass.prototype._pickupCredentials = function () {\n logger.debug('picking up credentials');\n if (!this._gettingCredPromise || !this._gettingCredPromise.isPending()) {\n logger.debug('getting new cred promise');\n this._gettingCredPromise = makeQuerablePromise(this._keepAlive());\n }\n else {\n logger.debug('getting old cred promise');\n }\n return this._gettingCredPromise;\n };\n CredentialsClass.prototype._keepAlive = function () {\n return __awaiter(this, void 0, void 0, function () {\n var cred, _a, Auth, user_1, session, refreshToken_1, refreshRequest, err_1;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n logger.debug('checking if credentials exists and not expired');\n cred = this._credentials;\n if (cred && !this._isExpired(cred) && !this._isPastTTL()) {\n logger.debug('credentials not changed and not expired, directly return');\n return [2 /*return*/, Promise.resolve(cred)];\n }\n logger.debug('need to get a new credential or refresh the existing one');\n _a = this.Auth, Auth = _a === void 0 ? Amplify.Auth : _a;\n if (!Auth || typeof Auth.currentUserCredentials !== 'function') {\n return [2 /*return*/, Promise.reject('No Auth module registered in Amplify')];\n }\n if (!(!this._isExpired(cred) && this._isPastTTL())) return [3 /*break*/, 6];\n logger.debug('ttl has passed but token is not yet expired');\n _b.label = 1;\n case 1:\n _b.trys.push([1, 5, , 6]);\n return [4 /*yield*/, Auth.currentUserPoolUser()];\n case 2:\n user_1 = _b.sent();\n return [4 /*yield*/, Auth.currentSession()];\n case 3:\n session = _b.sent();\n refreshToken_1 = session.refreshToken;\n refreshRequest = new Promise(function (res, rej) {\n user_1.refreshSession(refreshToken_1, function (err, data) {\n return err ? rej(err) : res(data);\n });\n });\n return [4 /*yield*/, refreshRequest];\n case 4:\n _b.sent(); // note that rejections will be caught and handled in the catch block.\n return [3 /*break*/, 6];\n case 5:\n err_1 = _b.sent();\n // should not throw because user might just be on guest access or is authenticated through federation\n logger.debug('Error attempting to refreshing the session', err_1);\n return [3 /*break*/, 6];\n case 6: return [2 /*return*/, Auth.currentUserCredentials()];\n }\n });\n });\n };\n CredentialsClass.prototype.refreshFederatedToken = function (federatedInfo) {\n logger.debug('Getting federated credentials');\n var provider = federatedInfo.provider, user = federatedInfo.user, token = federatedInfo.token, identity_id = federatedInfo.identity_id;\n var expires_at = federatedInfo.expires_at;\n // Make sure expires_at is in millis\n expires_at =\n new Date(expires_at).getFullYear() === 1970\n ? expires_at * 1000\n : expires_at;\n var that = this;\n logger.debug('checking if federated jwt token expired');\n if (expires_at > new Date().getTime()) {\n // if not expired\n logger.debug('token not expired');\n return this._setCredentialsFromFederation({\n provider: provider,\n token: token,\n user: user,\n identity_id: identity_id,\n expires_at: expires_at,\n });\n }\n else {\n // if refresh handler exists\n if (that._refreshHandlers[provider] &&\n typeof that._refreshHandlers[provider] === 'function') {\n logger.debug('getting refreshed jwt token from federation provider');\n return this._providerRefreshWithRetry({\n refreshHandler: that._refreshHandlers[provider],\n provider: provider,\n user: user,\n });\n }\n else {\n logger.debug('no refresh handler for provider:', provider);\n this.clear();\n return Promise.reject('no refresh handler for provider');\n }\n }\n };\n CredentialsClass.prototype._providerRefreshWithRetry = function (_a) {\n var _this = this;\n var refreshHandler = _a.refreshHandler, provider = _a.provider, user = _a.user;\n var MAX_DELAY_MS = 10 * 1000;\n // refreshHandler will retry network errors, otherwise it will\n // return NonRetryableError to break out of jitteredExponentialRetry\n return jitteredExponentialRetry(refreshHandler, [], MAX_DELAY_MS)\n .then(function (data) {\n logger.debug('refresh federated token sucessfully', data);\n return _this._setCredentialsFromFederation({\n provider: provider,\n token: data.token,\n user: user,\n identity_id: data.identity_id,\n expires_at: data.expires_at,\n });\n })\n .catch(function (e) {\n var isNetworkError = typeof e === 'string' &&\n e.toLowerCase().lastIndexOf('network error', e.length) === 0;\n if (!isNetworkError) {\n _this.clear();\n }\n logger.debug('refresh federated token failed', e);\n return Promise.reject('refreshing federation token failed: ' + e);\n });\n };\n CredentialsClass.prototype._isExpired = function (credentials) {\n if (!credentials) {\n logger.debug('no credentials for expiration check');\n return true;\n }\n logger.debug('are these credentials expired?', credentials);\n var ts = Date.now();\n /* returns date object.\n https://github.com/aws/aws-sdk-js-v3/blob/v1.0.0-beta.1/packages/types/src/credentials.ts#L26\n */\n var expiration = credentials.expiration;\n return expiration.getTime() <= ts;\n };\n CredentialsClass.prototype._isPastTTL = function () {\n return this._nextCredentialsRefresh <= Date.now();\n };\n CredentialsClass.prototype._setCredentialsForGuest = function () {\n return __awaiter(this, void 0, void 0, function () {\n var _a, identityPoolId, region, mandatorySignIn, identityId, _b, cognitoClient, credentials, cognitoIdentityParams, credentialsProvider;\n var _this = this;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n logger.debug('setting credentials for guest');\n _a = this._config, identityPoolId = _a.identityPoolId, region = _a.region, mandatorySignIn = _a.mandatorySignIn;\n if (mandatorySignIn) {\n return [2 /*return*/, Promise.reject('cannot get guest credentials when mandatory signin enabled')];\n }\n if (!identityPoolId) {\n logger.debug('No Cognito Identity pool provided for unauthenticated access');\n return [2 /*return*/, Promise.reject('No Cognito Identity pool provided for unauthenticated access')];\n }\n if (!region) {\n logger.debug('region is not configured for getting the credentials');\n return [2 /*return*/, Promise.reject('region is not configured for getting the credentials')];\n }\n _b = this;\n return [4 /*yield*/, this._getGuestIdentityId()];\n case 1:\n identityId = _b._identityId = _c.sent();\n cognitoClient = new CognitoIdentityClient({\n region: region,\n customUserAgent: getAmplifyUserAgent(),\n });\n credentials = undefined;\n if (identityId) {\n cognitoIdentityParams = {\n identityId: identityId,\n client: cognitoClient,\n };\n credentials = fromCognitoIdentity(cognitoIdentityParams)();\n }\n else {\n credentialsProvider = function () { return __awaiter(_this, void 0, void 0, function () {\n var IdentityId, cognitoIdentityParams, credentialsFromCognitoIdentity;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, cognitoClient.send(new GetIdCommand({\n IdentityPoolId: identityPoolId,\n }))];\n case 1:\n IdentityId = (_a.sent()).IdentityId;\n this._identityId = IdentityId;\n cognitoIdentityParams = {\n client: cognitoClient,\n identityId: IdentityId,\n };\n credentialsFromCognitoIdentity = fromCognitoIdentity(cognitoIdentityParams);\n return [2 /*return*/, credentialsFromCognitoIdentity()];\n }\n });\n }); };\n credentials = credentialsProvider().catch(function (err) { return __awaiter(_this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n throw err;\n });\n }); });\n }\n return [2 /*return*/, this._loadCredentials(credentials, 'guest', false, null)\n .then(function (res) {\n return res;\n })\n .catch(function (e) { return __awaiter(_this, void 0, void 0, function () {\n var credentialsProvider;\n var _this = this;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!(e.name === 'ResourceNotFoundException' &&\n e.message === \"Identity '\" + identityId + \"' not found.\")) return [3 /*break*/, 2];\n logger.debug('Failed to load guest credentials');\n return [4 /*yield*/, this._removeGuestIdentityId()];\n case 1:\n _a.sent();\n credentialsProvider = function () { return __awaiter(_this, void 0, void 0, function () {\n var IdentityId, cognitoIdentityParams, credentialsFromCognitoIdentity;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, cognitoClient.send(new GetIdCommand({\n IdentityPoolId: identityPoolId,\n }))];\n case 1:\n IdentityId = (_a.sent()).IdentityId;\n this._identityId = IdentityId;\n cognitoIdentityParams = {\n client: cognitoClient,\n identityId: IdentityId,\n };\n credentialsFromCognitoIdentity = fromCognitoIdentity(cognitoIdentityParams);\n return [2 /*return*/, credentialsFromCognitoIdentity()];\n }\n });\n }); };\n credentials = credentialsProvider().catch(function (err) { return __awaiter(_this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n throw err;\n });\n }); });\n return [2 /*return*/, this._loadCredentials(credentials, 'guest', false, null)];\n case 2: return [2 /*return*/, e];\n }\n });\n }); })];\n }\n });\n });\n };\n CredentialsClass.prototype._setCredentialsFromFederation = function (params) {\n var provider = params.provider, token = params.token, identity_id = params.identity_id;\n var domains = {\n google: 'accounts.google.com',\n facebook: 'graph.facebook.com',\n amazon: 'www.amazon.com',\n developer: 'cognito-identity.amazonaws.com',\n };\n // Use custom provider url instead of the predefined ones\n var domain = domains[provider] || provider;\n if (!domain) {\n return Promise.reject('You must specify a federated provider');\n }\n var logins = {};\n logins[domain] = token;\n var _a = this._config, identityPoolId = _a.identityPoolId, region = _a.region;\n if (!identityPoolId) {\n logger.debug('No Cognito Federated Identity pool provided');\n return Promise.reject('No Cognito Federated Identity pool provided');\n }\n if (!region) {\n logger.debug('region is not configured for getting the credentials');\n return Promise.reject('region is not configured for getting the credentials');\n }\n var cognitoClient = new CognitoIdentityClient({\n region: region,\n customUserAgent: getAmplifyUserAgent(),\n });\n var credentials = undefined;\n if (identity_id) {\n var cognitoIdentityParams = {\n identityId: identity_id,\n logins: logins,\n client: cognitoClient,\n };\n credentials = fromCognitoIdentity(cognitoIdentityParams)();\n }\n else {\n var cognitoIdentityParams = {\n logins: logins,\n identityPoolId: identityPoolId,\n client: cognitoClient,\n };\n credentials = fromCognitoIdentityPool(cognitoIdentityParams)();\n }\n return this._loadCredentials(credentials, 'federated', true, params);\n };\n CredentialsClass.prototype._setCredentialsFromSession = function (session) {\n var _this = this;\n logger.debug('set credentials from session');\n var idToken = session.getIdToken().getJwtToken();\n var _a = this._config, region = _a.region, userPoolId = _a.userPoolId, identityPoolId = _a.identityPoolId;\n if (!identityPoolId) {\n logger.debug('No Cognito Federated Identity pool provided');\n return Promise.reject('No Cognito Federated Identity pool provided');\n }\n if (!region) {\n logger.debug('region is not configured for getting the credentials');\n return Promise.reject('region is not configured for getting the credentials');\n }\n var key = 'cognito-idp.' + region + '.amazonaws.com/' + userPoolId;\n var logins = {};\n logins[key] = idToken;\n var cognitoClient = new CognitoIdentityClient({\n region: region,\n customUserAgent: getAmplifyUserAgent(),\n });\n /*\n Retreiving identityId with GetIdCommand to mimic the behavior in the following code in aws-sdk-v3:\n https://git.io/JeDxU\n\n Note: Retreive identityId from CredentialsProvider once aws-sdk-js v3 supports this.\n */\n var credentialsProvider = function () { return __awaiter(_this, void 0, void 0, function () {\n var guestIdentityId, generatedOrRetrievedIdentityId, IdentityId, _a, _b, AccessKeyId, Expiration, SecretKey, SessionToken, primaryIdentityId;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0: return [4 /*yield*/, this._getGuestIdentityId()];\n case 1:\n guestIdentityId = _c.sent();\n if (!!guestIdentityId) return [3 /*break*/, 3];\n return [4 /*yield*/, cognitoClient.send(new GetIdCommand({\n IdentityPoolId: identityPoolId,\n Logins: logins,\n }))];\n case 2:\n IdentityId = (_c.sent()).IdentityId;\n generatedOrRetrievedIdentityId = IdentityId;\n _c.label = 3;\n case 3: return [4 /*yield*/, cognitoClient.send(new GetCredentialsForIdentityCommand({\n IdentityId: guestIdentityId || generatedOrRetrievedIdentityId,\n Logins: logins,\n }))];\n case 4:\n _a = _c.sent(), _b = _a.Credentials, AccessKeyId = _b.AccessKeyId, Expiration = _b.Expiration, SecretKey = _b.SecretKey, SessionToken = _b.SessionToken, primaryIdentityId = _a.IdentityId;\n this._identityId = primaryIdentityId;\n if (!guestIdentityId) return [3 /*break*/, 6];\n // if guestIdentity is found and used by GetCredentialsForIdentity\n // it will be linked to the logins provided, and disqualified as an unauth identity\n logger.debug(\"The guest identity \" + guestIdentityId + \" has been successfully linked to the logins\");\n if (guestIdentityId === primaryIdentityId) {\n logger.debug(\"The guest identity \" + guestIdentityId + \" has become the primary identity\");\n }\n // remove it from local storage to avoid being used as a guest Identity by _setCredentialsForGuest\n return [4 /*yield*/, this._removeGuestIdentityId()];\n case 5:\n // remove it from local storage to avoid being used as a guest Identity by _setCredentialsForGuest\n _c.sent();\n _c.label = 6;\n case 6: \n // https://github.com/aws/aws-sdk-js-v3/blob/main/packages/credential-provider-cognito-identity/src/fromCognitoIdentity.ts#L40\n return [2 /*return*/, {\n accessKeyId: AccessKeyId,\n secretAccessKey: SecretKey,\n sessionToken: SessionToken,\n expiration: Expiration,\n identityId: primaryIdentityId,\n }];\n }\n });\n }); };\n var credentials = credentialsProvider().catch(function (err) { return __awaiter(_this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n throw err;\n });\n }); });\n return this._loadCredentials(credentials, 'userPool', true, null);\n };\n CredentialsClass.prototype._loadCredentials = function (credentials, source, authenticated, info) {\n var _this = this;\n var that = this;\n return new Promise(function (res, rej) {\n credentials\n .then(function (credentials) { return __awaiter(_this, void 0, void 0, function () {\n var user, provider, token, expires_at, identity_id;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n logger.debug('Load credentials successfully', credentials);\n if (this._identityId && !credentials.identityId) {\n credentials['identityId'] = this._identityId;\n }\n that._credentials = credentials;\n that._credentials.authenticated = authenticated;\n that._credentials_source = source;\n that._nextCredentialsRefresh = new Date().getTime() + CREDENTIALS_TTL;\n if (source === 'federated') {\n user = Object.assign({ id: this._credentials.identityId }, info.user);\n provider = info.provider, token = info.token, expires_at = info.expires_at, identity_id = info.identity_id;\n try {\n this._storage.setItem('aws-amplify-federatedInfo', JSON.stringify({\n provider: provider,\n token: token,\n user: user,\n expires_at: expires_at,\n identity_id: identity_id,\n }));\n }\n catch (e) {\n logger.debug('Failed to put federated info into auth storage', e);\n }\n }\n if (!(source === 'guest')) return [3 /*break*/, 2];\n return [4 /*yield*/, this._setGuestIdentityId(credentials.identityId)];\n case 1:\n _a.sent();\n _a.label = 2;\n case 2:\n res(that._credentials);\n return [2 /*return*/];\n }\n });\n }); })\n .catch(function (err) {\n if (err) {\n logger.debug('Failed to load credentials', credentials);\n logger.debug('Error loading credentials', err);\n rej(err);\n return;\n }\n });\n });\n };\n CredentialsClass.prototype.set = function (params, source) {\n if (source === 'session') {\n return this._setCredentialsFromSession(params);\n }\n else if (source === 'federation') {\n return this._setCredentialsFromFederation(params);\n }\n else if (source === 'guest') {\n return this._setCredentialsForGuest();\n }\n else {\n logger.debug('no source specified for setting credentials');\n return Promise.reject('invalid source');\n }\n };\n CredentialsClass.prototype.clear = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n this._credentials = null;\n this._credentials_source = null;\n logger.debug('removing aws-amplify-federatedInfo from storage');\n this._storage.removeItem('aws-amplify-federatedInfo');\n return [2 /*return*/];\n });\n });\n };\n /* operations on local stored guest identity */\n CredentialsClass.prototype._getGuestIdentityId = function () {\n return __awaiter(this, void 0, void 0, function () {\n var identityPoolId, e_1;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n identityPoolId = this._config.identityPoolId;\n _a.label = 1;\n case 1:\n _a.trys.push([1, 3, , 4]);\n return [4 /*yield*/, this._storageSync];\n case 2:\n _a.sent();\n return [2 /*return*/, this._storage.getItem(this._getCognitoIdentityIdStorageKey(identityPoolId))];\n case 3:\n e_1 = _a.sent();\n logger.debug('Failed to get the cached guest identityId', e_1);\n return [3 /*break*/, 4];\n case 4: return [2 /*return*/];\n }\n });\n });\n };\n CredentialsClass.prototype._setGuestIdentityId = function (identityId) {\n return __awaiter(this, void 0, void 0, function () {\n var identityPoolId, e_2;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n identityPoolId = this._config.identityPoolId;\n _a.label = 1;\n case 1:\n _a.trys.push([1, 3, , 4]);\n return [4 /*yield*/, this._storageSync];\n case 2:\n _a.sent();\n this._storage.setItem(this._getCognitoIdentityIdStorageKey(identityPoolId), identityId);\n return [3 /*break*/, 4];\n case 3:\n e_2 = _a.sent();\n logger.debug('Failed to cache guest identityId', e_2);\n return [3 /*break*/, 4];\n case 4: return [2 /*return*/];\n }\n });\n });\n };\n CredentialsClass.prototype._removeGuestIdentityId = function () {\n return __awaiter(this, void 0, void 0, function () {\n var identityPoolId;\n return __generator(this, function (_a) {\n identityPoolId = this._config.identityPoolId;\n logger.debug(\"removing \" + this._getCognitoIdentityIdStorageKey(identityPoolId) + \" from storage\");\n this._storage.removeItem(this._getCognitoIdentityIdStorageKey(identityPoolId));\n return [2 /*return*/];\n });\n });\n };\n /**\n * Compact version of credentials\n * @param {Object} credentials\n * @return {Object} - Credentials\n */\n CredentialsClass.prototype.shear = function (credentials) {\n return {\n accessKeyId: credentials.accessKeyId,\n sessionToken: credentials.sessionToken,\n secretAccessKey: credentials.secretAccessKey,\n identityId: credentials.identityId,\n authenticated: credentials.authenticated,\n };\n };\n return CredentialsClass;\n}());\nexport { CredentialsClass };\nexport var Credentials = new CredentialsClass(null);\nAmplify.register(Credentials);\n/**\n * @deprecated use named import\n */\nexport default Credentials;\n//# sourceMappingURL=Credentials.js.map","// generated by genversion\nexport var version = '4.2.8';\n//# sourceMappingURL=version.js.map","/*\n * Copyright 2017-2017 Amazon.com, Inc. or its affiliates. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"). You may not use this file except in compliance with\n * the License. A copy of the License is located at\n *\n * http://aws.amazon.com/apache2.0/\n *\n * or in the \"license\" file accompanying this file. This file is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR\n * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions\n * and limitations under the License.\n */\nimport { version } from './version';\nvar BASE_USER_AGENT = \"aws-amplify/\" + version;\nexport var Platform = {\n userAgent: BASE_USER_AGENT + \" js\",\n product: '',\n navigator: null,\n isReactNative: false,\n};\nif (typeof navigator !== 'undefined' && navigator.product) {\n Platform.product = navigator.product || '';\n Platform.navigator = navigator || null;\n switch (navigator.product) {\n case 'ReactNative':\n Platform.userAgent = BASE_USER_AGENT + \" react-native\";\n Platform.isReactNative = true;\n break;\n default:\n Platform.userAgent = BASE_USER_AGENT + \" js\";\n Platform.isReactNative = false;\n break;\n }\n}\nexport var getAmplifyUserAgent = function () {\n return Platform.userAgent;\n};\n/**\n * @deprecated use named import\n */\nexport default Platform;\n//# sourceMappingURL=index.js.map"],"sourceRoot":""}