{"version":3,"sources":["webpack:///./node_modules/@aws-amplify/api/node_modules/axios/lib/helpers/cookies.js","webpack:///./node_modules/@aws-amplify/api/node_modules/axios/lib/cancel/Cancel.js","webpack:///./node_modules/@aws-amplify/api/node_modules/axios/lib/defaults.js","webpack:///./node_modules/@aws-amplify/api/lib-esm/RestClient.js","webpack:///./node_modules/@aws-amplify/api/lib-esm/API.js","webpack:///./node_modules/@aws-amplify/api/lib-esm/index.js","webpack:///./node_modules/@aws-amplify/api/node_modules/axios/lib/core/InterceptorManager.js","webpack:///./node_modules/@aws-amplify/api/node_modules/axios/lib/axios.js","webpack:///./node_modules/@aws-amplify/api/node_modules/axios/lib/utils.js","webpack:///./node_modules/@aws-amplify/api/node_modules/axios/lib/helpers/parseHeaders.js","webpack:///./node_modules/@aws-amplify/api/node_modules/axios/index.js","webpack:///./node_modules/@aws-amplify/api/node_modules/axios/lib/cancel/isCancel.js","webpack:///./node_modules/@aws-amplify/api/node_modules/axios/lib/helpers/isURLSameOrigin.js","webpack:///./node_modules/@aws-amplify/api/node_modules/axios/lib/core/settle.js","webpack:///./node_modules/@aws-amplify/api/node_modules/axios/lib/helpers/normalizeHeaderName.js","webpack:///./node_modules/@aws-amplify/api/node_modules/axios/lib/core/createError.js","webpack:///./node_modules/@aws-amplify/api/node_modules/axios/lib/core/mergeConfig.js","webpack:///./node_modules/@aws-amplify/api/node_modules/axios/lib/adapters/xhr.js","webpack:///./node_modules/@aws-amplify/api/node_modules/axios/lib/cancel/CancelToken.js","webpack:///./node_modules/@aws-amplify/api/node_modules/axios/lib/core/Axios.js","webpack:///./node_modules/@aws-amplify/api/node_modules/axios/lib/helpers/buildURL.js","webpack:///./node_modules/@aws-amplify/api/node_modules/axios/lib/helpers/bind.js","webpack:///./node_modules/@aws-amplify/api/node_modules/axios/lib/helpers/isAbsoluteURL.js","webpack:///./node_modules/@aws-amplify/api/node_modules/axios/lib/core/transformData.js","webpack:///./node_modules/@aws-amplify/api/node_modules/axios/lib/helpers/combineURLs.js","webpack:///./node_modules/@aws-amplify/api/node_modules/axios/lib/core/dispatchRequest.js","webpack:///./node_modules/@aws-amplify/api/node_modules/axios/lib/core/buildFullPath.js","webpack:///./node_modules/@aws-amplify/api/node_modules/axios/lib/helpers/spread.js","webpack:///./node_modules/@aws-amplify/api/node_modules/axios/lib/core/enhanceError.js"],"names":["utils","module","exports","isStandardBrowserEnv","write","name","value","expires","path","domain","secure","cookie","push","encodeURIComponent","isNumber","Date","toGMTString","isString","document","join","read","match","RegExp","decodeURIComponent","remove","this","now","Cancel","message","prototype","toString","__CANCEL__","normalizeHeaderName","DEFAULT_CONTENT_TYPE","setContentTypeIfUnset","headers","isUndefined","getDefaultAdapter","adapter","XMLHttpRequest","process","Object","call","defaults","transformRequest","data","isFormData","isArrayBuffer","isBuffer","isStream","isFile","isBlob","isArrayBufferView","buffer","isURLSearchParams","isObject","JSON","stringify","transformResponse","parse","e","timeout","xsrfCookieName","xsrfHeaderName","maxContentLength","validateStatus","status","common","forEach","method","merge","__assign","assign","t","s","i","n","arguments","length","p","hasOwnProperty","apply","__awaiter","thisArg","_arguments","P","generator","adopt","resolve","Promise","reject","fulfilled","step","next","rejected","result","done","then","__generator","body","f","y","g","_","label","sent","trys","ops","verb","Symbol","iterator","v","op","TypeError","pop","__rest","indexOf","getOwnPropertySymbols","propertyIsEnumerable","logger","urlLib","RestClient","options","_region","_service","_custom_header","undefined","endpoints","_options","debug","ajax","url","init","parsed_url","params","libraryHeaders","userAgent","initParams","isAllResponse","custom_header","_a","_b","parsedUrl","_this","_c","_parseUrl","host","responseType","isReactNative","response","withCredentials","signerServiceInfo","search","format","query","queryStringParameters","keys","reduce","acc","k","_request","get","credentials","_signed","err","put","patch","post","del","head","endpoint","apiName","cloud_logic_array","Array","isArray","region","service","signerServiceInfoParams","otherParams","endpoint_region","endpoint_service","creds","secret_key","secretAccessKey","access_key","accessKeyId","session_token","sessionToken","endpointInfo","signed_params","sign","catch","error","parts","split","slice","USER_AGENT_HEADER","APIClass","_api","_pubSub","PubSub","clientIdentifier","uuid","getModuleName","configure","API","otherOptions","opt","custom","header","warn","graphql_headers","createInstance","error_1","error_2","error_3","error_4","error_5","error_6","error_7","_headerBasedAuth","defaultAuthenticationType","aws_appsync_authenticationType","apiKey","authenticationType","credentialsOK","federatedInfo","session","aws_appsync_apiKey","Error","Authorization","_ensureCredentials","getItem","token","currentSession","getAccessToken","getJwtToken","getGraphqlOperationType","operation","doc","operationType","definitions","graphql","paramQuery","variables","authMode","filter","def","kind","operationDef","_graphql","_graphqlSubscribe","additionalHeaders","appSyncGraphqlEndpoint","customGraphqlEndpoint","customEndpointRegion","_d","_e","_f","_g","_h","_j","err_1","errors","_k","_l","aws_appsync_region","aws_appsync_graphqlEndpoint","graphql_endpoint","graphql_endpoint_iam_region","concat","GraphQLError","subscribe","observer","handle","additionalheaders","subscription","newSubscriptions_1","newTopics","observable","error_8","extensions","newSubscriptions","getOwnPropertyNames","map","topic","provider","complete","unsubscribe","cred","shear","_instance","register","InterceptorManager","handlers","use","eject","id","fn","h","bind","Axios","mergeConfig","defaultConfig","context","instance","request","extend","axios","create","instanceConfig","CancelToken","isCancel","all","promises","spread","default","val","constructor","FormData","ArrayBuffer","isView","isDate","isFunction","pipe","URLSearchParams","trim","str","replace","navigator","product","window","obj","l","key","assignValue","deepMerge","a","b","ignoreDuplicateOf","parsed","line","substr","toLowerCase","originURL","msie","test","urlParsingNode","createElement","resolveURL","href","setAttribute","protocol","hash","hostname","port","pathname","charAt","location","requestURL","createError","config","normalizedName","toUpperCase","enhanceError","code","config1","config2","valueFromConfig2Keys","mergeDeepPropertiesKeys","defaultToConfig2Keys","prop","axiosKeys","otherKeys","settle","buildURL","buildFullPath","parseHeaders","isURLSameOrigin","requestData","requestHeaders","auth","username","password","btoa","fullPath","baseURL","open","paramsSerializer","onreadystatechange","readyState","responseURL","responseHeaders","getAllResponseHeaders","responseData","responseText","statusText","onabort","onerror","ontimeout","timeoutErrorMessage","cookies","xsrfValue","setRequestHeader","onDownloadProgress","addEventListener","onUploadProgress","upload","cancelToken","promise","cancel","abort","send","executor","resolvePromise","reason","throwIfRequested","source","c","dispatchRequest","interceptors","chain","interceptor","unshift","shift","getUri","encode","serializedParams","toISOString","hashmarkIndex","args","fns","relativeURL","transformData","throwIfCancellationRequested","isAbsoluteURL","combineURLs","requestedURL","callback","arr","isAxiosError","toJSON","description","number","fileName","lineNumber","columnNumber","stack"],"mappings":"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","file":"js/chunk-vendors~cd40ac80.5d9631de.js","sourcesContent":["'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs support document.cookie\n (function standardBrowserEnv() {\n return {\n write: function write(name, value, expires, path, domain, secure) {\n var cookie = [];\n cookie.push(name + '=' + encodeURIComponent(value));\n\n if (utils.isNumber(expires)) {\n cookie.push('expires=' + new Date(expires).toGMTString());\n }\n\n if (utils.isString(path)) {\n cookie.push('path=' + path);\n }\n\n if (utils.isString(domain)) {\n cookie.push('domain=' + domain);\n }\n\n if (secure === true) {\n cookie.push('secure');\n }\n\n document.cookie = cookie.join('; ');\n },\n\n read: function read(name) {\n var match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove: function remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n };\n })() :\n\n // Non standard browser env (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return {\n write: function write() {},\n read: function read() { return null; },\n remove: function remove() {}\n };\n })()\n);\n","'use strict';\n\n/**\n * A `Cancel` is an object that is thrown when an operation is canceled.\n *\n * @class\n * @param {string=} message The message.\n */\nfunction Cancel(message) {\n this.message = message;\n}\n\nCancel.prototype.toString = function toString() {\n return 'Cancel' + (this.message ? ': ' + this.message : '');\n};\n\nCancel.prototype.__CANCEL__ = true;\n\nmodule.exports = Cancel;\n","'use strict';\n\nvar utils = require('./utils');\nvar normalizeHeaderName = require('./helpers/normalizeHeaderName');\n\nvar DEFAULT_CONTENT_TYPE = {\n 'Content-Type': 'application/x-www-form-urlencoded'\n};\n\nfunction setContentTypeIfUnset(headers, value) {\n if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) {\n headers['Content-Type'] = value;\n }\n}\n\nfunction getDefaultAdapter() {\n var adapter;\n if (typeof XMLHttpRequest !== 'undefined') {\n // For browsers use XHR adapter\n adapter = require('./adapters/xhr');\n } else if (typeof process !== 'undefined' && Object.prototype.toString.call(process) === '[object process]') {\n // For node use HTTP adapter\n adapter = require('./adapters/http');\n }\n return adapter;\n}\n\nvar defaults = {\n adapter: getDefaultAdapter(),\n\n transformRequest: [function transformRequest(data, headers) {\n normalizeHeaderName(headers, 'Accept');\n normalizeHeaderName(headers, 'Content-Type');\n if (utils.isFormData(data) ||\n utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');\n return data.toString();\n }\n if (utils.isObject(data)) {\n setContentTypeIfUnset(headers, 'application/json;charset=utf-8');\n return JSON.stringify(data);\n }\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n /*eslint no-param-reassign:0*/\n if (typeof data === 'string') {\n try {\n data = JSON.parse(data);\n } catch (e) { /* Ignore */ }\n }\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n }\n};\n\ndefaults.headers = {\n common: {\n 'Accept': 'application/json, text/plain, */*'\n }\n};\n\nutils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {\n defaults.headers[method] = {};\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);\n});\n\nmodule.exports = defaults;\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 __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};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport { ConsoleLogger as Logger, Signer, Platform, Credentials, } from '@aws-amplify/core';\nimport axios from 'axios';\nvar logger = new Logger('RestClient'), urlLib = require('url');\n/**\n* HTTP Client for REST requests. Send and receive JSON data.\n* Sign request with AWS credentials if available\n* Usage:\n
\nconst restClient = new RestClient();\nrestClient.get('...')\n    .then(function(data) {\n        console.log(data);\n    })\n    .catch(err => console.log(err));\n
\n*/\nvar RestClient = /** @class */ (function () {\n /**\n * @param {RestClientOptions} [options] - Instance options\n */\n function RestClient(options) {\n this._region = 'us-east-1'; // this will be updated by endpoint function\n this._service = 'execute-api'; // this can be updated by endpoint function\n this._custom_header = undefined; // this can be updated by endpoint function\n var endpoints = options.endpoints;\n this._options = options;\n logger.debug('API Options', this._options);\n }\n /**\n * Update AWS credentials\n * @param {AWSCredentials} credentials - AWS credentials\n *\n updateCredentials(credentials: AWSCredentials) {\n this.options.credentials = credentials;\n }\n*/\n /**\n * Basic HTTP request. Customizable\n * @param {string} url - Full request URL\n * @param {string} method - Request HTTP method\n * @param {json} [init] - Request extra params\n * @return {Promise} - A promise that resolves to an object with response status and JSON data, if successful.\n */\n RestClient.prototype.ajax = function (url, method, init) {\n return __awaiter(this, void 0, void 0, function () {\n var parsed_url, params, libraryHeaders, userAgent, initParams, isAllResponse, custom_header, _a, _b, search, parsedUrl;\n var _this = this;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n logger.debug(method + ' ' + url);\n parsed_url = this._parseUrl(url);\n params = {\n method: method,\n url: url,\n host: parsed_url.host,\n path: parsed_url.path,\n headers: {},\n data: null,\n responseType: 'json',\n timeout: 0,\n };\n libraryHeaders = {};\n if (Platform.isReactNative) {\n userAgent = Platform.userAgent || 'aws-amplify/0.1.x';\n libraryHeaders = {\n 'User-Agent': userAgent,\n };\n }\n initParams = Object.assign({}, init);\n isAllResponse = initParams.response;\n if (initParams.body) {\n libraryHeaders['Content-Type'] = 'application/json; charset=UTF-8';\n params.data = JSON.stringify(initParams.body);\n }\n if (initParams.responseType) {\n params.responseType = initParams.responseType;\n }\n if (initParams.withCredentials) {\n params['withCredentials'] = initParams.withCredentials;\n }\n if (initParams.timeout) {\n params.timeout = initParams.timeout;\n }\n params['signerServiceInfo'] = initParams.signerServiceInfo;\n if (!this._custom_header) return [3 /*break*/, 2];\n return [4 /*yield*/, this._custom_header()];\n case 1:\n _a = _c.sent();\n return [3 /*break*/, 3];\n case 2:\n _a = undefined;\n _c.label = 3;\n case 3:\n custom_header = _a;\n params.headers = __assign(__assign(__assign({}, libraryHeaders), custom_header), initParams.headers);\n _b = urlLib.parse(url, true, true), search = _b.search, parsedUrl = __rest(_b, [\"search\"]);\n params.url = urlLib.format(__assign(__assign({}, parsedUrl), { query: __assign(__assign({}, parsedUrl.query), (initParams.queryStringParameters || {})) }));\n // Do not sign the request if client has added 'Authorization' header,\n // which means custom authorizer.\n if (typeof params.headers['Authorization'] !== 'undefined') {\n params.headers = Object.keys(params.headers).reduce(function (acc, k) {\n if (params.headers[k]) {\n acc[k] = params.headers[k];\n }\n return acc;\n // tslint:disable-next-line:align\n }, {});\n return [2 /*return*/, this._request(params, isAllResponse)];\n }\n // Signing the request in case there credentials are available\n return [2 /*return*/, Credentials.get().then(function (credentials) { return _this._signed(__assign({}, params), credentials, isAllResponse); }, function (err) {\n logger.debug('No credentials available, the request will be unsigned');\n return _this._request(params, isAllResponse);\n })];\n }\n });\n });\n };\n /**\n * GET HTTP request\n * @param {string} url - Full request URL\n * @param {JSON} init - Request extra params\n * @return {Promise} - A promise that resolves to an object with response status and JSON data, if successful.\n */\n RestClient.prototype.get = function (url, init) {\n return this.ajax(url, 'GET', init);\n };\n /**\n * PUT HTTP request\n * @param {string} url - Full request URL\n * @param {json} init - Request extra params\n * @return {Promise} - A promise that resolves to an object with response status and JSON data, if successful.\n */\n RestClient.prototype.put = function (url, init) {\n return this.ajax(url, 'PUT', init);\n };\n /**\n * PATCH HTTP request\n * @param {string} url - Full request URL\n * @param {json} init - Request extra params\n * @return {Promise} - A promise that resolves to an object with response status and JSON data, if successful.\n */\n RestClient.prototype.patch = function (url, init) {\n return this.ajax(url, 'PATCH', init);\n };\n /**\n * POST HTTP request\n * @param {string} url - Full request URL\n * @param {json} init - Request extra params\n * @return {Promise} - A promise that resolves to an object with response status and JSON data, if successful.\n */\n RestClient.prototype.post = function (url, init) {\n return this.ajax(url, 'POST', init);\n };\n /**\n * DELETE HTTP request\n * @param {string} url - Full request URL\n * @param {json} init - Request extra params\n * @return {Promise} - A promise that resolves to an object with response status and JSON data, if successful.\n */\n RestClient.prototype.del = function (url, init) {\n return this.ajax(url, 'DELETE', init);\n };\n /**\n * HEAD HTTP request\n * @param {string} url - Full request URL\n * @param {json} init - Request extra params\n * @return {Promise} - A promise that resolves to an object with response status and JSON data, if successful.\n */\n RestClient.prototype.head = function (url, init) {\n return this.ajax(url, 'HEAD', init);\n };\n /**\n * Getting endpoint for API\n * @param {string} apiName - The name of the api\n * @return {string} - The endpoint of the api\n */\n RestClient.prototype.endpoint = function (apiName) {\n var _this = this;\n var cloud_logic_array = this._options.endpoints;\n var response = '';\n if (!Array.isArray(cloud_logic_array)) {\n return response;\n }\n cloud_logic_array.forEach(function (v) {\n if (v.name === apiName) {\n response = v.endpoint;\n if (typeof v.region === 'string') {\n _this._region = v.region;\n }\n else if (typeof _this._options.region === 'string') {\n _this._region = _this._options.region;\n }\n if (typeof v.service === 'string') {\n _this._service = v.service || 'execute-api';\n }\n else {\n _this._service = 'execute-api';\n }\n if (typeof v.custom_header === 'function') {\n _this._custom_header = v.custom_header;\n }\n else {\n _this._custom_header = undefined;\n }\n }\n });\n return response;\n };\n /** private methods **/\n RestClient.prototype._signed = function (params, credentials, isAllResponse) {\n var signerServiceInfoParams = params.signerServiceInfo, otherParams = __rest(params, [\"signerServiceInfo\"]);\n var endpoint_region = this._region || this._options.region;\n var endpoint_service = this._service || this._options.service;\n var creds = {\n secret_key: credentials.secretAccessKey,\n access_key: credentials.accessKeyId,\n session_token: credentials.sessionToken,\n };\n var endpointInfo = {\n region: endpoint_region,\n service: endpoint_service,\n };\n var signerServiceInfo = Object.assign(endpointInfo, signerServiceInfoParams);\n var signed_params = Signer.sign(otherParams, creds, signerServiceInfo);\n if (signed_params.data) {\n signed_params.body = signed_params.data;\n }\n logger.debug('Signed Request: ', signed_params);\n delete signed_params.headers['host'];\n return axios(signed_params)\n .then(function (response) { return (isAllResponse ? response : response.data); })\n .catch(function (error) {\n logger.debug(error);\n throw error;\n });\n };\n RestClient.prototype._request = function (params, isAllResponse) {\n if (isAllResponse === void 0) { isAllResponse = false; }\n return axios(params)\n .then(function (response) { return (isAllResponse ? response : response.data); })\n .catch(function (error) {\n logger.debug(error);\n throw error;\n });\n };\n RestClient.prototype._parseUrl = function (url) {\n var parts = url.split('/');\n return {\n host: parts[2],\n path: '/' + parts.slice(3).join('/'),\n };\n };\n return RestClient;\n}());\nexport { RestClient };\n//# sourceMappingURL=RestClient.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};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\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 { GraphQLError } from 'graphql';\nimport { print } from 'graphql/language/printer';\nimport { parse } from 'graphql/language/parser';\nimport * as Observable from 'zen-observable';\nimport { RestClient as RestClass } from './RestClient';\nimport Amplify, { ConsoleLogger as Logger, Credentials, Constants, } from '@aws-amplify/core';\nimport Auth from '@aws-amplify/auth';\nimport Cache from '@aws-amplify/cache';\nimport { INTERNAL_AWS_APPSYNC_PUBSUB_PROVIDER } from '@aws-amplify/core/lib/constants';\nimport { v4 as uuid } from 'uuid';\nvar USER_AGENT_HEADER = 'x-amz-user-agent';\nvar logger = new Logger('API');\nexport var graphqlOperation = function (query, variables) {\n if (variables === void 0) { variables = {}; }\n return ({\n query: query,\n variables: variables,\n });\n};\n/**\n * Export Cloud Logic APIs\n */\nvar APIClass = /** @class */ (function () {\n /**\n * Initialize Storage with AWS configuration\n * @param {Object} options - Configuration object for storage\n */\n function APIClass(options) {\n this._api = null;\n this._pubSub = Amplify.PubSub;\n this.clientIdentifier = uuid();\n this._options = options;\n logger.debug('API Options', this._options);\n }\n APIClass.prototype.getModuleName = function () {\n return 'API';\n };\n /**\n * Configure API part with aws configurations\n * @param {Object} config - Configuration of the API\n * @return {Object} - The current configuration\n */\n APIClass.prototype.configure = function (options) {\n var _a = options || {}, _b = _a.API, API = _b === void 0 ? {} : _b, otherOptions = __rest(_a, [\"API\"]);\n var opt = __assign(__assign({}, otherOptions), API);\n logger.debug('configure API', { opt: opt });\n if (opt['aws_project_region']) {\n if (opt['aws_cloud_logic_custom']) {\n var custom = opt['aws_cloud_logic_custom'];\n opt.endpoints =\n typeof custom === 'string' ? JSON.parse(custom) : custom;\n }\n opt = Object.assign({}, opt, {\n region: opt['aws_project_region'],\n header: {},\n });\n }\n if (!Array.isArray(opt.endpoints)) {\n opt.endpoints = [];\n }\n // Check if endpoints has custom_headers and validate if is a function\n opt.endpoints.forEach(function (endpoint) {\n if (typeof endpoint.custom_header !== 'undefined' &&\n typeof endpoint.custom_header !== 'function') {\n logger.warn('API ' + endpoint.name + ', custom_header should be a function');\n endpoint.custom_header = undefined;\n }\n });\n if (typeof opt.graphql_headers !== 'undefined' &&\n typeof opt.graphql_headers !== 'function') {\n logger.warn('graphql_headers should be a function');\n opt.graphql_headers = undefined;\n }\n this._options = Object.assign({}, this._options, opt);\n this.createInstance();\n return this._options;\n };\n /**\n * Create an instance of API for the library\n * @return - A promise of true if Success\n */\n APIClass.prototype.createInstance = function () {\n logger.debug('create API instance');\n if (this._options) {\n this._api = new RestClass(this._options);\n return true;\n }\n else {\n return Promise.reject('API not configured');\n }\n };\n /**\n * Make a GET request\n * @param {string} apiName - The api name of the request\n * @param {string} path - The path of the request\n * @param {json} [init] - Request extra params\n * @return {Promise} - A promise that resolves to an object with response status and JSON data, if successful.\n */\n APIClass.prototype.get = function (apiName, path, init) {\n return __awaiter(this, void 0, void 0, function () {\n var error_1, endpoint;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!!this._api) return [3 /*break*/, 4];\n _a.label = 1;\n case 1:\n _a.trys.push([1, 3, , 4]);\n return [4 /*yield*/, this.createInstance()];\n case 2:\n _a.sent();\n return [3 /*break*/, 4];\n case 3:\n error_1 = _a.sent();\n return [2 /*return*/, Promise.reject(error_1)];\n case 4:\n endpoint = this._api.endpoint(apiName);\n if (endpoint.length === 0) {\n return [2 /*return*/, Promise.reject('API ' + apiName + ' does not exist')];\n }\n return [2 /*return*/, this._api.get(endpoint + path, init)];\n }\n });\n });\n };\n /**\n * Make a POST request\n * @param {string} apiName - The api name of the request\n * @param {string} path - The path of the request\n * @param {json} [init] - Request extra params\n * @return {Promise} - A promise that resolves to an object with response status and JSON data, if successful.\n */\n APIClass.prototype.post = function (apiName, path, init) {\n return __awaiter(this, void 0, void 0, function () {\n var error_2, endpoint;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!!this._api) return [3 /*break*/, 4];\n _a.label = 1;\n case 1:\n _a.trys.push([1, 3, , 4]);\n return [4 /*yield*/, this.createInstance()];\n case 2:\n _a.sent();\n return [3 /*break*/, 4];\n case 3:\n error_2 = _a.sent();\n return [2 /*return*/, Promise.reject(error_2)];\n case 4:\n endpoint = this._api.endpoint(apiName);\n if (endpoint.length === 0) {\n return [2 /*return*/, Promise.reject('API ' + apiName + ' does not exist')];\n }\n return [2 /*return*/, this._api.post(endpoint + path, init)];\n }\n });\n });\n };\n /**\n * Make a PUT request\n * @param {string} apiName - The api name of the request\n * @param {string} path - The path of the request\n * @param {json} [init] - Request extra params\n * @return {Promise} - A promise that resolves to an object with response status and JSON data, if successful.\n */\n APIClass.prototype.put = function (apiName, path, init) {\n return __awaiter(this, void 0, void 0, function () {\n var error_3, endpoint;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!!this._api) return [3 /*break*/, 4];\n _a.label = 1;\n case 1:\n _a.trys.push([1, 3, , 4]);\n return [4 /*yield*/, this.createInstance()];\n case 2:\n _a.sent();\n return [3 /*break*/, 4];\n case 3:\n error_3 = _a.sent();\n return [2 /*return*/, Promise.reject(error_3)];\n case 4:\n endpoint = this._api.endpoint(apiName);\n if (endpoint.length === 0) {\n return [2 /*return*/, Promise.reject('API ' + apiName + ' does not exist')];\n }\n return [2 /*return*/, this._api.put(endpoint + path, init)];\n }\n });\n });\n };\n /**\n * Make a PATCH request\n * @param {string} apiName - The api name of the request\n * @param {string} path - The path of the request\n * @param {json} [init] - Request extra params\n * @return {Promise} - A promise that resolves to an object with response status and JSON data, if successful.\n */\n APIClass.prototype.patch = function (apiName, path, init) {\n return __awaiter(this, void 0, void 0, function () {\n var error_4, endpoint;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!!this._api) return [3 /*break*/, 4];\n _a.label = 1;\n case 1:\n _a.trys.push([1, 3, , 4]);\n return [4 /*yield*/, this.createInstance()];\n case 2:\n _a.sent();\n return [3 /*break*/, 4];\n case 3:\n error_4 = _a.sent();\n return [2 /*return*/, Promise.reject(error_4)];\n case 4:\n endpoint = this._api.endpoint(apiName);\n if (endpoint.length === 0) {\n return [2 /*return*/, Promise.reject('API ' + apiName + ' does not exist')];\n }\n return [2 /*return*/, this._api.patch(endpoint + path, init)];\n }\n });\n });\n };\n /**\n * Make a DEL request\n * @param {string} apiName - The api name of the request\n * @param {string} path - The path of the request\n * @param {json} [init] - Request extra params\n * @return {Promise} - A promise that resolves to an object with response status and JSON data, if successful.\n */\n APIClass.prototype.del = function (apiName, path, init) {\n return __awaiter(this, void 0, void 0, function () {\n var error_5, endpoint;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!!this._api) return [3 /*break*/, 4];\n _a.label = 1;\n case 1:\n _a.trys.push([1, 3, , 4]);\n return [4 /*yield*/, this.createInstance()];\n case 2:\n _a.sent();\n return [3 /*break*/, 4];\n case 3:\n error_5 = _a.sent();\n return [2 /*return*/, Promise.reject(error_5)];\n case 4:\n endpoint = this._api.endpoint(apiName);\n if (endpoint.length === 0) {\n return [2 /*return*/, Promise.reject('API ' + apiName + ' does not exist')];\n }\n return [2 /*return*/, this._api.del(endpoint + path, init)];\n }\n });\n });\n };\n /**\n * Make a HEAD request\n * @param {string} apiName - The api name of the request\n * @param {string} path - The path of the request\n * @param {json} [init] - Request extra params\n * @return {Promise} - A promise that resolves to an object with response status and JSON data, if successful.\n */\n APIClass.prototype.head = function (apiName, path, init) {\n return __awaiter(this, void 0, void 0, function () {\n var error_6, endpoint;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!!this._api) return [3 /*break*/, 4];\n _a.label = 1;\n case 1:\n _a.trys.push([1, 3, , 4]);\n return [4 /*yield*/, this.createInstance()];\n case 2:\n _a.sent();\n return [3 /*break*/, 4];\n case 3:\n error_6 = _a.sent();\n return [2 /*return*/, Promise.reject(error_6)];\n case 4:\n endpoint = this._api.endpoint(apiName);\n if (endpoint.length === 0) {\n return [2 /*return*/, Promise.reject('API ' + apiName + ' does not exist')];\n }\n return [2 /*return*/, this._api.head(endpoint + path, init)];\n }\n });\n });\n };\n /**\n * Getting endpoint for API\n * @param {string} apiName - The name of the api\n * @return {string} - The endpoint of the api\n */\n APIClass.prototype.endpoint = function (apiName) {\n return __awaiter(this, void 0, void 0, function () {\n var error_7;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!!this._api) return [3 /*break*/, 4];\n _a.label = 1;\n case 1:\n _a.trys.push([1, 3, , 4]);\n return [4 /*yield*/, this.createInstance()];\n case 2:\n _a.sent();\n return [3 /*break*/, 4];\n case 3:\n error_7 = _a.sent();\n return [2 /*return*/, Promise.reject(error_7)];\n case 4: return [2 /*return*/, this._api.endpoint(apiName)];\n }\n });\n });\n };\n APIClass.prototype._headerBasedAuth = function (defaultAuthenticationType) {\n return __awaiter(this, void 0, void 0, function () {\n var _a, aws_appsync_authenticationType, apiKey, authenticationType, headers, _b, credentialsOK, federatedInfo, session;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = this._options, aws_appsync_authenticationType = _a.aws_appsync_authenticationType, apiKey = _a.aws_appsync_apiKey;\n authenticationType = defaultAuthenticationType || aws_appsync_authenticationType || 'AWS_IAM';\n headers = {};\n _b = authenticationType;\n switch (_b) {\n case 'API_KEY': return [3 /*break*/, 1];\n case 'AWS_IAM': return [3 /*break*/, 2];\n case 'OPENID_CONNECT': return [3 /*break*/, 4];\n case 'AMAZON_COGNITO_USER_POOLS': return [3 /*break*/, 6];\n }\n return [3 /*break*/, 8];\n case 1:\n if (!apiKey) {\n throw new Error('No api-key configured');\n }\n headers = {\n Authorization: null,\n 'X-Api-Key': apiKey,\n };\n return [3 /*break*/, 9];\n case 2: return [4 /*yield*/, this._ensureCredentials()];\n case 3:\n credentialsOK = _c.sent();\n if (!credentialsOK) {\n throw new Error('No credentials');\n }\n return [3 /*break*/, 9];\n case 4: return [4 /*yield*/, Cache.getItem('federatedInfo')];\n case 5:\n federatedInfo = _c.sent();\n if (!federatedInfo || !federatedInfo.token) {\n throw new Error('No federated jwt');\n }\n headers = {\n Authorization: federatedInfo.token,\n };\n return [3 /*break*/, 9];\n case 6: return [4 /*yield*/, Auth.currentSession()];\n case 7:\n session = _c.sent();\n headers = {\n Authorization: session.getAccessToken().getJwtToken(),\n };\n return [3 /*break*/, 9];\n case 8:\n headers = {\n Authorization: null,\n };\n return [3 /*break*/, 9];\n case 9: return [2 /*return*/, headers];\n }\n });\n });\n };\n /**\n * to get the operation type\n * @param operation\n */\n APIClass.prototype.getGraphqlOperationType = function (operation) {\n var doc = parse(operation);\n var operationType = doc.definitions[0].operation;\n return operationType;\n };\n /**\n * Executes a GraphQL operation\n *\n * @param {GraphQLOptions} GraphQL Options\n * @returns {Promise | Observable}\n */\n APIClass.prototype.graphql = function (_a) {\n var paramQuery = _a.query, _b = _a.variables, variables = _b === void 0 ? {} : _b, authMode = _a.authMode;\n var query = typeof paramQuery === 'string'\n ? parse(paramQuery)\n : parse(print(paramQuery));\n var _c = query.definitions.filter(function (def) { return def.kind === 'OperationDefinition'; })[0], operationDef = _c === void 0 ? {} : _c;\n var operationType = operationDef.operation;\n switch (operationType) {\n case 'query':\n case 'mutation':\n return this._graphql({ query: query, variables: variables, authMode: authMode });\n case 'subscription':\n return this._graphqlSubscribe({ query: query, variables: variables, authMode: authMode });\n }\n throw new Error(\"invalid operation type: \" + operationType);\n };\n APIClass.prototype._graphql = function (_a, additionalHeaders) {\n var query = _a.query, variables = _a.variables, authMode = _a.authMode;\n if (additionalHeaders === void 0) { additionalHeaders = {}; }\n return __awaiter(this, void 0, void 0, function () {\n var _b, region, appSyncGraphqlEndpoint, _c, graphql_headers, customGraphqlEndpoint, customEndpointRegion, headers, _d, _e, _f, _g, _h, _j, body, init, endpoint, error, response, err_1, errors;\n var _k;\n return __generator(this, function (_l) {\n switch (_l.label) {\n case 0:\n if (!!this._api) return [3 /*break*/, 2];\n return [4 /*yield*/, this.createInstance()];\n case 1:\n _l.sent();\n _l.label = 2;\n case 2:\n _b = this._options, region = _b.aws_appsync_region, appSyncGraphqlEndpoint = _b.aws_appsync_graphqlEndpoint, _c = _b.graphql_headers, graphql_headers = _c === void 0 ? function () { return ({}); } : _c, customGraphqlEndpoint = _b.graphql_endpoint, customEndpointRegion = _b.graphql_endpoint_iam_region;\n _d = [{}];\n _e = !customGraphqlEndpoint;\n if (!_e) return [3 /*break*/, 4];\n return [4 /*yield*/, this._headerBasedAuth(authMode)];\n case 3:\n _e = (_l.sent());\n _l.label = 4;\n case 4:\n _f = [__assign.apply(void 0, _d.concat([(_e)]))];\n _g = customGraphqlEndpoint;\n if (!_g) return [3 /*break*/, 8];\n if (!customEndpointRegion) return [3 /*break*/, 6];\n return [4 /*yield*/, this._headerBasedAuth(authMode)];\n case 5:\n _h = _l.sent();\n return [3 /*break*/, 7];\n case 6:\n _h = { Authorization: null };\n _l.label = 7;\n case 7:\n _g = (_h);\n _l.label = 8;\n case 8:\n _j = [__assign.apply(void 0, _f.concat([(_g)]))];\n return [4 /*yield*/, graphql_headers({ query: query, variables: variables })];\n case 9:\n headers = __assign.apply(void 0, [__assign.apply(void 0, [__assign.apply(void 0, _j.concat([(_l.sent())])), additionalHeaders]), (!customGraphqlEndpoint && (_k = {},\n _k[USER_AGENT_HEADER] = Constants.userAgent,\n _k))]);\n body = {\n query: print(query),\n variables: variables,\n };\n init = {\n headers: headers,\n body: body,\n signerServiceInfo: {\n service: !customGraphqlEndpoint ? 'appsync' : 'execute-api',\n region: !customGraphqlEndpoint ? region : customEndpointRegion,\n },\n };\n endpoint = customGraphqlEndpoint || appSyncGraphqlEndpoint;\n if (!endpoint) {\n error = new GraphQLError('No graphql endpoint provided.');\n throw {\n data: {},\n errors: [error],\n };\n }\n _l.label = 10;\n case 10:\n _l.trys.push([10, 12, , 13]);\n return [4 /*yield*/, this._api.post(endpoint, init)];\n case 11:\n response = _l.sent();\n return [3 /*break*/, 13];\n case 12:\n err_1 = _l.sent();\n response = {\n data: {},\n errors: [new GraphQLError(err_1.message)],\n };\n return [3 /*break*/, 13];\n case 13:\n errors = response.errors;\n if (errors && errors.length) {\n throw response;\n }\n return [2 /*return*/, response];\n }\n });\n });\n };\n APIClass.prototype._graphqlSubscribe = function (_a) {\n var _this = this;\n var query = _a.query, variables = _a.variables, authMode = _a.authMode;\n if (Amplify.PubSub && typeof Amplify.PubSub.subscribe === 'function') {\n return new Observable(function (observer) {\n var handle = null;\n (function () { return __awaiter(_this, void 0, void 0, function () {\n var aws_appsync_authenticationType, authenticationType, additionalheaders, subscription, newSubscriptions_1, newTopics, observable, error_8;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n aws_appsync_authenticationType = this._options.aws_appsync_authenticationType;\n authenticationType = authMode || aws_appsync_authenticationType;\n additionalheaders = __assign({}, (authenticationType === 'API_KEY'\n ? {\n 'x-amz-subscriber-id': this.clientIdentifier,\n }\n : {}));\n _a.label = 1;\n case 1:\n _a.trys.push([1, 3, , 4]);\n return [4 /*yield*/, this._graphql({ query: query, variables: variables, authMode: authMode }, additionalheaders)];\n case 2:\n subscription = (_a.sent()).extensions.subscription;\n newSubscriptions_1 = subscription.newSubscriptions;\n newTopics = Object.getOwnPropertyNames(newSubscriptions_1).map(function (p) { return newSubscriptions_1[p].topic; });\n observable = Amplify.PubSub.subscribe(newTopics, __assign(__assign({}, subscription), { provider: INTERNAL_AWS_APPSYNC_PUBSUB_PROVIDER }));\n handle = observable.subscribe({\n next: function (data) { return observer.next(data); },\n complete: function () { return observer.complete(); },\n error: function (data) {\n var error = __assign({}, data);\n if (!error.errors) {\n error.errors = [\n __assign({}, new GraphQLError('Network Error')),\n ];\n }\n observer.error(error);\n },\n });\n return [3 /*break*/, 4];\n case 3:\n error_8 = _a.sent();\n observer.error(error_8);\n return [3 /*break*/, 4];\n case 4: return [2 /*return*/];\n }\n });\n }); })();\n return function () {\n if (handle) {\n handle.unsubscribe();\n }\n };\n });\n }\n else {\n logger.debug('No pubsub module applied for subscription');\n throw new Error('No pubsub module applied for subscription');\n }\n };\n /**\n * @private\n */\n APIClass.prototype._ensureCredentials = function () {\n return Credentials.get()\n .then(function (credentials) {\n if (!credentials)\n return false;\n var cred = Credentials.shear(credentials);\n logger.debug('set credentials for api', cred);\n return true;\n })\n .catch(function (err) {\n logger.warn('ensure credentials error', err);\n return false;\n });\n };\n return APIClass;\n}());\nexport default APIClass;\n//# sourceMappingURL=API.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 APIClass, { graphqlOperation } from './API';\nimport Amplify, { ConsoleLogger as Logger } from '@aws-amplify/core';\nvar logger = new Logger('API');\nvar _instance = null;\nif (!_instance) {\n logger.debug('Create API Instance');\n _instance = new APIClass(null);\n}\nvar API = _instance;\nAmplify.register(API);\nexport default API;\nexport { APIClass, graphqlOperation };\n//# sourceMappingURL=index.js.map","'use strict';\n\nvar utils = require('./../utils');\n\nfunction InterceptorManager() {\n this.handlers = [];\n}\n\n/**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\nInterceptorManager.prototype.use = function use(fulfilled, rejected) {\n this.handlers.push({\n fulfilled: fulfilled,\n rejected: rejected\n });\n return this.handlers.length - 1;\n};\n\n/**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n */\nInterceptorManager.prototype.eject = function eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n};\n\n/**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n */\nInterceptorManager.prototype.forEach = function forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n};\n\nmodule.exports = InterceptorManager;\n","'use strict';\n\nvar utils = require('./utils');\nvar bind = require('./helpers/bind');\nvar Axios = require('./core/Axios');\nvar mergeConfig = require('./core/mergeConfig');\nvar defaults = require('./defaults');\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n * @return {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n var context = new Axios(defaultConfig);\n var instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context);\n\n // Copy context to instance\n utils.extend(instance, context);\n\n return instance;\n}\n\n// Create the default instance to be exported\nvar axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Factory for creating new instances\naxios.create = function create(instanceConfig) {\n return createInstance(mergeConfig(axios.defaults, instanceConfig));\n};\n\n// Expose Cancel & CancelToken\naxios.Cancel = require('./cancel/Cancel');\naxios.CancelToken = require('./cancel/CancelToken');\naxios.isCancel = require('./cancel/isCancel');\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\naxios.spread = require('./helpers/spread');\n\nmodule.exports = axios;\n\n// Allow use of default import syntax in TypeScript\nmodule.exports.default = axios;\n","'use strict';\n\nvar bind = require('./helpers/bind');\n\n/*global toString:true*/\n\n// utils is a library of generic helper functions non-specific to axios\n\nvar toString = Object.prototype.toString;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Array, otherwise false\n */\nfunction isArray(val) {\n return toString.call(val) === '[object Array]';\n}\n\n/**\n * Determine if a value is undefined\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nfunction isUndefined(val) {\n return typeof val === 'undefined';\n}\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && typeof val.constructor.isBuffer === 'function' && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nfunction isArrayBuffer(val) {\n return toString.call(val) === '[object ArrayBuffer]';\n}\n\n/**\n * Determine if a value is a FormData\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nfunction isFormData(val) {\n return (typeof FormData !== 'undefined') && (val instanceof FormData);\n}\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n var result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (val.buffer instanceof ArrayBuffer);\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a String, otherwise false\n */\nfunction isString(val) {\n return typeof val === 'string';\n}\n\n/**\n * Determine if a value is a Number\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Number, otherwise false\n */\nfunction isNumber(val) {\n return typeof val === 'number';\n}\n\n/**\n * Determine if a value is an Object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Object, otherwise false\n */\nfunction isObject(val) {\n return val !== null && typeof val === 'object';\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Date, otherwise false\n */\nfunction isDate(val) {\n return toString.call(val) === '[object Date]';\n}\n\n/**\n * Determine if a value is a File\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\nfunction isFile(val) {\n return toString.call(val) === '[object File]';\n}\n\n/**\n * Determine if a value is a Blob\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nfunction isBlob(val) {\n return toString.call(val) === '[object Blob]';\n}\n\n/**\n * Determine if a value is a Function\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nfunction isFunction(val) {\n return toString.call(val) === '[object Function]';\n}\n\n/**\n * Determine if a value is a Stream\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nfunction isStream(val) {\n return isObject(val) && isFunction(val.pipe);\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nfunction isURLSearchParams(val) {\n return typeof URLSearchParams !== 'undefined' && val instanceof URLSearchParams;\n}\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n * @returns {String} The String freed of excess whitespace\n */\nfunction trim(str) {\n return str.replace(/^\\s*/, '').replace(/\\s*$/, '');\n}\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n */\nfunction isStandardBrowserEnv() {\n if (typeof navigator !== 'undefined' && (navigator.product === 'ReactNative' ||\n navigator.product === 'NativeScript' ||\n navigator.product === 'NS')) {\n return false;\n }\n return (\n typeof window !== 'undefined' &&\n typeof document !== 'undefined'\n );\n}\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n */\nfunction forEach(obj, fn) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (var i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n fn.call(null, obj[key], key, obj);\n }\n }\n }\n}\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n var result = {};\n function assignValue(val, key) {\n if (typeof result[key] === 'object' && typeof val === 'object') {\n result[key] = merge(result[key], val);\n } else {\n result[key] = val;\n }\n }\n\n for (var i = 0, l = arguments.length; i < l; i++) {\n forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Function equal to merge with the difference being that no reference\n * to original objects is kept.\n *\n * @see merge\n * @param {Object} obj1 Object to merge\n * @returns {Object} Result of all merge properties\n */\nfunction deepMerge(/* obj1, obj2, obj3, ... */) {\n var result = {};\n function assignValue(val, key) {\n if (typeof result[key] === 'object' && typeof val === 'object') {\n result[key] = deepMerge(result[key], val);\n } else if (typeof val === 'object') {\n result[key] = deepMerge({}, val);\n } else {\n result[key] = val;\n }\n }\n\n for (var i = 0, l = arguments.length; i < l; i++) {\n forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n * @return {Object} The resulting value of object a\n */\nfunction extend(a, b, thisArg) {\n forEach(b, function assignValue(val, key) {\n if (thisArg && typeof val === 'function') {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n });\n return a;\n}\n\nmodule.exports = {\n isArray: isArray,\n isArrayBuffer: isArrayBuffer,\n isBuffer: isBuffer,\n isFormData: isFormData,\n isArrayBufferView: isArrayBufferView,\n isString: isString,\n isNumber: isNumber,\n isObject: isObject,\n isUndefined: isUndefined,\n isDate: isDate,\n isFile: isFile,\n isBlob: isBlob,\n isFunction: isFunction,\n isStream: isStream,\n isURLSearchParams: isURLSearchParams,\n isStandardBrowserEnv: isStandardBrowserEnv,\n forEach: forEach,\n merge: merge,\n deepMerge: deepMerge,\n extend: extend,\n trim: trim\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\n// Headers whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nvar ignoreDuplicateOf = [\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n];\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} headers Headers needing to be parsed\n * @returns {Object} Headers parsed into an object\n */\nmodule.exports = function parseHeaders(headers) {\n var parsed = {};\n var key;\n var val;\n var i;\n\n if (!headers) { return parsed; }\n\n utils.forEach(headers.split('\\n'), function parser(line) {\n i = line.indexOf(':');\n key = utils.trim(line.substr(0, i)).toLowerCase();\n val = utils.trim(line.substr(i + 1));\n\n if (key) {\n if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) {\n return;\n }\n if (key === 'set-cookie') {\n parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]);\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n }\n });\n\n return parsed;\n};\n","module.exports = require('./lib/axios');","'use strict';\n\nmodule.exports = function isCancel(value) {\n return !!(value && value.__CANCEL__);\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs have full support of the APIs needed to test\n // whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n var msie = /(msie|trident)/i.test(navigator.userAgent);\n var urlParsingNode = document.createElement('a');\n var originURL;\n\n /**\n * Parse a URL to discover it's components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n var href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n var parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })()\n);\n","'use strict';\n\nvar createError = require('./createError');\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n */\nmodule.exports = function settle(resolve, reject, response) {\n var validateStatus = response.config.validateStatus;\n if (!validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(createError(\n 'Request failed with status code ' + response.status,\n response.config,\n null,\n response.request,\n response\n ));\n }\n};\n","'use strict';\n\nvar utils = require('../utils');\n\nmodule.exports = function normalizeHeaderName(headers, normalizedName) {\n utils.forEach(headers, function processHeader(value, name) {\n if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) {\n headers[normalizedName] = value;\n delete headers[name];\n }\n });\n};\n","'use strict';\n\nvar enhanceError = require('./enhanceError');\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The created error.\n */\nmodule.exports = function createError(message, config, code, request, response) {\n var error = new Error(message);\n return enhanceError(error, config, code, request, response);\n};\n","'use strict';\n\nvar utils = require('../utils');\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n * @returns {Object} New object resulting from merging config2 to config1\n */\nmodule.exports = function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n var config = {};\n\n var valueFromConfig2Keys = ['url', 'method', 'params', 'data'];\n var mergeDeepPropertiesKeys = ['headers', 'auth', 'proxy'];\n var defaultToConfig2Keys = [\n 'baseURL', 'url', 'transformRequest', 'transformResponse', 'paramsSerializer',\n 'timeout', 'withCredentials', 'adapter', 'responseType', 'xsrfCookieName',\n 'xsrfHeaderName', 'onUploadProgress', 'onDownloadProgress',\n 'maxContentLength', 'validateStatus', 'maxRedirects', 'httpAgent',\n 'httpsAgent', 'cancelToken', 'socketPath'\n ];\n\n utils.forEach(valueFromConfig2Keys, function valueFromConfig2(prop) {\n if (typeof config2[prop] !== 'undefined') {\n config[prop] = config2[prop];\n }\n });\n\n utils.forEach(mergeDeepPropertiesKeys, function mergeDeepProperties(prop) {\n if (utils.isObject(config2[prop])) {\n config[prop] = utils.deepMerge(config1[prop], config2[prop]);\n } else if (typeof config2[prop] !== 'undefined') {\n config[prop] = config2[prop];\n } else if (utils.isObject(config1[prop])) {\n config[prop] = utils.deepMerge(config1[prop]);\n } else if (typeof config1[prop] !== 'undefined') {\n config[prop] = config1[prop];\n }\n });\n\n utils.forEach(defaultToConfig2Keys, function defaultToConfig2(prop) {\n if (typeof config2[prop] !== 'undefined') {\n config[prop] = config2[prop];\n } else if (typeof config1[prop] !== 'undefined') {\n config[prop] = config1[prop];\n }\n });\n\n var axiosKeys = valueFromConfig2Keys\n .concat(mergeDeepPropertiesKeys)\n .concat(defaultToConfig2Keys);\n\n var otherKeys = Object\n .keys(config2)\n .filter(function filterAxiosKeys(key) {\n return axiosKeys.indexOf(key) === -1;\n });\n\n utils.forEach(otherKeys, function otherKeysDefaultToConfig2(prop) {\n if (typeof config2[prop] !== 'undefined') {\n config[prop] = config2[prop];\n } else if (typeof config1[prop] !== 'undefined') {\n config[prop] = config1[prop];\n }\n });\n\n return config;\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar settle = require('./../core/settle');\nvar buildURL = require('./../helpers/buildURL');\nvar buildFullPath = require('../core/buildFullPath');\nvar parseHeaders = require('./../helpers/parseHeaders');\nvar isURLSameOrigin = require('./../helpers/isURLSameOrigin');\nvar createError = require('../core/createError');\n\nmodule.exports = function xhrAdapter(config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n var requestData = config.data;\n var requestHeaders = config.headers;\n\n if (utils.isFormData(requestData)) {\n delete requestHeaders['Content-Type']; // Let the browser set it\n }\n\n var request = new XMLHttpRequest();\n\n // HTTP basic authentication\n if (config.auth) {\n var username = config.auth.username || '';\n var password = config.auth.password || '';\n requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password);\n }\n\n var fullPath = buildFullPath(config.baseURL, config.url);\n request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true);\n\n // Set the request timeout in MS\n request.timeout = config.timeout;\n\n // Listen for ready state\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n\n // Prepare the response\n var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null;\n var responseData = !config.responseType || config.responseType === 'text' ? request.responseText : request.response;\n var response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config: config,\n request: request\n };\n\n settle(resolve, reject, response);\n\n // Clean up request\n request = null;\n };\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(createError('Request aborted', config, 'ECONNABORTED', request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(createError('Network Error', config, null, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n var timeoutErrorMessage = 'timeout of ' + config.timeout + 'ms exceeded';\n if (config.timeoutErrorMessage) {\n timeoutErrorMessage = config.timeoutErrorMessage;\n }\n reject(createError(timeoutErrorMessage, config, 'ECONNABORTED',\n request));\n\n // Clean up request\n request = null;\n };\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n if (utils.isStandardBrowserEnv()) {\n var cookies = require('./../helpers/cookies');\n\n // Add xsrf header\n var xsrfValue = (config.withCredentials || isURLSameOrigin(fullPath)) && config.xsrfCookieName ?\n cookies.read(config.xsrfCookieName) :\n undefined;\n\n if (xsrfValue) {\n requestHeaders[config.xsrfHeaderName] = xsrfValue;\n }\n }\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders, function setRequestHeader(val, key) {\n if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') {\n // Remove Content-Type if data is undefined\n delete requestHeaders[key];\n } else {\n // Otherwise add header to the request\n request.setRequestHeader(key, val);\n }\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(config.withCredentials)) {\n request.withCredentials = !!config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (config.responseType) {\n try {\n request.responseType = config.responseType;\n } catch (e) {\n // Expected DOMException thrown by browsers not compatible XMLHttpRequest Level 2.\n // But, this can be suppressed for 'json' type as it can be parsed by default 'transformResponse' function.\n if (config.responseType !== 'json') {\n throw e;\n }\n }\n }\n\n // Handle progress if needed\n if (typeof config.onDownloadProgress === 'function') {\n request.addEventListener('progress', config.onDownloadProgress);\n }\n\n // Not all browsers support upload events\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', config.onUploadProgress);\n }\n\n if (config.cancelToken) {\n // Handle cancellation\n config.cancelToken.promise.then(function onCanceled(cancel) {\n if (!request) {\n return;\n }\n\n request.abort();\n reject(cancel);\n // Clean up request\n request = null;\n });\n }\n\n if (requestData === undefined) {\n requestData = null;\n }\n\n // Send the request\n request.send(requestData);\n });\n};\n","'use strict';\n\nvar Cancel = require('./Cancel');\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @class\n * @param {Function} executor The executor function.\n */\nfunction CancelToken(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n var resolvePromise;\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n var token = this;\n executor(function cancel(message) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new Cancel(message);\n resolvePromise(token.reason);\n });\n}\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nCancelToken.prototype.throwIfRequested = function throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n};\n\n/**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\nCancelToken.source = function source() {\n var cancel;\n var token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token: token,\n cancel: cancel\n };\n};\n\nmodule.exports = CancelToken;\n","'use strict';\n\nvar utils = require('./../utils');\nvar buildURL = require('../helpers/buildURL');\nvar InterceptorManager = require('./InterceptorManager');\nvar dispatchRequest = require('./dispatchRequest');\nvar mergeConfig = require('./mergeConfig');\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n */\nfunction Axios(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n}\n\n/**\n * Dispatch a request\n *\n * @param {Object} config The config specific for this request (merged with this.defaults)\n */\nAxios.prototype.request = function request(config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof config === 'string') {\n config = arguments[1] || {};\n config.url = arguments[0];\n } else {\n config = config || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n // Set config.method\n if (config.method) {\n config.method = config.method.toLowerCase();\n } else if (this.defaults.method) {\n config.method = this.defaults.method.toLowerCase();\n } else {\n config.method = 'get';\n }\n\n // Hook up interceptors middleware\n var chain = [dispatchRequest, undefined];\n var promise = Promise.resolve(config);\n\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n chain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n chain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n while (chain.length) {\n promise = promise.then(chain.shift(), chain.shift());\n }\n\n return promise;\n};\n\nAxios.prototype.getUri = function getUri(config) {\n config = mergeConfig(this.defaults, config);\n return buildURL(config.url, config.params, config.paramsSerializer).replace(/^\\?/, '');\n};\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(utils.merge(config || {}, {\n method: method,\n url: url\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, data, config) {\n return this.request(utils.merge(config || {}, {\n method: method,\n url: url,\n data: data\n }));\n };\n});\n\nmodule.exports = Axios;\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%40/gi, '@').\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @returns {string} The formatted url\n */\nmodule.exports = function buildURL(url, params, paramsSerializer) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n\n var serializedParams;\n if (paramsSerializer) {\n serializedParams = paramsSerializer(params);\n } else if (utils.isURLSearchParams(params)) {\n serializedParams = params.toString();\n } else {\n var parts = [];\n\n utils.forEach(params, function serialize(val, key) {\n if (val === null || typeof val === 'undefined') {\n return;\n }\n\n if (utils.isArray(val)) {\n key = key + '[]';\n } else {\n val = [val];\n }\n\n utils.forEach(val, function parseValue(v) {\n if (utils.isDate(v)) {\n v = v.toISOString();\n } else if (utils.isObject(v)) {\n v = JSON.stringify(v);\n }\n parts.push(encode(key) + '=' + encode(v));\n });\n });\n\n serializedParams = parts.join('&');\n }\n\n if (serializedParams) {\n var hashmarkIndex = url.indexOf('#');\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n};\n","'use strict';\n\nmodule.exports = function bind(fn, thisArg) {\n return function wrap() {\n var args = new Array(arguments.length);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i];\n }\n return fn.apply(thisArg, args);\n };\n};\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nmodule.exports = function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d\\+\\-\\.]*:)?\\/\\//i.test(url);\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Object|String} data The data to be transformed\n * @param {Array} headers The headers for the request or response\n * @param {Array|Function} fns A single function or Array of functions\n * @returns {*} The resulting transformed data\n */\nmodule.exports = function transformData(data, headers, fns) {\n /*eslint no-param-reassign:0*/\n utils.forEach(fns, function transform(fn) {\n data = fn(data, headers);\n });\n\n return data;\n};\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n * @returns {string} The combined URL\n */\nmodule.exports = function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar transformData = require('./transformData');\nvar isCancel = require('../cancel/isCancel');\nvar defaults = require('../defaults');\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n * @returns {Promise} The Promise to be fulfilled\n */\nmodule.exports = function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n // Ensure headers exist\n config.headers = config.headers || {};\n\n // Transform request data\n config.data = transformData(\n config.data,\n config.headers,\n config.transformRequest\n );\n\n // Flatten headers\n config.headers = utils.merge(\n config.headers.common || {},\n config.headers[config.method] || {},\n config.headers\n );\n\n utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n function cleanHeaderConfig(method) {\n delete config.headers[method];\n }\n );\n\n var adapter = config.adapter || defaults.adapter;\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData(\n response.data,\n response.headers,\n config.transformResponse\n );\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData(\n reason.response.data,\n reason.response.headers,\n config.transformResponse\n );\n }\n }\n\n return Promise.reject(reason);\n });\n};\n","'use strict';\n\nvar isAbsoluteURL = require('../helpers/isAbsoluteURL');\nvar combineURLs = require('../helpers/combineURLs');\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n * @returns {string} The combined full path\n */\nmodule.exports = function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n};\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n * @returns {Function}\n */\nmodule.exports = function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n};\n","'use strict';\n\n/**\n * Update an Error with the specified config, error code, and response.\n *\n * @param {Error} error The error to update.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The error.\n */\nmodule.exports = function enhanceError(error, config, code, request, response) {\n error.config = config;\n if (code) {\n error.code = code;\n }\n\n error.request = request;\n error.response = response;\n error.isAxiosError = true;\n\n error.toJSON = function() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: this.config,\n code: this.code\n };\n };\n return error;\n};\n"],"sourceRoot":""}