From ff34f6dd51f7fe5bc94edd5547318d8a783648c9 Mon Sep 17 00:00:00 2001 From: Jay Date: Tue, 4 Oct 2022 20:25:21 +0200 Subject: [PATCH] chore: release v1.0.0 --- bower.json | 2 +- dist/axios.js | 2549 +++++++++++++++---------- dist/axios.js.map | 2 +- dist/axios.min.js | 2 +- dist/axios.min.js.map | 2 +- dist/esm/axios.js | 2434 +++++++++++++++--------- dist/esm/axios.js.map | 2 +- dist/esm/axios.min.js | 2 +- dist/esm/axios.min.js.map | 2 +- dist/node/axios.cjs | 3750 +++++++++++++++++++++++++++++++++++++ dist/node/axios.cjs.map | 1 + gulpfile.js | 3 +- lib/env/data.js | 2 +- package-lock.json | 4 +- package.json | 6 +- 15 files changed, 6849 insertions(+), 1914 deletions(-) create mode 100644 dist/node/axios.cjs create mode 100644 dist/node/axios.cjs.map diff --git a/bower.json b/bower.json index d7ec89d..223b6ec 100644 --- a/bower.json +++ b/bower.json @@ -1,7 +1,7 @@ { "name": "axios", "main": "./dist/axios.js", - "version": "1.0.0-alpha.1", + "version": "1.0.0", "homepage": "https://axios-http.com", "authors": [ "Matt Zabriskie" diff --git a/dist/axios.js b/dist/axios.js index 1d3b6c2..93835d8 100644 --- a/dist/axios.js +++ b/dist/axios.js @@ -1,255 +1,280 @@ -// axios v1.0.0-alpha.1 Copyright (c) 2022 Matt Zabriskie +// Axios v1.0.0 Copyright (c) 2022 Matt Zabriskie and contributors (function (global, factory) { typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : typeof define === 'function' && define.amd ? define(factory) : (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.axios = factory()); })(this, (function () { 'use strict'; - var bind = function bind(fn, thisArg) { + function _typeof(obj) { + "@babel/helpers - typeof"; + + return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { + return typeof obj; + } : function (obj) { + return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; + }, _typeof(obj); + } + + function _classCallCheck(instance, Constructor) { + if (!(instance instanceof Constructor)) { + throw new TypeError("Cannot call a class as a function"); + } + } + + function _defineProperties(target, props) { + for (var i = 0; i < props.length; i++) { + var descriptor = props[i]; + descriptor.enumerable = descriptor.enumerable || false; + descriptor.configurable = true; + if ("value" in descriptor) descriptor.writable = true; + Object.defineProperty(target, descriptor.key, descriptor); + } + } + + function _createClass(Constructor, protoProps, staticProps) { + if (protoProps) _defineProperties(Constructor.prototype, protoProps); + if (staticProps) _defineProperties(Constructor, staticProps); + Object.defineProperty(Constructor, "prototype", { + writable: false + }); + return Constructor; + } + + function bind(fn, thisArg) { return function wrap() { return fn.apply(thisArg, arguments); }; - }; - - // utils is a library of generic helper functions non-specific to axios + } var toString = Object.prototype.toString; + var getPrototypeOf = Object.getPrototypeOf; - // eslint-disable-next-line func-names - var kindOf = (function(cache) { - // eslint-disable-next-line func-names - return function(thing) { + var kindOf = function (cache) { + return function (thing) { var str = toString.call(thing); return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase()); }; - })(Object.create(null)); + }(Object.create(null)); - function kindOfTest(type) { + var kindOfTest = function kindOfTest(type) { type = type.toLowerCase(); - return function isKindOf(thing) { + return function (thing) { return kindOf(thing) === type; }; - } + }; + var typeOfTest = function typeOfTest(type) { + return function (thing) { + return _typeof(thing) === type; + }; + }; /** * Determine if a value is an Array * * @param {Object} val The value to test + * * @returns {boolean} True if value is an Array, otherwise false */ - function isArray(val) { - return Array.isArray(val); - } + + var isArray = Array.isArray; /** * Determine if a value is undefined * - * @param {Object} val The value to test + * @param {*} val The value to test + * * @returns {boolean} True if the value is undefined, otherwise false */ - function isUndefined(val) { - return typeof val === 'undefined'; - } + var isUndefined = typeOfTest('undefined'); /** * Determine if a value is a Buffer * - * @param {Object} val The value to test + * @param {*} val The value to test + * * @returns {boolean} True if value is a Buffer, otherwise false */ - function isBuffer(val) { - return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor) - && typeof val.constructor.isBuffer === 'function' && val.constructor.isBuffer(val); - } + function isBuffer(val) { + return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor) && isFunction(val.constructor.isBuffer) && val.constructor.isBuffer(val); + } /** * Determine if a value is an ArrayBuffer * - * @function - * @param {Object} val The value to test + * @param {*} val The value to test + * * @returns {boolean} True if value is an ArrayBuffer, otherwise false */ + + var isArrayBuffer = kindOfTest('ArrayBuffer'); - - /** * Determine if a value is a view on an ArrayBuffer * - * @param {Object} val The value to test + * @param {*} val The value to test + * * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false */ + function isArrayBufferView(val) { var result; - if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) { + + if (typeof ArrayBuffer !== 'undefined' && ArrayBuffer.isView) { result = ArrayBuffer.isView(val); } else { - result = (val) && (val.buffer) && (isArrayBuffer(val.buffer)); + result = val && val.buffer && isArrayBuffer(val.buffer); } + return result; } - /** * Determine if a value is a String * - * @param {Object} val The value to test + * @param {*} val The value to test + * * @returns {boolean} True if value is a String, otherwise false */ - function isString(val) { - return typeof val === 'string'; - } + + var isString = typeOfTest('string'); + /** + * Determine if a value is a Function + * + * @param {*} val The value to test + * @returns {boolean} True if value is a Function, otherwise false + */ + + var isFunction = typeOfTest('function'); /** * Determine if a value is a Number * - * @param {Object} val The value to test + * @param {*} val The value to test + * * @returns {boolean} True if value is a Number, otherwise false */ - function isNumber(val) { - return typeof val === 'number'; - } + var isNumber = typeOfTest('number'); /** * Determine if a value is an Object * - * @param {Object} val The value to test + * @param {*} thing The value to test + * * @returns {boolean} True if value is an Object, otherwise false */ - function isObject(val) { - return val !== null && typeof val === 'object'; - } + var isObject = function isObject(thing) { + return thing !== null && _typeof(thing) === 'object'; + }; + /** + * Determine if a value is a Boolean + * + * @param {*} thing The value to test + * @returns {boolean} True if value is a Boolean, otherwise false + */ + + + var isBoolean = function isBoolean(thing) { + return thing === true || thing === false; + }; /** * Determine if a value is a plain Object * - * @param {Object} val The value to test - * @return {boolean} True if value is a plain Object, otherwise false + * @param {*} val The value to test + * + * @returns {boolean} True if value is a plain Object, otherwise false */ - function isPlainObject(val) { + + + var isPlainObject = function isPlainObject(val) { if (kindOf(val) !== 'object') { return false; } - var prototype = Object.getPrototypeOf(val); + var prototype = getPrototypeOf(val); return prototype === null || prototype === Object.prototype; - } - + }; /** * Determine if a value is a Date * - * @function - * @param {Object} val The value to test + * @param {*} val The value to test + * * @returns {boolean} True if value is a Date, otherwise false */ - var isDate = kindOfTest('Date'); + + var isDate = kindOfTest('Date'); /** * Determine if a value is a File * - * @function - * @param {Object} val The value to test + * @param {*} val The value to test + * * @returns {boolean} True if value is a File, otherwise false */ - var isFile = kindOfTest('File'); + var isFile = kindOfTest('File'); /** * Determine if a value is a Blob * - * @function - * @param {Object} val The value to test + * @param {*} val The value to test + * * @returns {boolean} True if value is a Blob, otherwise false */ - var isBlob = kindOfTest('Blob'); + var isBlob = kindOfTest('Blob'); /** * Determine if a value is a FileList * - * @function - * @param {Object} val The value to test + * @param {*} val The value to test + * * @returns {boolean} True if value is a File, otherwise false */ + var isFileList = kindOfTest('FileList'); - - /** - * Determine if a value is a Function - * - * @param {Object} val The value to test - * @returns {boolean} True if value is a Function, otherwise false - */ - function isFunction(val) { - return toString.call(val) === '[object Function]'; - } - /** * Determine if a value is a Stream * - * @param {Object} val The value to test + * @param {*} val The value to test + * * @returns {boolean} True if value is a Stream, otherwise false */ - function isStream(val) { - return isObject(val) && isFunction(val.pipe); - } + var isStream = function isStream(val) { + return isObject(val) && isFunction(val.pipe); + }; /** * Determine if a value is a FormData * - * @param {Object} thing The value to test + * @param {*} thing The value to test + * * @returns {boolean} True if value is an FormData, otherwise false */ - function isFormData(thing) { - var pattern = '[object FormData]'; - return thing && ( - (typeof FormData === 'function' && thing instanceof FormData) || - toString.call(thing) === pattern || - (isFunction(thing.toString) && thing.toString() === pattern) - ); - } + + var isFormData = function isFormData(thing) { + var pattern = '[object FormData]'; + return thing && (typeof FormData === 'function' && thing instanceof FormData || toString.call(thing) === pattern || isFunction(thing.toString) && thing.toString() === pattern); + }; /** * Determine if a value is a URLSearchParams object - * @function - * @param {Object} val The value to test + * + * @param {*} val The value to test + * * @returns {boolean} True if value is a URLSearchParams object, otherwise false */ - var isURLSearchParams = kindOfTest('URLSearchParams'); + + var isURLSearchParams = kindOfTest('URLSearchParams'); /** * Trim excess whitespace off the beginning and end of a string * * @param {String} str The String to trim + * * @returns {String} The String freed of excess whitespace */ - function trim(str) { + + var trim = function trim(str) { return str.trim ? str.trim() : str.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, ''); - } - - /** - * Determine if we're running in a standard browser environment - * - * This allows axios to run in a web worker, and react-native. - * Both environments support XMLHttpRequest, but not fully standard globals. - * - * web workers: - * typeof window -> undefined - * typeof document -> undefined - * - * react-native: - * navigator.product -> 'ReactNative' - * nativescript - * navigator.product -> 'NativeScript' or 'NS' - */ - function isStandardBrowserEnv() { - var product; - if (typeof navigator !== 'undefined' && ( - (product = navigator.product) === 'ReactNative' || - product === 'NativeScript' || - product === 'NS') - ) { - return false; - } - - return typeof window !== 'undefined' && typeof document !== 'undefined'; - } - + }; /** * Iterate over an Array or an Object invoking a function for each item. * @@ -261,34 +286,47 @@ * * @param {Object|Array} obj The object to iterate * @param {Function} fn The callback to invoke for each item + * + * @param {Boolean} [allOwnKeys = false] + * @returns {void} */ + + function forEach(obj, fn) { + var _ref = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}, + _ref$allOwnKeys = _ref.allOwnKeys, + allOwnKeys = _ref$allOwnKeys === void 0 ? false : _ref$allOwnKeys; + // Don't bother if no value provided if (obj === null || typeof obj === 'undefined') { return; } - // Force an array if not already something iterable - if (typeof obj !== 'object') { + var i; + var l; // Force an array if not already something iterable + + if (_typeof(obj) !== 'object') { /*eslint no-param-reassign:0*/ obj = [obj]; } if (isArray(obj)) { // Iterate over array values - for (var i = 0, l = obj.length; i < l; i++) { + for (i = 0, l = obj.length; i < l; i++) { fn.call(null, obj[i], i, obj); } } else { // Iterate over object keys - for (var key in obj) { - if (Object.prototype.hasOwnProperty.call(obj, key)) { - fn.call(null, obj[key], key, obj); - } + var keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj); + var len = keys.length; + var key; + + for (i = 0; i < len; i++) { + key = keys[i]; + fn.call(null, obj[key], key, obj); } } } - /** * Accepts varargs expecting each argument to be an object, then * immutably merges the properties of each object and returns result. @@ -304,11 +342,17 @@ * ``` * * @param {Object} obj1 Object to merge + * * @returns {Object} Result of all merge properties */ - function merge(/* obj1, obj2, obj3, ... */) { + + + function + /* obj1, obj2, obj3, ... */ + merge() { var result = {}; - function assignValue(val, key) { + + var assignValue = function assignValue(val, key) { if (isPlainObject(result[key]) && isPlainObject(val)) { result[key] = merge(result[key], val); } else if (isPlainObject(val)) { @@ -318,152 +362,206 @@ } else { result[key] = val; } - } + }; for (var i = 0, l = arguments.length; i < l; i++) { - forEach(arguments[i], assignValue); + arguments[i] && forEach(arguments[i], assignValue); } + return result; } - /** * Extends object a by mutably adding to it the properties of object b. * * @param {Object} a The object to be extended * @param {Object} b The object to copy properties from * @param {Object} thisArg The object to bind function to - * @return {Object} The resulting value of object a + * + * @param {Boolean} [allOwnKeys] + * @returns {Object} The resulting value of object a */ - function extend(a, b, thisArg) { - forEach(b, function assignValue(val, key) { - if (thisArg && typeof val === 'function') { + + + var extend = function extend(a, b, thisArg) { + var _ref2 = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {}, + allOwnKeys = _ref2.allOwnKeys; + + forEach(b, function (val, key) { + if (thisArg && isFunction(val)) { a[key] = bind(val, thisArg); } else { a[key] = val; } + }, { + allOwnKeys: allOwnKeys }); return a; - } - + }; /** * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM) * * @param {string} content with BOM - * @return {string} content value without BOM + * + * @returns {string} content value without BOM */ - function stripBOM(content) { + + + var stripBOM = function stripBOM(content) { if (content.charCodeAt(0) === 0xFEFF) { content = content.slice(1); } - return content; - } + return content; + }; /** * Inherit the prototype methods from one constructor into another * @param {function} constructor * @param {function} superConstructor * @param {object} [props] * @param {object} [descriptors] + * + * @returns {void} */ - function inherits(constructor, superConstructor, props, descriptors) { + + var inherits = function inherits(constructor, superConstructor, props, descriptors) { constructor.prototype = Object.create(superConstructor.prototype, descriptors); constructor.prototype.constructor = constructor; + Object.defineProperty(constructor, 'super', { + value: superConstructor.prototype + }); props && Object.assign(constructor.prototype, props); - } - + }; /** * Resolve object with deep prototype chain to a flat object * @param {Object} sourceObj source object * @param {Object} [destObj] * @param {Function|Boolean} [filter] * @param {Function} [propFilter] + * * @returns {Object} */ - function toFlatObject(sourceObj, destObj, filter, propFilter) { + + var toFlatObject = function toFlatObject(sourceObj, destObj, filter, propFilter) { var props; var i; var prop; var merged = {}; + destObj = destObj || {}; // eslint-disable-next-line no-eq-null,eqeqeq - destObj = destObj || {}; - // eslint-disable-next-line no-eq-null,eqeqeq if (sourceObj == null) return destObj; do { props = Object.getOwnPropertyNames(sourceObj); i = props.length; + while (i-- > 0) { prop = props[i]; + if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) { destObj[prop] = sourceObj[prop]; merged[prop] = true; } } - sourceObj = filter !== false && Object.getPrototypeOf(sourceObj); + + sourceObj = filter !== false && getPrototypeOf(sourceObj); } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype); return destObj; - } - - /* - * determines whether a string ends with the characters of a specified string + }; + /** + * Determines whether a string ends with the characters of a specified string + * * @param {String} str * @param {String} searchString * @param {Number} [position= 0] + * * @returns {boolean} */ - function endsWith(str, searchString, position) { + + + var endsWith = function endsWith(str, searchString, position) { str = String(str); + if (position === undefined || position > str.length) { position = str.length; } + position -= searchString.length; var lastIndex = str.indexOf(searchString, position); return lastIndex !== -1 && lastIndex === position; - } - - + }; /** * Returns new array from array like object or null if failed + * * @param {*} [thing] + * * @returns {?Array} */ - function toArray(thing) { + + + var toArray = function toArray(thing) { if (!thing) return null; if (isArray(thing)) return thing; var i = thing.length; if (!isNumber(i)) return null; var arr = new Array(i); + while (i-- > 0) { arr[i] = thing[i]; } - return arr; - } + return arr; + }; + /** + * Checking if the Uint8Array exists and if it does, it returns a function that checks if the + * thing passed in is an instance of Uint8Array + * + * @param {TypedArray} + * + * @returns {Array} + */ // eslint-disable-next-line func-names - var isTypedArray = (function(TypedArray) { + + + var isTypedArray = function (TypedArray) { // eslint-disable-next-line func-names - return function(thing) { + return function (thing) { return TypedArray && thing instanceof TypedArray; }; - })(typeof Uint8Array !== 'undefined' && Object.getPrototypeOf(Uint8Array)); + }(typeof Uint8Array !== 'undefined' && getPrototypeOf(Uint8Array)); + /** + * For each entry in the object, call the function with the key and value. + * + * @param {Object} obj - The object to iterate over. + * @param {Function} fn - The function to call for each entry. + * + * @returns {void} + */ - function forEachEntry(obj, fn) { + + var forEachEntry = function forEachEntry(obj, fn) { var generator = obj && obj[Symbol.iterator]; - var iterator = generator.call(obj); - var result; while ((result = iterator.next()) && !result.done) { var pair = result.value; fn.call(obj, pair[0], pair[1]); } - } + }; + /** + * It takes a regular expression and a string, and returns an array of all the matches + * + * @param {string} regExp - The regular expression to match against. + * @param {string} str - The string to search. + * + * @returns {Array} + */ - function matchAll(regExp, str) { + + var matchAll = function matchAll(regExp, str) { var matches; var arr = []; @@ -472,15 +570,91 @@ } return arr; - } + }; + /* Checking if the kindOfTest function returns true when passed an HTMLFormElement. */ + var isHTMLForm = kindOfTest('HTMLFormElement'); - var hasOwnProperty = (function resolver(_hasOwnProperty) { - return function(obj, prop) { - return _hasOwnProperty.call(obj, prop); + var toCamelCase = function toCamelCase(str) { + return str.toLowerCase().replace(/[_-\s]([a-z\d])(\w*)/g, function replacer(m, p1, p2) { + return p1.toUpperCase() + p2; + }); + }; + /* Creating a function that will check if an object has a property. */ + + + var hasOwnProperty = function (_ref3) { + var hasOwnProperty = _ref3.hasOwnProperty; + return function (obj, prop) { + return hasOwnProperty.call(obj, prop); }; - })(Object.prototype.hasOwnProperty); + }(Object.prototype); + /** + * Determine if a value is a RegExp object + * + * @param {*} val The value to test + * + * @returns {boolean} True if value is a RegExp object, otherwise false + */ + + + var isRegExp = kindOfTest('RegExp'); + + var reduceDescriptors = function reduceDescriptors(obj, reducer) { + var descriptors = Object.getOwnPropertyDescriptors(obj); + var reducedDescriptors = {}; + forEach(descriptors, function (descriptor, name) { + if (reducer(descriptor, name, obj) !== false) { + reducedDescriptors[name] = descriptor; + } + }); + Object.defineProperties(obj, reducedDescriptors); + }; + /** + * Makes all methods read-only + * @param {Object} obj + */ + + + var freezeMethods = function freezeMethods(obj) { + reduceDescriptors(obj, function (descriptor, name) { + var value = obj[name]; + if (!isFunction(value)) return; + descriptor.enumerable = false; + + if ('writable' in descriptor) { + descriptor.writable = false; + return; + } + + if (!descriptor.set) { + descriptor.set = function () { + throw Error('Can not read-only method \'' + name + '\''); + }; + } + }); + }; + + var toObjectSet = function toObjectSet(arrayOrString, delimiter) { + var obj = {}; + + var define = function define(arr) { + arr.forEach(function (value) { + obj[value] = true; + }); + }; + + isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter)); + return obj; + }; + + var noop = function noop() {}; + + var toFiniteNumber = function toFiniteNumber(value, defaultValue) { + value = +value; + return Number.isFinite(value) ? value : defaultValue; + }; var utils = { isArray: isArray, @@ -490,16 +664,19 @@ isArrayBufferView: isArrayBufferView, isString: isString, isNumber: isNumber, + isBoolean: isBoolean, isObject: isObject, isPlainObject: isPlainObject, isUndefined: isUndefined, isDate: isDate, isFile: isFile, isBlob: isBlob, + isRegExp: isRegExp, isFunction: isFunction, isStream: isStream, isURLSearchParams: isURLSearchParams, - isStandardBrowserEnv: isStandardBrowserEnv, + isTypedArray: isTypedArray, + isFileList: isFileList, forEach: forEach, merge: merge, extend: extend, @@ -511,12 +688,18 @@ kindOfTest: kindOfTest, endsWith: endsWith, toArray: toArray, - isTypedArray: isTypedArray, - isFileList: isFileList, forEachEntry: forEachEntry, matchAll: matchAll, isHTMLForm: isHTMLForm, - hasOwnProperty: hasOwnProperty + hasOwnProperty: hasOwnProperty, + hasOwnProp: hasOwnProperty, + // an alias to avoid ESLint no-prototype-builtins detection + reduceDescriptors: reduceDescriptors, + freezeMethods: freezeMethods, + toObjectSet: toObjectSet, + toCamelCase: toCamelCase, + noop: noop, + toFiniteNumber: toFiniteNumber }; /** @@ -527,15 +710,17 @@ * @param {Object} [config] The config. * @param {Object} [request] The request. * @param {Object} [response] The response. + * * @returns {Error} The created error. */ + function AxiosError(message, code, config, request, response) { Error.call(this); if (Error.captureStackTrace) { Error.captureStackTrace(this, this.constructor); } else { - this.stack = (new Error()).stack; + this.stack = new Error().stack; } this.message = message; @@ -567,65 +752,69 @@ }; } }); - var prototype$1 = AxiosError.prototype; var descriptors = {}; - - [ - 'ERR_BAD_OPTION_VALUE', - 'ERR_BAD_OPTION', - 'ECONNABORTED', - 'ETIMEDOUT', - 'ERR_NETWORK', - 'ERR_FR_TOO_MANY_REDIRECTS', - 'ERR_DEPRECATED', - 'ERR_BAD_RESPONSE', - 'ERR_BAD_REQUEST', - 'ERR_CANCELED', - 'ERR_NOT_SUPPORT', - 'ERR_INVALID_URL' - // eslint-disable-next-line func-names - ].forEach(function(code) { - descriptors[code] = {value: code}; + ['ERR_BAD_OPTION_VALUE', 'ERR_BAD_OPTION', 'ECONNABORTED', 'ETIMEDOUT', 'ERR_NETWORK', 'ERR_FR_TOO_MANY_REDIRECTS', 'ERR_DEPRECATED', 'ERR_BAD_RESPONSE', 'ERR_BAD_REQUEST', 'ERR_CANCELED', 'ERR_NOT_SUPPORT', 'ERR_INVALID_URL' // eslint-disable-next-line func-names + ].forEach(function (code) { + descriptors[code] = { + value: code + }; }); - Object.defineProperties(AxiosError, descriptors); - Object.defineProperty(prototype$1, 'isAxiosError', {value: true}); + Object.defineProperty(prototype$1, 'isAxiosError', { + value: true + }); // eslint-disable-next-line func-names - // eslint-disable-next-line func-names - AxiosError.from = function(error, code, config, request, response, customProps) { + AxiosError.from = function (error, code, config, request, response, customProps) { var axiosError = Object.create(prototype$1); - utils.toFlatObject(error, axiosError, function filter(obj) { return obj !== Error.prototype; + }, function (prop) { + return prop !== 'isAxiosError'; }); - AxiosError.call(axiosError, error.message, code, config, request, response); - axiosError.cause = error; - axiosError.name = error.name; - customProps && Object.assign(axiosError, customProps); - return axiosError; }; - var AxiosError_1 = AxiosError; - /* eslint-env browser */ - var browser$1 = typeof self == 'object' ? self.FormData : window.FormData; + var browser = (typeof self === "undefined" ? "undefined" : _typeof(self)) == 'object' ? self.FormData : window.FormData; - // eslint-disable-next-line strict - var FormData$1 = browser$1; + /** + * Determines if the given thing is a array or js object. + * + * @param {string} thing - The object or array to be visited. + * + * @returns {boolean} + */ function isVisitable(thing) { return utils.isPlainObject(thing) || utils.isArray(thing); } + /** + * It removes the brackets from the end of a string + * + * @param {string} key - The key of the parameter. + * + * @returns {string} the key without the brackets. + */ + function removeBrackets(key) { return utils.endsWith(key, '[]') ? key.slice(0, -2) : key; } + /** + * It takes a path, a key, and a boolean, and returns a string + * + * @param {string} path - The path to the current key. + * @param {string} key - The key of the current object being iterated over. + * @param {string} dots - If true, the key will be rendered with dots instead of brackets. + * + * @returns {string} The path to the current key. + */ + function renderKey(path, key, dots) { if (!path) return key; @@ -635,6 +824,14 @@ return !dots && i ? '[' + token + ']' : token; }).join(dots ? '.' : ''); } + /** + * If the array is an array and none of its elements are visitable, then it's a flat array. + * + * @param {Array} arr - The array to check + * + * @returns {boolean} + */ + function isFlatArray(arr) { return utils.isArray(arr) && !arr.some(isVisitable); @@ -643,13 +840,20 @@ var predicates = utils.toFlatObject(utils, {}, null, function filter(prop) { return /^is[A-Z]/.test(prop); }); + /** + * If the thing is a FormData object, return true, otherwise return false. + * + * @param {unknown} thing - The thing to check. + * + * @returns {boolean} + */ function isSpecCompliant(thing) { return thing && utils.isFunction(thing.append) && thing[Symbol.toStringTag] === 'FormData' && thing[Symbol.iterator]; } - /** * Convert a data object to FormData + * * @param {Object} obj * @param {?Object} [formData] * @param {?Object} [options] @@ -657,18 +861,29 @@ * @param {Boolean} [options.metaTokens = true] * @param {Boolean} [options.dots = false] * @param {?Boolean} [options.indexes = false] + * * @returns {Object} **/ + /** + * It converts an object into a FormData object + * + * @param {Object} obj - The object to convert to form data. + * @param {string} formData - The FormData object to append to. + * @param {Object} options + * + * @returns + */ + + function toFormData(obj, formData, options) { if (!utils.isObject(obj)) { throw new TypeError('target must be an object'); - } + } // eslint-disable-next-line no-param-reassign - // eslint-disable-next-line no-param-reassign - formData = formData || new (FormData$1 || FormData)(); - // eslint-disable-next-line no-param-reassign + formData = formData || new (browser || FormData)(); // eslint-disable-next-line no-param-reassign + options = utils.toFlatObject(options, { metaTokens: true, dots: false, @@ -677,13 +892,14 @@ // eslint-disable-next-line no-eq-null,eqeqeq return !utils.isUndefined(source[option]); }); + var metaTokens = options.metaTokens; // eslint-disable-next-line no-use-before-define - var metaTokens = options.metaTokens; - // eslint-disable-next-line no-use-before-define var visitor = options.visitor || defaultVisitor; var dots = options.dots; var indexes = options.indexes; + var _Blob = options.Blob || typeof Blob !== 'undefined' && Blob; + var useBlob = _Blob && isSpecCompliant(formData); if (!utils.isFunction(visitor)) { @@ -698,7 +914,7 @@ } if (!useBlob && utils.isBlob(value)) { - throw new AxiosError_1('Blob is not supported. Use a Buffer instead.'); + throw new AxiosError('Blob is not supported. Use a Buffer instead.'); } if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) { @@ -707,37 +923,33 @@ return value; } - /** + * Default visitor. * * @param {*} value * @param {String|Number} key * @param {Array} path * @this {FormData} + * * @returns {boolean} return true to visit the each prop of the value recursively */ + + function defaultVisitor(value, key, path) { var arr = value; - if (value && !path && typeof value === 'object') { + if (value && !path && _typeof(value) === 'object') { if (utils.endsWith(key, '{}')) { // eslint-disable-next-line no-param-reassign - key = metaTokens ? key : key.slice(0, -2); - // eslint-disable-next-line no-param-reassign + key = metaTokens ? key : key.slice(0, -2); // eslint-disable-next-line no-param-reassign + value = JSON.stringify(value); - } else if ( - (utils.isArray(value) && isFlatArray(value)) || - (utils.isFileList(value) || utils.endsWith(key, '[]') && (arr = utils.toArray(value)) - )) { + } else if (utils.isArray(value) && isFlatArray(value) || utils.isFileList(value) || utils.endsWith(key, '[]') && (arr = utils.toArray(value))) { // eslint-disable-next-line no-param-reassign key = removeBrackets(key); - arr.forEach(function each(el, index) { - !utils.isUndefined(el) && formData.append( - // eslint-disable-next-line no-nested-ternary - indexes === true ? renderKey([key], index, dots) : (indexes === null ? key : key + '[]'), - convertValue(el) - ); + !utils.isUndefined(el) && formData.append( // eslint-disable-next-line no-nested-ternary + indexes === true ? renderKey([key], index, dots) : indexes === null ? key : key + '[]', convertValue(el)); }); return false; } @@ -748,12 +960,10 @@ } formData.append(renderKey(path, key, dots), convertValue(value)); - return false; } var stack = []; - var exposedHelpers = Object.assign(predicates, { defaultVisitor: defaultVisitor, convertValue: convertValue, @@ -768,17 +978,13 @@ } stack.push(value); - utils.forEach(value, function each(el, key) { - var result = !utils.isUndefined(el) && visitor.call( - formData, el, utils.isString(key) ? key.trim() : key, path, exposedHelpers - ); + var result = !utils.isUndefined(el) && visitor.call(formData, el, utils.isString(key) ? key.trim() : key, path, exposedHelpers); if (result === true) { build(el, path ? path.concat(key) : [key]); } }); - stack.pop(); } @@ -787,11 +993,17 @@ } build(obj); - return formData; } - var toFormData_1 = toFormData; + /** + * It encodes a string by replacing all characters that are not in the unreserved set with + * their percent-encoded equivalents + * + * @param {string} str - The string to encode. + * + * @returns {string} The encoded string. + */ function encode$1(str) { var charMap = { @@ -803,15 +1015,23 @@ '%20': '+', '%00': '\x00' }; - return encodeURIComponent(str).replace(/[!'\(\)~]|%20|%00/g, function replacer(match) { + return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) { return charMap[match]; }); } + /** + * It takes a params object and converts it to a FormData object + * + * @param {Object} params - The parameters to be converted to a FormData object. + * @param {Object} options - The options object passed to the Axios constructor. + * + * @returns {void} + */ + function AxiosURLSearchParams(params, options) { this._pairs = []; - - params && toFormData_1(params, this, options); + params && toFormData(params, this, options); } var prototype = AxiosURLSearchParams.prototype; @@ -821,7 +1041,7 @@ }; prototype.toString = function toString(encoder) { - var _encode = encoder ? function(value) { + var _encode = encoder ? function (value) { return encoder.call(this, value, encode$1); } : encode$1; @@ -830,27 +1050,30 @@ }, '').join('&'); }; - var AxiosURLSearchParams_1 = AxiosURLSearchParams; + /** + * It replaces all instances of the characters `:`, `$`, `,`, `+`, `[`, and `]` with their + * URI encoded counterparts + * + * @param {string} val The value to be encoded. + * + * @returns {string} The encoded value. + */ function encode(val) { - return encodeURIComponent(val). - replace(/%3A/gi, ':'). - replace(/%24/g, '$'). - replace(/%2C/gi, ','). - replace(/%20/g, '+'). - replace(/%5B/gi, '['). - replace(/%5D/gi, ']'); + return encodeURIComponent(val).replace(/%3A/gi, ':').replace(/%24/g, '$').replace(/%2C/gi, ',').replace(/%20/g, '+').replace(/%5B/gi, '[').replace(/%5D/gi, ']'); } - /** * Build a URL by appending params to the end * * @param {string} url The base of the url (e.g., http://www.google.com) * @param {object} [params] The params to be appended * @param {?object} options + * * @returns {string} The formatted url */ - var buildURL = function buildURL(url, params, options) { + + + function buildURL(url, params, options) { /*eslint no-param-reassign:0*/ if (!params) { return url; @@ -864,111 +1087,147 @@ var _encode = options && options.encode || encode; - var serializerParams = utils.isURLSearchParams(params) ? - params.toString() : - new AxiosURLSearchParams_1(params, options).toString(_encode); + var serializerParams = utils.isURLSearchParams(params) ? params.toString() : new AxiosURLSearchParams(params, options).toString(_encode); if (serializerParams) { url += (url.indexOf('?') === -1 ? '?' : '&') + serializerParams; } return url; - }; - - function InterceptorManager() { - this.handlers = []; } - /** - * Add a new interceptor to the stack - * - * @param {Function} fulfilled The function to handle `then` for a `Promise` - * @param {Function} rejected The function to handle `reject` for a `Promise` - * - * @return {Number} An ID used to remove interceptor later - */ - InterceptorManager.prototype.use = function use(fulfilled, rejected, options) { - this.handlers.push({ - fulfilled: fulfilled, - rejected: rejected, - synchronous: options ? options.synchronous : false, - runWhen: options ? options.runWhen : null - }); - return this.handlers.length - 1; - }; + var InterceptorManager = /*#__PURE__*/function () { + function InterceptorManager() { + _classCallCheck(this, InterceptorManager); - /** - * Remove an interceptor from the stack - * - * @param {Number} id The ID that was returned by `use` - */ - InterceptorManager.prototype.eject = function eject(id) { - if (this.handlers[id]) { - this.handlers[id] = null; - } - }; - - /** - * Clear all interceptors from the stack - */ - InterceptorManager.prototype.clear = function clear() { - if (this.handlers) { this.handlers = []; } - }; + /** + * Add a new interceptor to the stack + * + * @param {Function} fulfilled The function to handle `then` for a `Promise` + * @param {Function} rejected The function to handle `reject` for a `Promise` + * + * @return {Number} An ID used to remove interceptor later + */ - /** - * Iterate over all the registered interceptors - * - * This method is particularly useful for skipping over any - * interceptors that may have become `null` calling `eject`. - * - * @param {Function} fn The function to call for each interceptor - */ - InterceptorManager.prototype.forEach = function forEach(fn) { - utils.forEach(this.handlers, function forEachHandler(h) { - if (h !== null) { - fn(h); + + _createClass(InterceptorManager, [{ + key: "use", + value: function use(fulfilled, rejected, options) { + this.handlers.push({ + fulfilled: fulfilled, + rejected: rejected, + synchronous: options ? options.synchronous : false, + runWhen: options ? options.runWhen : null + }); + return this.handlers.length - 1; } - }); - }; + /** + * Remove an interceptor from the stack + * + * @param {Number} id The ID that was returned by `use` + * + * @returns {Boolean} `true` if the interceptor was removed, `false` otherwise + */ - var InterceptorManager_1 = InterceptorManager; - - var normalizeHeaderName = function normalizeHeaderName(headers, normalizedName) { - utils.forEach(headers, function processHeader(value, name) { - if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) { - headers[normalizedName] = value; - delete headers[name]; + }, { + key: "eject", + value: function eject(id) { + if (this.handlers[id]) { + this.handlers[id] = null; + } } - }); - }; + /** + * Clear all interceptors from the stack + * + * @returns {void} + */ - var transitional = { + }, { + key: "clear", + value: function clear() { + if (this.handlers) { + this.handlers = []; + } + } + /** + * Iterate over all the registered interceptors + * + * This method is particularly useful for skipping over any + * interceptors that may have become `null` calling `eject`. + * + * @param {Function} fn The function to call for each interceptor + * + * @returns {void} + */ + + }, { + key: "forEach", + value: function forEach(fn) { + utils.forEach(this.handlers, function forEachHandler(h) { + if (h !== null) { + fn(h); + } + }); + } + }]); + + return InterceptorManager; + }(); + + var transitionalDefaults = { silentJSONParsing: true, forcedJSONParsing: true, clarifyTimeoutError: false }; - var URLSearchParams_1 = typeof URLSearchParams !== 'undefined' ? URLSearchParams : AxiosURLSearchParams_1; + var URLSearchParams$1 = typeof URLSearchParams !== 'undefined' ? URLSearchParams : AxiosURLSearchParams; - var FormData_1 = FormData; + var FormData$1 = FormData; - var browser = { + /** + * Determine if we're running in a standard browser environment + * + * This allows axios to run in a web worker, and react-native. + * Both environments support XMLHttpRequest, but not fully standard globals. + * + * web workers: + * typeof window -> undefined + * typeof document -> undefined + * + * react-native: + * navigator.product -> 'ReactNative' + * nativescript + * navigator.product -> 'NativeScript' or 'NS' + * + * @returns {boolean} + */ + + var isStandardBrowserEnv = function () { + var product; + + if (typeof navigator !== 'undefined' && ((product = navigator.product) === 'ReactNative' || product === 'NativeScript' || product === 'NS')) { + return false; + } + + return typeof window !== 'undefined' && typeof document !== 'undefined'; + }(); + + var platform = { isBrowser: true, classes: { - URLSearchParams: URLSearchParams_1, - FormData: FormData_1, + URLSearchParams: URLSearchParams$1, + FormData: FormData$1, Blob: Blob }, - protocols: ['http', 'https', 'file', 'blob', 'url'] + isStandardBrowserEnv: isStandardBrowserEnv, + protocols: ['http', 'https', 'file', 'blob', 'url', 'data'] }; - var platform = browser; - - var toURLEncodedForm = function toURLEncodedForm(data, options) { - return toFormData_1(data, new platform.classes.URLSearchParams(), Object.assign({ - visitor: function(value, key, path, helpers) { + function toURLEncodedForm(data, options) { + return toFormData(data, new platform.classes.URLSearchParams(), Object.assign({ + visitor: function visitor(value, key, path, helpers) { if (platform.isNode && utils.isBuffer(value)) { this.append(key, value.toString('base64')); return false; @@ -977,17 +1236,33 @@ return helpers.defaultVisitor.apply(this, arguments); } }, options)); - }; + } + + /** + * It takes a string like `foo[x][y][z]` and returns an array like `['foo', 'x', 'y', 'z'] + * + * @param {string} name - The name of the property to get. + * + * @returns An array of strings. + */ function parsePropPath(name) { // foo[x][y][z] // foo.x.y.z // foo-x-y-z // foo x y z - return utils.matchAll(/\w+|\[(\w*)]/g, name).map(function(match) { + return utils.matchAll(/\w+|\[(\w*)]/g, name).map(function (match) { return match[0] === '[]' ? '' : match[1] || match[0]; }); } + /** + * Convert an array to an object. + * + * @param {Array} arr - The array to convert to an object. + * + * @returns An object with the same keys and values as the array. + */ + function arrayToObject(arr) { var obj = {}; @@ -995,12 +1270,22 @@ var i; var len = keys.length; var key; + for (i = 0; i < len; i++) { key = keys[i]; obj[key] = arr[key]; } + return obj; } + /** + * It takes a FormData object and returns a JavaScript object + * + * @param {string} formData The FormData object to convert to JSON. + * + * @returns {Object | null} The converted object. + */ + function formDataToJSON(formData) { function buildPath(path, value, target, index) { @@ -1010,7 +1295,7 @@ name = !name && utils.isArray(target) ? target.length : name; if (isLast) { - if (utils.hasOwnProperty(target, name)) { + if (utils.hasOwnProp(target, name)) { target[name] = [target[name], value]; } else { target[name] = value; @@ -1034,116 +1319,106 @@ if (utils.isFormData(formData) && utils.isFunction(formData.entries)) { var obj = {}; - - utils.forEachEntry(formData, function(name, value) { + utils.forEachEntry(formData, function (name, value) { buildPath(parsePropPath(name), value, obj, 0); }); - return obj; } return null; } - var formDataToJSON_1 = formDataToJSON; - /** * Resolve or reject a Promise based on response status. * * @param {Function} resolve A function that resolves the promise. * @param {Function} reject A function that rejects the promise. * @param {object} response The response. + * + * @returns {object} The response. */ - var settle = function settle(resolve, reject, response) { + + function settle(resolve, reject, response) { var validateStatus = response.config.validateStatus; + if (!response.status || !validateStatus || validateStatus(response.status)) { resolve(response); } else { - reject(new AxiosError_1( - 'Request failed with status code ' + response.status, - [AxiosError_1.ERR_BAD_REQUEST, AxiosError_1.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4], - response.config, - response.request, - response - )); + reject(new AxiosError('Request failed with status code ' + response.status, [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4], response.config, response.request, response)); } - }; + } - var cookies = ( - utils.isStandardBrowserEnv() ? + var cookies = platform.isStandardBrowserEnv ? // Standard browser envs support document.cookie + function standardBrowserEnv() { + return { + write: function write(name, value, expires, path, domain, secure) { + var cookie = []; + cookie.push(name + '=' + encodeURIComponent(value)); - // Standard browser envs support document.cookie - (function standardBrowserEnv() { - return { - write: function write(name, value, expires, path, domain, secure) { - var cookie = []; - cookie.push(name + '=' + encodeURIComponent(value)); + if (utils.isNumber(expires)) { + cookie.push('expires=' + new Date(expires).toGMTString()); + } - if (utils.isNumber(expires)) { - cookie.push('expires=' + new Date(expires).toGMTString()); - } + if (utils.isString(path)) { + cookie.push('path=' + path); + } - if (utils.isString(path)) { - cookie.push('path=' + path); - } + if (utils.isString(domain)) { + cookie.push('domain=' + domain); + } - if (utils.isString(domain)) { - cookie.push('domain=' + domain); - } + if (secure === true) { + cookie.push('secure'); + } - if (secure === true) { - cookie.push('secure'); - } - - document.cookie = cookie.join('; '); - }, - - read: function read(name) { - var match = document.cookie.match(new RegExp('(^|;\\s*)(' + name + ')=([^;]*)')); - return (match ? decodeURIComponent(match[3]) : null); - }, - - remove: function remove(name) { - this.write(name, '', Date.now() - 86400000); - } - }; - })() : - - // Non standard browser env (web workers, react-native) lack needed support. - (function nonStandardBrowserEnv() { - return { - write: function write() {}, - read: function read() { return null; }, - remove: function remove() {} - }; - })() - ); + document.cookie = cookie.join('; '); + }, + read: function read(name) { + var match = document.cookie.match(new RegExp('(^|;\\s*)(' + name + ')=([^;]*)')); + return match ? decodeURIComponent(match[3]) : null; + }, + remove: function remove(name) { + this.write(name, '', Date.now() - 86400000); + } + }; + }() : // Non standard browser env (web workers, react-native) lack needed support. + function nonStandardBrowserEnv() { + return { + write: function write() {}, + read: function read() { + return null; + }, + remove: function remove() {} + }; + }(); /** * Determines whether the specified URL is absolute * * @param {string} url The URL to test + * * @returns {boolean} True if the specified URL is absolute, otherwise false */ - var isAbsoluteURL = function isAbsoluteURL(url) { + + function isAbsoluteURL(url) { // A URL is considered absolute if it begins with "://" or "//" (protocol-relative URL). // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed // by any combination of letters, digits, plus, period, or hyphen. return /^([a-z][a-z\d+\-.]*:)?\/\//i.test(url); - }; + } /** * Creates a new URL by combining the specified URLs * * @param {string} baseURL The base URL * @param {string} relativeURL The relative URL + * * @returns {string} The combined URL */ - var combineURLs = function combineURLs(baseURL, relativeURL) { - return relativeURL - ? baseURL.replace(/\/+$/, '') + '/' + relativeURL.replace(/^\/+/, '') - : baseURL; - }; + + function combineURLs(baseURL, relativeURL) { + return relativeURL ? baseURL.replace(/\/+$/, '') + '/' + relativeURL.replace(/^\/+/, '') : baseURL; + } /** * Creates a new URL by combining the baseURL with the requestedURL, @@ -1152,24 +1427,101 @@ * * @param {string} baseURL The base URL * @param {string} requestedURL Absolute or relative URL to combine + * * @returns {string} The combined full path */ - var buildFullPath = function buildFullPath(baseURL, requestedURL) { + + function buildFullPath(baseURL, requestedURL) { if (baseURL && !isAbsoluteURL(requestedURL)) { return combineURLs(baseURL, requestedURL); } + return requestedURL; - }; + } + + var isURLSameOrigin = platform.isStandardBrowserEnv ? // Standard browser envs have full support of the APIs needed to test + // whether the request URL is of the same origin as current location. + function standardBrowserEnv() { + var msie = /(msie|trident)/i.test(navigator.userAgent); + var urlParsingNode = document.createElement('a'); + var originURL; + /** + * Parse a URL to discover it's components + * + * @param {String} url The URL to be parsed + * @returns {Object} + */ + + function resolveURL(url) { + var href = url; + + if (msie) { + // IE needs attribute set twice to normalize properties + urlParsingNode.setAttribute('href', href); + href = urlParsingNode.href; + } + + urlParsingNode.setAttribute('href', href); // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils + + return { + href: urlParsingNode.href, + protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '', + host: urlParsingNode.host, + search: urlParsingNode.search ? urlParsingNode.search.replace(/^\?/, '') : '', + hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '', + hostname: urlParsingNode.hostname, + port: urlParsingNode.port, + pathname: urlParsingNode.pathname.charAt(0) === '/' ? urlParsingNode.pathname : '/' + urlParsingNode.pathname + }; + } + + originURL = resolveURL(window.location.href); + /** + * Determine if a URL shares the same origin as the current location + * + * @param {String} requestURL The URL to test + * @returns {boolean} True if URL shares the same origin, otherwise false + */ + + return function isURLSameOrigin(requestURL) { + var parsed = utils.isString(requestURL) ? resolveURL(requestURL) : requestURL; + return parsed.protocol === originURL.protocol && parsed.host === originURL.host; + }; + }() : // Non standard browser envs (web workers, react-native) lack needed support. + function nonStandardBrowserEnv() { + return function isURLSameOrigin() { + return true; + }; + }(); + + /** + * A `CanceledError` is an object that is thrown when an operation is canceled. + * + * @param {string=} message The message. + * @param {Object=} config The config. + * @param {Object=} request The request. + * + * @returns {CanceledError} The created error. + */ + + function CanceledError(message, config, request) { + // eslint-disable-next-line no-eq-null,eqeqeq + AxiosError.call(this, message == null ? 'canceled' : message, AxiosError.ERR_CANCELED, config, request); + this.name = 'CanceledError'; + } + + utils.inherits(CanceledError, AxiosError, { + __CANCEL__: true + }); + + function parseProtocol(url) { + var match = /^([-+\w]{1,25})(:?\/\/|:)/.exec(url); + return match && match[1] || ''; + } - // Headers whose duplicates are ignored by node // c.f. https://nodejs.org/api/http.html#http_message_headers - var ignoreDuplicateOf = [ - 'age', 'authorization', 'content-length', 'content-type', 'etag', - 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since', - 'last-modified', 'location', 'max-forwards', 'proxy-authorization', - 'referer', 'retry-after', 'user-agent' - ]; + var ignoreDuplicateOf = utils.toObjectSet(['age', 'authorization', 'content-length', 'content-type', 'etag', 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since', 'last-modified', 'location', 'max-forwards', 'proxy-authorization', 'referer', 'retry-after', 'user-agent']); /** * Parse headers into an object * @@ -1180,133 +1532,369 @@ * Transfer-Encoding: chunked * ``` * - * @param {String} headers Headers needing to be parsed + * @param {String} rawHeaders Headers needing to be parsed + * * @returns {Object} Headers parsed into an object */ - var parseHeaders = function parseHeaders(headers) { + + var parseHeaders = (function (rawHeaders) { var parsed = {}; var key; var val; var i; - - if (!headers) { return parsed; } - - utils.forEach(headers.split('\n'), function parser(line) { + rawHeaders && rawHeaders.split('\n').forEach(function parser(line) { i = line.indexOf(':'); - key = utils.trim(line.slice(0, i)).toLowerCase(); - val = utils.trim(line.slice(i + 1)); + key = line.substring(0, i).trim().toLowerCase(); + val = line.substring(i + 1).trim(); - if (key) { - if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) { - return; - } - if (key === 'set-cookie') { - parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]); + if (!key || parsed[key] && ignoreDuplicateOf[key]) { + return; + } + + if (key === 'set-cookie') { + if (parsed[key]) { + parsed[key].push(val); } else { - parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val; + parsed[key] = [val]; } + } else { + parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val; } }); - return parsed; - }; - - var isURLSameOrigin = ( - utils.isStandardBrowserEnv() ? - - // Standard browser envs have full support of the APIs needed to test - // whether the request URL is of the same origin as current location. - (function standardBrowserEnv() { - var msie = /(msie|trident)/i.test(navigator.userAgent); - var urlParsingNode = document.createElement('a'); - var originURL; - - /** - * Parse a URL to discover it's components - * - * @param {String} url The URL to be parsed - * @returns {Object} - */ - function resolveURL(url) { - var href = url; - - if (msie) { - // IE needs attribute set twice to normalize properties - urlParsingNode.setAttribute('href', href); - href = urlParsingNode.href; - } - - urlParsingNode.setAttribute('href', href); - - // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils - return { - href: urlParsingNode.href, - protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '', - host: urlParsingNode.host, - search: urlParsingNode.search ? urlParsingNode.search.replace(/^\?/, '') : '', - hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '', - hostname: urlParsingNode.hostname, - port: urlParsingNode.port, - pathname: (urlParsingNode.pathname.charAt(0) === '/') ? - urlParsingNode.pathname : - '/' + urlParsingNode.pathname - }; - } - - originURL = resolveURL(window.location.href); - - /** - * Determine if a URL shares the same origin as the current location - * - * @param {String} requestURL The URL to test - * @returns {boolean} True if URL shares the same origin, otherwise false - */ - return function isURLSameOrigin(requestURL) { - var parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL; - return (parsed.protocol === originURL.protocol && - parsed.host === originURL.host); - }; - })() : - - // Non standard browser envs (web workers, react-native) lack needed support. - (function nonStandardBrowserEnv() { - return function isURLSameOrigin() { - return true; - }; - })() - ); - - /** - * A `CanceledError` is an object that is thrown when an operation is canceled. - * - * @class - * @param {string=} message The message. - * @param {Object=} config The config. - * @param {Object=} request The request. - */ - function CanceledError(message, config, request) { - // eslint-disable-next-line no-eq-null,eqeqeq - AxiosError_1.call(this, message == null ? 'canceled' : message, AxiosError_1.ERR_CANCELED, config, request); - this.name = 'CanceledError'; - } - - utils.inherits(CanceledError, AxiosError_1, { - __CANCEL__: true }); - var CanceledError_1 = CanceledError; + var $internals = Symbol('internals'); + var $defaults = Symbol('defaults'); - var parseProtocol = function parseProtocol(url) { - var match = /^([-+\w]{1,25})(:?\/\/|:)/.exec(url); - return match && match[1] || ''; - }; + function normalizeHeader(header) { + return header && String(header).trim().toLowerCase(); + } - var xhr = function xhrAdapter(config) { + function normalizeValue(value) { + if (value === false || value == null) { + return value; + } + + return String(value); + } + + function parseTokens(str) { + var tokens = Object.create(null); + var tokensRE = /([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g; + var match; + + while (match = tokensRE.exec(str)) { + tokens[match[1]] = match[2]; + } + + return tokens; + } + + function matchHeaderValue(context, value, header, filter) { + if (utils.isFunction(filter)) { + return filter.call(this, value, header); + } + + if (!utils.isString(value)) return; + + if (utils.isString(filter)) { + return value.indexOf(filter) !== -1; + } + + if (utils.isRegExp(filter)) { + return filter.test(value); + } + } + + function formatHeader(header) { + return header.trim().toLowerCase().replace(/([a-z\d])(\w*)/g, function (w, _char, str) { + return _char.toUpperCase() + str; + }); + } + + function buildAccessors(obj, header) { + var accessorName = utils.toCamelCase(' ' + header); + ['get', 'set', 'has'].forEach(function (methodName) { + Object.defineProperty(obj, methodName + accessorName, { + value: function value(arg1, arg2, arg3) { + return this[methodName].call(this, header, arg1, arg2, arg3); + }, + configurable: true + }); + }); + } + + function findKey(obj, key) { + key = key.toLowerCase(); + var keys = Object.keys(obj); + var i = keys.length; + + var _key; + + while (i-- > 0) { + _key = keys[i]; + + if (key === _key.toLowerCase()) { + return _key; + } + } + + return null; + } + + function AxiosHeaders(headers, defaults) { + headers && this.set(headers); + this[$defaults] = defaults || null; + } + + Object.assign(AxiosHeaders.prototype, { + set: function set(header, valueOrRewrite, rewrite) { + var self = this; + + function setHeader(_value, _header, _rewrite) { + var lHeader = normalizeHeader(_header); + + if (!lHeader) { + throw new Error('header name must be a non-empty string'); + } + + var key = findKey(self, lHeader); + + if (key && _rewrite !== true && (self[key] === false || _rewrite === false)) { + return; + } + + if (utils.isArray(_value)) { + _value = _value.map(normalizeValue); + } else { + _value = normalizeValue(_value); + } + + self[key || _header] = _value; + } + + if (utils.isPlainObject(header)) { + utils.forEach(header, function (_value, _header) { + setHeader(_value, _header, valueOrRewrite); + }); + } else { + setHeader(valueOrRewrite, header, rewrite); + } + + return this; + }, + get: function get(header, parser) { + header = normalizeHeader(header); + if (!header) return undefined; + var key = findKey(this, header); + + if (key) { + var value = this[key]; + + if (!parser) { + return value; + } + + if (parser === true) { + return parseTokens(value); + } + + if (utils.isFunction(parser)) { + return parser.call(this, value, key); + } + + if (utils.isRegExp(parser)) { + return parser.exec(value); + } + + throw new TypeError('parser must be boolean|regexp|function'); + } + }, + has: function has(header, matcher) { + header = normalizeHeader(header); + + if (header) { + var key = findKey(this, header); + return !!(key && (!matcher || matchHeaderValue(this, this[key], key, matcher))); + } + + return false; + }, + "delete": function _delete(header, matcher) { + var self = this; + var deleted = false; + + function deleteHeader(_header) { + _header = normalizeHeader(_header); + + if (_header) { + var key = findKey(self, _header); + + if (key && (!matcher || matchHeaderValue(self, self[key], key, matcher))) { + delete self[key]; + deleted = true; + } + } + } + + if (utils.isArray(header)) { + header.forEach(deleteHeader); + } else { + deleteHeader(header); + } + + return deleted; + }, + clear: function clear() { + return Object.keys(this).forEach(this["delete"].bind(this)); + }, + normalize: function normalize(format) { + var self = this; + var headers = {}; + utils.forEach(this, function (value, header) { + var key = findKey(headers, header); + + if (key) { + self[key] = normalizeValue(value); + delete self[header]; + return; + } + + var normalized = format ? formatHeader(header) : String(header).trim(); + + if (normalized !== header) { + delete self[header]; + } + + self[normalized] = normalizeValue(value); + headers[normalized] = true; + }); + return this; + }, + toJSON: function toJSON() { + var obj = Object.create(null); + utils.forEach(Object.assign({}, this[$defaults] || null, this), function (value, header) { + if (value == null || value === false) return; + obj[header] = utils.isArray(value) ? value.join(', ') : value; + }); + return obj; + } + }); + Object.assign(AxiosHeaders, { + from: function from(thing) { + if (utils.isString(thing)) { + return new this(parseHeaders(thing)); + } + + return thing instanceof this ? thing : new this(thing); + }, + accessor: function accessor(header) { + var internals = this[$internals] = this[$internals] = { + accessors: {} + }; + var accessors = internals.accessors; + var prototype = this.prototype; + + function defineAccessor(_header) { + var lHeader = normalizeHeader(_header); + + if (!accessors[lHeader]) { + buildAccessors(prototype, _header); + accessors[lHeader] = true; + } + } + + utils.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header); + return this; + } + }); + AxiosHeaders.accessor(['Content-Type', 'Content-Length', 'Accept', 'Accept-Encoding', 'User-Agent']); + utils.freezeMethods(AxiosHeaders.prototype); + utils.freezeMethods(AxiosHeaders); + + /** + * Calculate data maxRate + * @param {Number} [samplesCount= 10] + * @param {Number} [min= 1000] + * @returns {Function} + */ + + function speedometer(samplesCount, min) { + samplesCount = samplesCount || 10; + var bytes = new Array(samplesCount); + var timestamps = new Array(samplesCount); + var head = 0; + var tail = 0; + var firstSampleTS; + min = min !== undefined ? min : 1000; + return function push(chunkLength) { + var now = Date.now(); + var startedAt = timestamps[tail]; + + if (!firstSampleTS) { + firstSampleTS = now; + } + + bytes[head] = chunkLength; + timestamps[head] = now; + var i = tail; + var bytesCount = 0; + + while (i !== head) { + bytesCount += bytes[i++]; + i = i % samplesCount; + } + + head = (head + 1) % samplesCount; + + if (head === tail) { + tail = (tail + 1) % samplesCount; + } + + if (now - firstSampleTS < min) { + return; + } + + var passed = startedAt && now - startedAt; + return passed ? Math.round(bytesCount * 1000 / passed) : undefined; + }; + } + + function progressEventReducer(listener, isDownloadStream) { + var bytesNotified = 0; + + var _speedometer = speedometer(50, 250); + + return function (e) { + var loaded = e.loaded; + var total = e.lengthComputable ? e.total : undefined; + var progressBytes = loaded - bytesNotified; + + var rate = _speedometer(progressBytes); + + var inRange = loaded <= total; + bytesNotified = loaded; + var data = { + loaded: loaded, + total: total, + progress: total ? loaded / total : undefined, + bytes: progressBytes, + rate: rate ? rate : undefined, + estimated: rate && total && inRange ? (total - loaded) / rate : undefined + }; + data[isDownloadStream ? 'download' : 'upload'] = true; + listener(data); + }; + } + + function xhrAdapter(config) { return new Promise(function dispatchXhrRequest(resolve, reject) { var requestData = config.data; - var requestHeaders = config.headers; + var requestHeaders = AxiosHeaders.from(config.headers).normalize(); var responseType = config.responseType; var onCanceled; + function done() { if (config.cancelToken) { config.cancelToken.unsubscribe(onCanceled); @@ -1317,34 +1905,31 @@ } } - if (utils.isFormData(requestData) && utils.isStandardBrowserEnv()) { - delete requestHeaders['Content-Type']; // Let the browser set it + if (utils.isFormData(requestData) && platform.isStandardBrowserEnv) { + requestHeaders.setContentType(false); // Let the browser set it } - var request = new XMLHttpRequest(); + var request = new XMLHttpRequest(); // HTTP basic authentication - // HTTP basic authentication if (config.auth) { var username = config.auth.username || ''; var password = config.auth.password ? unescape(encodeURIComponent(config.auth.password)) : ''; - requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password); + requestHeaders.set('Authorization', 'Basic ' + btoa(username + ':' + password)); } var fullPath = buildFullPath(config.baseURL, config.url); + request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true); // Set the request timeout in MS - request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true); - - // Set the request timeout in MS request.timeout = config.timeout; function onloadend() { if (!request) { return; - } - // Prepare the response - var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null; - var responseData = !responseType || responseType === 'text' || responseType === 'json' ? - request.responseText : request.response; + } // Prepare the response + + + var responseHeaders = AxiosHeaders.from('getAllResponseHeaders' in request && request.getAllResponseHeaders()); + var responseData = !responseType || responseType === 'text' || responseType === 'json' ? request.responseText : request.response; var response = { data: responseData, status: request.status, @@ -1353,16 +1938,14 @@ config: config, request: request }; - settle(function _resolve(value) { resolve(value); done(); }, function _reject(err) { reject(err); done(); - }, response); + }, response); // Clean up request - // Clean up request request = null; } @@ -1374,163 +1957,188 @@ request.onreadystatechange = function handleLoad() { if (!request || request.readyState !== 4) { return; - } - - // The request errored out and we didn't get a response, this will be + } // The request errored out and we didn't get a response, this will be // handled by onerror instead // With one exception: request that using file: protocol, most browsers // will return status as 0 even though it's a successful request + + if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) { return; - } - // readystate handler is calling before onerror or ontimeout handlers, + } // readystate handler is calling before onerror or ontimeout handlers, // so we should call onloadend on the next 'tick' + + setTimeout(onloadend); }; - } + } // Handle browser request cancellation (as opposed to a manual cancellation) + - // Handle browser request cancellation (as opposed to a manual cancellation) request.onabort = function handleAbort() { if (!request) { return; } - reject(new AxiosError_1('Request aborted', AxiosError_1.ECONNABORTED, config, request)); + reject(new AxiosError('Request aborted', AxiosError.ECONNABORTED, config, request)); // Clean up request - // Clean up request request = null; - }; + }; // Handle low level network errors + - // Handle low level network errors request.onerror = function handleError() { // Real errors are hidden from us by the browser // onerror should only fire if it's a network error - reject(new AxiosError_1('Network Error', AxiosError_1.ERR_NETWORK, config, request)); + reject(new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request)); // Clean up request - // Clean up request request = null; - }; + }; // Handle timeout + - // Handle timeout request.ontimeout = function handleTimeout() { var timeoutErrorMessage = config.timeout ? 'timeout of ' + config.timeout + 'ms exceeded' : 'timeout exceeded'; - var transitional$1 = config.transitional || transitional; + var transitional = config.transitional || transitionalDefaults; + if (config.timeoutErrorMessage) { timeoutErrorMessage = config.timeoutErrorMessage; } - reject(new AxiosError_1( - timeoutErrorMessage, - transitional$1.clarifyTimeoutError ? AxiosError_1.ETIMEDOUT : AxiosError_1.ECONNABORTED, - config, - request)); - // Clean up request + reject(new AxiosError(timeoutErrorMessage, transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED, config, request)); // Clean up request + request = null; - }; - - // Add xsrf header + }; // Add xsrf header // This is only done if running in a standard browser environment. // Specifically not if we're in a web worker, or react-native. - if (utils.isStandardBrowserEnv()) { + + + if (platform.isStandardBrowserEnv) { // Add xsrf header - var xsrfValue = (config.withCredentials || isURLSameOrigin(fullPath)) && config.xsrfCookieName ? - cookies.read(config.xsrfCookieName) : - undefined; + var xsrfValue = (config.withCredentials || isURLSameOrigin(fullPath)) && config.xsrfCookieName && cookies.read(config.xsrfCookieName); if (xsrfValue) { - requestHeaders[config.xsrfHeaderName] = xsrfValue; + requestHeaders.set(config.xsrfHeaderName, xsrfValue); } - } + } // Remove Content-Type if data is undefined + + + requestData === undefined && requestHeaders.setContentType(null); // Add headers to the request - // Add headers to the request if ('setRequestHeader' in request) { - utils.forEach(requestHeaders, function setRequestHeader(val, key) { - if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') { - // Remove Content-Type if data is undefined - delete requestHeaders[key]; - } else { - // Otherwise add header to the request - request.setRequestHeader(key, val); - } + utils.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) { + request.setRequestHeader(key, val); }); - } + } // Add withCredentials to request if needed + - // Add withCredentials to request if needed if (!utils.isUndefined(config.withCredentials)) { request.withCredentials = !!config.withCredentials; - } + } // Add responseType to request if needed + - // Add responseType to request if needed if (responseType && responseType !== 'json') { request.responseType = config.responseType; - } + } // Handle progress if needed + - // Handle progress if needed if (typeof config.onDownloadProgress === 'function') { - request.addEventListener('progress', config.onDownloadProgress); - } + request.addEventListener('progress', progressEventReducer(config.onDownloadProgress, true)); + } // Not all browsers support upload events + - // Not all browsers support upload events if (typeof config.onUploadProgress === 'function' && request.upload) { - request.upload.addEventListener('progress', config.onUploadProgress); + request.upload.addEventListener('progress', progressEventReducer(config.onUploadProgress)); } if (config.cancelToken || config.signal) { // Handle cancellation // eslint-disable-next-line func-names - onCanceled = function(cancel) { + onCanceled = function onCanceled(cancel) { if (!request) { return; } - reject(!cancel || cancel.type ? new CanceledError_1(null, config, req) : cancel); + + reject(!cancel || cancel.type ? new CanceledError(null, config, request) : cancel); request.abort(); request = null; }; config.cancelToken && config.cancelToken.subscribe(onCanceled); + if (config.signal) { config.signal.aborted ? onCanceled() : config.signal.addEventListener('abort', onCanceled); } } - if (!requestData) { - requestData = null; - } - var protocol = parseProtocol(fullPath); if (protocol && platform.protocols.indexOf(protocol) === -1) { - reject(new AxiosError_1('Unsupported protocol ' + protocol + ':', AxiosError_1.ERR_BAD_REQUEST, config)); + reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config)); return; + } // Send the request + + + request.send(requestData || null); + }); + } + + var adapters = { + http: xhrAdapter, + xhr: xhrAdapter + }; + var adapters$1 = { + getAdapter: function getAdapter(nameOrAdapter) { + if (utils.isString(nameOrAdapter)) { + var adapter = adapters[nameOrAdapter]; + + if (!nameOrAdapter) { + throw Error(utils.hasOwnProp(nameOrAdapter) ? "Adapter '".concat(nameOrAdapter, "' is not available in the build") : "Can not resolve adapter '".concat(nameOrAdapter, "'")); + } + + return adapter; } + if (!utils.isFunction(nameOrAdapter)) { + throw new TypeError('adapter is not a function'); + } - // Send the request - request.send(requestData); - }); + return nameOrAdapter; + }, + adapters: adapters }; var DEFAULT_CONTENT_TYPE = { 'Content-Type': 'application/x-www-form-urlencoded' }; - - function setContentTypeIfUnset(headers, value) { - if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) { - headers['Content-Type'] = value; - } - } + /** + * If the browser has an XMLHttpRequest object, use the XHR adapter, otherwise use the HTTP + * adapter + * + * @returns {Function} + */ function getDefaultAdapter() { var adapter; + if (typeof XMLHttpRequest !== 'undefined') { // For browsers use XHR adapter - adapter = xhr; - } else if (typeof process !== 'undefined' && Object.prototype.toString.call(process) === '[object process]') { + adapter = adapters$1.getAdapter('xhr'); + } else if (typeof process !== 'undefined' && utils.kindOf(process) === 'process') { // For node use HTTP adapter - adapter = xhr; + adapter = adapters$1.getAdapter('http'); } + return adapter; } + /** + * It takes a string, tries to parse it, and if it fails, it returns the stringified version + * of the input + * + * @param {any} rawValue - The value to be stringified. + * @param {Function} parser - A function that parses a string into a JavaScript object. + * @param {Function} encoder - A function that takes a value and returns a string. + * + * @returns {string} A stringified version of the rawValue. + */ + function stringifySafely(rawValue, parser, encoder) { if (utils.isString(rawValue)) { @@ -1548,16 +2156,10 @@ } var defaults = { - - transitional: transitional, - + transitional: transitionalDefaults, adapter: getDefaultAdapter(), - transformRequest: [function transformRequest(data, headers) { - normalizeHeaderName(headers, 'Accept'); - normalizeHeaderName(headers, 'Content-Type'); - - var contentType = headers && headers['Content-Type'] || ''; + var contentType = headers.getContentType() || ''; var hasJSONContentType = contentType.indexOf('application/json') > -1; var isObjectPayload = utils.isObject(data); @@ -1571,57 +2173,52 @@ if (!hasJSONContentType) { return data; } - return hasJSONContentType ? JSON.stringify(formDataToJSON_1(data)) : data; + + return hasJSONContentType ? JSON.stringify(formDataToJSON(data)) : data; } - if (utils.isArrayBuffer(data) || - utils.isBuffer(data) || - utils.isStream(data) || - utils.isFile(data) || - utils.isBlob(data) - ) { + if (utils.isArrayBuffer(data) || utils.isBuffer(data) || utils.isStream(data) || utils.isFile(data) || utils.isBlob(data)) { return data; } + if (utils.isArrayBufferView(data)) { return data.buffer; } + if (utils.isURLSearchParams(data)) { - setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8'); + headers.setContentType('application/x-www-form-urlencoded;charset=utf-8', false); return data.toString(); } var isFileList; if (isObjectPayload) { - if (contentType.indexOf('application/x-www-form-urlencoded') !== -1) { + if (contentType.indexOf('application/x-www-form-urlencoded') > -1) { return toURLEncodedForm(data, this.formSerializer).toString(); } if ((isFileList = utils.isFileList(data)) || contentType.indexOf('multipart/form-data') > -1) { var _FormData = this.env && this.env.FormData; - return toFormData_1( - isFileList ? {'files[]': data} : data, - _FormData && new _FormData(), - this.formSerializer - ); + return toFormData(isFileList ? { + 'files[]': data + } : data, _FormData && new _FormData(), this.formSerializer); } } - if (isObjectPayload || hasJSONContentType ) { - setContentTypeIfUnset(headers, 'application/json'); + if (isObjectPayload || hasJSONContentType) { + headers.setContentType('application/json', false); return stringifySafely(data); } return data; }], - transformResponse: [function transformResponse(data) { var transitional = this.transitional || defaults.transitional; var forcedJSONParsing = transitional && transitional.forcedJSONParsing; var JSONRequested = this.responseType === 'json'; - if (data && utils.isString(data) && ((forcedJSONParsing && !this.responseType) || JSONRequested)) { + if (data && utils.isString(data) && (forcedJSONParsing && !this.responseType || JSONRequested)) { var silentJSONParsing = transitional && transitional.silentJSONParsing; var strictJSONParsing = !silentJSONParsing && JSONRequested; @@ -1630,8 +2227,9 @@ } catch (e) { if (strictJSONParsing) { if (e.name === 'SyntaxError') { - throw AxiosError_1.from(e, AxiosError_1.ERR_BAD_RESPONSE, this, null, this.response); + throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response); } + throw e; } } @@ -1645,147 +2243,106 @@ * timeout is not created. */ timeout: 0, - xsrfCookieName: 'XSRF-TOKEN', xsrfHeaderName: 'X-XSRF-TOKEN', - maxContentLength: -1, maxBodyLength: -1, - env: { FormData: platform.classes.FormData, Blob: platform.classes.Blob }, - validateStatus: function validateStatus(status) { return status >= 200 && status < 300; }, - headers: { common: { 'Accept': 'application/json, text/plain, */*' } } }; - utils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) { defaults.headers[method] = {}; }); - utils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) { defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE); }); - var defaults_1 = defaults; - /** * Transform the data for a request or a response * - * @param {Object|String} data The data to be transformed - * @param {Array} headers The headers for the request or response - * @param {Number} status HTTP status code * @param {Array|Function} fns A single function or Array of functions + * @param {?Object} response The response object + * * @returns {*} The resulting transformed data */ - var transformData = function transformData(data, headers, status, fns) { - var context = this || defaults_1; - /*eslint no-param-reassign:0*/ + + function transformData(fns, response) { + var config = this || defaults; + var context = response || config; + var headers = AxiosHeaders.from(context.headers); + var data = context.data; utils.forEach(fns, function transform(fn) { - data = fn.call(context, data, headers, status); + data = fn.call(config, data, headers.normalize(), response ? response.status : undefined); }); - + headers.normalize(); return data; - }; + } - var isCancel = function isCancel(value) { + function isCancel(value) { return !!(value && value.__CANCEL__); - }; + } /** * Throws a `CanceledError` if cancellation has been requested. + * + * @param {Object} config The config that is to be used for the request + * + * @returns {void} */ + function throwIfCancellationRequested(config) { if (config.cancelToken) { config.cancelToken.throwIfRequested(); } if (config.signal && config.signal.aborted) { - throw new CanceledError_1(); + throw new CanceledError(); } } - /** * Dispatch a request to the server using the configured adapter. * * @param {object} config The config that is to be used for the request + * * @returns {Promise} The Promise to be fulfilled */ - var dispatchRequest = function dispatchRequest(config) { + + + function dispatchRequest(config) { throwIfCancellationRequested(config); + config.headers = AxiosHeaders.from(config.headers); // Transform request data - // Ensure headers exist - config.headers = config.headers || {}; - - // Transform request data - config.data = transformData.call( - config, - config.data, - config.headers, - null, - config.transformRequest - ); - - normalizeHeaderName(config.headers, 'Accept'); - normalizeHeaderName(config.headers, 'Content-Type'); - - // Flatten headers - config.headers = utils.merge( - config.headers.common || {}, - config.headers[config.method] || {}, - config.headers - ); - - utils.forEach( - ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'], - function cleanHeaderConfig(method) { - delete config.headers[method]; - } - ); - - var adapter = config.adapter || defaults_1.adapter; - + config.data = transformData.call(config, config.transformRequest); + var adapter = config.adapter || defaults.adapter; return adapter(config).then(function onAdapterResolution(response) { - throwIfCancellationRequested(config); - - // Transform response data - response.data = transformData.call( - config, - response.data, - response.headers, - response.status, - config.transformResponse - ); + throwIfCancellationRequested(config); // Transform response data + response.data = transformData.call(config, config.transformResponse, response); + response.headers = AxiosHeaders.from(response.headers); return response; }, function onAdapterRejection(reason) { if (!isCancel(reason)) { - throwIfCancellationRequested(config); + throwIfCancellationRequested(config); // Transform response data - // Transform response data if (reason && reason.response) { - reason.response.data = transformData.call( - config, - reason.response.data, - reason.response.headers, - reason.response.status, - config.transformResponse - ); + reason.response.data = transformData.call(config, config.transformResponse, reason.response); + reason.response.headers = AxiosHeaders.from(reason.response.headers); } } return Promise.reject(reason); }); - }; + } /** * Config-specific merge-function which creates a new config-object @@ -1793,9 +2350,11 @@ * * @param {Object} config1 * @param {Object} config2 + * * @returns {Object} New object resulting from merging config2 to config1 */ - var mergeConfig = function mergeConfig(config1, config2) { + + function mergeConfig(config1, config2) { // eslint-disable-next-line no-param-reassign config2 = config2 || {}; var config = {}; @@ -1808,35 +2367,36 @@ } else if (utils.isArray(source)) { return source.slice(); } - return source; - } - // eslint-disable-next-line consistent-return + return source; + } // eslint-disable-next-line consistent-return + + function mergeDeepProperties(prop) { if (!utils.isUndefined(config2[prop])) { return getMergedValue(config1[prop], config2[prop]); } else if (!utils.isUndefined(config1[prop])) { return getMergedValue(undefined, config1[prop]); } - } + } // eslint-disable-next-line consistent-return + - // eslint-disable-next-line consistent-return function valueFromConfig2(prop) { if (!utils.isUndefined(config2[prop])) { return getMergedValue(undefined, config2[prop]); } - } + } // eslint-disable-next-line consistent-return + - // eslint-disable-next-line consistent-return function defaultToConfig2(prop) { if (!utils.isUndefined(config2[prop])) { return getMergedValue(undefined, config2[prop]); } else if (!utils.isUndefined(config1[prop])) { return getMergedValue(undefined, config1[prop]); } - } + } // eslint-disable-next-line consistent-return + - // eslint-disable-next-line consistent-return function mergeDirectKeys(prop) { if (prop in config2) { return getMergedValue(config1[prop], config2[prop]); @@ -1874,96 +2434,90 @@ 'responseEncoding': defaultToConfig2, 'validateStatus': mergeDirectKeys }; - utils.forEach(Object.keys(config1).concat(Object.keys(config2)), function computeConfigValue(prop) { var merge = mergeMap[prop] || mergeDeepProperties; var configValue = merge(prop); - (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue); + utils.isUndefined(configValue) && merge !== mergeDirectKeys || (config[prop] = configValue); }); - return config; - }; + } - var data = { - "version": "1.0.0-alpha.1" - }; + var VERSION = "1.0.0"; - var VERSION = data.version; + var validators$1 = {}; // eslint-disable-next-line func-names - - var validators$1 = {}; - - // eslint-disable-next-line func-names - ['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach(function(type, i) { + ['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach(function (type, i) { validators$1[type] = function validator(thing) { - return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type; + return _typeof(thing) === type || 'a' + (i < 1 ? 'n ' : ' ') + type; }; }); - var deprecatedWarnings = {}; - /** * Transitional option validator + * * @param {function|boolean?} validator - set to false if the transitional option has been removed * @param {string?} version - deprecated version / removed since version * @param {string?} message - some message with additional info + * * @returns {function} */ + validators$1.transitional = function transitional(validator, version, message) { function formatMessage(opt, desc) { return '[Axios v' + VERSION + '] Transitional option \'' + opt + '\'' + desc + (message ? '. ' + message : ''); - } + } // eslint-disable-next-line func-names - // eslint-disable-next-line func-names - return function(value, opt, opts) { + + return function (value, opt, opts) { if (validator === false) { - throw new AxiosError_1( - formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')), - AxiosError_1.ERR_DEPRECATED - ); + throw new AxiosError(formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')), AxiosError.ERR_DEPRECATED); } if (version && !deprecatedWarnings[opt]) { - deprecatedWarnings[opt] = true; - // eslint-disable-next-line no-console - console.warn( - formatMessage( - opt, - ' has been deprecated since v' + version + ' and will be removed in the near future' - ) - ); + deprecatedWarnings[opt] = true; // eslint-disable-next-line no-console + + console.warn(formatMessage(opt, ' has been deprecated since v' + version + ' and will be removed in the near future')); } return validator ? validator(value, opt, opts) : true; }; }; - /** * Assert object's properties type + * * @param {object} options * @param {object} schema * @param {boolean?} allowUnknown + * + * @returns {object} */ + function assertOptions(options, schema, allowUnknown) { - if (typeof options !== 'object') { - throw new AxiosError_1('options must be an object', AxiosError_1.ERR_BAD_OPTION_VALUE); + if (_typeof(options) !== 'object') { + throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE); } + var keys = Object.keys(options); var i = keys.length; + while (i-- > 0) { var opt = keys[i]; var validator = schema[opt]; + if (validator) { var value = options[opt]; var result = value === undefined || validator(value, opt, options); + if (result !== true) { - throw new AxiosError_1('option ' + opt + ' must be ' + result, AxiosError_1.ERR_BAD_OPTION_VALUE); + throw new AxiosError('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE); } + continue; } + if (allowUnknown !== true) { - throw new AxiosError_1('Unknown option ' + opt, AxiosError_1.ERR_BAD_OPTION); + throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION); } } } @@ -1978,122 +2532,141 @@ * Create a new instance of Axios * * @param {Object} instanceConfig The default config for the instance - */ - function Axios(instanceConfig) { - this.defaults = instanceConfig; - this.interceptors = { - request: new InterceptorManager_1(), - response: new InterceptorManager_1() - }; - } - - /** - * Dispatch a request * - * @param {String|Object} configOrUrl The config specific for this request (merged with this.defaults) - * @param {?Object} config + * @return {Axios} A new instance of Axios */ - Axios.prototype.request = function request(configOrUrl, config) { - /*eslint no-param-reassign:0*/ - // Allow for axios('example/url'[, config]) a la fetch API - if (typeof configOrUrl === 'string') { - config = config || {}; - config.url = configOrUrl; - } else { - config = configOrUrl || {}; + + var Axios = /*#__PURE__*/function () { + function Axios(instanceConfig) { + _classCallCheck(this, Axios); + + this.defaults = instanceConfig; + this.interceptors = { + request: new InterceptorManager(), + response: new InterceptorManager() + }; } + /** + * Dispatch a request + * + * @param {String|Object} configOrUrl The config specific for this request (merged with this.defaults) + * @param {?Object} config + * + * @returns {Promise} The Promise to be fulfilled + */ - config = mergeConfig(this.defaults, config); - // Set config.method - if (config.method) { - config.method = config.method.toLowerCase(); - } else if (this.defaults.method) { - config.method = this.defaults.method.toLowerCase(); - } else { - config.method = 'get'; - } + _createClass(Axios, [{ + key: "request", + value: function request(configOrUrl, config) { + /*eslint no-param-reassign:0*/ + // Allow for axios('example/url'[, config]) a la fetch API + if (typeof configOrUrl === 'string') { + config = config || {}; + config.url = configOrUrl; + } else { + config = configOrUrl || {}; + } - var transitional = config.transitional; + config = mergeConfig(this.defaults, config); + var transitional = config.transitional; - if (transitional !== undefined) { - validator.assertOptions(transitional, { - silentJSONParsing: validators.transitional(validators.boolean), - forcedJSONParsing: validators.transitional(validators.boolean), - clarifyTimeoutError: validators.transitional(validators.boolean) - }, false); - } + if (transitional !== undefined) { + validator.assertOptions(transitional, { + silentJSONParsing: validators.transitional(validators["boolean"]), + forcedJSONParsing: validators.transitional(validators["boolean"]), + clarifyTimeoutError: validators.transitional(validators["boolean"]) + }, false); + } // Set config.method - // filter out skipped interceptors - var requestInterceptorChain = []; - var synchronousRequestInterceptors = true; - this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) { - if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) { - return; + + config.method = (config.method || this.defaults.method || 'get').toLowerCase(); // Flatten headers + + var defaultHeaders = config.headers && utils.merge(config.headers.common, config.headers[config.method]); + defaultHeaders && utils.forEach(['delete', 'get', 'head', 'post', 'put', 'patch', 'common'], function cleanHeaderConfig(method) { + delete config.headers[method]; + }); + config.headers = new AxiosHeaders(config.headers, defaultHeaders); // filter out skipped interceptors + + var requestInterceptorChain = []; + var synchronousRequestInterceptors = true; + this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) { + if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) { + return; + } + + synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous; + requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected); + }); + var responseInterceptorChain = []; + this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) { + responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected); + }); + var promise; + var i = 0; + var len; + + if (!synchronousRequestInterceptors) { + var chain = [dispatchRequest.bind(this), undefined]; + chain.unshift.apply(chain, requestInterceptorChain); + chain.push.apply(chain, responseInterceptorChain); + len = chain.length; + promise = Promise.resolve(config); + + while (i < len) { + promise = promise.then(chain[i++], chain[i++]); + } + + return promise; + } + + len = requestInterceptorChain.length; + var newConfig = config; + i = 0; + + while (i < len) { + var onFulfilled = requestInterceptorChain[i++]; + var onRejected = requestInterceptorChain[i++]; + + try { + newConfig = onFulfilled(newConfig); + } catch (error) { + onRejected.call(this, error); + break; + } + } + + try { + promise = dispatchRequest.call(this, newConfig); + } catch (error) { + return Promise.reject(error); + } + + i = 0; + len = responseInterceptorChain.length; + + while (i < len) { + promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]); + } + + return promise; } - - synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous; - - requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected); - }); - - var responseInterceptorChain = []; - this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) { - responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected); - }); - - var promise; - - if (!synchronousRequestInterceptors) { - var chain = [dispatchRequest, undefined]; - - Array.prototype.unshift.apply(chain, requestInterceptorChain); - chain = chain.concat(responseInterceptorChain); - - promise = Promise.resolve(config); - while (chain.length) { - promise = promise.then(chain.shift(), chain.shift()); + }, { + key: "getUri", + value: function getUri(config) { + config = mergeConfig(this.defaults, config); + var fullPath = buildFullPath(config.baseURL, config.url); + return buildURL(fullPath, config.params, config.paramsSerializer); } + }]); - return promise; - } + return Axios; + }(); // Provide aliases for supported request methods - var newConfig = config; - while (requestInterceptorChain.length) { - var onFulfilled = requestInterceptorChain.shift(); - var onRejected = requestInterceptorChain.shift(); - try { - newConfig = onFulfilled(newConfig); - } catch (error) { - onRejected(error); - break; - } - } - - try { - promise = dispatchRequest(newConfig); - } catch (error) { - return Promise.reject(error); - } - - while (responseInterceptorChain.length) { - promise = promise.then(responseInterceptorChain.shift(), responseInterceptorChain.shift()); - } - - return promise; - }; - - Axios.prototype.getUri = function getUri(config) { - config = mergeConfig(this.defaults, config); - var fullPath = buildFullPath(config.baseURL, config.url); - return buildURL(fullPath, config.params, config.paramsSerializer); - }; - - // Provide aliases for supported request methods utils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) { /*eslint func-names:0*/ - Axios.prototype[method] = function(url, config) { + Axios.prototype[method] = function (url, config) { return this.request(mergeConfig(config || {}, { method: method, url: url, @@ -2101,10 +2674,8 @@ })); }; }); - utils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) { /*eslint func-names:0*/ - function generateHTTPMethod(isForm) { return function httpMethod(url, data, config) { return this.request(mergeConfig(config || {}, { @@ -2119,126 +2690,136 @@ } Axios.prototype[method] = generateHTTPMethod(); - Axios.prototype[method + 'Form'] = generateHTTPMethod(true); }); - var Axios_1 = Axios; - /** * A `CancelToken` is an object that can be used to request cancellation of an operation. * - * @class * @param {Function} executor The executor function. + * + * @returns {CancelToken} */ - function CancelToken(executor) { - if (typeof executor !== 'function') { - throw new TypeError('executor must be a function.'); - } - var resolvePromise; + var CancelToken = /*#__PURE__*/function () { + function CancelToken(executor) { + _classCallCheck(this, CancelToken); - this.promise = new Promise(function promiseExecutor(resolve) { - resolvePromise = resolve; - }); - - var token = this; - - // eslint-disable-next-line func-names - this.promise.then(function(cancel) { - if (!token._listeners) return; - - var i = token._listeners.length; - - while (i-- > 0) { - token._listeners[i](cancel); + if (typeof executor !== 'function') { + throw new TypeError('executor must be a function.'); } - token._listeners = null; - }); - // eslint-disable-next-line func-names - this.promise.then = function(onfulfilled) { - var _resolve; - // eslint-disable-next-line func-names - var promise = new Promise(function(resolve) { - token.subscribe(resolve); - _resolve = resolve; - }).then(onfulfilled); + var resolvePromise; + this.promise = new Promise(function promiseExecutor(resolve) { + resolvePromise = resolve; + }); + var token = this; // eslint-disable-next-line func-names - promise.cancel = function reject() { - token.unsubscribe(_resolve); + this.promise.then(function (cancel) { + if (!token._listeners) return; + var i = token._listeners.length; + + while (i-- > 0) { + token._listeners[i](cancel); + } + + token._listeners = null; + }); // eslint-disable-next-line func-names + + this.promise.then = function (onfulfilled) { + var _resolve; // eslint-disable-next-line func-names + + + var promise = new Promise(function (resolve) { + token.subscribe(resolve); + _resolve = resolve; + }).then(onfulfilled); + + promise.cancel = function reject() { + token.unsubscribe(_resolve); + }; + + return promise; }; - return promise; - }; + executor(function cancel(message, config, request) { + if (token.reason) { + // Cancellation has already been requested + return; + } - executor(function cancel(message, config, request) { - if (token.reason) { - // Cancellation has already been requested - return; + token.reason = new CanceledError(message, config, request); + resolvePromise(token.reason); + }); + } + /** + * Throws a `CanceledError` if cancellation has been requested. + */ + + + _createClass(CancelToken, [{ + key: "throwIfRequested", + value: function throwIfRequested() { + if (this.reason) { + throw this.reason; + } } + /** + * Subscribe to the cancel signal + */ - token.reason = new CanceledError_1(message, config, request); - resolvePromise(token.reason); - }); - } + }, { + key: "subscribe", + value: function subscribe(listener) { + if (this.reason) { + listener(this.reason); + return; + } - /** - * Throws a `CanceledError` if cancellation has been requested. - */ - CancelToken.prototype.throwIfRequested = function throwIfRequested() { - if (this.reason) { - throw this.reason; - } - }; + if (this._listeners) { + this._listeners.push(listener); + } else { + this._listeners = [listener]; + } + } + /** + * Unsubscribe from the cancel signal + */ - /** - * Subscribe to the cancel signal - */ + }, { + key: "unsubscribe", + value: function unsubscribe(listener) { + if (!this._listeners) { + return; + } - CancelToken.prototype.subscribe = function subscribe(listener) { - if (this.reason) { - listener(this.reason); - return; - } + var index = this._listeners.indexOf(listener); - if (this._listeners) { - this._listeners.push(listener); - } else { - this._listeners = [listener]; - } - }; + if (index !== -1) { + this._listeners.splice(index, 1); + } + } + /** + * Returns an object that contains a new `CancelToken` and a function that, when called, + * cancels the `CancelToken`. + */ - /** - * Unsubscribe from the cancel signal - */ + }], [{ + key: "source", + value: function source() { + var cancel; + var token = new CancelToken(function executor(c) { + cancel = c; + }); + return { + token: token, + cancel: cancel + }; + } + }]); - CancelToken.prototype.unsubscribe = function unsubscribe(listener) { - if (!this._listeners) { - return; - } - var index = this._listeners.indexOf(listener); - if (index !== -1) { - this._listeners.splice(index, 1); - } - }; - - /** - * Returns an object that contains a new `CancelToken` and a function that, when called, - * cancels the `CancelToken`. - */ - CancelToken.source = function source() { - var cancel; - var token = new CancelToken(function executor(c) { - cancel = c; - }); - return { - token: token, - cancel: cancel - }; - }; - - var CancelToken_1 = CancelToken; + return CancelToken; + }(); /** * Syntactic sugar for invoking a function and expanding an array for arguments. @@ -2258,87 +2839,83 @@ * ``` * * @param {Function} callback + * * @returns {Function} */ - var spread = function spread(callback) { + + function spread(callback) { return function wrap(arr) { return callback.apply(null, arr); }; - }; + } /** * Determines whether the payload is an error thrown by Axios * * @param {*} payload The value to test + * * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false */ - var isAxiosError = function isAxiosError(payload) { - return utils.isObject(payload) && (payload.isAxiosError === true); - }; + + function isAxiosError(payload) { + return utils.isObject(payload) && payload.isAxiosError === true; + } /** * Create an instance of Axios * * @param {Object} defaultConfig The default config for the instance - * @return {Axios} A new instance of Axios + * + * @returns {Axios} A new instance of Axios */ + function createInstance(defaultConfig) { - var context = new Axios_1(defaultConfig); - var instance = bind(Axios_1.prototype.request, context); + var context = new Axios(defaultConfig); + var instance = bind(Axios.prototype.request, context); // Copy axios.prototype to instance - // Copy axios.prototype to instance - utils.extend(instance, Axios_1.prototype, context); + utils.extend(instance, Axios.prototype, context, { + allOwnKeys: true + }); // Copy context to instance - // Copy context to instance - utils.extend(instance, context); + utils.extend(instance, context, null, { + allOwnKeys: true + }); // Factory for creating new instances - // Factory for creating new instances instance.create = function create(instanceConfig) { return createInstance(mergeConfig(defaultConfig, instanceConfig)); }; return instance; - } + } // Create the default instance to be exported - // Create the default instance to be exported - var axios = createInstance(defaults_1); - // Expose Axios class to allow class inheritance - axios.Axios = Axios_1; + var axios = createInstance(defaults); // Expose Axios class to allow class inheritance - // Expose Cancel & CancelToken - axios.CanceledError = CanceledError_1; - axios.CancelToken = CancelToken_1; + axios.Axios = Axios; // Expose Cancel & CancelToken + + axios.CanceledError = CanceledError; + axios.CancelToken = CancelToken; axios.isCancel = isCancel; - axios.VERSION = data.version; - axios.toFormData = toFormData_1; + axios.VERSION = VERSION; + axios.toFormData = toFormData; // Expose AxiosError class - // Expose AxiosError class - axios.AxiosError = AxiosError_1; + axios.AxiosError = AxiosError; // alias for CanceledError for backward compatibility - // alias for CanceledError for backward compatibility - axios.Cancel = axios.CanceledError; + axios.Cancel = axios.CanceledError; // Expose all/spread - // Expose all/spread axios.all = function all(promises) { return Promise.all(promises); }; - axios.spread = spread; - // Expose isAxiosError + axios.spread = spread; // Expose isAxiosError + axios.isAxiosError = isAxiosError; - axios.formToJSON = function(thing) { - return formDataToJSON_1(utils.isHTMLForm(thing) ? new FormData(thing) : thing); + axios.formToJSON = function (thing) { + return formDataToJSON(utils.isHTMLForm(thing) ? new FormData(thing) : thing); }; - var axios_1 = axios; - - // Allow use of default import syntax in TypeScript - var _default = axios; - axios_1.default = _default; - - return axios_1; + return axios; })); //# sourceMappingURL=axios.js.map diff --git a/dist/axios.js.map b/dist/axios.js.map index 0c72438..da470f4 100644 --- a/dist/axios.js.map +++ b/dist/axios.js.map @@ -1 +1 @@ -{"version":3,"file":"axios.js","sources":["../lib/helpers/bind.js","../lib/utils.js","../lib/core/AxiosError.js","../node_modules/form-data/lib/browser.js","../lib/env/classes/FormData.js","../lib/helpers/toFormData.js","../lib/helpers/AxiosURLSearchParams.js","../lib/helpers/buildURL.js","../lib/core/InterceptorManager.js","../lib/helpers/normalizeHeaderName.js","../lib/defaults/transitional.js","../lib/platform/browser/classes/URLSearchParams.js","../lib/platform/browser/classes/FormData.js","../lib/platform/browser/index.js","../lib/platform/index.js","../lib/helpers/toURLEncodedForm.js","../lib/helpers/formDataToJSON.js","../lib/core/settle.js","../lib/helpers/cookies.js","../lib/helpers/isAbsoluteURL.js","../lib/helpers/combineURLs.js","../lib/core/buildFullPath.js","../lib/helpers/parseHeaders.js","../lib/helpers/isURLSameOrigin.js","../lib/cancel/CanceledError.js","../lib/helpers/parseProtocol.js","../lib/adapters/xhr.js","../lib/defaults/index.js","../lib/core/transformData.js","../lib/cancel/isCancel.js","../lib/core/dispatchRequest.js","../lib/core/mergeConfig.js","../lib/env/data.js","../lib/helpers/validator.js","../lib/core/Axios.js","../lib/cancel/CancelToken.js","../lib/helpers/spread.js","../lib/helpers/isAxiosError.js","../lib/axios.js"],"sourcesContent":["'use strict';\n\nmodule.exports = function bind(fn, thisArg) {\n return function wrap() {\n return fn.apply(thisArg, arguments);\n };\n};\n","'use strict';\n\nvar bind = require('./helpers/bind');\n\n// utils is a library of generic helper functions non-specific to axios\n\nvar toString = Object.prototype.toString;\n\n// eslint-disable-next-line func-names\nvar kindOf = (function(cache) {\n // eslint-disable-next-line func-names\n return function(thing) {\n var str = toString.call(thing);\n return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n };\n})(Object.create(null));\n\nfunction kindOfTest(type) {\n type = type.toLowerCase();\n return function isKindOf(thing) {\n return kindOf(thing) === type;\n };\n}\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 Array.isArray(val);\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 * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nvar isArrayBuffer = kindOfTest('ArrayBuffer');\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) && (isArrayBuffer(val.buffer));\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 plain Object\n *\n * @param {Object} val The value to test\n * @return {boolean} True if value is a plain Object, otherwise false\n */\nfunction isPlainObject(val) {\n if (kindOf(val) !== 'object') {\n return false;\n }\n\n var prototype = Object.getPrototypeOf(val);\n return prototype === null || prototype === Object.prototype;\n}\n\n/**\n * Determine if a value is a Date\n *\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Date, otherwise false\n */\nvar isDate = kindOfTest('Date');\n\n/**\n * Determine if a value is a File\n *\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\nvar isFile = kindOfTest('File');\n\n/**\n * Determine if a value is a Blob\n *\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nvar isBlob = kindOfTest('Blob');\n\n/**\n * Determine if a value is a FileList\n *\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\nvar isFileList = kindOfTest('FileList');\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 FormData\n *\n * @param {Object} thing The value to test\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nfunction isFormData(thing) {\n var pattern = '[object FormData]';\n return thing && (\n (typeof FormData === 'function' && thing instanceof FormData) ||\n toString.call(thing) === pattern ||\n (isFunction(thing.toString) && thing.toString() === pattern)\n );\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nvar isURLSearchParams = kindOfTest('URLSearchParams');\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.trim ? str.trim() : str.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '');\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 var product;\n if (typeof navigator !== 'undefined' && (\n (product = navigator.product) === 'ReactNative' ||\n product === 'NativeScript' ||\n product === 'NS')\n ) {\n return false;\n }\n\n return typeof window !== 'undefined' && typeof document !== 'undefined';\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 (isPlainObject(result[key]) && isPlainObject(val)) {\n result[key] = merge(result[key], val);\n } else if (isPlainObject(val)) {\n result[key] = merge({}, val);\n } else if (isArray(val)) {\n result[key] = val.slice();\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\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n * @return {string} content value without BOM\n */\nfunction stripBOM(content) {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\n/**\n * Inherit the prototype methods from one constructor into another\n * @param {function} constructor\n * @param {function} superConstructor\n * @param {object} [props]\n * @param {object} [descriptors]\n */\n\nfunction inherits(constructor, superConstructor, props, descriptors) {\n constructor.prototype = Object.create(superConstructor.prototype, descriptors);\n constructor.prototype.constructor = constructor;\n props && Object.assign(constructor.prototype, props);\n}\n\n/**\n * Resolve object with deep prototype chain to a flat object\n * @param {Object} sourceObj source object\n * @param {Object} [destObj]\n * @param {Function|Boolean} [filter]\n * @param {Function} [propFilter]\n * @returns {Object}\n */\n\nfunction toFlatObject(sourceObj, destObj, filter, propFilter) {\n var props;\n var i;\n var prop;\n var merged = {};\n\n destObj = destObj || {};\n // eslint-disable-next-line no-eq-null,eqeqeq\n if (sourceObj == null) return destObj;\n\n do {\n props = Object.getOwnPropertyNames(sourceObj);\n i = props.length;\n while (i-- > 0) {\n prop = props[i];\n if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) {\n destObj[prop] = sourceObj[prop];\n merged[prop] = true;\n }\n }\n sourceObj = filter !== false && Object.getPrototypeOf(sourceObj);\n } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);\n\n return destObj;\n}\n\n/*\n * determines whether a string ends with the characters of a specified string\n * @param {String} str\n * @param {String} searchString\n * @param {Number} [position= 0]\n * @returns {boolean}\n */\nfunction endsWith(str, searchString, position) {\n str = String(str);\n if (position === undefined || position > str.length) {\n position = str.length;\n }\n position -= searchString.length;\n var lastIndex = str.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n}\n\n\n/**\n * Returns new array from array like object or null if failed\n * @param {*} [thing]\n * @returns {?Array}\n */\nfunction toArray(thing) {\n if (!thing) return null;\n if (isArray(thing)) return thing;\n var i = thing.length;\n if (!isNumber(i)) return null;\n var arr = new Array(i);\n while (i-- > 0) {\n arr[i] = thing[i];\n }\n return arr;\n}\n\n// eslint-disable-next-line func-names\nvar isTypedArray = (function(TypedArray) {\n // eslint-disable-next-line func-names\n return function(thing) {\n return TypedArray && thing instanceof TypedArray;\n };\n})(typeof Uint8Array !== 'undefined' && Object.getPrototypeOf(Uint8Array));\n\nfunction forEachEntry(obj, fn) {\n var generator = obj && obj[Symbol.iterator];\n\n var iterator = generator.call(obj);\n\n var result;\n\n while ((result = iterator.next()) && !result.done) {\n var pair = result.value;\n fn.call(obj, pair[0], pair[1]);\n }\n}\n\nfunction matchAll(regExp, str) {\n var matches;\n var arr = [];\n\n while ((matches = regExp.exec(str)) !== null) {\n arr.push(matches);\n }\n\n return arr;\n}\n\nvar isHTMLForm = kindOfTest('HTMLFormElement');\n\nvar hasOwnProperty = (function resolver(_hasOwnProperty) {\n return function(obj, prop) {\n return _hasOwnProperty.call(obj, prop);\n };\n})(Object.prototype.hasOwnProperty);\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 isPlainObject: isPlainObject,\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 extend: extend,\n trim: trim,\n stripBOM: stripBOM,\n inherits: inherits,\n toFlatObject: toFlatObject,\n kindOf: kindOf,\n kindOfTest: kindOfTest,\n endsWith: endsWith,\n toArray: toArray,\n isTypedArray: isTypedArray,\n isFileList: isFileList,\n forEachEntry: forEachEntry,\n matchAll: matchAll,\n isHTMLForm: isHTMLForm,\n hasOwnProperty: hasOwnProperty\n};\n","'use strict';\n\nvar utils = require('../utils');\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 {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [config] The config.\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The created error.\n */\nfunction AxiosError(message, code, config, request, response) {\n Error.call(this);\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n } else {\n this.stack = (new Error()).stack;\n }\n\n this.message = message;\n this.name = 'AxiosError';\n code && (this.code = code);\n config && (this.config = config);\n request && (this.request = request);\n response && (this.response = response);\n}\n\nutils.inherits(AxiosError, Error, {\n toJSON: function toJSON() {\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 status: this.response && this.response.status ? this.response.status : null\n };\n }\n});\n\nvar prototype = AxiosError.prototype;\nvar descriptors = {};\n\n[\n 'ERR_BAD_OPTION_VALUE',\n 'ERR_BAD_OPTION',\n 'ECONNABORTED',\n 'ETIMEDOUT',\n 'ERR_NETWORK',\n 'ERR_FR_TOO_MANY_REDIRECTS',\n 'ERR_DEPRECATED',\n 'ERR_BAD_RESPONSE',\n 'ERR_BAD_REQUEST',\n 'ERR_CANCELED',\n 'ERR_NOT_SUPPORT',\n 'ERR_INVALID_URL'\n// eslint-disable-next-line func-names\n].forEach(function(code) {\n descriptors[code] = {value: code};\n});\n\nObject.defineProperties(AxiosError, descriptors);\nObject.defineProperty(prototype, 'isAxiosError', {value: true});\n\n// eslint-disable-next-line func-names\nAxiosError.from = function(error, code, config, request, response, customProps) {\n var axiosError = Object.create(prototype);\n\n utils.toFlatObject(error, axiosError, function filter(obj) {\n return obj !== Error.prototype;\n });\n\n AxiosError.call(axiosError, error.message, code, config, request, response);\n\n axiosError.cause = error;\n\n axiosError.name = error.name;\n\n customProps && Object.assign(axiosError, customProps);\n\n return axiosError;\n};\n\nmodule.exports = AxiosError;\n","/* eslint-env browser */\nmodule.exports = typeof self == 'object' ? self.FormData : window.FormData;\n","// eslint-disable-next-line strict\nmodule.exports = require('form-data');\n","'use strict';\n\nvar utils = require('../utils');\nvar AxiosError = require('../core/AxiosError');\nvar envFormData = require('../env/classes/FormData');\n\nfunction isVisitable(thing) {\n return utils.isPlainObject(thing) || utils.isArray(thing);\n}\n\nfunction removeBrackets(key) {\n return utils.endsWith(key, '[]') ? key.slice(0, -2) : key;\n}\n\nfunction renderKey(path, key, dots) {\n if (!path) return key;\n return path.concat(key).map(function each(token, i) {\n // eslint-disable-next-line no-param-reassign\n token = removeBrackets(token);\n return !dots && i ? '[' + token + ']' : token;\n }).join(dots ? '.' : '');\n}\n\nfunction isFlatArray(arr) {\n return utils.isArray(arr) && !arr.some(isVisitable);\n}\n\nvar predicates = utils.toFlatObject(utils, {}, null, function filter(prop) {\n return /^is[A-Z]/.test(prop);\n});\n\nfunction isSpecCompliant(thing) {\n return thing && utils.isFunction(thing.append) && thing[Symbol.toStringTag] === 'FormData' && thing[Symbol.iterator];\n}\n\n/**\n * Convert a data object to FormData\n * @param {Object} obj\n * @param {?Object} [formData]\n * @param {?Object} [options]\n * @param {Function} [options.visitor]\n * @param {Boolean} [options.metaTokens = true]\n * @param {Boolean} [options.dots = false]\n * @param {?Boolean} [options.indexes = false]\n * @returns {Object}\n **/\n\nfunction toFormData(obj, formData, options) {\n if (!utils.isObject(obj)) {\n throw new TypeError('target must be an object');\n }\n\n // eslint-disable-next-line no-param-reassign\n formData = formData || new (envFormData || FormData)();\n\n // eslint-disable-next-line no-param-reassign\n options = utils.toFlatObject(options, {\n metaTokens: true,\n dots: false,\n indexes: false\n }, false, function defined(option, source) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n return !utils.isUndefined(source[option]);\n });\n\n var metaTokens = options.metaTokens;\n // eslint-disable-next-line no-use-before-define\n var visitor = options.visitor || defaultVisitor;\n var dots = options.dots;\n var indexes = options.indexes;\n var _Blob = options.Blob || typeof Blob !== 'undefined' && Blob;\n var useBlob = _Blob && isSpecCompliant(formData);\n\n if (!utils.isFunction(visitor)) {\n throw new TypeError('visitor must be a function');\n }\n\n function convertValue(value) {\n if (value === null) return '';\n\n if (utils.isDate(value)) {\n return value.toISOString();\n }\n\n if (!useBlob && utils.isBlob(value)) {\n throw new AxiosError('Blob is not supported. Use a Buffer instead.');\n }\n\n if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {\n return useBlob && typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value);\n }\n\n return value;\n }\n\n /**\n *\n * @param {*} value\n * @param {String|Number} key\n * @param {Array} path\n * @this {FormData}\n * @returns {boolean} return true to visit the each prop of the value recursively\n */\n function defaultVisitor(value, key, path) {\n var arr = value;\n\n if (value && !path && typeof value === 'object') {\n if (utils.endsWith(key, '{}')) {\n // eslint-disable-next-line no-param-reassign\n key = metaTokens ? key : key.slice(0, -2);\n // eslint-disable-next-line no-param-reassign\n value = JSON.stringify(value);\n } else if (\n (utils.isArray(value) && isFlatArray(value)) ||\n (utils.isFileList(value) || utils.endsWith(key, '[]') && (arr = utils.toArray(value))\n )) {\n // eslint-disable-next-line no-param-reassign\n key = removeBrackets(key);\n\n arr.forEach(function each(el, index) {\n !utils.isUndefined(el) && formData.append(\n // eslint-disable-next-line no-nested-ternary\n indexes === true ? renderKey([key], index, dots) : (indexes === null ? key : key + '[]'),\n convertValue(el)\n );\n });\n return false;\n }\n }\n\n if (isVisitable(value)) {\n return true;\n }\n\n formData.append(renderKey(path, key, dots), convertValue(value));\n\n return false;\n }\n\n var stack = [];\n\n var exposedHelpers = Object.assign(predicates, {\n defaultVisitor: defaultVisitor,\n convertValue: convertValue,\n isVisitable: isVisitable\n });\n\n function build(value, path) {\n if (utils.isUndefined(value)) return;\n\n if (stack.indexOf(value) !== -1) {\n throw Error('Circular reference detected in ' + path.join('.'));\n }\n\n stack.push(value);\n\n utils.forEach(value, function each(el, key) {\n var result = !utils.isUndefined(el) && visitor.call(\n formData, el, utils.isString(key) ? key.trim() : key, path, exposedHelpers\n );\n\n if (result === true) {\n build(el, path ? path.concat(key) : [key]);\n }\n });\n\n stack.pop();\n }\n\n if (!utils.isObject(obj)) {\n throw new TypeError('data must be an object');\n }\n\n build(obj);\n\n return formData;\n}\n\nmodule.exports = toFormData;\n","'use strict';\n\nvar toFormData = require('./toFormData');\n\nfunction encode(str) {\n var charMap = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+',\n '%00': '\\x00'\n };\n return encodeURIComponent(str).replace(/[!'\\(\\)~]|%20|%00/g, function replacer(match) {\n return charMap[match];\n });\n}\n\nfunction AxiosURLSearchParams(params, options) {\n this._pairs = [];\n\n params && toFormData(params, this, options);\n}\n\nvar prototype = AxiosURLSearchParams.prototype;\n\nprototype.append = function append(name, value) {\n this._pairs.push([name, value]);\n};\n\nprototype.toString = function toString(encoder) {\n var _encode = encoder ? function(value) {\n return encoder.call(this, value, encode);\n } : encode;\n\n return this._pairs.map(function each(pair) {\n return _encode(pair[0]) + '=' + _encode(pair[1]);\n }, '').join('&');\n};\n\nmodule.exports = AxiosURLSearchParams;\n","'use strict';\n\nvar utils = require('../utils');\nvar AxiosURLSearchParams = require('../helpers/AxiosURLSearchParams');\n\nfunction encode(val) {\n return encodeURIComponent(val).\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 * @param {?object} options\n * @returns {string} The formatted url\n */\nmodule.exports = function buildURL(url, params, options) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n\n var hashmarkIndex = url.indexOf('#');\n\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n\n var _encode = options && options.encode || encode;\n\n var serializerParams = utils.isURLSearchParams(params) ?\n params.toString() :\n new AxiosURLSearchParams(params, options).toString(_encode);\n\n if (serializerParams) {\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializerParams;\n }\n\n return url;\n};\n","'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, options) {\n this.handlers.push({\n fulfilled: fulfilled,\n rejected: rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null\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 * Clear all interceptors from the stack\n */\nInterceptorManager.prototype.clear = function clear() {\n if (this.handlers) {\n this.handlers = [];\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');\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\nmodule.exports = {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n};\n","'use strict';\n\nvar AxiosURLSearchParams = require('../../../helpers/AxiosURLSearchParams');\n\nmodule.exports = typeof URLSearchParams !== 'undefined' ? URLSearchParams : AxiosURLSearchParams;\n","'use strict';\n\nmodule.exports = FormData;\n","'use strict';\n\nmodule.exports = {\n isBrowser: true,\n classes: {\n URLSearchParams: require('./classes/URLSearchParams'),\n FormData: require('./classes/FormData'),\n Blob: Blob\n },\n protocols: ['http', 'https', 'file', 'blob', 'url']\n};\n","'use strict';\n\nmodule.exports = require('./node/');\n","'use strict';\n\nvar utils = require('../utils');\nvar toFormData = require('./toFormData');\nvar platform = require('../platform/');\n\nmodule.exports = function toURLEncodedForm(data, options) {\n return toFormData(data, new platform.classes.URLSearchParams(), Object.assign({\n visitor: function(value, key, path, helpers) {\n if (platform.isNode && utils.isBuffer(value)) {\n this.append(key, value.toString('base64'));\n return false;\n }\n\n return helpers.defaultVisitor.apply(this, arguments);\n }\n }, options));\n};\n","'use strict';\n\nvar utils = require('../utils');\n\nfunction parsePropPath(name) {\n // foo[x][y][z]\n // foo.x.y.z\n // foo-x-y-z\n // foo x y z\n return utils.matchAll(/\\w+|\\[(\\w*)]/g, name).map(function(match) {\n return match[0] === '[]' ? '' : match[1] || match[0];\n });\n}\n\nfunction arrayToObject(arr) {\n var obj = {};\n var keys = Object.keys(arr);\n var i;\n var len = keys.length;\n var key;\n for (i = 0; i < len; i++) {\n key = keys[i];\n obj[key] = arr[key];\n }\n return obj;\n}\n\nfunction formDataToJSON(formData) {\n function buildPath(path, value, target, index) {\n var name = path[index++];\n var isNumericKey = Number.isFinite(+name);\n var isLast = index >= path.length;\n name = !name && utils.isArray(target) ? target.length : name;\n\n if (isLast) {\n if (utils.hasOwnProperty(target, name)) {\n target[name] = [target[name], value];\n } else {\n target[name] = value;\n }\n\n return !isNumericKey;\n }\n\n if (!target[name] || !utils.isObject(target[name])) {\n target[name] = [];\n }\n\n var result = buildPath(path, value, target[name], index);\n\n if (result && utils.isArray(target[name])) {\n target[name] = arrayToObject(target[name]);\n }\n\n return !isNumericKey;\n }\n\n if (utils.isFormData(formData) && utils.isFunction(formData.entries)) {\n var obj = {};\n\n utils.forEachEntry(formData, function(name, value) {\n buildPath(parsePropPath(name), value, obj, 0);\n });\n\n return obj;\n }\n\n return null;\n}\n\nmodule.exports = formDataToJSON;\n","'use strict';\n\nvar AxiosError = require('./AxiosError');\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 (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(new AxiosError(\n 'Request failed with status code ' + response.status,\n [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4],\n response.config,\n response.request,\n response\n ));\n }\n};\n","'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 * 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\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 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\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.slice(0, i)).toLowerCase();\n val = utils.trim(line.slice(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","'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 AxiosError = require('../core/AxiosError');\nvar utils = require('../utils');\n\n/**\n * A `CanceledError` is an object that is thrown when an operation is canceled.\n *\n * @class\n * @param {string=} message The message.\n * @param {Object=} config The config.\n * @param {Object=} request The request.\n */\nfunction CanceledError(message, config, request) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n AxiosError.call(this, message == null ? 'canceled' : message, AxiosError.ERR_CANCELED, config, request);\n this.name = 'CanceledError';\n}\n\nutils.inherits(CanceledError, AxiosError, {\n __CANCEL__: true\n});\n\nmodule.exports = CanceledError;\n","'use strict';\n\nmodule.exports = function parseProtocol(url) {\n var match = /^([-+\\w]{1,25})(:?\\/\\/|:)/.exec(url);\n return match && match[1] || '';\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar settle = require('./../core/settle');\nvar cookies = require('./../helpers/cookies');\nvar buildURL = require('./../helpers/buildURL');\nvar buildFullPath = require('../core/buildFullPath');\nvar parseHeaders = require('./../helpers/parseHeaders');\nvar isURLSameOrigin = require('./../helpers/isURLSameOrigin');\nvar transitionalDefaults = require('../defaults/transitional');\nvar AxiosError = require('../core/AxiosError');\nvar CanceledError = require('../cancel/CanceledError');\nvar parseProtocol = require('../helpers/parseProtocol');\nvar platform = require('../platform');\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 var responseType = config.responseType;\n var onCanceled;\n function done() {\n if (config.cancelToken) {\n config.cancelToken.unsubscribe(onCanceled);\n }\n\n if (config.signal) {\n config.signal.removeEventListener('abort', onCanceled);\n }\n }\n\n if (utils.isFormData(requestData) && utils.isStandardBrowserEnv()) {\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 ? unescape(encodeURIComponent(config.auth.password)) : '';\n requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password);\n }\n\n var fullPath = buildFullPath(config.baseURL, config.url);\n\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 function onloadend() {\n if (!request) {\n return;\n }\n // Prepare the response\n var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null;\n var responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n 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(function _resolve(value) {\n resolve(value);\n done();\n }, function _reject(err) {\n reject(err);\n done();\n }, response);\n\n // Clean up request\n request = null;\n }\n\n if ('onloadend' in request) {\n // Use onloadend if available\n request.onloadend = onloadend;\n } else {\n // Listen for ready state to emulate onloadend\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 // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n setTimeout(onloadend);\n };\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(new AxiosError('Request aborted', AxiosError.ECONNABORTED, config, 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(new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n var timeoutErrorMessage = config.timeout ? 'timeout of ' + config.timeout + 'ms exceeded' : 'timeout exceeded';\n var transitional = config.transitional || transitionalDefaults;\n if (config.timeoutErrorMessage) {\n timeoutErrorMessage = config.timeoutErrorMessage;\n }\n reject(new AxiosError(\n timeoutErrorMessage,\n transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n config,\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 // 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 (responseType && responseType !== 'json') {\n request.responseType = config.responseType;\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 || config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = function(cancel) {\n if (!request) {\n return;\n }\n reject(!cancel || cancel.type ? new CanceledError(null, config, req) : cancel);\n request.abort();\n request = null;\n };\n\n config.cancelToken && config.cancelToken.subscribe(onCanceled);\n if (config.signal) {\n config.signal.aborted ? onCanceled() : config.signal.addEventListener('abort', onCanceled);\n }\n }\n\n if (!requestData) {\n requestData = null;\n }\n\n var protocol = parseProtocol(fullPath);\n\n if (protocol && platform.protocols.indexOf(protocol) === -1) {\n reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config));\n return;\n }\n\n\n // Send the request\n request.send(requestData);\n });\n};\n","'use strict';\n\nvar utils = require('../utils');\nvar normalizeHeaderName = require('../helpers/normalizeHeaderName');\nvar AxiosError = require('../core/AxiosError');\nvar transitionalDefaults = require('./transitional');\nvar toFormData = require('../helpers/toFormData');\nvar toURLEncodedForm = require('../helpers/toURLEncodedForm');\nvar platform = require('../platform');\nvar formDataToJSON = require('../helpers/formDataToJSON');\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\nfunction stringifySafely(rawValue, parser, encoder) {\n if (utils.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils.trim(rawValue);\n } catch (e) {\n if (e.name !== 'SyntaxError') {\n throw e;\n }\n }\n }\n\n return (encoder || JSON.stringify)(rawValue);\n}\n\nvar defaults = {\n\n transitional: transitionalDefaults,\n\n adapter: getDefaultAdapter(),\n\n transformRequest: [function transformRequest(data, headers) {\n normalizeHeaderName(headers, 'Accept');\n normalizeHeaderName(headers, 'Content-Type');\n\n var contentType = headers && headers['Content-Type'] || '';\n var hasJSONContentType = contentType.indexOf('application/json') > -1;\n var isObjectPayload = utils.isObject(data);\n\n if (isObjectPayload && utils.isHTMLForm(data)) {\n data = new FormData(data);\n }\n\n var isFormData = utils.isFormData(data);\n\n if (isFormData) {\n if (!hasJSONContentType) {\n return data;\n }\n return hasJSONContentType ? JSON.stringify(formDataToJSON(data)) : data;\n }\n\n if (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\n var isFileList;\n\n if (isObjectPayload) {\n if (contentType.indexOf('application/x-www-form-urlencoded') !== -1) {\n return toURLEncodedForm(data, this.formSerializer).toString();\n }\n\n if ((isFileList = utils.isFileList(data)) || contentType.indexOf('multipart/form-data') > -1) {\n var _FormData = this.env && this.env.FormData;\n\n return toFormData(\n isFileList ? {'files[]': data} : data,\n _FormData && new _FormData(),\n this.formSerializer\n );\n }\n }\n\n if (isObjectPayload || hasJSONContentType ) {\n setContentTypeIfUnset(headers, 'application/json');\n return stringifySafely(data);\n }\n\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n var transitional = this.transitional || defaults.transitional;\n var forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n var JSONRequested = this.responseType === 'json';\n\n if (data && utils.isString(data) && ((forcedJSONParsing && !this.responseType) || JSONRequested)) {\n var silentJSONParsing = transitional && transitional.silentJSONParsing;\n var strictJSONParsing = !silentJSONParsing && JSONRequested;\n\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response);\n }\n throw e;\n }\n }\n }\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 maxBodyLength: -1,\n\n env: {\n FormData: platform.classes.FormData,\n Blob: platform.classes.Blob\n },\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n },\n\n headers: {\n common: {\n 'Accept': 'application/json, text/plain, */*'\n }\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","'use strict';\n\nvar utils = require('./../utils');\nvar defaults = require('../defaults');\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 {Number} status HTTP status code\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, status, fns) {\n var context = this || defaults;\n /*eslint no-param-reassign:0*/\n utils.forEach(fns, function transform(fn) {\n data = fn.call(context, data, headers, status);\n });\n\n return data;\n};\n","'use strict';\n\nmodule.exports = function isCancel(value) {\n return !!(value && value.__CANCEL__);\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar transformData = require('./transformData');\nvar isCancel = require('../cancel/isCancel');\nvar defaults = require('../defaults');\nvar CanceledError = require('../cancel/CanceledError');\nvar normalizeHeaderName = require('../helpers/normalizeHeaderName');\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new CanceledError();\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.call(\n config,\n config.data,\n config.headers,\n null,\n config.transformRequest\n );\n\n normalizeHeaderName(config.headers, 'Accept');\n normalizeHeaderName(config.headers, 'Content-Type');\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.call(\n config,\n response.data,\n response.headers,\n response.status,\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.call(\n config,\n reason.response.data,\n reason.response.headers,\n reason.response.status,\n config.transformResponse\n );\n }\n }\n\n return Promise.reject(reason);\n });\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 function getMergedValue(target, source) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge(target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDeepProperties(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(config1[prop], config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n return getMergedValue(undefined, config1[prop]);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(undefined, config2[prop]);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(undefined, config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n return getMergedValue(undefined, config1[prop]);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(prop) {\n if (prop in config2) {\n return getMergedValue(config1[prop], config2[prop]);\n } else if (prop in config1) {\n return getMergedValue(undefined, config1[prop]);\n }\n }\n\n var mergeMap = {\n 'url': valueFromConfig2,\n 'method': valueFromConfig2,\n 'data': valueFromConfig2,\n 'baseURL': defaultToConfig2,\n 'transformRequest': defaultToConfig2,\n 'transformResponse': defaultToConfig2,\n 'paramsSerializer': defaultToConfig2,\n 'timeout': defaultToConfig2,\n 'timeoutMessage': defaultToConfig2,\n 'withCredentials': defaultToConfig2,\n 'adapter': defaultToConfig2,\n 'responseType': defaultToConfig2,\n 'xsrfCookieName': defaultToConfig2,\n 'xsrfHeaderName': defaultToConfig2,\n 'onUploadProgress': defaultToConfig2,\n 'onDownloadProgress': defaultToConfig2,\n 'decompress': defaultToConfig2,\n 'maxContentLength': defaultToConfig2,\n 'maxBodyLength': defaultToConfig2,\n 'beforeRedirect': defaultToConfig2,\n 'transport': defaultToConfig2,\n 'httpAgent': defaultToConfig2,\n 'httpsAgent': defaultToConfig2,\n 'cancelToken': defaultToConfig2,\n 'socketPath': defaultToConfig2,\n 'responseEncoding': defaultToConfig2,\n 'validateStatus': mergeDirectKeys\n };\n\n utils.forEach(Object.keys(config1).concat(Object.keys(config2)), function computeConfigValue(prop) {\n var merge = mergeMap[prop] || mergeDeepProperties;\n var configValue = merge(prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n};\n","module.exports = {\n \"version\": \"1.0.0-alpha.1\"\n};","'use strict';\n\nvar VERSION = require('../env/data').version;\nvar AxiosError = require('../core/AxiosError');\n\nvar validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach(function(type, i) {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nvar deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n * @param {function|boolean?} validator - set to false if the transitional option has been removed\n * @param {string?} version - deprecated version / removed since version\n * @param {string?} message - some message with additional info\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n function formatMessage(opt, desc) {\n return '[Axios v' + VERSION + '] Transitional option \\'' + opt + '\\'' + desc + (message ? '. ' + message : '');\n }\n\n // eslint-disable-next-line func-names\n return function(value, opt, opts) {\n if (validator === false) {\n throw new AxiosError(\n formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')),\n AxiosError.ERR_DEPRECATED\n );\n }\n\n if (version && !deprecatedWarnings[opt]) {\n deprecatedWarnings[opt] = true;\n // eslint-disable-next-line no-console\n console.warn(\n formatMessage(\n opt,\n ' has been deprecated since v' + version + ' and will be removed in the near future'\n )\n );\n }\n\n return validator ? validator(value, opt, opts) : true;\n };\n};\n\n/**\n * Assert object's properties type\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE);\n }\n var keys = Object.keys(options);\n var i = keys.length;\n while (i-- > 0) {\n var opt = keys[i];\n var validator = schema[opt];\n if (validator) {\n var value = options[opt];\n var result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new AxiosError('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION);\n }\n }\n}\n\nmodule.exports = {\n assertOptions: assertOptions,\n validators: validators\n};\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');\nvar buildFullPath = require('./buildFullPath');\nvar validator = require('../helpers/validator');\n\nvar validators = validator.validators;\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 {String|Object} configOrUrl The config specific for this request (merged with this.defaults)\n * @param {?Object} config\n */\nAxios.prototype.request = function request(configOrUrl, config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof configOrUrl === 'string') {\n config = config || {};\n config.url = configOrUrl;\n } else {\n config = configOrUrl || {};\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 var transitional = config.transitional;\n\n if (transitional !== undefined) {\n validator.assertOptions(transitional, {\n silentJSONParsing: validators.transitional(validators.boolean),\n forcedJSONParsing: validators.transitional(validators.boolean),\n clarifyTimeoutError: validators.transitional(validators.boolean)\n }, false);\n }\n\n // filter out skipped interceptors\n var requestInterceptorChain = [];\n var synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n return;\n }\n\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n var responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n var promise;\n\n if (!synchronousRequestInterceptors) {\n var chain = [dispatchRequest, undefined];\n\n Array.prototype.unshift.apply(chain, requestInterceptorChain);\n chain = chain.concat(responseInterceptorChain);\n\n promise = Promise.resolve(config);\n while (chain.length) {\n promise = promise.then(chain.shift(), chain.shift());\n }\n\n return promise;\n }\n\n\n var newConfig = config;\n while (requestInterceptorChain.length) {\n var onFulfilled = requestInterceptorChain.shift();\n var onRejected = requestInterceptorChain.shift();\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected(error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest(newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n while (responseInterceptorChain.length) {\n promise = promise.then(responseInterceptorChain.shift(), responseInterceptorChain.shift());\n }\n\n return promise;\n};\n\nAxios.prototype.getUri = function getUri(config) {\n config = mergeConfig(this.defaults, config);\n var fullPath = buildFullPath(config.baseURL, config.url);\n return buildURL(fullPath, config.params, config.paramsSerializer);\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(mergeConfig(config || {}, {\n method: method,\n url: url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n\n function generateHTTPMethod(isForm) {\n return function httpMethod(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n headers: isForm ? {\n 'Content-Type': 'multipart/form-data'\n } : {},\n url: url,\n data: data\n }));\n };\n }\n\n Axios.prototype[method] = generateHTTPMethod();\n\n Axios.prototype[method + 'Form'] = generateHTTPMethod(true);\n});\n\nmodule.exports = Axios;\n","'use strict';\n\nvar CanceledError = require('./CanceledError');\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\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n var token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then(function(cancel) {\n if (!token._listeners) return;\n\n var i = token._listeners.length;\n\n while (i-- > 0) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = function(onfulfilled) {\n var _resolve;\n // eslint-disable-next-line func-names\n var promise = new Promise(function(resolve) {\n token.subscribe(resolve);\n _resolve = resolve;\n }).then(onfulfilled);\n\n promise.cancel = function reject() {\n token.unsubscribe(_resolve);\n };\n\n return promise;\n };\n\n executor(function cancel(message, config, request) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new CanceledError(message, config, request);\n resolvePromise(token.reason);\n });\n}\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n */\nCancelToken.prototype.throwIfRequested = function throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n};\n\n/**\n * Subscribe to the cancel signal\n */\n\nCancelToken.prototype.subscribe = function subscribe(listener) {\n if (this.reason) {\n listener(this.reason);\n return;\n }\n\n if (this._listeners) {\n this._listeners.push(listener);\n } else {\n this._listeners = [listener];\n }\n};\n\n/**\n * Unsubscribe from the cancel signal\n */\n\nCancelToken.prototype.unsubscribe = function unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n var index = this._listeners.indexOf(listener);\n if (index !== -1) {\n this._listeners.splice(index, 1);\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\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\nvar utils = require('./../utils');\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nmodule.exports = function isAxiosError(payload) {\n return utils.isObject(payload) && (payload.isAxiosError === true);\n};\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');\nvar formDataToJSON = require('./helpers/formDataToJSON');\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 // Factory for creating new instances\n instance.create = function create(instanceConfig) {\n return createInstance(mergeConfig(defaultConfig, instanceConfig));\n };\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// Expose Cancel & CancelToken\naxios.CanceledError = require('./cancel/CanceledError');\naxios.CancelToken = require('./cancel/CancelToken');\naxios.isCancel = require('./cancel/isCancel');\naxios.VERSION = require('./env/data').version;\naxios.toFormData = require('./helpers/toFormData');\n\n// Expose AxiosError class\naxios.AxiosError = require('../lib/core/AxiosError');\n\n// alias for CanceledError for backward compatibility\naxios.Cancel = axios.CanceledError;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\naxios.spread = require('./helpers/spread');\n\n// Expose isAxiosError\naxios.isAxiosError = require('./helpers/isAxiosError');\n\naxios.formToJSON = function(thing) {\n return formDataToJSON(utils.isHTMLForm(thing) ? new FormData(thing) : thing);\n};\n\nmodule.exports = axios;\n\n// Allow use of default import syntax in TypeScript\nmodule.exports.default = axios;\n"],"names":["prototype","browser","FormData","require$$0","envFormData","AxiosError","encode","toFormData","AxiosURLSearchParams","require$$1","transitional","transitionalDefaults","CanceledError","formDataToJSON","defaults","validators","InterceptorManager","Axios","require$$2","require$$3","require$$4","require$$5","require$$6","require$$7"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"axios.js","sources":["../lib/helpers/bind.js","../lib/utils.js","../lib/core/AxiosError.js","../node_modules/form-data/lib/browser.js","../lib/helpers/toFormData.js","../lib/helpers/AxiosURLSearchParams.js","../lib/helpers/buildURL.js","../lib/core/InterceptorManager.js","../lib/defaults/transitional.js","../lib/platform/browser/classes/URLSearchParams.js","../lib/platform/browser/classes/FormData.js","../lib/platform/browser/index.js","../lib/helpers/toURLEncodedForm.js","../lib/helpers/formDataToJSON.js","../lib/core/settle.js","../lib/helpers/cookies.js","../lib/helpers/isAbsoluteURL.js","../lib/helpers/combineURLs.js","../lib/core/buildFullPath.js","../lib/helpers/isURLSameOrigin.js","../lib/cancel/CanceledError.js","../lib/helpers/parseProtocol.js","../lib/helpers/parseHeaders.js","../lib/core/AxiosHeaders.js","../lib/helpers/speedometer.js","../lib/adapters/xhr.js","../lib/adapters/index.js","../lib/defaults/index.js","../lib/core/transformData.js","../lib/cancel/isCancel.js","../lib/core/dispatchRequest.js","../lib/core/mergeConfig.js","../lib/env/data.js","../lib/helpers/validator.js","../lib/core/Axios.js","../lib/cancel/CancelToken.js","../lib/helpers/spread.js","../lib/helpers/isAxiosError.js","../lib/axios.js"],"sourcesContent":["'use strict';\n\nexport default function bind(fn, thisArg) {\n return function wrap() {\n return fn.apply(thisArg, arguments);\n };\n}\n","'use strict';\n\nimport bind from './helpers/bind.js';\n\n// utils is a library of generic helper functions non-specific to axios\n\nconst {toString} = Object.prototype;\nconst {getPrototypeOf} = Object;\n\nconst kindOf = (cache => thing => {\n const str = toString.call(thing);\n return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n})(Object.create(null));\n\nconst kindOfTest = (type) => {\n type = type.toLowerCase();\n return (thing) => kindOf(thing) === type\n}\n\nconst typeOfTest = type => thing => typeof thing === type;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n *\n * @returns {boolean} True if value is an Array, otherwise false\n */\nconst {isArray} = Array;\n\n/**\n * Determine if a value is undefined\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nconst isUndefined = typeOfTest('undefined');\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {*} val The value to test\n *\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 && isFunction(val.constructor.isBuffer) && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nconst isArrayBuffer = kindOfTest('ArrayBuffer');\n\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n let result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (isArrayBuffer(val.buffer));\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a String, otherwise false\n */\nconst isString = typeOfTest('string');\n\n/**\n * Determine if a value is a Function\n *\n * @param {*} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nconst isFunction = typeOfTest('function');\n\n/**\n * Determine if a value is a Number\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Number, otherwise false\n */\nconst isNumber = typeOfTest('number');\n\n/**\n * Determine if a value is an Object\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an Object, otherwise false\n */\nconst isObject = (thing) => thing !== null && typeof thing === 'object';\n\n/**\n * Determine if a value is a Boolean\n *\n * @param {*} thing The value to test\n * @returns {boolean} True if value is a Boolean, otherwise false\n */\nconst isBoolean = thing => thing === true || thing === false;\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a plain Object, otherwise false\n */\nconst isPlainObject = (val) => {\n if (kindOf(val) !== 'object') {\n return false;\n }\n\n const prototype = getPrototypeOf(val);\n return prototype === null || prototype === Object.prototype;\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Date, otherwise false\n */\nconst isDate = kindOfTest('Date');\n\n/**\n * Determine if a value is a File\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFile = kindOfTest('File');\n\n/**\n * Determine if a value is a Blob\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nconst isBlob = kindOfTest('Blob');\n\n/**\n * Determine if a value is a FileList\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFileList = kindOfTest('FileList');\n\n/**\n * Determine if a value is a Stream\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nconst isStream = (val) => isObject(val) && isFunction(val.pipe);\n\n/**\n * Determine if a value is a FormData\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nconst isFormData = (thing) => {\n const pattern = '[object FormData]';\n return thing && (\n (typeof FormData === 'function' && thing instanceof FormData) ||\n toString.call(thing) === pattern ||\n (isFunction(thing.toString) && thing.toString() === pattern)\n );\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nconst isURLSearchParams = kindOfTest('URLSearchParams');\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n *\n * @returns {String} The String freed of excess whitespace\n */\nconst trim = (str) => str.trim ?\n str.trim() : str.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '');\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 *\n * @param {Boolean} [allOwnKeys = false]\n * @returns {void}\n */\nfunction forEach(obj, fn, {allOwnKeys = false} = {}) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n let i;\n let l;\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 (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 const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj);\n const len = keys.length;\n let key;\n\n for (i = 0; i < len; i++) {\n key = keys[i];\n fn.call(null, obj[key], key, obj);\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 *\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n const result = {};\n const assignValue = (val, key) => {\n if (isPlainObject(result[key]) && isPlainObject(val)) {\n result[key] = merge(result[key], val);\n } else if (isPlainObject(val)) {\n result[key] = merge({}, val);\n } else if (isArray(val)) {\n result[key] = val.slice();\n } else {\n result[key] = val;\n }\n }\n\n for (let i = 0, l = arguments.length; i < l; i++) {\n arguments[i] && 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 *\n * @param {Boolean} [allOwnKeys]\n * @returns {Object} The resulting value of object a\n */\nconst extend = (a, b, thisArg, {allOwnKeys}= {}) => {\n forEach(b, (val, key) => {\n if (thisArg && isFunction(val)) {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n }, {allOwnKeys});\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n *\n * @returns {string} content value without BOM\n */\nconst stripBOM = (content) => {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\n/**\n * Inherit the prototype methods from one constructor into another\n * @param {function} constructor\n * @param {function} superConstructor\n * @param {object} [props]\n * @param {object} [descriptors]\n *\n * @returns {void}\n */\nconst inherits = (constructor, superConstructor, props, descriptors) => {\n constructor.prototype = Object.create(superConstructor.prototype, descriptors);\n constructor.prototype.constructor = constructor;\n Object.defineProperty(constructor, 'super', {\n value: superConstructor.prototype\n });\n props && Object.assign(constructor.prototype, props);\n}\n\n/**\n * Resolve object with deep prototype chain to a flat object\n * @param {Object} sourceObj source object\n * @param {Object} [destObj]\n * @param {Function|Boolean} [filter]\n * @param {Function} [propFilter]\n *\n * @returns {Object}\n */\nconst toFlatObject = (sourceObj, destObj, filter, propFilter) => {\n let props;\n let i;\n let prop;\n const merged = {};\n\n destObj = destObj || {};\n // eslint-disable-next-line no-eq-null,eqeqeq\n if (sourceObj == null) return destObj;\n\n do {\n props = Object.getOwnPropertyNames(sourceObj);\n i = props.length;\n while (i-- > 0) {\n prop = props[i];\n if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) {\n destObj[prop] = sourceObj[prop];\n merged[prop] = true;\n }\n }\n sourceObj = filter !== false && getPrototypeOf(sourceObj);\n } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);\n\n return destObj;\n}\n\n/**\n * Determines whether a string ends with the characters of a specified string\n *\n * @param {String} str\n * @param {String} searchString\n * @param {Number} [position= 0]\n *\n * @returns {boolean}\n */\nconst endsWith = (str, searchString, position) => {\n str = String(str);\n if (position === undefined || position > str.length) {\n position = str.length;\n }\n position -= searchString.length;\n const lastIndex = str.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n}\n\n\n/**\n * Returns new array from array like object or null if failed\n *\n * @param {*} [thing]\n *\n * @returns {?Array}\n */\nconst toArray = (thing) => {\n if (!thing) return null;\n if (isArray(thing)) return thing;\n let i = thing.length;\n if (!isNumber(i)) return null;\n const arr = new Array(i);\n while (i-- > 0) {\n arr[i] = thing[i];\n }\n return arr;\n}\n\n/**\n * Checking if the Uint8Array exists and if it does, it returns a function that checks if the\n * thing passed in is an instance of Uint8Array\n *\n * @param {TypedArray}\n *\n * @returns {Array}\n */\n// eslint-disable-next-line func-names\nconst isTypedArray = (TypedArray => {\n // eslint-disable-next-line func-names\n return thing => {\n return TypedArray && thing instanceof TypedArray;\n };\n})(typeof Uint8Array !== 'undefined' && getPrototypeOf(Uint8Array));\n\n/**\n * For each entry in the object, call the function with the key and value.\n *\n * @param {Object} obj - The object to iterate over.\n * @param {Function} fn - The function to call for each entry.\n *\n * @returns {void}\n */\nconst forEachEntry = (obj, fn) => {\n const generator = obj && obj[Symbol.iterator];\n\n const iterator = generator.call(obj);\n\n let result;\n\n while ((result = iterator.next()) && !result.done) {\n const pair = result.value;\n fn.call(obj, pair[0], pair[1]);\n }\n}\n\n/**\n * It takes a regular expression and a string, and returns an array of all the matches\n *\n * @param {string} regExp - The regular expression to match against.\n * @param {string} str - The string to search.\n *\n * @returns {Array}\n */\nconst matchAll = (regExp, str) => {\n let matches;\n const arr = [];\n\n while ((matches = regExp.exec(str)) !== null) {\n arr.push(matches);\n }\n\n return arr;\n}\n\n/* Checking if the kindOfTest function returns true when passed an HTMLFormElement. */\nconst isHTMLForm = kindOfTest('HTMLFormElement');\n\nconst toCamelCase = str => {\n return str.toLowerCase().replace(/[_-\\s]([a-z\\d])(\\w*)/g,\n function replacer(m, p1, p2) {\n return p1.toUpperCase() + p2;\n }\n );\n};\n\n/* Creating a function that will check if an object has a property. */\nconst hasOwnProperty = (({hasOwnProperty}) => (obj, prop) => hasOwnProperty.call(obj, prop))(Object.prototype);\n\n/**\n * Determine if a value is a RegExp object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a RegExp object, otherwise false\n */\nconst isRegExp = kindOfTest('RegExp');\n\nconst reduceDescriptors = (obj, reducer) => {\n const descriptors = Object.getOwnPropertyDescriptors(obj);\n const reducedDescriptors = {};\n\n forEach(descriptors, (descriptor, name) => {\n if (reducer(descriptor, name, obj) !== false) {\n reducedDescriptors[name] = descriptor;\n }\n });\n\n Object.defineProperties(obj, reducedDescriptors);\n}\n\n/**\n * Makes all methods read-only\n * @param {Object} obj\n */\n\nconst freezeMethods = (obj) => {\n reduceDescriptors(obj, (descriptor, name) => {\n const value = obj[name];\n\n if (!isFunction(value)) return;\n\n descriptor.enumerable = false;\n\n if ('writable' in descriptor) {\n descriptor.writable = false;\n return;\n }\n\n if (!descriptor.set) {\n descriptor.set = () => {\n throw Error('Can not read-only method \\'' + name + '\\'');\n };\n }\n });\n}\n\nconst toObjectSet = (arrayOrString, delimiter) => {\n const obj = {};\n\n const define = (arr) => {\n arr.forEach(value => {\n obj[value] = true;\n });\n }\n\n isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter));\n\n return obj;\n}\n\nconst noop = () => {}\n\nconst toFiniteNumber = (value, defaultValue) => {\n value = +value;\n return Number.isFinite(value) ? value : defaultValue;\n}\n\nexport default {\n isArray,\n isArrayBuffer,\n isBuffer,\n isFormData,\n isArrayBufferView,\n isString,\n isNumber,\n isBoolean,\n isObject,\n isPlainObject,\n isUndefined,\n isDate,\n isFile,\n isBlob,\n isRegExp,\n isFunction,\n isStream,\n isURLSearchParams,\n isTypedArray,\n isFileList,\n forEach,\n merge,\n extend,\n trim,\n stripBOM,\n inherits,\n toFlatObject,\n kindOf,\n kindOfTest,\n endsWith,\n toArray,\n forEachEntry,\n matchAll,\n isHTMLForm,\n hasOwnProperty,\n hasOwnProp: hasOwnProperty, // an alias to avoid ESLint no-prototype-builtins detection\n reduceDescriptors,\n freezeMethods,\n toObjectSet,\n toCamelCase,\n noop,\n toFiniteNumber\n};\n","'use strict';\n\nimport utils from '../utils.js';\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 {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [config] The config.\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n *\n * @returns {Error} The created error.\n */\nfunction AxiosError(message, code, config, request, response) {\n Error.call(this);\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n } else {\n this.stack = (new Error()).stack;\n }\n\n this.message = message;\n this.name = 'AxiosError';\n code && (this.code = code);\n config && (this.config = config);\n request && (this.request = request);\n response && (this.response = response);\n}\n\nutils.inherits(AxiosError, Error, {\n toJSON: function toJSON() {\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 status: this.response && this.response.status ? this.response.status : null\n };\n }\n});\n\nconst prototype = AxiosError.prototype;\nconst descriptors = {};\n\n[\n 'ERR_BAD_OPTION_VALUE',\n 'ERR_BAD_OPTION',\n 'ECONNABORTED',\n 'ETIMEDOUT',\n 'ERR_NETWORK',\n 'ERR_FR_TOO_MANY_REDIRECTS',\n 'ERR_DEPRECATED',\n 'ERR_BAD_RESPONSE',\n 'ERR_BAD_REQUEST',\n 'ERR_CANCELED',\n 'ERR_NOT_SUPPORT',\n 'ERR_INVALID_URL'\n// eslint-disable-next-line func-names\n].forEach(code => {\n descriptors[code] = {value: code};\n});\n\nObject.defineProperties(AxiosError, descriptors);\nObject.defineProperty(prototype, 'isAxiosError', {value: true});\n\n// eslint-disable-next-line func-names\nAxiosError.from = (error, code, config, request, response, customProps) => {\n const axiosError = Object.create(prototype);\n\n utils.toFlatObject(error, axiosError, function filter(obj) {\n return obj !== Error.prototype;\n }, prop => {\n return prop !== 'isAxiosError';\n });\n\n AxiosError.call(axiosError, error.message, code, config, request, response);\n\n axiosError.cause = error;\n\n axiosError.name = error.name;\n\n customProps && Object.assign(axiosError, customProps);\n\n return axiosError;\n};\n\nexport default AxiosError;\n","/* eslint-env browser */\nmodule.exports = typeof self == 'object' ? self.FormData : window.FormData;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\nimport envFormData from '../env/classes/FormData.js';\n\n/**\n * Determines if the given thing is a array or js object.\n *\n * @param {string} thing - The object or array to be visited.\n *\n * @returns {boolean}\n */\nfunction isVisitable(thing) {\n return utils.isPlainObject(thing) || utils.isArray(thing);\n}\n\n/**\n * It removes the brackets from the end of a string\n *\n * @param {string} key - The key of the parameter.\n *\n * @returns {string} the key without the brackets.\n */\nfunction removeBrackets(key) {\n return utils.endsWith(key, '[]') ? key.slice(0, -2) : key;\n}\n\n/**\n * It takes a path, a key, and a boolean, and returns a string\n *\n * @param {string} path - The path to the current key.\n * @param {string} key - The key of the current object being iterated over.\n * @param {string} dots - If true, the key will be rendered with dots instead of brackets.\n *\n * @returns {string} The path to the current key.\n */\nfunction renderKey(path, key, dots) {\n if (!path) return key;\n return path.concat(key).map(function each(token, i) {\n // eslint-disable-next-line no-param-reassign\n token = removeBrackets(token);\n return !dots && i ? '[' + token + ']' : token;\n }).join(dots ? '.' : '');\n}\n\n/**\n * If the array is an array and none of its elements are visitable, then it's a flat array.\n *\n * @param {Array} arr - The array to check\n *\n * @returns {boolean}\n */\nfunction isFlatArray(arr) {\n return utils.isArray(arr) && !arr.some(isVisitable);\n}\n\nconst predicates = utils.toFlatObject(utils, {}, null, function filter(prop) {\n return /^is[A-Z]/.test(prop);\n});\n\n/**\n * If the thing is a FormData object, return true, otherwise return false.\n *\n * @param {unknown} thing - The thing to check.\n *\n * @returns {boolean}\n */\nfunction isSpecCompliant(thing) {\n return thing && utils.isFunction(thing.append) && thing[Symbol.toStringTag] === 'FormData' && thing[Symbol.iterator];\n}\n\n/**\n * Convert a data object to FormData\n *\n * @param {Object} obj\n * @param {?Object} [formData]\n * @param {?Object} [options]\n * @param {Function} [options.visitor]\n * @param {Boolean} [options.metaTokens = true]\n * @param {Boolean} [options.dots = false]\n * @param {?Boolean} [options.indexes = false]\n *\n * @returns {Object}\n **/\n\n/**\n * It converts an object into a FormData object\n *\n * @param {Object} obj - The object to convert to form data.\n * @param {string} formData - The FormData object to append to.\n * @param {Object} options\n *\n * @returns\n */\nfunction toFormData(obj, formData, options) {\n if (!utils.isObject(obj)) {\n throw new TypeError('target must be an object');\n }\n\n // eslint-disable-next-line no-param-reassign\n formData = formData || new (envFormData || FormData)();\n\n // eslint-disable-next-line no-param-reassign\n options = utils.toFlatObject(options, {\n metaTokens: true,\n dots: false,\n indexes: false\n }, false, function defined(option, source) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n return !utils.isUndefined(source[option]);\n });\n\n const metaTokens = options.metaTokens;\n // eslint-disable-next-line no-use-before-define\n const visitor = options.visitor || defaultVisitor;\n const dots = options.dots;\n const indexes = options.indexes;\n const _Blob = options.Blob || typeof Blob !== 'undefined' && Blob;\n const useBlob = _Blob && isSpecCompliant(formData);\n\n if (!utils.isFunction(visitor)) {\n throw new TypeError('visitor must be a function');\n }\n\n function convertValue(value) {\n if (value === null) return '';\n\n if (utils.isDate(value)) {\n return value.toISOString();\n }\n\n if (!useBlob && utils.isBlob(value)) {\n throw new AxiosError('Blob is not supported. Use a Buffer instead.');\n }\n\n if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {\n return useBlob && typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value);\n }\n\n return value;\n }\n\n /**\n * Default visitor.\n *\n * @param {*} value\n * @param {String|Number} key\n * @param {Array} path\n * @this {FormData}\n *\n * @returns {boolean} return true to visit the each prop of the value recursively\n */\n function defaultVisitor(value, key, path) {\n let arr = value;\n\n if (value && !path && typeof value === 'object') {\n if (utils.endsWith(key, '{}')) {\n // eslint-disable-next-line no-param-reassign\n key = metaTokens ? key : key.slice(0, -2);\n // eslint-disable-next-line no-param-reassign\n value = JSON.stringify(value);\n } else if (\n (utils.isArray(value) && isFlatArray(value)) ||\n (utils.isFileList(value) || utils.endsWith(key, '[]') && (arr = utils.toArray(value))\n )) {\n // eslint-disable-next-line no-param-reassign\n key = removeBrackets(key);\n\n arr.forEach(function each(el, index) {\n !utils.isUndefined(el) && formData.append(\n // eslint-disable-next-line no-nested-ternary\n indexes === true ? renderKey([key], index, dots) : (indexes === null ? key : key + '[]'),\n convertValue(el)\n );\n });\n return false;\n }\n }\n\n if (isVisitable(value)) {\n return true;\n }\n\n formData.append(renderKey(path, key, dots), convertValue(value));\n\n return false;\n }\n\n const stack = [];\n\n const exposedHelpers = Object.assign(predicates, {\n defaultVisitor,\n convertValue,\n isVisitable\n });\n\n function build(value, path) {\n if (utils.isUndefined(value)) return;\n\n if (stack.indexOf(value) !== -1) {\n throw Error('Circular reference detected in ' + path.join('.'));\n }\n\n stack.push(value);\n\n utils.forEach(value, function each(el, key) {\n const result = !utils.isUndefined(el) && visitor.call(\n formData, el, utils.isString(key) ? key.trim() : key, path, exposedHelpers\n );\n\n if (result === true) {\n build(el, path ? path.concat(key) : [key]);\n }\n });\n\n stack.pop();\n }\n\n if (!utils.isObject(obj)) {\n throw new TypeError('data must be an object');\n }\n\n build(obj);\n\n return formData;\n}\n\nexport default toFormData;\n","'use strict';\n\nimport toFormData from './toFormData.js';\n\n/**\n * It encodes a string by replacing all characters that are not in the unreserved set with\n * their percent-encoded equivalents\n *\n * @param {string} str - The string to encode.\n *\n * @returns {string} The encoded string.\n */\nfunction encode(str) {\n const charMap = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+',\n '%00': '\\x00'\n };\n return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) {\n return charMap[match];\n });\n}\n\n/**\n * It takes a params object and converts it to a FormData object\n *\n * @param {Object} params - The parameters to be converted to a FormData object.\n * @param {Object} options - The options object passed to the Axios constructor.\n *\n * @returns {void}\n */\nfunction AxiosURLSearchParams(params, options) {\n this._pairs = [];\n\n params && toFormData(params, this, options);\n}\n\nconst prototype = AxiosURLSearchParams.prototype;\n\nprototype.append = function append(name, value) {\n this._pairs.push([name, value]);\n};\n\nprototype.toString = function toString(encoder) {\n const _encode = encoder ? function(value) {\n return encoder.call(this, value, encode);\n } : encode;\n\n return this._pairs.map(function each(pair) {\n return _encode(pair[0]) + '=' + _encode(pair[1]);\n }, '').join('&');\n};\n\nexport default AxiosURLSearchParams;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosURLSearchParams from '../helpers/AxiosURLSearchParams.js';\n\n/**\n * It replaces all instances of the characters `:`, `$`, `,`, `+`, `[`, and `]` with their\n * URI encoded counterparts\n *\n * @param {string} val The value to be encoded.\n *\n * @returns {string} The encoded value.\n */\nfunction encode(val) {\n return encodeURIComponent(val).\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 * @param {?object} options\n *\n * @returns {string} The formatted url\n */\nexport default function buildURL(url, params, options) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n\n const hashmarkIndex = url.indexOf('#');\n\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n\n const _encode = options && options.encode || encode;\n\n const serializerParams = utils.isURLSearchParams(params) ?\n params.toString() :\n new AxiosURLSearchParams(params, options).toString(_encode);\n\n if (serializerParams) {\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializerParams;\n }\n\n return url;\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\nclass InterceptorManager {\n constructor() {\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 */\n use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled,\n rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null\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 *\n * @returns {Boolean} `true` if the interceptor was removed, `false` otherwise\n */\n eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n }\n\n /**\n * Clear all interceptors from the stack\n *\n * @returns {void}\n */\n clear() {\n if (this.handlers) {\n this.handlers = [];\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 *\n * @returns {void}\n */\n forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n }\n}\n\nexport default InterceptorManager;\n","'use strict';\n\nexport default {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n};\n","'use strict';\n\nimport AxiosURLSearchParams from '../../../helpers/AxiosURLSearchParams.js';\nexport default typeof URLSearchParams !== 'undefined' ? URLSearchParams : AxiosURLSearchParams;\n","'use strict';\n\nexport default FormData;\n","import URLSearchParams from './classes/URLSearchParams.js'\nimport FormData from './classes/FormData.js'\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 *\n * @returns {boolean}\n */\nconst isStandardBrowserEnv = (() => {\n let product;\n if (typeof navigator !== 'undefined' && (\n (product = navigator.product) === 'ReactNative' ||\n product === 'NativeScript' ||\n product === 'NS')\n ) {\n return false;\n }\n\n return typeof window !== 'undefined' && typeof document !== 'undefined';\n})();\n\nexport default {\n isBrowser: true,\n classes: {\n URLSearchParams,\n FormData,\n Blob\n },\n isStandardBrowserEnv,\n protocols: ['http', 'https', 'file', 'blob', 'url', 'data']\n};\n","'use strict';\n\nimport utils from '../utils.js';\nimport toFormData from './toFormData.js';\nimport platform from '../platform/index.js';\n\nexport default function toURLEncodedForm(data, options) {\n return toFormData(data, new platform.classes.URLSearchParams(), Object.assign({\n visitor: function(value, key, path, helpers) {\n if (platform.isNode && utils.isBuffer(value)) {\n this.append(key, value.toString('base64'));\n return false;\n }\n\n return helpers.defaultVisitor.apply(this, arguments);\n }\n }, options));\n}\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * It takes a string like `foo[x][y][z]` and returns an array like `['foo', 'x', 'y', 'z']\n *\n * @param {string} name - The name of the property to get.\n *\n * @returns An array of strings.\n */\nfunction parsePropPath(name) {\n // foo[x][y][z]\n // foo.x.y.z\n // foo-x-y-z\n // foo x y z\n return utils.matchAll(/\\w+|\\[(\\w*)]/g, name).map(match => {\n return match[0] === '[]' ? '' : match[1] || match[0];\n });\n}\n\n/**\n * Convert an array to an object.\n *\n * @param {Array} arr - The array to convert to an object.\n *\n * @returns An object with the same keys and values as the array.\n */\nfunction arrayToObject(arr) {\n const obj = {};\n const keys = Object.keys(arr);\n let i;\n const len = keys.length;\n let key;\n for (i = 0; i < len; i++) {\n key = keys[i];\n obj[key] = arr[key];\n }\n return obj;\n}\n\n/**\n * It takes a FormData object and returns a JavaScript object\n *\n * @param {string} formData The FormData object to convert to JSON.\n *\n * @returns {Object | null} The converted object.\n */\nfunction formDataToJSON(formData) {\n function buildPath(path, value, target, index) {\n let name = path[index++];\n const isNumericKey = Number.isFinite(+name);\n const isLast = index >= path.length;\n name = !name && utils.isArray(target) ? target.length : name;\n\n if (isLast) {\n if (utils.hasOwnProp(target, name)) {\n target[name] = [target[name], value];\n } else {\n target[name] = value;\n }\n\n return !isNumericKey;\n }\n\n if (!target[name] || !utils.isObject(target[name])) {\n target[name] = [];\n }\n\n const result = buildPath(path, value, target[name], index);\n\n if (result && utils.isArray(target[name])) {\n target[name] = arrayToObject(target[name]);\n }\n\n return !isNumericKey;\n }\n\n if (utils.isFormData(formData) && utils.isFunction(formData.entries)) {\n const obj = {};\n\n utils.forEachEntry(formData, (name, value) => {\n buildPath(parsePropPath(name), value, obj, 0);\n });\n\n return obj;\n }\n\n return null;\n}\n\nexport default formDataToJSON;\n","'use strict';\n\nimport AxiosError from './AxiosError.js';\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 *\n * @returns {object} The response.\n */\nexport default function settle(resolve, reject, response) {\n const validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(new AxiosError(\n 'Request failed with status code ' + response.status,\n [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4],\n response.config,\n response.request,\n response\n ));\n }\n}\n","'use strict';\n\nimport utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.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 const 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 const 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","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n *\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nexport default 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\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 *\n * @returns {string} The combined URL\n */\nexport default function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n}\n","'use strict';\n\nimport isAbsoluteURL from '../helpers/isAbsoluteURL.js';\nimport combineURLs from '../helpers/combineURLs.js';\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 *\n * @returns {string} The combined full path\n */\nexport default function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n}\n","'use strict';\n\nimport utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.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 const msie = /(msie|trident)/i.test(navigator.userAgent);\n const urlParsingNode = document.createElement('a');\n let 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 let 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 const 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","'use strict';\n\nimport AxiosError from '../core/AxiosError.js';\nimport utils from '../utils.js';\n\n/**\n * A `CanceledError` is an object that is thrown when an operation is canceled.\n *\n * @param {string=} message The message.\n * @param {Object=} config The config.\n * @param {Object=} request The request.\n *\n * @returns {CanceledError} The created error.\n */\nfunction CanceledError(message, config, request) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n AxiosError.call(this, message == null ? 'canceled' : message, AxiosError.ERR_CANCELED, config, request);\n this.name = 'CanceledError';\n}\n\nutils.inherits(CanceledError, AxiosError, {\n __CANCEL__: true\n});\n\nexport default CanceledError;\n","'use strict';\n\nexport default function parseProtocol(url) {\n const match = /^([-+\\w]{1,25})(:?\\/\\/|:)/.exec(url);\n return match && match[1] || '';\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\n// RawAxiosHeaders whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nconst ignoreDuplicateOf = utils.toObjectSet([\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} rawHeaders Headers needing to be parsed\n *\n * @returns {Object} Headers parsed into an object\n */\nexport default rawHeaders => {\n const parsed = {};\n let key;\n let val;\n let i;\n\n rawHeaders && rawHeaders.split('\\n').forEach(function parser(line) {\n i = line.indexOf(':');\n key = line.substring(0, i).trim().toLowerCase();\n val = line.substring(i + 1).trim();\n\n if (!key || (parsed[key] && ignoreDuplicateOf[key])) {\n return;\n }\n\n if (key === 'set-cookie') {\n if (parsed[key]) {\n parsed[key].push(val);\n } else {\n parsed[key] = [val];\n }\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n });\n\n return parsed;\n};\n","'use strict';\n\nimport utils from '../utils.js';\nimport parseHeaders from '../helpers/parseHeaders.js';\n\nconst $internals = Symbol('internals');\nconst $defaults = Symbol('defaults');\n\nfunction normalizeHeader(header) {\n return header && String(header).trim().toLowerCase();\n}\n\nfunction normalizeValue(value) {\n if (value === false || value == null) {\n return value;\n }\n\n return String(value);\n}\n\nfunction parseTokens(str) {\n const tokens = Object.create(null);\n const tokensRE = /([^\\s,;=]+)\\s*(?:=\\s*([^,;]+))?/g;\n let match;\n\n while ((match = tokensRE.exec(str))) {\n tokens[match[1]] = match[2];\n }\n\n return tokens;\n}\n\nfunction matchHeaderValue(context, value, header, filter) {\n if (utils.isFunction(filter)) {\n return filter.call(this, value, header);\n }\n\n if (!utils.isString(value)) return;\n\n if (utils.isString(filter)) {\n return value.indexOf(filter) !== -1;\n }\n\n if (utils.isRegExp(filter)) {\n return filter.test(value);\n }\n}\n\nfunction formatHeader(header) {\n return header.trim()\n .toLowerCase().replace(/([a-z\\d])(\\w*)/g, (w, char, str) => {\n return char.toUpperCase() + str;\n });\n}\n\nfunction buildAccessors(obj, header) {\n const accessorName = utils.toCamelCase(' ' + header);\n\n ['get', 'set', 'has'].forEach(methodName => {\n Object.defineProperty(obj, methodName + accessorName, {\n value: function(arg1, arg2, arg3) {\n return this[methodName].call(this, header, arg1, arg2, arg3);\n },\n configurable: true\n });\n });\n}\n\nfunction findKey(obj, key) {\n key = key.toLowerCase();\n const keys = Object.keys(obj);\n let i = keys.length;\n let _key;\n while (i-- > 0) {\n _key = keys[i];\n if (key === _key.toLowerCase()) {\n return _key;\n }\n }\n return null;\n}\n\nfunction AxiosHeaders(headers, defaults) {\n headers && this.set(headers);\n this[$defaults] = defaults || null;\n}\n\nObject.assign(AxiosHeaders.prototype, {\n set: function(header, valueOrRewrite, rewrite) {\n const self = this;\n\n function setHeader(_value, _header, _rewrite) {\n const lHeader = normalizeHeader(_header);\n\n if (!lHeader) {\n throw new Error('header name must be a non-empty string');\n }\n\n const key = findKey(self, lHeader);\n\n if (key && _rewrite !== true && (self[key] === false || _rewrite === false)) {\n return;\n }\n\n if (utils.isArray(_value)) {\n _value = _value.map(normalizeValue);\n } else {\n _value = normalizeValue(_value);\n }\n\n self[key || _header] = _value;\n }\n\n if (utils.isPlainObject(header)) {\n utils.forEach(header, (_value, _header) => {\n setHeader(_value, _header, valueOrRewrite);\n });\n } else {\n setHeader(valueOrRewrite, header, rewrite);\n }\n\n return this;\n },\n\n get: function(header, parser) {\n header = normalizeHeader(header);\n\n if (!header) return undefined;\n\n const key = findKey(this, header);\n\n if (key) {\n const value = this[key];\n\n if (!parser) {\n return value;\n }\n\n if (parser === true) {\n return parseTokens(value);\n }\n\n if (utils.isFunction(parser)) {\n return parser.call(this, value, key);\n }\n\n if (utils.isRegExp(parser)) {\n return parser.exec(value);\n }\n\n throw new TypeError('parser must be boolean|regexp|function');\n }\n },\n\n has: function(header, matcher) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = findKey(this, header);\n\n return !!(key && (!matcher || matchHeaderValue(this, this[key], key, matcher)));\n }\n\n return false;\n },\n\n delete: function(header, matcher) {\n const self = this;\n let deleted = false;\n\n function deleteHeader(_header) {\n _header = normalizeHeader(_header);\n\n if (_header) {\n const key = findKey(self, _header);\n\n if (key && (!matcher || matchHeaderValue(self, self[key], key, matcher))) {\n delete self[key];\n\n deleted = true;\n }\n }\n }\n\n if (utils.isArray(header)) {\n header.forEach(deleteHeader);\n } else {\n deleteHeader(header);\n }\n\n return deleted;\n },\n\n clear: function() {\n return Object.keys(this).forEach(this.delete.bind(this));\n },\n\n normalize: function(format) {\n const self = this;\n const headers = {};\n\n utils.forEach(this, (value, header) => {\n const key = findKey(headers, header);\n\n if (key) {\n self[key] = normalizeValue(value);\n delete self[header];\n return;\n }\n\n const normalized = format ? formatHeader(header) : String(header).trim();\n\n if (normalized !== header) {\n delete self[header];\n }\n\n self[normalized] = normalizeValue(value);\n\n headers[normalized] = true;\n });\n\n return this;\n },\n\n toJSON: function() {\n const obj = Object.create(null);\n\n utils.forEach(Object.assign({}, this[$defaults] || null, this),\n (value, header) => {\n if (value == null || value === false) return;\n obj[header] = utils.isArray(value) ? value.join(', ') : value;\n });\n\n return obj;\n }\n});\n\nObject.assign(AxiosHeaders, {\n from: function(thing) {\n if (utils.isString(thing)) {\n return new this(parseHeaders(thing));\n }\n return thing instanceof this ? thing : new this(thing);\n },\n\n accessor: function(header) {\n const internals = this[$internals] = (this[$internals] = {\n accessors: {}\n });\n\n const accessors = internals.accessors;\n const prototype = this.prototype;\n\n function defineAccessor(_header) {\n const lHeader = normalizeHeader(_header);\n\n if (!accessors[lHeader]) {\n buildAccessors(prototype, _header);\n accessors[lHeader] = true;\n }\n }\n\n utils.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header);\n\n return this;\n }\n});\n\nAxiosHeaders.accessor(['Content-Type', 'Content-Length', 'Accept', 'Accept-Encoding', 'User-Agent']);\n\nutils.freezeMethods(AxiosHeaders.prototype);\nutils.freezeMethods(AxiosHeaders);\n\nexport default AxiosHeaders;\n","'use strict';\n\n/**\n * Calculate data maxRate\n * @param {Number} [samplesCount= 10]\n * @param {Number} [min= 1000]\n * @returns {Function}\n */\nfunction speedometer(samplesCount, min) {\n samplesCount = samplesCount || 10;\n const bytes = new Array(samplesCount);\n const timestamps = new Array(samplesCount);\n let head = 0;\n let tail = 0;\n let firstSampleTS;\n\n min = min !== undefined ? min : 1000;\n\n return function push(chunkLength) {\n const now = Date.now();\n\n const startedAt = timestamps[tail];\n\n if (!firstSampleTS) {\n firstSampleTS = now;\n }\n\n bytes[head] = chunkLength;\n timestamps[head] = now;\n\n let i = tail;\n let bytesCount = 0;\n\n while (i !== head) {\n bytesCount += bytes[i++];\n i = i % samplesCount;\n }\n\n head = (head + 1) % samplesCount;\n\n if (head === tail) {\n tail = (tail + 1) % samplesCount;\n }\n\n if (now - firstSampleTS < min) {\n return;\n }\n\n const passed = startedAt && now - startedAt;\n\n return passed ? Math.round(bytesCount * 1000 / passed) : undefined;\n };\n}\n\nexport default speedometer;\n","'use strict';\n\nimport utils from './../utils.js';\nimport settle from './../core/settle.js';\nimport cookies from './../helpers/cookies.js';\nimport buildURL from './../helpers/buildURL.js';\nimport buildFullPath from '../core/buildFullPath.js';\nimport isURLSameOrigin from './../helpers/isURLSameOrigin.js';\nimport transitionalDefaults from '../defaults/transitional.js';\nimport AxiosError from '../core/AxiosError.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport parseProtocol from '../helpers/parseProtocol.js';\nimport platform from '../platform/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport speedometer from '../helpers/speedometer.js';\n\nfunction progressEventReducer(listener, isDownloadStream) {\n let bytesNotified = 0;\n const _speedometer = speedometer(50, 250);\n\n return e => {\n const loaded = e.loaded;\n const total = e.lengthComputable ? e.total : undefined;\n const progressBytes = loaded - bytesNotified;\n const rate = _speedometer(progressBytes);\n const inRange = loaded <= total;\n\n bytesNotified = loaded;\n\n const data = {\n loaded,\n total,\n progress: total ? (loaded / total) : undefined,\n bytes: progressBytes,\n rate: rate ? rate : undefined,\n estimated: rate && total && inRange ? (total - loaded) / rate : undefined\n };\n\n data[isDownloadStream ? 'download' : 'upload'] = true;\n\n listener(data);\n };\n}\n\nexport default function xhrAdapter(config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n let requestData = config.data;\n const requestHeaders = AxiosHeaders.from(config.headers).normalize();\n const responseType = config.responseType;\n let onCanceled;\n function done() {\n if (config.cancelToken) {\n config.cancelToken.unsubscribe(onCanceled);\n }\n\n if (config.signal) {\n config.signal.removeEventListener('abort', onCanceled);\n }\n }\n\n if (utils.isFormData(requestData) && platform.isStandardBrowserEnv) {\n requestHeaders.setContentType(false); // Let the browser set it\n }\n\n let request = new XMLHttpRequest();\n\n // HTTP basic authentication\n if (config.auth) {\n const username = config.auth.username || '';\n const password = config.auth.password ? unescape(encodeURIComponent(config.auth.password)) : '';\n requestHeaders.set('Authorization', 'Basic ' + btoa(username + ':' + password));\n }\n\n const fullPath = buildFullPath(config.baseURL, config.url);\n\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 function onloadend() {\n if (!request) {\n return;\n }\n // Prepare the response\n const responseHeaders = AxiosHeaders.from(\n 'getAllResponseHeaders' in request && request.getAllResponseHeaders()\n );\n const responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n const response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config,\n request\n };\n\n settle(function _resolve(value) {\n resolve(value);\n done();\n }, function _reject(err) {\n reject(err);\n done();\n }, response);\n\n // Clean up request\n request = null;\n }\n\n if ('onloadend' in request) {\n // Use onloadend if available\n request.onloadend = onloadend;\n } else {\n // Listen for ready state to emulate onloadend\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 // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n setTimeout(onloadend);\n };\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(new AxiosError('Request aborted', AxiosError.ECONNABORTED, config, 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(new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n let timeoutErrorMessage = config.timeout ? 'timeout of ' + config.timeout + 'ms exceeded' : 'timeout exceeded';\n const transitional = config.transitional || transitionalDefaults;\n if (config.timeoutErrorMessage) {\n timeoutErrorMessage = config.timeoutErrorMessage;\n }\n reject(new AxiosError(\n timeoutErrorMessage,\n transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n config,\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 (platform.isStandardBrowserEnv) {\n // Add xsrf header\n const xsrfValue = (config.withCredentials || isURLSameOrigin(fullPath))\n && config.xsrfCookieName && cookies.read(config.xsrfCookieName);\n\n if (xsrfValue) {\n requestHeaders.set(config.xsrfHeaderName, xsrfValue);\n }\n }\n\n // Remove Content-Type if data is undefined\n requestData === undefined && requestHeaders.setContentType(null);\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) {\n request.setRequestHeader(key, val);\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 (responseType && responseType !== 'json') {\n request.responseType = config.responseType;\n }\n\n // Handle progress if needed\n if (typeof config.onDownloadProgress === 'function') {\n request.addEventListener('progress', progressEventReducer(config.onDownloadProgress, true));\n }\n\n // Not all browsers support upload events\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', progressEventReducer(config.onUploadProgress));\n }\n\n if (config.cancelToken || config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = cancel => {\n if (!request) {\n return;\n }\n reject(!cancel || cancel.type ? new CanceledError(null, config, request) : cancel);\n request.abort();\n request = null;\n };\n\n config.cancelToken && config.cancelToken.subscribe(onCanceled);\n if (config.signal) {\n config.signal.aborted ? onCanceled() : config.signal.addEventListener('abort', onCanceled);\n }\n }\n\n const protocol = parseProtocol(fullPath);\n\n if (protocol && platform.protocols.indexOf(protocol) === -1) {\n reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config));\n return;\n }\n\n\n // Send the request\n request.send(requestData || null);\n });\n}\n","import utils from '../utils.js';\nimport httpAdapter from './http.js';\nimport xhrAdapter from './xhr.js';\n\nconst adapters = {\n http: httpAdapter,\n xhr: xhrAdapter\n}\n\nexport default {\n getAdapter: (nameOrAdapter) => {\n if(utils.isString(nameOrAdapter)){\n const adapter = adapters[nameOrAdapter];\n\n if (!nameOrAdapter) {\n throw Error(\n utils.hasOwnProp(nameOrAdapter) ?\n `Adapter '${nameOrAdapter}' is not available in the build` :\n `Can not resolve adapter '${nameOrAdapter}'`\n );\n }\n\n return adapter\n }\n\n if (!utils.isFunction(nameOrAdapter)) {\n throw new TypeError('adapter is not a function');\n }\n\n return nameOrAdapter;\n },\n adapters\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\nimport transitionalDefaults from './transitional.js';\nimport toFormData from '../helpers/toFormData.js';\nimport toURLEncodedForm from '../helpers/toURLEncodedForm.js';\nimport platform from '../platform/index.js';\nimport formDataToJSON from '../helpers/formDataToJSON.js';\nimport adapters from '../adapters/index.js';\n\nconst DEFAULT_CONTENT_TYPE = {\n 'Content-Type': 'application/x-www-form-urlencoded'\n};\n\n/**\n * If the browser has an XMLHttpRequest object, use the XHR adapter, otherwise use the HTTP\n * adapter\n *\n * @returns {Function}\n */\nfunction getDefaultAdapter() {\n let adapter;\n if (typeof XMLHttpRequest !== 'undefined') {\n // For browsers use XHR adapter\n adapter = adapters.getAdapter('xhr');\n } else if (typeof process !== 'undefined' && utils.kindOf(process) === 'process') {\n // For node use HTTP adapter\n adapter = adapters.getAdapter('http');\n }\n return adapter;\n}\n\n/**\n * It takes a string, tries to parse it, and if it fails, it returns the stringified version\n * of the input\n *\n * @param {any} rawValue - The value to be stringified.\n * @param {Function} parser - A function that parses a string into a JavaScript object.\n * @param {Function} encoder - A function that takes a value and returns a string.\n *\n * @returns {string} A stringified version of the rawValue.\n */\nfunction stringifySafely(rawValue, parser, encoder) {\n if (utils.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils.trim(rawValue);\n } catch (e) {\n if (e.name !== 'SyntaxError') {\n throw e;\n }\n }\n }\n\n return (encoder || JSON.stringify)(rawValue);\n}\n\nconst defaults = {\n\n transitional: transitionalDefaults,\n\n adapter: getDefaultAdapter(),\n\n transformRequest: [function transformRequest(data, headers) {\n const contentType = headers.getContentType() || '';\n const hasJSONContentType = contentType.indexOf('application/json') > -1;\n const isObjectPayload = utils.isObject(data);\n\n if (isObjectPayload && utils.isHTMLForm(data)) {\n data = new FormData(data);\n }\n\n const isFormData = utils.isFormData(data);\n\n if (isFormData) {\n if (!hasJSONContentType) {\n return data;\n }\n return hasJSONContentType ? JSON.stringify(formDataToJSON(data)) : data;\n }\n\n if (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 headers.setContentType('application/x-www-form-urlencoded;charset=utf-8', false);\n return data.toString();\n }\n\n let isFileList;\n\n if (isObjectPayload) {\n if (contentType.indexOf('application/x-www-form-urlencoded') > -1) {\n return toURLEncodedForm(data, this.formSerializer).toString();\n }\n\n if ((isFileList = utils.isFileList(data)) || contentType.indexOf('multipart/form-data') > -1) {\n const _FormData = this.env && this.env.FormData;\n\n return toFormData(\n isFileList ? {'files[]': data} : data,\n _FormData && new _FormData(),\n this.formSerializer\n );\n }\n }\n\n if (isObjectPayload || hasJSONContentType ) {\n headers.setContentType('application/json', false);\n return stringifySafely(data);\n }\n\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n const transitional = this.transitional || defaults.transitional;\n const forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n const JSONRequested = this.responseType === 'json';\n\n if (data && utils.isString(data) && ((forcedJSONParsing && !this.responseType) || JSONRequested)) {\n const silentJSONParsing = transitional && transitional.silentJSONParsing;\n const strictJSONParsing = !silentJSONParsing && JSONRequested;\n\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response);\n }\n throw e;\n }\n }\n }\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 maxBodyLength: -1,\n\n env: {\n FormData: platform.classes.FormData,\n Blob: platform.classes.Blob\n },\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n },\n\n headers: {\n common: {\n 'Accept': 'application/json, text/plain, */*'\n }\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\nexport default defaults;\n","'use strict';\n\nimport utils from './../utils.js';\nimport defaults from '../defaults/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Array|Function} fns A single function or Array of functions\n * @param {?Object} response The response object\n *\n * @returns {*} The resulting transformed data\n */\nexport default function transformData(fns, response) {\n const config = this || defaults;\n const context = response || config;\n const headers = AxiosHeaders.from(context.headers);\n let data = context.data;\n\n utils.forEach(fns, function transform(fn) {\n data = fn.call(config, data, headers.normalize(), response ? response.status : undefined);\n });\n\n headers.normalize();\n\n return data;\n}\n","'use strict';\n\nexport default function isCancel(value) {\n return !!(value && value.__CANCEL__);\n}\n","'use strict';\n\nimport transformData from './transformData.js';\nimport isCancel from '../cancel/isCancel.js';\nimport defaults from '../defaults/index.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n *\n * @param {Object} config The config that is to be used for the request\n *\n * @returns {void}\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new CanceledError();\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 *\n * @returns {Promise} The Promise to be fulfilled\n */\nexport default function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n config.headers = AxiosHeaders.from(config.headers);\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.transformRequest\n );\n\n const 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.call(\n config,\n config.transformResponse,\n response\n );\n\n response.headers = AxiosHeaders.from(response.headers);\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.call(\n config,\n config.transformResponse,\n reason.response\n );\n reason.response.headers = AxiosHeaders.from(reason.response.headers);\n }\n }\n\n return Promise.reject(reason);\n });\n}\n","'use strict';\n\nimport utils from '../utils.js';\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 *\n * @returns {Object} New object resulting from merging config2 to config1\n */\nexport default function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n const config = {};\n\n function getMergedValue(target, source) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge(target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDeepProperties(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(config1[prop], config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n return getMergedValue(undefined, config1[prop]);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(undefined, config2[prop]);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(undefined, config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n return getMergedValue(undefined, config1[prop]);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(prop) {\n if (prop in config2) {\n return getMergedValue(config1[prop], config2[prop]);\n } else if (prop in config1) {\n return getMergedValue(undefined, config1[prop]);\n }\n }\n\n const mergeMap = {\n 'url': valueFromConfig2,\n 'method': valueFromConfig2,\n 'data': valueFromConfig2,\n 'baseURL': defaultToConfig2,\n 'transformRequest': defaultToConfig2,\n 'transformResponse': defaultToConfig2,\n 'paramsSerializer': defaultToConfig2,\n 'timeout': defaultToConfig2,\n 'timeoutMessage': defaultToConfig2,\n 'withCredentials': defaultToConfig2,\n 'adapter': defaultToConfig2,\n 'responseType': defaultToConfig2,\n 'xsrfCookieName': defaultToConfig2,\n 'xsrfHeaderName': defaultToConfig2,\n 'onUploadProgress': defaultToConfig2,\n 'onDownloadProgress': defaultToConfig2,\n 'decompress': defaultToConfig2,\n 'maxContentLength': defaultToConfig2,\n 'maxBodyLength': defaultToConfig2,\n 'beforeRedirect': defaultToConfig2,\n 'transport': defaultToConfig2,\n 'httpAgent': defaultToConfig2,\n 'httpsAgent': defaultToConfig2,\n 'cancelToken': defaultToConfig2,\n 'socketPath': defaultToConfig2,\n 'responseEncoding': defaultToConfig2,\n 'validateStatus': mergeDirectKeys\n };\n\n utils.forEach(Object.keys(config1).concat(Object.keys(config2)), function computeConfigValue(prop) {\n const merge = mergeMap[prop] || mergeDeepProperties;\n const configValue = merge(prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n}\n","export const VERSION = \"1.0.0\";","'use strict';\n\nimport {VERSION} from '../env/data.js';\nimport AxiosError from '../core/AxiosError.js';\n\nconst validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach((type, i) => {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nconst deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n *\n * @param {function|boolean?} validator - set to false if the transitional option has been removed\n * @param {string?} version - deprecated version / removed since version\n * @param {string?} message - some message with additional info\n *\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n function formatMessage(opt, desc) {\n return '[Axios v' + VERSION + '] Transitional option \\'' + opt + '\\'' + desc + (message ? '. ' + message : '');\n }\n\n // eslint-disable-next-line func-names\n return (value, opt, opts) => {\n if (validator === false) {\n throw new AxiosError(\n formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')),\n AxiosError.ERR_DEPRECATED\n );\n }\n\n if (version && !deprecatedWarnings[opt]) {\n deprecatedWarnings[opt] = true;\n // eslint-disable-next-line no-console\n console.warn(\n formatMessage(\n opt,\n ' has been deprecated since v' + version + ' and will be removed in the near future'\n )\n );\n }\n\n return validator ? validator(value, opt, opts) : true;\n };\n};\n\n/**\n * Assert object's properties type\n *\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n *\n * @returns {object}\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE);\n }\n const keys = Object.keys(options);\n let i = keys.length;\n while (i-- > 0) {\n const opt = keys[i];\n const validator = schema[opt];\n if (validator) {\n const value = options[opt];\n const result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new AxiosError('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION);\n }\n }\n}\n\nexport default {\n assertOptions,\n validators\n};\n","'use strict';\n\nimport utils from './../utils.js';\nimport buildURL from '../helpers/buildURL.js';\nimport InterceptorManager from './InterceptorManager.js';\nimport dispatchRequest from './dispatchRequest.js';\nimport mergeConfig from './mergeConfig.js';\nimport buildFullPath from './buildFullPath.js';\nimport validator from '../helpers/validator.js';\nimport AxiosHeaders from './AxiosHeaders.js';\n\nconst validators = validator.validators;\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n *\n * @return {Axios} A new instance of Axios\n */\nclass Axios {\n constructor(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 {String|Object} configOrUrl The config specific for this request (merged with this.defaults)\n * @param {?Object} config\n *\n * @returns {Promise} The Promise to be fulfilled\n */\n request(configOrUrl, config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof configOrUrl === 'string') {\n config = config || {};\n config.url = configOrUrl;\n } else {\n config = configOrUrl || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n const transitional = config.transitional;\n\n if (transitional !== undefined) {\n validator.assertOptions(transitional, {\n silentJSONParsing: validators.transitional(validators.boolean),\n forcedJSONParsing: validators.transitional(validators.boolean),\n clarifyTimeoutError: validators.transitional(validators.boolean)\n }, false);\n }\n\n // Set config.method\n config.method = (config.method || this.defaults.method || 'get').toLowerCase();\n\n // Flatten headers\n const defaultHeaders = config.headers && utils.merge(\n config.headers.common,\n config.headers[config.method]\n );\n\n defaultHeaders && utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n function cleanHeaderConfig(method) {\n delete config.headers[method];\n }\n );\n\n config.headers = new AxiosHeaders(config.headers, defaultHeaders);\n\n // filter out skipped interceptors\n const requestInterceptorChain = [];\n let synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n return;\n }\n\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n const responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n let promise;\n let i = 0;\n let len;\n\n if (!synchronousRequestInterceptors) {\n const chain = [dispatchRequest.bind(this), undefined];\n chain.unshift.apply(chain, requestInterceptorChain);\n chain.push.apply(chain, responseInterceptorChain);\n len = chain.length;\n\n promise = Promise.resolve(config);\n\n while (i < len) {\n promise = promise.then(chain[i++], chain[i++]);\n }\n\n return promise;\n }\n\n len = requestInterceptorChain.length;\n\n let newConfig = config;\n\n i = 0;\n\n while (i < len) {\n const onFulfilled = requestInterceptorChain[i++];\n const onRejected = requestInterceptorChain[i++];\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected.call(this, error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest.call(this, newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n i = 0;\n len = responseInterceptorChain.length;\n\n while (i < len) {\n promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]);\n }\n\n return promise;\n }\n\n getUri(config) {\n config = mergeConfig(this.defaults, config);\n const fullPath = buildFullPath(config.baseURL, config.url);\n return buildURL(fullPath, config.params, config.paramsSerializer);\n }\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(mergeConfig(config || {}, {\n method,\n url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n\n function generateHTTPMethod(isForm) {\n return function httpMethod(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n headers: isForm ? {\n 'Content-Type': 'multipart/form-data'\n } : {},\n url,\n data\n }));\n };\n }\n\n Axios.prototype[method] = generateHTTPMethod();\n\n Axios.prototype[method + 'Form'] = generateHTTPMethod(true);\n});\n\nexport default Axios;\n","'use strict';\n\nimport CanceledError from './CanceledError.js';\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @param {Function} executor The executor function.\n *\n * @returns {CancelToken}\n */\nclass CancelToken {\n constructor(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n let resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n const token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then(cancel => {\n if (!token._listeners) return;\n\n let i = token._listeners.length;\n\n while (i-- > 0) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = onfulfilled => {\n let _resolve;\n // eslint-disable-next-line func-names\n const promise = new Promise(resolve => {\n token.subscribe(resolve);\n _resolve = resolve;\n }).then(onfulfilled);\n\n promise.cancel = function reject() {\n token.unsubscribe(_resolve);\n };\n\n return promise;\n };\n\n executor(function cancel(message, config, request) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new CanceledError(message, config, request);\n resolvePromise(token.reason);\n });\n }\n\n /**\n * Throws a `CanceledError` if cancellation has been requested.\n */\n throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n }\n\n /**\n * Subscribe to the cancel signal\n */\n\n subscribe(listener) {\n if (this.reason) {\n listener(this.reason);\n return;\n }\n\n if (this._listeners) {\n this._listeners.push(listener);\n } else {\n this._listeners = [listener];\n }\n }\n\n /**\n * Unsubscribe from the cancel signal\n */\n\n unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n const index = this._listeners.indexOf(listener);\n if (index !== -1) {\n this._listeners.splice(index, 1);\n }\n }\n\n /**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\n static source() {\n let cancel;\n const token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token,\n cancel\n };\n }\n}\n\nexport default CancelToken;\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 *\n * @returns {Function}\n */\nexport default function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n *\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nexport default function isAxiosError(payload) {\n return utils.isObject(payload) && (payload.isAxiosError === true);\n}\n","'use strict';\n\nimport utils from './utils.js';\nimport bind from './helpers/bind.js';\nimport Axios from './core/Axios.js';\nimport mergeConfig from './core/mergeConfig.js';\nimport defaults from './defaults/index.js';\nimport formDataToJSON from './helpers/formDataToJSON.js';\nimport CanceledError from './cancel/CanceledError.js';\nimport CancelToken from'./cancel/CancelToken.js';\nimport isCancel from'./cancel/isCancel.js';\nimport {VERSION} from './env/data.js';\nimport toFormData from './helpers/toFormData.js';\nimport AxiosError from './core/AxiosError.js';\nimport spread from './helpers/spread.js';\nimport isAxiosError from './helpers/isAxiosError.js';\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n *\n * @returns {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n const context = new Axios(defaultConfig);\n const instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context, {allOwnKeys: true});\n\n // Copy context to instance\n utils.extend(instance, context, null, {allOwnKeys: true});\n\n // Factory for creating new instances\n instance.create = function create(instanceConfig) {\n return createInstance(mergeConfig(defaultConfig, instanceConfig));\n };\n\n return instance;\n}\n\n// Create the default instance to be exported\nconst axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.CanceledError = CanceledError;\naxios.CancelToken = CancelToken;\naxios.isCancel = isCancel;\naxios.VERSION = VERSION;\naxios.toFormData = toFormData;\n\n// Expose AxiosError class\naxios.AxiosError = AxiosError;\n\n// alias for CanceledError for backward compatibility\naxios.Cancel = axios.CanceledError;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\n\naxios.spread = spread;\n\n// Expose isAxiosError\naxios.isAxiosError = isAxiosError;\n\naxios.formToJSON = thing => {\n return formDataToJSON(utils.isHTMLForm(thing) ? new FormData(thing) : thing);\n};\n\nexport default axios;\n"],"names":["bind","fn","thisArg","wrap","apply","arguments","toString","Object","prototype","getPrototypeOf","kindOf","cache","thing","str","call","slice","toLowerCase","create","kindOfTest","type","typeOfTest","isArray","Array","isUndefined","isBuffer","val","constructor","isFunction","isArrayBuffer","isArrayBufferView","result","ArrayBuffer","isView","buffer","isString","isNumber","isObject","isBoolean","isPlainObject","isDate","isFile","isBlob","isFileList","isStream","pipe","isFormData","pattern","FormData","isURLSearchParams","trim","replace","forEach","obj","allOwnKeys","i","l","length","keys","getOwnPropertyNames","len","key","merge","assignValue","extend","a","b","stripBOM","content","charCodeAt","inherits","superConstructor","props","descriptors","defineProperty","value","assign","toFlatObject","sourceObj","destObj","filter","propFilter","prop","merged","endsWith","searchString","position","String","undefined","lastIndex","indexOf","toArray","arr","isTypedArray","TypedArray","Uint8Array","forEachEntry","generator","Symbol","iterator","next","done","pair","matchAll","regExp","matches","exec","push","isHTMLForm","toCamelCase","replacer","m","p1","p2","toUpperCase","hasOwnProperty","isRegExp","reduceDescriptors","reducer","getOwnPropertyDescriptors","reducedDescriptors","descriptor","name","defineProperties","freezeMethods","enumerable","writable","set","Error","toObjectSet","arrayOrString","delimiter","define","split","noop","toFiniteNumber","defaultValue","Number","isFinite","hasOwnProp","AxiosError","message","code","config","request","response","captureStackTrace","stack","utils","toJSON","description","number","fileName","lineNumber","columnNumber","status","from","error","customProps","axiosError","cause","browser","self","window","isVisitable","removeBrackets","renderKey","path","dots","concat","map","each","token","join","isFlatArray","some","predicates","test","isSpecCompliant","append","toStringTag","toFormData","formData","options","TypeError","envFormData","metaTokens","indexes","defined","option","source","visitor","defaultVisitor","_Blob","Blob","useBlob","convertValue","toISOString","Buffer","JSON","stringify","el","index","exposedHelpers","build","pop","encode","charMap","encodeURIComponent","match","AxiosURLSearchParams","params","_pairs","encoder","_encode","buildURL","url","hashmarkIndex","serializerParams","InterceptorManager","handlers","fulfilled","rejected","synchronous","runWhen","id","forEachHandler","h","silentJSONParsing","forcedJSONParsing","clarifyTimeoutError","URLSearchParams","isStandardBrowserEnv","product","navigator","document","isBrowser","classes","protocols","toURLEncodedForm","data","platform","helpers","isNode","parsePropPath","arrayToObject","formDataToJSON","buildPath","target","isNumericKey","isLast","entries","settle","resolve","reject","validateStatus","ERR_BAD_REQUEST","ERR_BAD_RESPONSE","Math","floor","standardBrowserEnv","write","expires","domain","secure","cookie","Date","toGMTString","read","RegExp","decodeURIComponent","remove","now","nonStandardBrowserEnv","isAbsoluteURL","combineURLs","baseURL","relativeURL","buildFullPath","requestedURL","msie","userAgent","urlParsingNode","createElement","originURL","resolveURL","href","setAttribute","protocol","host","search","hash","hostname","port","pathname","charAt","location","isURLSameOrigin","requestURL","parsed","CanceledError","ERR_CANCELED","__CANCEL__","parseProtocol","ignoreDuplicateOf","rawHeaders","parser","line","substring","$internals","$defaults","normalizeHeader","header","normalizeValue","parseTokens","tokens","tokensRE","matchHeaderValue","context","formatHeader","w","char","buildAccessors","accessorName","methodName","arg1","arg2","arg3","configurable","findKey","_key","AxiosHeaders","headers","defaults","valueOrRewrite","rewrite","setHeader","_value","_header","_rewrite","lHeader","get","has","matcher","deleted","deleteHeader","clear","normalize","format","normalized","parseHeaders","accessor","internals","accessors","defineAccessor","speedometer","samplesCount","min","bytes","timestamps","head","tail","firstSampleTS","chunkLength","startedAt","bytesCount","passed","round","progressEventReducer","listener","isDownloadStream","bytesNotified","_speedometer","e","loaded","total","lengthComputable","progressBytes","rate","inRange","progress","estimated","xhrAdapter","Promise","dispatchXhrRequest","requestData","requestHeaders","responseType","onCanceled","cancelToken","unsubscribe","signal","removeEventListener","setContentType","XMLHttpRequest","auth","username","password","unescape","btoa","fullPath","open","method","paramsSerializer","timeout","onloadend","responseHeaders","getAllResponseHeaders","responseData","responseText","statusText","_resolve","_reject","err","onreadystatechange","handleLoad","readyState","responseURL","setTimeout","onabort","handleAbort","ECONNABORTED","onerror","handleError","ERR_NETWORK","ontimeout","handleTimeout","timeoutErrorMessage","transitional","transitionalDefaults","ETIMEDOUT","xsrfValue","withCredentials","xsrfCookieName","cookies","xsrfHeaderName","setRequestHeader","onDownloadProgress","addEventListener","onUploadProgress","upload","cancel","abort","subscribe","aborted","send","adapters","http","httpAdapter","xhr","getAdapter","nameOrAdapter","adapter","DEFAULT_CONTENT_TYPE","getDefaultAdapter","process","stringifySafely","rawValue","parse","transformRequest","contentType","getContentType","hasJSONContentType","isObjectPayload","formSerializer","_FormData","env","transformResponse","JSONRequested","strictJSONParsing","maxContentLength","maxBodyLength","common","forEachMethodNoData","forEachMethodWithData","transformData","fns","transform","isCancel","throwIfCancellationRequested","throwIfRequested","dispatchRequest","then","onAdapterResolution","onAdapterRejection","reason","mergeConfig","config1","config2","getMergedValue","mergeDeepProperties","valueFromConfig2","defaultToConfig2","mergeDirectKeys","mergeMap","computeConfigValue","configValue","VERSION","validators","validator","deprecatedWarnings","version","formatMessage","opt","desc","opts","ERR_DEPRECATED","console","warn","assertOptions","schema","allowUnknown","ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","Axios","instanceConfig","interceptors","configOrUrl","defaultHeaders","cleanHeaderConfig","requestInterceptorChain","synchronousRequestInterceptors","unshiftRequestInterceptors","interceptor","unshift","responseInterceptorChain","pushResponseInterceptors","promise","chain","newConfig","onFulfilled","onRejected","generateHTTPMethod","isForm","httpMethod","CancelToken","executor","resolvePromise","promiseExecutor","_listeners","onfulfilled","splice","c","spread","callback","isAxiosError","payload","createInstance","defaultConfig","instance","axios","Cancel","all","promises","formToJSON"],"mappings":"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"} \ No newline at end of file diff --git a/dist/axios.min.js b/dist/axios.min.js index 8625cdf..eaea6c3 100644 --- a/dist/axios.min.js +++ b/dist/axios.min.js @@ -1,2 +1,2 @@ -!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).axios=t()}(this,(function(){"use strict";var e,t=function(e,t){return function(){return e.apply(t,arguments)}},r=Object.prototype.toString,n=(e=Object.create(null),function(t){var n=r.call(t);return e[n]||(e[n]=n.slice(8,-1).toLowerCase())});function o(e){return e=e.toLowerCase(),function(t){return n(t)===e}}function i(e){return Array.isArray(e)}function s(e){return void 0===e}var a=o("ArrayBuffer");function u(e){return"number"==typeof e}function c(e){return null!==e&&"object"==typeof e}function f(e){if("object"!==n(e))return!1;var t=Object.getPrototypeOf(e);return null===t||t===Object.prototype}var l=o("Date"),p=o("File"),d=o("Blob"),h=o("FileList");function m(e){return"[object Function]"===r.call(e)}var y=o("URLSearchParams");function v(e,t){if(null!=e)if("object"!=typeof e&&(e=[e]),i(e))for(var r=0,n=e.length;r0;)s=o[i],n&&!n(s,e,t)||a[s]||(t[s]=e[s],a[s]=!0);e=!1!==r&&Object.getPrototypeOf(e)}while(e&&(!r||r(e,t))&&e!==Object.prototype);return t},kindOf:n,kindOfTest:o,endsWith:function(e,t,r){e=String(e),(void 0===r||r>e.length)&&(r=e.length),r-=t.length;var n=e.indexOf(t,r);return-1!==n&&n===r},toArray:function(e){if(!e)return null;if(i(e))return e;var t=e.length;if(!u(t))return null;for(var r=new Array(t);t-- >0;)r[t]=e[t];return r},isTypedArray:E,isFileList:h,forEachEntry:function(e,t){for(var r,n=(e&&e[Symbol.iterator]).call(e);(r=n.next())&&!r.done;){var o=r.value;t.call(e,o[0],o[1])}},matchAll:function(e,t){for(var r,n=[];null!==(r=e.exec(t));)n.push(r);return n},isHTMLForm:w,hasOwnProperty:O};function S(e,t,r,n,o){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=(new Error).stack,this.message=e,this.name="AxiosError",t&&(this.code=t),r&&(this.config=r),n&&(this.request=n),o&&(this.response=o)}R.inherits(S,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:this.config,code:this.code,status:this.response&&this.response.status?this.response.status:null}}});var A=S.prototype,T={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach((function(e){T[e]={value:e}})),Object.defineProperties(S,T),Object.defineProperty(A,"isAxiosError",{value:!0}),S.from=function(e,t,r,n,o,i){var s=Object.create(A);return R.toFlatObject(e,s,(function(e){return e!==Error.prototype})),S.call(s,e.message,t,r,n,o),s.cause=e,s.name=e.name,i&&Object.assign(s,i),s};var j=S,x="object"==typeof self?self.FormData:window.FormData;function N(e){return R.isPlainObject(e)||R.isArray(e)}function _(e){return R.endsWith(e,"[]")?e.slice(0,-2):e}function C(e,t,r){return e?e.concat(t).map((function(e,t){return e=_(e),!r&&t?"["+e+"]":e})).join(r?".":""):t}var B=R.toFlatObject(R,{},null,(function(e){return/^is[A-Z]/.test(e)}));var P=function(e,t,r){if(!R.isObject(e))throw new TypeError("target must be an object");t=t||new(x||FormData);var n,o=(r=R.toFlatObject(r,{metaTokens:!0,dots:!1,indexes:!1},!1,(function(e,t){return!R.isUndefined(t[e])}))).metaTokens,i=r.visitor||f,s=r.dots,a=r.indexes,u=(r.Blob||"undefined"!=typeof Blob&&Blob)&&((n=t)&&R.isFunction(n.append)&&"FormData"===n[Symbol.toStringTag]&&n[Symbol.iterator]);if(!R.isFunction(i))throw new TypeError("visitor must be a function");function c(e){if(null===e)return"";if(R.isDate(e))return e.toISOString();if(!u&&R.isBlob(e))throw new j("Blob is not supported. Use a Buffer instead.");return R.isArrayBuffer(e)||R.isTypedArray(e)?u&&"function"==typeof Blob?new Blob([e]):Buffer.from(e):e}function f(e,r,n){var i=e;if(e&&!n&&"object"==typeof e)if(R.endsWith(r,"{}"))r=o?r:r.slice(0,-2),e=JSON.stringify(e);else if(R.isArray(e)&&function(e){return R.isArray(e)&&!e.some(N)}(e)||R.isFileList(e)||R.endsWith(r,"[]")&&(i=R.toArray(e)))return r=_(r),i.forEach((function(e,n){!R.isUndefined(e)&&t.append(!0===a?C([r],n,s):null===a?r:r+"[]",c(e))})),!1;return!!N(e)||(t.append(C(n,r,s),c(e)),!1)}var l=[],p=Object.assign(B,{defaultVisitor:f,convertValue:c,isVisitable:N});if(!R.isObject(e))throw new TypeError("data must be an object");return function e(r,n){if(!R.isUndefined(r)){if(-1!==l.indexOf(r))throw Error("Circular reference detected in "+n.join("."));l.push(r),R.forEach(r,(function(r,o){!0===(!R.isUndefined(r)&&i.call(t,r,R.isString(o)?o.trim():o,n,p))&&e(r,n?n.concat(o):[o])})),l.pop()}}(e),t};function U(e){var t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'\(\)~]|%20|%00/g,(function(e){return t[e]}))}function D(e,t){this._pairs=[],e&&P(e,this,t)}var F=D.prototype;F.append=function(e,t){this._pairs.push([e,t])},F.toString=function(e){var t=e?function(t){return e.call(this,t,U)}:U;return this._pairs.map((function(e){return t(e[0])+"="+t(e[1])}),"").join("&")};var L=D;function k(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}var q=function(e,t,r){if(!t)return e;var n=e.indexOf("#");-1!==n&&(e=e.slice(0,n));var o=r&&r.encode||k,i=R.isURLSearchParams(t)?t.toString():new L(t,r).toString(o);return i&&(e+=(-1===e.indexOf("?")?"?":"&")+i),e};function I(){this.handlers=[]}I.prototype.use=function(e,t,r){return this.handlers.push({fulfilled:e,rejected:t,synchronous:!!r&&r.synchronous,runWhen:r?r.runWhen:null}),this.handlers.length-1},I.prototype.eject=function(e){this.handlers[e]&&(this.handlers[e]=null)},I.prototype.clear=function(){this.handlers&&(this.handlers=[])},I.prototype.forEach=function(e){R.forEach(this.handlers,(function(t){null!==t&&e(t)}))};var M=I,H=function(e,t){R.forEach(e,(function(r,n){n!==t&&n.toUpperCase()===t.toUpperCase()&&(e[t]=r,delete e[n])}))},J={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},V={isBrowser:!0,classes:{URLSearchParams:"undefined"!=typeof URLSearchParams?URLSearchParams:L,FormData:FormData,Blob:Blob},protocols:["http","https","file","blob","url"]};var z=function(e){function t(e,r,n,o){var i=e[o++],s=Number.isFinite(+i),a=o>=e.length;return i=!i&&R.isArray(n)?n.length:i,a?(R.hasOwnProperty(n,i)?n[i]=[n[i],r]:n[i]=r,!s):(n[i]&&R.isObject(n[i])||(n[i]=[]),t(e,r,n[i],o)&&R.isArray(n[i])&&(n[i]=function(e){var t,r,n={},o=Object.keys(e),i=o.length;for(t=0;t=0)return;f[o]="set-cookie"===o?(f[o]?f[o]:[]).concat([i]):f[o]?f[o]+", "+i:i}})),f):f):null;!function(e,t,r){var n=r.config.validateStatus;r.status&&n&&!n(r.status)?t(new j("Request failed with status code "+r.status,[j.ERR_BAD_REQUEST,j.ERR_BAD_RESPONSE][Math.floor(r.status/100)-4],r.config,r.request,r)):e(r)}((function(e){t(e),a()}),(function(e){r(e),a()}),{data:s&&"text"!==s&&"json"!==s?u.response:u.responseText,status:u.status,statusText:u.statusText,headers:l,config:e,request:u}),u=null}}if(u.open(e.method.toUpperCase(),q(l,e.params,e.paramsSerializer),!0),u.timeout=e.timeout,"onloadend"in u?u.onloadend=p:u.onreadystatechange=function(){u&&4===u.readyState&&(0!==u.status||u.responseURL&&0===u.responseURL.indexOf("file:"))&&setTimeout(p)},u.onabort=function(){u&&(r(new j("Request aborted",j.ECONNABORTED,e,u)),u=null)},u.onerror=function(){r(new j("Network Error",j.ERR_NETWORK,e,u)),u=null},u.ontimeout=function(){var t=e.timeout?"timeout of "+e.timeout+"ms exceeded":"timeout exceeded",n=e.transitional||J;e.timeoutErrorMessage&&(t=e.timeoutErrorMessage),r(new j(t,n.clarifyTimeoutError?j.ETIMEDOUT:j.ECONNABORTED,e,u)),u=null},R.isStandardBrowserEnv()){var d=(e.withCredentials||$(l))&&e.xsrfCookieName?W.read(e.xsrfCookieName):void 0;d&&(i[e.xsrfHeaderName]=d)}"setRequestHeader"in u&&R.forEach(i,(function(e,t){void 0===o&&"content-type"===t.toLowerCase()?delete i[t]:u.setRequestHeader(t,e)})),R.isUndefined(e.withCredentials)||(u.withCredentials=!!e.withCredentials),s&&"json"!==s&&(u.responseType=e.responseType),"function"==typeof e.onDownloadProgress&&u.addEventListener("progress",e.onDownloadProgress),"function"==typeof e.onUploadProgress&&u.upload&&u.upload.addEventListener("progress",e.onUploadProgress),(e.cancelToken||e.signal)&&(n=function(t){u&&(r(!t||t.type?new G(null,e,req):t),u.abort(),u=null)},e.cancelToken&&e.cancelToken.subscribe(n),e.signal&&(e.signal.aborted?n():e.signal.addEventListener("abort",n))),o||(o=null);var h,m=(h=/^([-+\w]{1,25})(:?\/\/|:)/.exec(l))&&h[1]||"";m&&-1===V.protocols.indexOf(m)?r(new j("Unsupported protocol "+m+":",j.ERR_BAD_REQUEST,e)):u.send(o)}))},Z={"Content-Type":"application/x-www-form-urlencoded"};function ee(e,t){!R.isUndefined(e)&&R.isUndefined(e["Content-Type"])&&(e["Content-Type"]=t)}var te,re={transitional:J,adapter:(("undefined"!=typeof XMLHttpRequest||"undefined"!=typeof process&&"[object process]"===Object.prototype.toString.call(process))&&(te=Y),te),transformRequest:[function(e,t){H(t,"Accept"),H(t,"Content-Type");var r,n=t&&t["Content-Type"]||"",o=n.indexOf("application/json")>-1,i=R.isObject(e);if(i&&R.isHTMLForm(e)&&(e=new FormData(e)),R.isFormData(e))return o&&o?JSON.stringify(z(e)):e;if(R.isArrayBuffer(e)||R.isBuffer(e)||R.isStream(e)||R.isFile(e)||R.isBlob(e))return e;if(R.isArrayBufferView(e))return e.buffer;if(R.isURLSearchParams(e))return ee(t,"application/x-www-form-urlencoded;charset=utf-8"),e.toString();if(i){if(-1!==n.indexOf("application/x-www-form-urlencoded"))return function(e,t){return P(e,new V.classes.URLSearchParams,Object.assign({visitor:function(e,t,r,n){return V.isNode&&R.isBuffer(e)?(this.append(t,e.toString("base64")),!1):n.defaultVisitor.apply(this,arguments)}},t))}(e,this.formSerializer).toString();if((r=R.isFileList(e))||n.indexOf("multipart/form-data")>-1){var s=this.env&&this.env.FormData;return P(r?{"files[]":e}:e,s&&new s,this.formSerializer)}}return i||o?(ee(t,"application/json"),function(e,t,r){if(R.isString(e))try{return(t||JSON.parse)(e),R.trim(e)}catch(e){if("SyntaxError"!==e.name)throw e}return(r||JSON.stringify)(e)}(e)):e}],transformResponse:[function(e){var t=this.transitional||re.transitional,r=t&&t.forcedJSONParsing,n="json"===this.responseType;if(e&&R.isString(e)&&(r&&!this.responseType||n)){var o=!(t&&t.silentJSONParsing)&&n;try{return JSON.parse(e)}catch(e){if(o){if("SyntaxError"===e.name)throw j.from(e,j.ERR_BAD_RESPONSE,this,null,this.response);throw e}}}return e}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:V.classes.FormData,Blob:V.classes.Blob},validateStatus:function(e){return e>=200&&e<300},headers:{common:{Accept:"application/json, text/plain, */*"}}};R.forEach(["delete","get","head"],(function(e){re.headers[e]={}})),R.forEach(["post","put","patch"],(function(e){re.headers[e]=R.merge(Z)}));var ne=re,oe=function(e,t,r,n){var o=this||ne;return R.forEach(n,(function(n){e=n.call(o,e,t,r)})),e},ie=function(e){return!(!e||!e.__CANCEL__)};function se(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new G}var ae=function(e){return se(e),e.headers=e.headers||{},e.data=oe.call(e,e.data,e.headers,null,e.transformRequest),H(e.headers,"Accept"),H(e.headers,"Content-Type"),e.headers=R.merge(e.headers.common||{},e.headers[e.method]||{},e.headers),R.forEach(["delete","get","head","post","put","patch","common"],(function(t){delete e.headers[t]})),(e.adapter||ne.adapter)(e).then((function(t){return se(e),t.data=oe.call(e,t.data,t.headers,t.status,e.transformResponse),t}),(function(t){return ie(t)||(se(e),t&&t.response&&(t.response.data=oe.call(e,t.response.data,t.response.headers,t.response.status,e.transformResponse))),Promise.reject(t)}))},ue=function(e,t){t=t||{};var r={};function n(e,t){return R.isPlainObject(e)&&R.isPlainObject(t)?R.merge(e,t):R.isPlainObject(t)?R.merge({},t):R.isArray(t)?t.slice():t}function o(r){return R.isUndefined(t[r])?R.isUndefined(e[r])?void 0:n(void 0,e[r]):n(e[r],t[r])}function i(e){if(!R.isUndefined(t[e]))return n(void 0,t[e])}function s(r){return R.isUndefined(t[r])?R.isUndefined(e[r])?void 0:n(void 0,e[r]):n(void 0,t[r])}function a(r){return r in t?n(e[r],t[r]):r in e?n(void 0,e[r]):void 0}var u={url:i,method:i,data:i,baseURL:s,transformRequest:s,transformResponse:s,paramsSerializer:s,timeout:s,timeoutMessage:s,withCredentials:s,adapter:s,responseType:s,xsrfCookieName:s,xsrfHeaderName:s,onUploadProgress:s,onDownloadProgress:s,decompress:s,maxContentLength:s,maxBodyLength:s,beforeRedirect:s,transport:s,httpAgent:s,httpsAgent:s,cancelToken:s,socketPath:s,responseEncoding:s,validateStatus:a};return R.forEach(Object.keys(e).concat(Object.keys(t)),(function(e){var t=u[e]||o,n=t(e);R.isUndefined(n)&&t!==a||(r[e]=n)})),r},ce="1.0.0-alpha.1",fe=ce,le={};["object","boolean","number","function","string","symbol"].forEach((function(e,t){le[e]=function(r){return typeof r===e||"a"+(t<1?"n ":" ")+e}}));var pe={};le.transitional=function(e,t,r){function n(e,t){return"[Axios v"+fe+"] Transitional option '"+e+"'"+t+(r?". "+r:"")}return function(r,o,i){if(!1===e)throw new j(n(o," has been removed"+(t?" in "+t:"")),j.ERR_DEPRECATED);return t&&!pe[o]&&(pe[o]=!0,console.warn(n(o," has been deprecated since v"+t+" and will be removed in the near future"))),!e||e(r,o,i)}};var de={assertOptions:function(e,t,r){if("object"!=typeof e)throw new j("options must be an object",j.ERR_BAD_OPTION_VALUE);for(var n=Object.keys(e),o=n.length;o-- >0;){var i=n[o],s=t[i];if(s){var a=e[i],u=void 0===a||s(a,i,e);if(!0!==u)throw new j("option "+i+" must be "+u,j.ERR_BAD_OPTION_VALUE)}else if(!0!==r)throw new j("Unknown option "+i,j.ERR_BAD_OPTION)}},validators:le},he=de.validators;function me(e){this.defaults=e,this.interceptors={request:new M,response:new M}}me.prototype.request=function(e,t){"string"==typeof e?(t=t||{}).url=e:t=e||{},(t=ue(this.defaults,t)).method?t.method=t.method.toLowerCase():this.defaults.method?t.method=this.defaults.method.toLowerCase():t.method="get";var r=t.transitional;void 0!==r&&de.assertOptions(r,{silentJSONParsing:he.transitional(he.boolean),forcedJSONParsing:he.transitional(he.boolean),clarifyTimeoutError:he.transitional(he.boolean)},!1);var n=[],o=!0;this.interceptors.request.forEach((function(e){"function"==typeof e.runWhen&&!1===e.runWhen(t)||(o=o&&e.synchronous,n.unshift(e.fulfilled,e.rejected))}));var i,s=[];if(this.interceptors.response.forEach((function(e){s.push(e.fulfilled,e.rejected)})),!o){var a=[ae,void 0];for(Array.prototype.unshift.apply(a,n),a=a.concat(s),i=Promise.resolve(t);a.length;)i=i.then(a.shift(),a.shift());return i}for(var u=t;n.length;){var c=n.shift(),f=n.shift();try{u=c(u)}catch(e){f(e);break}}try{i=ae(u)}catch(e){return Promise.reject(e)}for(;s.length;)i=i.then(s.shift(),s.shift());return i},me.prototype.getUri=function(e){e=ue(this.defaults,e);var t=X(e.baseURL,e.url);return q(t,e.params,e.paramsSerializer)},R.forEach(["delete","get","head","options"],(function(e){me.prototype[e]=function(t,r){return this.request(ue(r||{},{method:e,url:t,data:(r||{}).data}))}})),R.forEach(["post","put","patch"],(function(e){function t(t){return function(r,n,o){return this.request(ue(o||{},{method:e,headers:t?{"Content-Type":"multipart/form-data"}:{},url:r,data:n}))}}me.prototype[e]=t(),me.prototype[e+"Form"]=t(!0)}));var ye=me;function ve(e){if("function"!=typeof e)throw new TypeError("executor must be a function.");var t;this.promise=new Promise((function(e){t=e}));var r=this;this.promise.then((function(e){if(r._listeners){for(var t=r._listeners.length;t-- >0;)r._listeners[t](e);r._listeners=null}})),this.promise.then=function(e){var t,n=new Promise((function(e){r.subscribe(e),t=e})).then(e);return n.cancel=function(){r.unsubscribe(t)},n},e((function(e,n,o){r.reason||(r.reason=new G(e,n,o),t(r.reason))}))}ve.prototype.throwIfRequested=function(){if(this.reason)throw this.reason},ve.prototype.subscribe=function(e){this.reason?e(this.reason):this._listeners?this._listeners.push(e):this._listeners=[e]},ve.prototype.unsubscribe=function(e){if(this._listeners){var t=this._listeners.indexOf(e);-1!==t&&this._listeners.splice(t,1)}},ve.source=function(){var e;return{token:new ve((function(t){e=t})),cancel:e}};var be=ve;var Ee=function e(r){var n=new ye(r),o=t(ye.prototype.request,n);return R.extend(o,ye.prototype,n),R.extend(o,n),o.create=function(t){return e(ue(r,t))},o}(ne);Ee.Axios=ye,Ee.CanceledError=G,Ee.CancelToken=be,Ee.isCancel=ie,Ee.VERSION=ce,Ee.toFormData=P,Ee.AxiosError=j,Ee.Cancel=Ee.CanceledError,Ee.all=function(e){return Promise.all(e)},Ee.spread=function(e){return function(t){return e.apply(null,t)}},Ee.isAxiosError=function(e){return R.isObject(e)&&!0===e.isAxiosError},Ee.formToJSON=function(e){return z(R.isHTMLForm(e)?new FormData(e):e)};var ge=Ee,we=Ee;return ge.default=we,ge})); +!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).axios=t()}(this,(function(){"use strict";function e(t){return e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e(t)}function t(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function n(e,t){for(var n=0;n2&&void 0!==arguments[2]?arguments[2]:{},s=i.allOwnKeys,a=void 0!==s&&s;if(null!=t)if("object"!==e(t)&&(t=[t]),l(t))for(r=0,o=t.length;r3&&void 0!==arguments[3]?arguments[3]:{},i=r.allOwnKeys;return S(t,(function(t,r){n&&m(t)?e[r]=o(t,n):e[r]=t}),{allOwnKeys:i}),e},trim:function(e){return e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")},stripBOM:function(e){return 65279===e.charCodeAt(0)&&(e=e.slice(1)),e},inherits:function(e,t,n,r){e.prototype=Object.create(t.prototype,r),e.prototype.constructor=e,Object.defineProperty(e,"super",{value:t.prototype}),n&&Object.assign(e.prototype,n)},toFlatObject:function(e,t,n,r){var o,i,s,u={};if(t=t||{},null==e)return t;do{for(i=(o=Object.getOwnPropertyNames(e)).length;i-- >0;)s=o[i],r&&!r(s,e,t)||u[s]||(t[s]=e[s],u[s]=!0);e=!1!==n&&a(e)}while(e&&(!n||n(e,t))&&e!==Object.prototype);return t},kindOf:u,kindOfTest:c,endsWith:function(e,t,n){e=String(e),(void 0===n||n>e.length)&&(n=e.length),n-=t.length;var r=e.indexOf(t,n);return-1!==r&&r===n},toArray:function(e){if(!e)return null;if(l(e))return e;var t=e.length;if(!v(t))return null;for(var n=new Array(t);t-- >0;)n[t]=e[t];return n},forEachEntry:function(e,t){for(var n,r=(e&&e[Symbol.iterator]).call(e);(n=r.next())&&!n.done;){var o=n.value;t.call(e,o[0],o[1])}},matchAll:function(e,t){for(var n,r=[];null!==(n=e.exec(t));)r.push(n);return r},isHTMLForm:T,hasOwnProperty:x,hasOwnProp:x,reduceDescriptors:N,freezeMethods:function(e){N(e,(function(t,n){var r=e[n];m(r)&&(t.enumerable=!1,"writable"in t?t.writable=!1:t.set||(t.set=function(){throw Error("Can not read-only method '"+n+"'")}))}))},toObjectSet:function(e,t){var n={},r=function(e){e.forEach((function(e){n[e]=!0}))};return l(e)?r(e):r(String(e).split(t)),n},toCamelCase:function(e){return e.toLowerCase().replace(/[_-\s]([a-z\d])(\w*)/g,(function(e,t,n){return t.toUpperCase()+n}))},noop:function(){},toFiniteNumber:function(e,t){return e=+e,Number.isFinite(e)?e:t}};function _(e,t,n,r,o){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=(new Error).stack,this.message=e,this.name="AxiosError",t&&(this.code=t),n&&(this.config=n),r&&(this.request=r),o&&(this.response=o)}P.inherits(_,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:this.config,code:this.code,status:this.response&&this.response.status?this.response.status:null}}});var B=_.prototype,D={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach((function(e){D[e]={value:e}})),Object.defineProperties(_,D),Object.defineProperty(B,"isAxiosError",{value:!0}),_.from=function(e,t,n,r,o,i){var s=Object.create(B);return P.toFlatObject(e,s,(function(e){return e!==Error.prototype}),(function(e){return"isAxiosError"!==e})),_.call(s,e.message,t,n,r,o),s.cause=e,s.name=e.name,i&&Object.assign(s,i),s};var F="object"==("undefined"==typeof self?"undefined":e(self))?self.FormData:window.FormData;function U(e){return P.isPlainObject(e)||P.isArray(e)}function k(e){return P.endsWith(e,"[]")?e.slice(0,-2):e}function L(e,t,n){return e?e.concat(t).map((function(e,t){return e=k(e),!n&&t?"["+e+"]":e})).join(n?".":""):t}var q=P.toFlatObject(P,{},null,(function(e){return/^is[A-Z]/.test(e)}));function z(t,n,r){if(!P.isObject(t))throw new TypeError("target must be an object");n=n||new(F||FormData);var o,i=(r=P.toFlatObject(r,{metaTokens:!0,dots:!1,indexes:!1},!1,(function(e,t){return!P.isUndefined(t[e])}))).metaTokens,s=r.visitor||l,a=r.dots,u=r.indexes,c=(r.Blob||"undefined"!=typeof Blob&&Blob)&&((o=n)&&P.isFunction(o.append)&&"FormData"===o[Symbol.toStringTag]&&o[Symbol.iterator]);if(!P.isFunction(s))throw new TypeError("visitor must be a function");function f(e){if(null===e)return"";if(P.isDate(e))return e.toISOString();if(!c&&P.isBlob(e))throw new _("Blob is not supported. Use a Buffer instead.");return P.isArrayBuffer(e)||P.isTypedArray(e)?c&&"function"==typeof Blob?new Blob([e]):Buffer.from(e):e}function l(t,r,o){var s=t;if(t&&!o&&"object"===e(t))if(P.endsWith(r,"{}"))r=i?r:r.slice(0,-2),t=JSON.stringify(t);else if(P.isArray(t)&&function(e){return P.isArray(e)&&!e.some(U)}(t)||P.isFileList(t)||P.endsWith(r,"[]")&&(s=P.toArray(t)))return r=k(r),s.forEach((function(e,t){!P.isUndefined(e)&&n.append(!0===u?L([r],t,a):null===u?r:r+"[]",f(e))})),!1;return!!U(t)||(n.append(L(o,r,a),f(t)),!1)}var d=[],h=Object.assign(q,{defaultVisitor:l,convertValue:f,isVisitable:U});if(!P.isObject(t))throw new TypeError("data must be an object");return function e(t,r){if(!P.isUndefined(t)){if(-1!==d.indexOf(t))throw Error("Circular reference detected in "+r.join("."));d.push(t),P.forEach(t,(function(t,o){!0===(!P.isUndefined(t)&&s.call(n,t,P.isString(o)?o.trim():o,r,h))&&e(t,r?r.concat(o):[o])})),d.pop()}}(t),n}function I(e){var t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,(function(e){return t[e]}))}function M(e,t){this._pairs=[],e&&z(e,this,t)}var J=M.prototype;function H(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function V(e,t,n){if(!t)return e;var r=e.indexOf("#");-1!==r&&(e=e.slice(0,r));var o=n&&n.encode||H,i=P.isURLSearchParams(t)?t.toString():new M(t,n).toString(o);return i&&(e+=(-1===e.indexOf("?")?"?":"&")+i),e}J.append=function(e,t){this._pairs.push([e,t])},J.toString=function(e){var t=e?function(t){return e.call(this,t,I)}:I;return this._pairs.map((function(e){return t(e[0])+"="+t(e[1])}),"").join("&")};var W,K=function(){function e(){t(this,e),this.handlers=[]}return r(e,[{key:"use",value:function(e,t,n){return this.handlers.push({fulfilled:e,rejected:t,synchronous:!!n&&n.synchronous,runWhen:n?n.runWhen:null}),this.handlers.length-1}},{key:"eject",value:function(e){this.handlers[e]&&(this.handlers[e]=null)}},{key:"clear",value:function(){this.handlers&&(this.handlers=[])}},{key:"forEach",value:function(e){P.forEach(this.handlers,(function(t){null!==t&&e(t)}))}}]),e}(),X={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},$="undefined"!=typeof URLSearchParams?URLSearchParams:M,Q=FormData,G=("undefined"==typeof navigator||"ReactNative"!==(W=navigator.product)&&"NativeScript"!==W&&"NS"!==W)&&"undefined"!=typeof window&&"undefined"!=typeof document,Y={isBrowser:!0,classes:{URLSearchParams:$,FormData:Q,Blob:Blob},isStandardBrowserEnv:G,protocols:["http","https","file","blob","url","data"]};function Z(e){function t(e,n,r,o){var i=e[o++],s=Number.isFinite(+i),a=o>=e.length;return i=!i&&P.isArray(r)?r.length:i,a?(P.hasOwnProp(r,i)?r[i]=[r[i],n]:r[i]=n,!s):(r[i]&&P.isObject(r[i])||(r[i]=[]),t(e,n,r[i],o)&&P.isArray(r[i])&&(r[i]=function(e){var t,n,r={},o=Object.keys(e),i=o.length;for(t=0;t0;)if(t===(n=r[o]).toLowerCase())return n;return null}function le(e,t){e&&this.set(e),this[se]=t||null}function de(e,t){var n=0,r=function(e,t){e=e||10;var n,r=new Array(e),o=new Array(e),i=0,s=0;return t=void 0!==t?t:1e3,function(a){var u=Date.now(),c=o[s];n||(n=u),r[i]=a,o[i]=u;for(var f=s,l=0;f!==i;)l+=r[f++],f%=e;if((i=(i+1)%e)===s&&(s=(s+1)%e),!(u-n-1,i=P.isObject(e);if(i&&P.isHTMLForm(e)&&(e=new FormData(e)),P.isFormData(e))return o&&o?JSON.stringify(Z(e)):e;if(P.isArrayBuffer(e)||P.isBuffer(e)||P.isStream(e)||P.isFile(e)||P.isBlob(e))return e;if(P.isArrayBufferView(e))return e.buffer;if(P.isURLSearchParams(e))return t.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),e.toString();if(i){if(r.indexOf("application/x-www-form-urlencoded")>-1)return function(e,t){return z(e,new Y.classes.URLSearchParams,Object.assign({visitor:function(e,t,n,r){return Y.isNode&&P.isBuffer(e)?(this.append(t,e.toString("base64")),!1):r.defaultVisitor.apply(this,arguments)}},t))}(e,this.formSerializer).toString();if((n=P.isFileList(e))||r.indexOf("multipart/form-data")>-1){var s=this.env&&this.env.FormData;return z(n?{"files[]":e}:e,s&&new s,this.formSerializer)}}return i||o?(t.setContentType("application/json",!1),function(e,t,n){if(P.isString(e))try{return(t||JSON.parse)(e),P.trim(e)}catch(e){if("SyntaxError"!==e.name)throw e}return(n||JSON.stringify)(e)}(e)):e}],transformResponse:[function(e){var t=this.transitional||be.transitional,n=t&&t.forcedJSONParsing,r="json"===this.responseType;if(e&&P.isString(e)&&(n&&!this.responseType||r)){var o=!(t&&t.silentJSONParsing)&&r;try{return JSON.parse(e)}catch(e){if(o){if("SyntaxError"===e.name)throw _.from(e,_.ERR_BAD_RESPONSE,this,null,this.response);throw e}}}return e}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:Y.classes.FormData,Blob:Y.classes.Blob},validateStatus:function(e){return e>=200&&e<300},headers:{common:{Accept:"application/json, text/plain, */*"}}};function ge(e,t){var n=this||be,r=t||n,o=le.from(r.headers),i=r.data;return P.forEach(e,(function(e){i=e.call(n,i,o.normalize(),t?t.status:void 0)})),o.normalize(),i}function Ee(e){return!(!e||!e.__CANCEL__)}function we(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new re}function Oe(e){return we(e),e.headers=le.from(e.headers),e.data=ge.call(e,e.transformRequest),(e.adapter||be.adapter)(e).then((function(t){return we(e),t.data=ge.call(e,e.transformResponse,t),t.headers=le.from(t.headers),t}),(function(t){return Ee(t)||(we(e),t&&t.response&&(t.response.data=ge.call(e,e.transformResponse,t.response),t.response.headers=le.from(t.response.headers))),Promise.reject(t)}))}function Re(e,t){t=t||{};var n={};function r(e,t){return P.isPlainObject(e)&&P.isPlainObject(t)?P.merge(e,t):P.isPlainObject(t)?P.merge({},t):P.isArray(t)?t.slice():t}function o(n){return P.isUndefined(t[n])?P.isUndefined(e[n])?void 0:r(void 0,e[n]):r(e[n],t[n])}function i(e){if(!P.isUndefined(t[e]))return r(void 0,t[e])}function s(n){return P.isUndefined(t[n])?P.isUndefined(e[n])?void 0:r(void 0,e[n]):r(void 0,t[n])}function a(n){return n in t?r(e[n],t[n]):n in e?r(void 0,e[n]):void 0}var u={url:i,method:i,data:i,baseURL:s,transformRequest:s,transformResponse:s,paramsSerializer:s,timeout:s,timeoutMessage:s,withCredentials:s,adapter:s,responseType:s,xsrfCookieName:s,xsrfHeaderName:s,onUploadProgress:s,onDownloadProgress:s,decompress:s,maxContentLength:s,maxBodyLength:s,beforeRedirect:s,transport:s,httpAgent:s,httpsAgent:s,cancelToken:s,socketPath:s,responseEncoding:s,validateStatus:a};return P.forEach(Object.keys(e).concat(Object.keys(t)),(function(e){var t=u[e]||o,r=t(e);P.isUndefined(r)&&t!==a||(n[e]=r)})),n}P.forEach(["delete","get","head"],(function(e){be.headers[e]={}})),P.forEach(["post","put","patch"],(function(e){be.headers[e]=P.merge(ve)}));var Se="1.0.0",Ae={};["object","boolean","number","function","string","symbol"].forEach((function(t,n){Ae[t]=function(r){return e(r)===t||"a"+(n<1?"n ":" ")+t}}));var je={};Ae.transitional=function(e,t,n){function r(e,t){return"[Axios v1.0.0] Transitional option '"+e+"'"+t+(n?". "+n:"")}return function(n,o,i){if(!1===e)throw new _(r(o," has been removed"+(t?" in "+t:"")),_.ERR_DEPRECATED);return t&&!je[o]&&(je[o]=!0,console.warn(r(o," has been deprecated since v"+t+" and will be removed in the near future"))),!e||e(n,o,i)}};var Te={assertOptions:function(t,n,r){if("object"!==e(t))throw new _("options must be an object",_.ERR_BAD_OPTION_VALUE);for(var o=Object.keys(t),i=o.length;i-- >0;){var s=o[i],a=n[s];if(a){var u=t[s],c=void 0===u||a(u,s,t);if(!0!==c)throw new _("option "+s+" must be "+c,_.ERR_BAD_OPTION_VALUE)}else if(!0!==r)throw new _("Unknown option "+s,_.ERR_BAD_OPTION)}},validators:Ae},xe=Te.validators,Ce=function(){function e(n){t(this,e),this.defaults=n,this.interceptors={request:new K,response:new K}}return r(e,[{key:"request",value:function(e,t){"string"==typeof e?(t=t||{}).url=e:t=e||{};var n=(t=Re(this.defaults,t)).transitional;void 0!==n&&Te.assertOptions(n,{silentJSONParsing:xe.transitional(xe.boolean),forcedJSONParsing:xe.transitional(xe.boolean),clarifyTimeoutError:xe.transitional(xe.boolean)},!1),t.method=(t.method||this.defaults.method||"get").toLowerCase();var r=t.headers&&P.merge(t.headers.common,t.headers[t.method]);r&&P.forEach(["delete","get","head","post","put","patch","common"],(function(e){delete t.headers[e]})),t.headers=new le(t.headers,r);var o=[],i=!0;this.interceptors.request.forEach((function(e){"function"==typeof e.runWhen&&!1===e.runWhen(t)||(i=i&&e.synchronous,o.unshift(e.fulfilled,e.rejected))}));var s,a=[];this.interceptors.response.forEach((function(e){a.push(e.fulfilled,e.rejected)}));var u,c=0;if(!i){var f=[Oe.bind(this),void 0];for(f.unshift.apply(f,o),f.push.apply(f,a),u=f.length,s=Promise.resolve(t);c0;)o._listeners[t](e);o._listeners=null}})),this.promise.then=function(e){var t,n=new Promise((function(e){o.subscribe(e),t=e})).then(e);return n.cancel=function(){o.unsubscribe(t)},n},n((function(e,t,n){o.reason||(o.reason=new re(e,t,n),r(o.reason))}))}return r(e,[{key:"throwIfRequested",value:function(){if(this.reason)throw this.reason}},{key:"subscribe",value:function(e){this.reason?e(this.reason):this._listeners?this._listeners.push(e):this._listeners=[e]}},{key:"unsubscribe",value:function(e){if(this._listeners){var t=this._listeners.indexOf(e);-1!==t&&this._listeners.splice(t,1)}}}],[{key:"source",value:function(){var t;return{token:new e((function(e){t=e})),cancel:t}}}]),e}();var Pe=function e(t){var n=new Ce(t),r=o(Ce.prototype.request,n);return P.extend(r,Ce.prototype,n,{allOwnKeys:!0}),P.extend(r,n,null,{allOwnKeys:!0}),r.create=function(n){return e(Re(t,n))},r}(be);return Pe.Axios=Ce,Pe.CanceledError=re,Pe.CancelToken=Ne,Pe.isCancel=Ee,Pe.VERSION=Se,Pe.toFormData=z,Pe.AxiosError=_,Pe.Cancel=Pe.CanceledError,Pe.all=function(e){return Promise.all(e)},Pe.spread=function(e){return function(t){return e.apply(null,t)}},Pe.isAxiosError=function(e){return P.isObject(e)&&!0===e.isAxiosError},Pe.formToJSON=function(e){return Z(P.isHTMLForm(e)?new FormData(e):e)},Pe})); //# sourceMappingURL=axios.min.js.map diff --git a/dist/axios.min.js.map b/dist/axios.min.js.map index 45d2954..45575ea 100644 --- a/dist/axios.min.js.map +++ b/dist/axios.min.js.map @@ -1 +1 @@ -{"version":3,"file":"axios.min.js","sources":["../lib/helpers/bind.js","../lib/utils.js","../lib/core/AxiosError.js","../lib/env/classes/FormData.js","../node_modules/form-data/lib/browser.js","../lib/helpers/toFormData.js","../lib/helpers/AxiosURLSearchParams.js","../lib/helpers/buildURL.js","../lib/core/InterceptorManager.js","../lib/helpers/normalizeHeaderName.js","../lib/defaults/transitional.js","../lib/platform/index.js","../lib/platform/browser/index.js","../lib/platform/browser/classes/URLSearchParams.js","../lib/platform/browser/classes/FormData.js","../lib/helpers/formDataToJSON.js","../lib/helpers/cookies.js","../lib/core/buildFullPath.js","../lib/helpers/isAbsoluteURL.js","../lib/helpers/combineURLs.js","../lib/helpers/parseHeaders.js","../lib/helpers/isURLSameOrigin.js","../lib/cancel/CanceledError.js","../lib/adapters/xhr.js","../lib/core/settle.js","../lib/helpers/parseProtocol.js","../lib/defaults/index.js","../lib/helpers/toURLEncodedForm.js","../lib/core/transformData.js","../lib/cancel/isCancel.js","../lib/core/dispatchRequest.js","../lib/core/mergeConfig.js","../lib/env/data.js","../lib/helpers/validator.js","../lib/core/Axios.js","../lib/cancel/CancelToken.js","../lib/axios.js","../lib/helpers/spread.js","../lib/helpers/isAxiosError.js"],"sourcesContent":["'use strict';\n\nmodule.exports = function bind(fn, thisArg) {\n return function wrap() {\n return fn.apply(thisArg, arguments);\n };\n};\n","'use strict';\n\nvar bind = require('./helpers/bind');\n\n// utils is a library of generic helper functions non-specific to axios\n\nvar toString = Object.prototype.toString;\n\n// eslint-disable-next-line func-names\nvar kindOf = (function(cache) {\n // eslint-disable-next-line func-names\n return function(thing) {\n var str = toString.call(thing);\n return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n };\n})(Object.create(null));\n\nfunction kindOfTest(type) {\n type = type.toLowerCase();\n return function isKindOf(thing) {\n return kindOf(thing) === type;\n };\n}\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 Array.isArray(val);\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 * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nvar isArrayBuffer = kindOfTest('ArrayBuffer');\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) && (isArrayBuffer(val.buffer));\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 plain Object\n *\n * @param {Object} val The value to test\n * @return {boolean} True if value is a plain Object, otherwise false\n */\nfunction isPlainObject(val) {\n if (kindOf(val) !== 'object') {\n return false;\n }\n\n var prototype = Object.getPrototypeOf(val);\n return prototype === null || prototype === Object.prototype;\n}\n\n/**\n * Determine if a value is a Date\n *\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Date, otherwise false\n */\nvar isDate = kindOfTest('Date');\n\n/**\n * Determine if a value is a File\n *\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\nvar isFile = kindOfTest('File');\n\n/**\n * Determine if a value is a Blob\n *\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nvar isBlob = kindOfTest('Blob');\n\n/**\n * Determine if a value is a FileList\n *\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\nvar isFileList = kindOfTest('FileList');\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 FormData\n *\n * @param {Object} thing The value to test\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nfunction isFormData(thing) {\n var pattern = '[object FormData]';\n return thing && (\n (typeof FormData === 'function' && thing instanceof FormData) ||\n toString.call(thing) === pattern ||\n (isFunction(thing.toString) && thing.toString() === pattern)\n );\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nvar isURLSearchParams = kindOfTest('URLSearchParams');\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.trim ? str.trim() : str.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '');\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 var product;\n if (typeof navigator !== 'undefined' && (\n (product = navigator.product) === 'ReactNative' ||\n product === 'NativeScript' ||\n product === 'NS')\n ) {\n return false;\n }\n\n return typeof window !== 'undefined' && typeof document !== 'undefined';\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 (isPlainObject(result[key]) && isPlainObject(val)) {\n result[key] = merge(result[key], val);\n } else if (isPlainObject(val)) {\n result[key] = merge({}, val);\n } else if (isArray(val)) {\n result[key] = val.slice();\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\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n * @return {string} content value without BOM\n */\nfunction stripBOM(content) {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\n/**\n * Inherit the prototype methods from one constructor into another\n * @param {function} constructor\n * @param {function} superConstructor\n * @param {object} [props]\n * @param {object} [descriptors]\n */\n\nfunction inherits(constructor, superConstructor, props, descriptors) {\n constructor.prototype = Object.create(superConstructor.prototype, descriptors);\n constructor.prototype.constructor = constructor;\n props && Object.assign(constructor.prototype, props);\n}\n\n/**\n * Resolve object with deep prototype chain to a flat object\n * @param {Object} sourceObj source object\n * @param {Object} [destObj]\n * @param {Function|Boolean} [filter]\n * @param {Function} [propFilter]\n * @returns {Object}\n */\n\nfunction toFlatObject(sourceObj, destObj, filter, propFilter) {\n var props;\n var i;\n var prop;\n var merged = {};\n\n destObj = destObj || {};\n // eslint-disable-next-line no-eq-null,eqeqeq\n if (sourceObj == null) return destObj;\n\n do {\n props = Object.getOwnPropertyNames(sourceObj);\n i = props.length;\n while (i-- > 0) {\n prop = props[i];\n if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) {\n destObj[prop] = sourceObj[prop];\n merged[prop] = true;\n }\n }\n sourceObj = filter !== false && Object.getPrototypeOf(sourceObj);\n } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);\n\n return destObj;\n}\n\n/*\n * determines whether a string ends with the characters of a specified string\n * @param {String} str\n * @param {String} searchString\n * @param {Number} [position= 0]\n * @returns {boolean}\n */\nfunction endsWith(str, searchString, position) {\n str = String(str);\n if (position === undefined || position > str.length) {\n position = str.length;\n }\n position -= searchString.length;\n var lastIndex = str.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n}\n\n\n/**\n * Returns new array from array like object or null if failed\n * @param {*} [thing]\n * @returns {?Array}\n */\nfunction toArray(thing) {\n if (!thing) return null;\n if (isArray(thing)) return thing;\n var i = thing.length;\n if (!isNumber(i)) return null;\n var arr = new Array(i);\n while (i-- > 0) {\n arr[i] = thing[i];\n }\n return arr;\n}\n\n// eslint-disable-next-line func-names\nvar isTypedArray = (function(TypedArray) {\n // eslint-disable-next-line func-names\n return function(thing) {\n return TypedArray && thing instanceof TypedArray;\n };\n})(typeof Uint8Array !== 'undefined' && Object.getPrototypeOf(Uint8Array));\n\nfunction forEachEntry(obj, fn) {\n var generator = obj && obj[Symbol.iterator];\n\n var iterator = generator.call(obj);\n\n var result;\n\n while ((result = iterator.next()) && !result.done) {\n var pair = result.value;\n fn.call(obj, pair[0], pair[1]);\n }\n}\n\nfunction matchAll(regExp, str) {\n var matches;\n var arr = [];\n\n while ((matches = regExp.exec(str)) !== null) {\n arr.push(matches);\n }\n\n return arr;\n}\n\nvar isHTMLForm = kindOfTest('HTMLFormElement');\n\nvar hasOwnProperty = (function resolver(_hasOwnProperty) {\n return function(obj, prop) {\n return _hasOwnProperty.call(obj, prop);\n };\n})(Object.prototype.hasOwnProperty);\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 isPlainObject: isPlainObject,\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 extend: extend,\n trim: trim,\n stripBOM: stripBOM,\n inherits: inherits,\n toFlatObject: toFlatObject,\n kindOf: kindOf,\n kindOfTest: kindOfTest,\n endsWith: endsWith,\n toArray: toArray,\n isTypedArray: isTypedArray,\n isFileList: isFileList,\n forEachEntry: forEachEntry,\n matchAll: matchAll,\n isHTMLForm: isHTMLForm,\n hasOwnProperty: hasOwnProperty\n};\n","'use strict';\n\nvar utils = require('../utils');\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 {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [config] The config.\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The created error.\n */\nfunction AxiosError(message, code, config, request, response) {\n Error.call(this);\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n } else {\n this.stack = (new Error()).stack;\n }\n\n this.message = message;\n this.name = 'AxiosError';\n code && (this.code = code);\n config && (this.config = config);\n request && (this.request = request);\n response && (this.response = response);\n}\n\nutils.inherits(AxiosError, Error, {\n toJSON: function toJSON() {\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 status: this.response && this.response.status ? this.response.status : null\n };\n }\n});\n\nvar prototype = AxiosError.prototype;\nvar descriptors = {};\n\n[\n 'ERR_BAD_OPTION_VALUE',\n 'ERR_BAD_OPTION',\n 'ECONNABORTED',\n 'ETIMEDOUT',\n 'ERR_NETWORK',\n 'ERR_FR_TOO_MANY_REDIRECTS',\n 'ERR_DEPRECATED',\n 'ERR_BAD_RESPONSE',\n 'ERR_BAD_REQUEST',\n 'ERR_CANCELED',\n 'ERR_NOT_SUPPORT',\n 'ERR_INVALID_URL'\n// eslint-disable-next-line func-names\n].forEach(function(code) {\n descriptors[code] = {value: code};\n});\n\nObject.defineProperties(AxiosError, descriptors);\nObject.defineProperty(prototype, 'isAxiosError', {value: true});\n\n// eslint-disable-next-line func-names\nAxiosError.from = function(error, code, config, request, response, customProps) {\n var axiosError = Object.create(prototype);\n\n utils.toFlatObject(error, axiosError, function filter(obj) {\n return obj !== Error.prototype;\n });\n\n AxiosError.call(axiosError, error.message, code, config, request, response);\n\n axiosError.cause = error;\n\n axiosError.name = error.name;\n\n customProps && Object.assign(axiosError, customProps);\n\n return axiosError;\n};\n\nmodule.exports = AxiosError;\n","// eslint-disable-next-line strict\nmodule.exports = require('form-data');\n","/* eslint-env browser */\nmodule.exports = typeof self == 'object' ? self.FormData : window.FormData;\n","'use strict';\n\nvar utils = require('../utils');\nvar AxiosError = require('../core/AxiosError');\nvar envFormData = require('../env/classes/FormData');\n\nfunction isVisitable(thing) {\n return utils.isPlainObject(thing) || utils.isArray(thing);\n}\n\nfunction removeBrackets(key) {\n return utils.endsWith(key, '[]') ? key.slice(0, -2) : key;\n}\n\nfunction renderKey(path, key, dots) {\n if (!path) return key;\n return path.concat(key).map(function each(token, i) {\n // eslint-disable-next-line no-param-reassign\n token = removeBrackets(token);\n return !dots && i ? '[' + token + ']' : token;\n }).join(dots ? '.' : '');\n}\n\nfunction isFlatArray(arr) {\n return utils.isArray(arr) && !arr.some(isVisitable);\n}\n\nvar predicates = utils.toFlatObject(utils, {}, null, function filter(prop) {\n return /^is[A-Z]/.test(prop);\n});\n\nfunction isSpecCompliant(thing) {\n return thing && utils.isFunction(thing.append) && thing[Symbol.toStringTag] === 'FormData' && thing[Symbol.iterator];\n}\n\n/**\n * Convert a data object to FormData\n * @param {Object} obj\n * @param {?Object} [formData]\n * @param {?Object} [options]\n * @param {Function} [options.visitor]\n * @param {Boolean} [options.metaTokens = true]\n * @param {Boolean} [options.dots = false]\n * @param {?Boolean} [options.indexes = false]\n * @returns {Object}\n **/\n\nfunction toFormData(obj, formData, options) {\n if (!utils.isObject(obj)) {\n throw new TypeError('target must be an object');\n }\n\n // eslint-disable-next-line no-param-reassign\n formData = formData || new (envFormData || FormData)();\n\n // eslint-disable-next-line no-param-reassign\n options = utils.toFlatObject(options, {\n metaTokens: true,\n dots: false,\n indexes: false\n }, false, function defined(option, source) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n return !utils.isUndefined(source[option]);\n });\n\n var metaTokens = options.metaTokens;\n // eslint-disable-next-line no-use-before-define\n var visitor = options.visitor || defaultVisitor;\n var dots = options.dots;\n var indexes = options.indexes;\n var _Blob = options.Blob || typeof Blob !== 'undefined' && Blob;\n var useBlob = _Blob && isSpecCompliant(formData);\n\n if (!utils.isFunction(visitor)) {\n throw new TypeError('visitor must be a function');\n }\n\n function convertValue(value) {\n if (value === null) return '';\n\n if (utils.isDate(value)) {\n return value.toISOString();\n }\n\n if (!useBlob && utils.isBlob(value)) {\n throw new AxiosError('Blob is not supported. Use a Buffer instead.');\n }\n\n if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {\n return useBlob && typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value);\n }\n\n return value;\n }\n\n /**\n *\n * @param {*} value\n * @param {String|Number} key\n * @param {Array} path\n * @this {FormData}\n * @returns {boolean} return true to visit the each prop of the value recursively\n */\n function defaultVisitor(value, key, path) {\n var arr = value;\n\n if (value && !path && typeof value === 'object') {\n if (utils.endsWith(key, '{}')) {\n // eslint-disable-next-line no-param-reassign\n key = metaTokens ? key : key.slice(0, -2);\n // eslint-disable-next-line no-param-reassign\n value = JSON.stringify(value);\n } else if (\n (utils.isArray(value) && isFlatArray(value)) ||\n (utils.isFileList(value) || utils.endsWith(key, '[]') && (arr = utils.toArray(value))\n )) {\n // eslint-disable-next-line no-param-reassign\n key = removeBrackets(key);\n\n arr.forEach(function each(el, index) {\n !utils.isUndefined(el) && formData.append(\n // eslint-disable-next-line no-nested-ternary\n indexes === true ? renderKey([key], index, dots) : (indexes === null ? key : key + '[]'),\n convertValue(el)\n );\n });\n return false;\n }\n }\n\n if (isVisitable(value)) {\n return true;\n }\n\n formData.append(renderKey(path, key, dots), convertValue(value));\n\n return false;\n }\n\n var stack = [];\n\n var exposedHelpers = Object.assign(predicates, {\n defaultVisitor: defaultVisitor,\n convertValue: convertValue,\n isVisitable: isVisitable\n });\n\n function build(value, path) {\n if (utils.isUndefined(value)) return;\n\n if (stack.indexOf(value) !== -1) {\n throw Error('Circular reference detected in ' + path.join('.'));\n }\n\n stack.push(value);\n\n utils.forEach(value, function each(el, key) {\n var result = !utils.isUndefined(el) && visitor.call(\n formData, el, utils.isString(key) ? key.trim() : key, path, exposedHelpers\n );\n\n if (result === true) {\n build(el, path ? path.concat(key) : [key]);\n }\n });\n\n stack.pop();\n }\n\n if (!utils.isObject(obj)) {\n throw new TypeError('data must be an object');\n }\n\n build(obj);\n\n return formData;\n}\n\nmodule.exports = toFormData;\n","'use strict';\n\nvar toFormData = require('./toFormData');\n\nfunction encode(str) {\n var charMap = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+',\n '%00': '\\x00'\n };\n return encodeURIComponent(str).replace(/[!'\\(\\)~]|%20|%00/g, function replacer(match) {\n return charMap[match];\n });\n}\n\nfunction AxiosURLSearchParams(params, options) {\n this._pairs = [];\n\n params && toFormData(params, this, options);\n}\n\nvar prototype = AxiosURLSearchParams.prototype;\n\nprototype.append = function append(name, value) {\n this._pairs.push([name, value]);\n};\n\nprototype.toString = function toString(encoder) {\n var _encode = encoder ? function(value) {\n return encoder.call(this, value, encode);\n } : encode;\n\n return this._pairs.map(function each(pair) {\n return _encode(pair[0]) + '=' + _encode(pair[1]);\n }, '').join('&');\n};\n\nmodule.exports = AxiosURLSearchParams;\n","'use strict';\n\nvar utils = require('../utils');\nvar AxiosURLSearchParams = require('../helpers/AxiosURLSearchParams');\n\nfunction encode(val) {\n return encodeURIComponent(val).\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 * @param {?object} options\n * @returns {string} The formatted url\n */\nmodule.exports = function buildURL(url, params, options) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n\n var hashmarkIndex = url.indexOf('#');\n\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n\n var _encode = options && options.encode || encode;\n\n var serializerParams = utils.isURLSearchParams(params) ?\n params.toString() :\n new AxiosURLSearchParams(params, options).toString(_encode);\n\n if (serializerParams) {\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializerParams;\n }\n\n return url;\n};\n","'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, options) {\n this.handlers.push({\n fulfilled: fulfilled,\n rejected: rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null\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 * Clear all interceptors from the stack\n */\nInterceptorManager.prototype.clear = function clear() {\n if (this.handlers) {\n this.handlers = [];\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');\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\nmodule.exports = {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n};\n","'use strict';\n\nmodule.exports = require('./node/');\n","'use strict';\n\nmodule.exports = {\n isBrowser: true,\n classes: {\n URLSearchParams: require('./classes/URLSearchParams'),\n FormData: require('./classes/FormData'),\n Blob: Blob\n },\n protocols: ['http', 'https', 'file', 'blob', 'url']\n};\n","'use strict';\n\nvar AxiosURLSearchParams = require('../../../helpers/AxiosURLSearchParams');\n\nmodule.exports = typeof URLSearchParams !== 'undefined' ? URLSearchParams : AxiosURLSearchParams;\n","'use strict';\n\nmodule.exports = FormData;\n","'use strict';\n\nvar utils = require('../utils');\n\nfunction parsePropPath(name) {\n // foo[x][y][z]\n // foo.x.y.z\n // foo-x-y-z\n // foo x y z\n return utils.matchAll(/\\w+|\\[(\\w*)]/g, name).map(function(match) {\n return match[0] === '[]' ? '' : match[1] || match[0];\n });\n}\n\nfunction arrayToObject(arr) {\n var obj = {};\n var keys = Object.keys(arr);\n var i;\n var len = keys.length;\n var key;\n for (i = 0; i < len; i++) {\n key = keys[i];\n obj[key] = arr[key];\n }\n return obj;\n}\n\nfunction formDataToJSON(formData) {\n function buildPath(path, value, target, index) {\n var name = path[index++];\n var isNumericKey = Number.isFinite(+name);\n var isLast = index >= path.length;\n name = !name && utils.isArray(target) ? target.length : name;\n\n if (isLast) {\n if (utils.hasOwnProperty(target, name)) {\n target[name] = [target[name], value];\n } else {\n target[name] = value;\n }\n\n return !isNumericKey;\n }\n\n if (!target[name] || !utils.isObject(target[name])) {\n target[name] = [];\n }\n\n var result = buildPath(path, value, target[name], index);\n\n if (result && utils.isArray(target[name])) {\n target[name] = arrayToObject(target[name]);\n }\n\n return !isNumericKey;\n }\n\n if (utils.isFormData(formData) && utils.isFunction(formData.entries)) {\n var obj = {};\n\n utils.forEachEntry(formData, function(name, value) {\n buildPath(parsePropPath(name), value, obj, 0);\n });\n\n return obj;\n }\n\n return null;\n}\n\nmodule.exports = formDataToJSON;\n","'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\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 * 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\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');\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.slice(0, i)).toLowerCase();\n val = utils.trim(line.slice(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","'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 AxiosError = require('../core/AxiosError');\nvar utils = require('../utils');\n\n/**\n * A `CanceledError` is an object that is thrown when an operation is canceled.\n *\n * @class\n * @param {string=} message The message.\n * @param {Object=} config The config.\n * @param {Object=} request The request.\n */\nfunction CanceledError(message, config, request) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n AxiosError.call(this, message == null ? 'canceled' : message, AxiosError.ERR_CANCELED, config, request);\n this.name = 'CanceledError';\n}\n\nutils.inherits(CanceledError, AxiosError, {\n __CANCEL__: true\n});\n\nmodule.exports = CanceledError;\n","'use strict';\n\nvar utils = require('./../utils');\nvar settle = require('./../core/settle');\nvar cookies = require('./../helpers/cookies');\nvar buildURL = require('./../helpers/buildURL');\nvar buildFullPath = require('../core/buildFullPath');\nvar parseHeaders = require('./../helpers/parseHeaders');\nvar isURLSameOrigin = require('./../helpers/isURLSameOrigin');\nvar transitionalDefaults = require('../defaults/transitional');\nvar AxiosError = require('../core/AxiosError');\nvar CanceledError = require('../cancel/CanceledError');\nvar parseProtocol = require('../helpers/parseProtocol');\nvar platform = require('../platform');\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 var responseType = config.responseType;\n var onCanceled;\n function done() {\n if (config.cancelToken) {\n config.cancelToken.unsubscribe(onCanceled);\n }\n\n if (config.signal) {\n config.signal.removeEventListener('abort', onCanceled);\n }\n }\n\n if (utils.isFormData(requestData) && utils.isStandardBrowserEnv()) {\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 ? unescape(encodeURIComponent(config.auth.password)) : '';\n requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password);\n }\n\n var fullPath = buildFullPath(config.baseURL, config.url);\n\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 function onloadend() {\n if (!request) {\n return;\n }\n // Prepare the response\n var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null;\n var responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n 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(function _resolve(value) {\n resolve(value);\n done();\n }, function _reject(err) {\n reject(err);\n done();\n }, response);\n\n // Clean up request\n request = null;\n }\n\n if ('onloadend' in request) {\n // Use onloadend if available\n request.onloadend = onloadend;\n } else {\n // Listen for ready state to emulate onloadend\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 // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n setTimeout(onloadend);\n };\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(new AxiosError('Request aborted', AxiosError.ECONNABORTED, config, 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(new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n var timeoutErrorMessage = config.timeout ? 'timeout of ' + config.timeout + 'ms exceeded' : 'timeout exceeded';\n var transitional = config.transitional || transitionalDefaults;\n if (config.timeoutErrorMessage) {\n timeoutErrorMessage = config.timeoutErrorMessage;\n }\n reject(new AxiosError(\n timeoutErrorMessage,\n transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n config,\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 // 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 (responseType && responseType !== 'json') {\n request.responseType = config.responseType;\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 || config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = function(cancel) {\n if (!request) {\n return;\n }\n reject(!cancel || cancel.type ? new CanceledError(null, config, req) : cancel);\n request.abort();\n request = null;\n };\n\n config.cancelToken && config.cancelToken.subscribe(onCanceled);\n if (config.signal) {\n config.signal.aborted ? onCanceled() : config.signal.addEventListener('abort', onCanceled);\n }\n }\n\n if (!requestData) {\n requestData = null;\n }\n\n var protocol = parseProtocol(fullPath);\n\n if (protocol && platform.protocols.indexOf(protocol) === -1) {\n reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config));\n return;\n }\n\n\n // Send the request\n request.send(requestData);\n });\n};\n","'use strict';\n\nvar AxiosError = require('./AxiosError');\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 (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(new AxiosError(\n 'Request failed with status code ' + response.status,\n [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4],\n response.config,\n response.request,\n response\n ));\n }\n};\n","'use strict';\n\nmodule.exports = function parseProtocol(url) {\n var match = /^([-+\\w]{1,25})(:?\\/\\/|:)/.exec(url);\n return match && match[1] || '';\n};\n","'use strict';\n\nvar utils = require('../utils');\nvar normalizeHeaderName = require('../helpers/normalizeHeaderName');\nvar AxiosError = require('../core/AxiosError');\nvar transitionalDefaults = require('./transitional');\nvar toFormData = require('../helpers/toFormData');\nvar toURLEncodedForm = require('../helpers/toURLEncodedForm');\nvar platform = require('../platform');\nvar formDataToJSON = require('../helpers/formDataToJSON');\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\nfunction stringifySafely(rawValue, parser, encoder) {\n if (utils.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils.trim(rawValue);\n } catch (e) {\n if (e.name !== 'SyntaxError') {\n throw e;\n }\n }\n }\n\n return (encoder || JSON.stringify)(rawValue);\n}\n\nvar defaults = {\n\n transitional: transitionalDefaults,\n\n adapter: getDefaultAdapter(),\n\n transformRequest: [function transformRequest(data, headers) {\n normalizeHeaderName(headers, 'Accept');\n normalizeHeaderName(headers, 'Content-Type');\n\n var contentType = headers && headers['Content-Type'] || '';\n var hasJSONContentType = contentType.indexOf('application/json') > -1;\n var isObjectPayload = utils.isObject(data);\n\n if (isObjectPayload && utils.isHTMLForm(data)) {\n data = new FormData(data);\n }\n\n var isFormData = utils.isFormData(data);\n\n if (isFormData) {\n if (!hasJSONContentType) {\n return data;\n }\n return hasJSONContentType ? JSON.stringify(formDataToJSON(data)) : data;\n }\n\n if (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\n var isFileList;\n\n if (isObjectPayload) {\n if (contentType.indexOf('application/x-www-form-urlencoded') !== -1) {\n return toURLEncodedForm(data, this.formSerializer).toString();\n }\n\n if ((isFileList = utils.isFileList(data)) || contentType.indexOf('multipart/form-data') > -1) {\n var _FormData = this.env && this.env.FormData;\n\n return toFormData(\n isFileList ? {'files[]': data} : data,\n _FormData && new _FormData(),\n this.formSerializer\n );\n }\n }\n\n if (isObjectPayload || hasJSONContentType ) {\n setContentTypeIfUnset(headers, 'application/json');\n return stringifySafely(data);\n }\n\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n var transitional = this.transitional || defaults.transitional;\n var forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n var JSONRequested = this.responseType === 'json';\n\n if (data && utils.isString(data) && ((forcedJSONParsing && !this.responseType) || JSONRequested)) {\n var silentJSONParsing = transitional && transitional.silentJSONParsing;\n var strictJSONParsing = !silentJSONParsing && JSONRequested;\n\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response);\n }\n throw e;\n }\n }\n }\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 maxBodyLength: -1,\n\n env: {\n FormData: platform.classes.FormData,\n Blob: platform.classes.Blob\n },\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n },\n\n headers: {\n common: {\n 'Accept': 'application/json, text/plain, */*'\n }\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","'use strict';\n\nvar utils = require('../utils');\nvar toFormData = require('./toFormData');\nvar platform = require('../platform/');\n\nmodule.exports = function toURLEncodedForm(data, options) {\n return toFormData(data, new platform.classes.URLSearchParams(), Object.assign({\n visitor: function(value, key, path, helpers) {\n if (platform.isNode && utils.isBuffer(value)) {\n this.append(key, value.toString('base64'));\n return false;\n }\n\n return helpers.defaultVisitor.apply(this, arguments);\n }\n }, options));\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar defaults = require('../defaults');\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 {Number} status HTTP status code\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, status, fns) {\n var context = this || defaults;\n /*eslint no-param-reassign:0*/\n utils.forEach(fns, function transform(fn) {\n data = fn.call(context, data, headers, status);\n });\n\n return data;\n};\n","'use strict';\n\nmodule.exports = function isCancel(value) {\n return !!(value && value.__CANCEL__);\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar transformData = require('./transformData');\nvar isCancel = require('../cancel/isCancel');\nvar defaults = require('../defaults');\nvar CanceledError = require('../cancel/CanceledError');\nvar normalizeHeaderName = require('../helpers/normalizeHeaderName');\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new CanceledError();\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.call(\n config,\n config.data,\n config.headers,\n null,\n config.transformRequest\n );\n\n normalizeHeaderName(config.headers, 'Accept');\n normalizeHeaderName(config.headers, 'Content-Type');\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.call(\n config,\n response.data,\n response.headers,\n response.status,\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.call(\n config,\n reason.response.data,\n reason.response.headers,\n reason.response.status,\n config.transformResponse\n );\n }\n }\n\n return Promise.reject(reason);\n });\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 function getMergedValue(target, source) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge(target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDeepProperties(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(config1[prop], config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n return getMergedValue(undefined, config1[prop]);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(undefined, config2[prop]);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(undefined, config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n return getMergedValue(undefined, config1[prop]);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(prop) {\n if (prop in config2) {\n return getMergedValue(config1[prop], config2[prop]);\n } else if (prop in config1) {\n return getMergedValue(undefined, config1[prop]);\n }\n }\n\n var mergeMap = {\n 'url': valueFromConfig2,\n 'method': valueFromConfig2,\n 'data': valueFromConfig2,\n 'baseURL': defaultToConfig2,\n 'transformRequest': defaultToConfig2,\n 'transformResponse': defaultToConfig2,\n 'paramsSerializer': defaultToConfig2,\n 'timeout': defaultToConfig2,\n 'timeoutMessage': defaultToConfig2,\n 'withCredentials': defaultToConfig2,\n 'adapter': defaultToConfig2,\n 'responseType': defaultToConfig2,\n 'xsrfCookieName': defaultToConfig2,\n 'xsrfHeaderName': defaultToConfig2,\n 'onUploadProgress': defaultToConfig2,\n 'onDownloadProgress': defaultToConfig2,\n 'decompress': defaultToConfig2,\n 'maxContentLength': defaultToConfig2,\n 'maxBodyLength': defaultToConfig2,\n 'beforeRedirect': defaultToConfig2,\n 'transport': defaultToConfig2,\n 'httpAgent': defaultToConfig2,\n 'httpsAgent': defaultToConfig2,\n 'cancelToken': defaultToConfig2,\n 'socketPath': defaultToConfig2,\n 'responseEncoding': defaultToConfig2,\n 'validateStatus': mergeDirectKeys\n };\n\n utils.forEach(Object.keys(config1).concat(Object.keys(config2)), function computeConfigValue(prop) {\n var merge = mergeMap[prop] || mergeDeepProperties;\n var configValue = merge(prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n};\n","module.exports = {\n \"version\": \"1.0.0-alpha.1\"\n};","'use strict';\n\nvar VERSION = require('../env/data').version;\nvar AxiosError = require('../core/AxiosError');\n\nvar validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach(function(type, i) {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nvar deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n * @param {function|boolean?} validator - set to false if the transitional option has been removed\n * @param {string?} version - deprecated version / removed since version\n * @param {string?} message - some message with additional info\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n function formatMessage(opt, desc) {\n return '[Axios v' + VERSION + '] Transitional option \\'' + opt + '\\'' + desc + (message ? '. ' + message : '');\n }\n\n // eslint-disable-next-line func-names\n return function(value, opt, opts) {\n if (validator === false) {\n throw new AxiosError(\n formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')),\n AxiosError.ERR_DEPRECATED\n );\n }\n\n if (version && !deprecatedWarnings[opt]) {\n deprecatedWarnings[opt] = true;\n // eslint-disable-next-line no-console\n console.warn(\n formatMessage(\n opt,\n ' has been deprecated since v' + version + ' and will be removed in the near future'\n )\n );\n }\n\n return validator ? validator(value, opt, opts) : true;\n };\n};\n\n/**\n * Assert object's properties type\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE);\n }\n var keys = Object.keys(options);\n var i = keys.length;\n while (i-- > 0) {\n var opt = keys[i];\n var validator = schema[opt];\n if (validator) {\n var value = options[opt];\n var result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new AxiosError('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION);\n }\n }\n}\n\nmodule.exports = {\n assertOptions: assertOptions,\n validators: validators\n};\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');\nvar buildFullPath = require('./buildFullPath');\nvar validator = require('../helpers/validator');\n\nvar validators = validator.validators;\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 {String|Object} configOrUrl The config specific for this request (merged with this.defaults)\n * @param {?Object} config\n */\nAxios.prototype.request = function request(configOrUrl, config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof configOrUrl === 'string') {\n config = config || {};\n config.url = configOrUrl;\n } else {\n config = configOrUrl || {};\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 var transitional = config.transitional;\n\n if (transitional !== undefined) {\n validator.assertOptions(transitional, {\n silentJSONParsing: validators.transitional(validators.boolean),\n forcedJSONParsing: validators.transitional(validators.boolean),\n clarifyTimeoutError: validators.transitional(validators.boolean)\n }, false);\n }\n\n // filter out skipped interceptors\n var requestInterceptorChain = [];\n var synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n return;\n }\n\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n var responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n var promise;\n\n if (!synchronousRequestInterceptors) {\n var chain = [dispatchRequest, undefined];\n\n Array.prototype.unshift.apply(chain, requestInterceptorChain);\n chain = chain.concat(responseInterceptorChain);\n\n promise = Promise.resolve(config);\n while (chain.length) {\n promise = promise.then(chain.shift(), chain.shift());\n }\n\n return promise;\n }\n\n\n var newConfig = config;\n while (requestInterceptorChain.length) {\n var onFulfilled = requestInterceptorChain.shift();\n var onRejected = requestInterceptorChain.shift();\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected(error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest(newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n while (responseInterceptorChain.length) {\n promise = promise.then(responseInterceptorChain.shift(), responseInterceptorChain.shift());\n }\n\n return promise;\n};\n\nAxios.prototype.getUri = function getUri(config) {\n config = mergeConfig(this.defaults, config);\n var fullPath = buildFullPath(config.baseURL, config.url);\n return buildURL(fullPath, config.params, config.paramsSerializer);\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(mergeConfig(config || {}, {\n method: method,\n url: url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n\n function generateHTTPMethod(isForm) {\n return function httpMethod(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n headers: isForm ? {\n 'Content-Type': 'multipart/form-data'\n } : {},\n url: url,\n data: data\n }));\n };\n }\n\n Axios.prototype[method] = generateHTTPMethod();\n\n Axios.prototype[method + 'Form'] = generateHTTPMethod(true);\n});\n\nmodule.exports = Axios;\n","'use strict';\n\nvar CanceledError = require('./CanceledError');\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\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n var token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then(function(cancel) {\n if (!token._listeners) return;\n\n var i = token._listeners.length;\n\n while (i-- > 0) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = function(onfulfilled) {\n var _resolve;\n // eslint-disable-next-line func-names\n var promise = new Promise(function(resolve) {\n token.subscribe(resolve);\n _resolve = resolve;\n }).then(onfulfilled);\n\n promise.cancel = function reject() {\n token.unsubscribe(_resolve);\n };\n\n return promise;\n };\n\n executor(function cancel(message, config, request) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new CanceledError(message, config, request);\n resolvePromise(token.reason);\n });\n}\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n */\nCancelToken.prototype.throwIfRequested = function throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n};\n\n/**\n * Subscribe to the cancel signal\n */\n\nCancelToken.prototype.subscribe = function subscribe(listener) {\n if (this.reason) {\n listener(this.reason);\n return;\n }\n\n if (this._listeners) {\n this._listeners.push(listener);\n } else {\n this._listeners = [listener];\n }\n};\n\n/**\n * Unsubscribe from the cancel signal\n */\n\nCancelToken.prototype.unsubscribe = function unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n var index = this._listeners.indexOf(listener);\n if (index !== -1) {\n this._listeners.splice(index, 1);\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 bind = require('./helpers/bind');\nvar Axios = require('./core/Axios');\nvar mergeConfig = require('./core/mergeConfig');\nvar defaults = require('./defaults');\nvar formDataToJSON = require('./helpers/formDataToJSON');\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 // Factory for creating new instances\n instance.create = function create(instanceConfig) {\n return createInstance(mergeConfig(defaultConfig, instanceConfig));\n };\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// Expose Cancel & CancelToken\naxios.CanceledError = require('./cancel/CanceledError');\naxios.CancelToken = require('./cancel/CancelToken');\naxios.isCancel = require('./cancel/isCancel');\naxios.VERSION = require('./env/data').version;\naxios.toFormData = require('./helpers/toFormData');\n\n// Expose AxiosError class\naxios.AxiosError = require('../lib/core/AxiosError');\n\n// alias for CanceledError for backward compatibility\naxios.Cancel = axios.CanceledError;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\naxios.spread = require('./helpers/spread');\n\n// Expose isAxiosError\naxios.isAxiosError = require('./helpers/isAxiosError');\n\naxios.formToJSON = function(thing) {\n return formDataToJSON(utils.isHTMLForm(thing) ? new FormData(thing) : thing);\n};\n\nmodule.exports = axios;\n\n// Allow use of default import syntax in TypeScript\nmodule.exports.default = axios;\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\nvar utils = require('./../utils');\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nmodule.exports = function isAxiosError(payload) {\n return utils.isObject(payload) && (payload.isAxiosError === true);\n};\n"],"names":["cache","bind","fn","thisArg","apply","arguments","toString","Object","prototype","kindOf","create","thing","str","call","slice","toLowerCase","kindOfTest","type","isArray","val","Array","isUndefined","isArrayBuffer","isNumber","isObject","isPlainObject","getPrototypeOf","isDate","isFile","isBlob","isFileList","isFunction","isURLSearchParams","forEach","obj","i","l","length","key","hasOwnProperty","TypedArray","isTypedArray","Uint8Array","_hasOwnProperty","isHTMLForm","prop","utils","isBuffer","constructor","isFormData","pattern","FormData","isArrayBufferView","ArrayBuffer","isView","buffer","isString","isStream","pipe","isStandardBrowserEnv","product","navigator","window","document","merge","result","assignValue","extend","a","b","trim","replace","stripBOM","content","charCodeAt","inherits","superConstructor","props","descriptors","assign","toFlatObject","sourceObj","destObj","filter","propFilter","merged","getOwnPropertyNames","endsWith","searchString","position","String","undefined","lastIndex","indexOf","toArray","arr","forEachEntry","iterator","Symbol","next","done","pair","value","matchAll","regExp","matches","exec","push","AxiosError","message","code","config","request","response","Error","this","captureStackTrace","stack","name","toJSON","description","number","fileName","lineNumber","columnNumber","status","defineProperties","defineProperty","from","error","customProps","axiosError","cause","AxiosError_1","self","isVisitable","removeBrackets","renderKey","path","dots","concat","map","token","join","predicates","test","toFormData_1","formData","options","TypeError","envFormData","metaTokens","indexes","option","source","visitor","defaultVisitor","useBlob","Blob","append","toStringTag","convertValue","toISOString","Buffer","JSON","stringify","some","isFlatArray","el","index","exposedHelpers","build","pop","encode","charMap","encodeURIComponent","match","AxiosURLSearchParams","params","_pairs","toFormData","encoder","_encode","AxiosURLSearchParams_1","buildURL","url","hashmarkIndex","serializerParams","InterceptorManager","handlers","use","fulfilled","rejected","synchronous","runWhen","eject","id","clear","h","InterceptorManager_1","normalizeHeaderName","headers","normalizedName","toUpperCase","transitional","silentJSONParsing","forcedJSONParsing","clarifyTimeoutError","platform","isBrowser","classes","URLSearchParams","protocols","formDataToJSON_1","buildPath","target","isNumericKey","Number","isFinite","isLast","keys","len","arrayToObject","entries","parsePropPath","cookies","write","expires","domain","secure","cookie","Date","toGMTString","read","RegExp","decodeURIComponent","remove","now","buildFullPath","baseURL","requestedURL","relativeURL","combineURLs","ignoreDuplicateOf","isURLSameOrigin","originURL","msie","userAgent","urlParsingNode","createElement","resolveURL","href","setAttribute","protocol","host","search","hash","hostname","port","pathname","charAt","location","requestURL","parsed","CanceledError","ERR_CANCELED","__CANCEL__","CanceledError_1","xhr","Promise","resolve","reject","onCanceled","requestData","data","requestHeaders","responseType","cancelToken","unsubscribe","signal","removeEventListener","XMLHttpRequest","auth","username","password","unescape","Authorization","btoa","fullPath","onloadend","responseHeaders","getAllResponseHeaders","split","line","validateStatus","ERR_BAD_REQUEST","ERR_BAD_RESPONSE","Math","floor","settle","err","responseText","statusText","open","method","paramsSerializer","timeout","onreadystatechange","readyState","responseURL","setTimeout","onabort","ECONNABORTED","onerror","ERR_NETWORK","ontimeout","timeoutErrorMessage","transitionalDefaults","ETIMEDOUT","xsrfValue","withCredentials","xsrfCookieName","xsrfHeaderName","setRequestHeader","onDownloadProgress","addEventListener","onUploadProgress","upload","cancel","req","abort","subscribe","aborted","send","DEFAULT_CONTENT_TYPE","setContentTypeIfUnset","adapter","defaults","process","require$$0","transformRequest","contentType","hasJSONContentType","isObjectPayload","formDataToJSON","helpers","isNode","toURLEncodedForm","formSerializer","_FormData","env","rawValue","parser","parse","e","stringifySafely","transformResponse","JSONRequested","strictJSONParsing","maxContentLength","maxBodyLength","common","Accept","defaults_1","transformData","fns","context","isCancel","throwIfCancellationRequested","throwIfRequested","dispatchRequest","then","reason","mergeConfig","config1","config2","getMergedValue","mergeDeepProperties","valueFromConfig2","defaultToConfig2","mergeDirectKeys","mergeMap","timeoutMessage","decompress","beforeRedirect","transport","httpAgent","httpsAgent","socketPath","responseEncoding","configValue","VERSION","validators","deprecatedWarnings","validators$1","validator","version","formatMessage","opt","desc","opts","ERR_DEPRECATED","console","warn","assertOptions","schema","allowUnknown","ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","Axios","instanceConfig","interceptors","configOrUrl","boolean","requestInterceptorChain","synchronousRequestInterceptors","interceptor","unshift","promise","responseInterceptorChain","chain","shift","newConfig","onFulfilled","onRejected","getUri","generateHTTPMethod","isForm","Axios_1","CancelToken","executor","resolvePromise","_listeners","onfulfilled","_resolve","listener","splice","c","CancelToken_1","axios","createInstance","defaultConfig","instance","require$$1","require$$2","require$$3","require$$4","require$$5","Cancel","all","promises","spread","callback","isAxiosError","payload","formToJSON","axios_1","_default"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"axios.min.js","sources":["../lib/helpers/bind.js","../lib/utils.js","../lib/core/AxiosError.js","../node_modules/form-data/lib/browser.js","../lib/helpers/toFormData.js","../lib/helpers/AxiosURLSearchParams.js","../lib/helpers/buildURL.js","../lib/platform/browser/index.js","../lib/core/InterceptorManager.js","../lib/defaults/transitional.js","../lib/platform/browser/classes/URLSearchParams.js","../lib/platform/browser/classes/FormData.js","../lib/helpers/formDataToJSON.js","../lib/helpers/cookies.js","../lib/core/buildFullPath.js","../lib/helpers/isAbsoluteURL.js","../lib/helpers/combineURLs.js","../lib/helpers/isURLSameOrigin.js","../lib/cancel/CanceledError.js","../lib/helpers/parseHeaders.js","../lib/core/AxiosHeaders.js","../lib/adapters/xhr.js","../lib/helpers/speedometer.js","../lib/core/settle.js","../lib/helpers/parseProtocol.js","../lib/adapters/index.js","../lib/defaults/index.js","../lib/helpers/toURLEncodedForm.js","../lib/core/transformData.js","../lib/cancel/isCancel.js","../lib/core/dispatchRequest.js","../lib/core/mergeConfig.js","../lib/env/data.js","../lib/helpers/validator.js","../lib/core/Axios.js","../lib/cancel/CancelToken.js","../lib/axios.js","../lib/helpers/spread.js","../lib/helpers/isAxiosError.js"],"sourcesContent":["'use strict';\n\nexport default function bind(fn, thisArg) {\n return function wrap() {\n return fn.apply(thisArg, arguments);\n };\n}\n","'use strict';\n\nimport bind from './helpers/bind.js';\n\n// utils is a library of generic helper functions non-specific to axios\n\nconst {toString} = Object.prototype;\nconst {getPrototypeOf} = Object;\n\nconst kindOf = (cache => thing => {\n const str = toString.call(thing);\n return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n})(Object.create(null));\n\nconst kindOfTest = (type) => {\n type = type.toLowerCase();\n return (thing) => kindOf(thing) === type\n}\n\nconst typeOfTest = type => thing => typeof thing === type;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n *\n * @returns {boolean} True if value is an Array, otherwise false\n */\nconst {isArray} = Array;\n\n/**\n * Determine if a value is undefined\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nconst isUndefined = typeOfTest('undefined');\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {*} val The value to test\n *\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 && isFunction(val.constructor.isBuffer) && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nconst isArrayBuffer = kindOfTest('ArrayBuffer');\n\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n let result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (isArrayBuffer(val.buffer));\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a String, otherwise false\n */\nconst isString = typeOfTest('string');\n\n/**\n * Determine if a value is a Function\n *\n * @param {*} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nconst isFunction = typeOfTest('function');\n\n/**\n * Determine if a value is a Number\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Number, otherwise false\n */\nconst isNumber = typeOfTest('number');\n\n/**\n * Determine if a value is an Object\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an Object, otherwise false\n */\nconst isObject = (thing) => thing !== null && typeof thing === 'object';\n\n/**\n * Determine if a value is a Boolean\n *\n * @param {*} thing The value to test\n * @returns {boolean} True if value is a Boolean, otherwise false\n */\nconst isBoolean = thing => thing === true || thing === false;\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a plain Object, otherwise false\n */\nconst isPlainObject = (val) => {\n if (kindOf(val) !== 'object') {\n return false;\n }\n\n const prototype = getPrototypeOf(val);\n return prototype === null || prototype === Object.prototype;\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Date, otherwise false\n */\nconst isDate = kindOfTest('Date');\n\n/**\n * Determine if a value is a File\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFile = kindOfTest('File');\n\n/**\n * Determine if a value is a Blob\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nconst isBlob = kindOfTest('Blob');\n\n/**\n * Determine if a value is a FileList\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFileList = kindOfTest('FileList');\n\n/**\n * Determine if a value is a Stream\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nconst isStream = (val) => isObject(val) && isFunction(val.pipe);\n\n/**\n * Determine if a value is a FormData\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nconst isFormData = (thing) => {\n const pattern = '[object FormData]';\n return thing && (\n (typeof FormData === 'function' && thing instanceof FormData) ||\n toString.call(thing) === pattern ||\n (isFunction(thing.toString) && thing.toString() === pattern)\n );\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nconst isURLSearchParams = kindOfTest('URLSearchParams');\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n *\n * @returns {String} The String freed of excess whitespace\n */\nconst trim = (str) => str.trim ?\n str.trim() : str.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '');\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 *\n * @param {Boolean} [allOwnKeys = false]\n * @returns {void}\n */\nfunction forEach(obj, fn, {allOwnKeys = false} = {}) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n let i;\n let l;\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 (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 const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj);\n const len = keys.length;\n let key;\n\n for (i = 0; i < len; i++) {\n key = keys[i];\n fn.call(null, obj[key], key, obj);\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 *\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n const result = {};\n const assignValue = (val, key) => {\n if (isPlainObject(result[key]) && isPlainObject(val)) {\n result[key] = merge(result[key], val);\n } else if (isPlainObject(val)) {\n result[key] = merge({}, val);\n } else if (isArray(val)) {\n result[key] = val.slice();\n } else {\n result[key] = val;\n }\n }\n\n for (let i = 0, l = arguments.length; i < l; i++) {\n arguments[i] && 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 *\n * @param {Boolean} [allOwnKeys]\n * @returns {Object} The resulting value of object a\n */\nconst extend = (a, b, thisArg, {allOwnKeys}= {}) => {\n forEach(b, (val, key) => {\n if (thisArg && isFunction(val)) {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n }, {allOwnKeys});\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n *\n * @returns {string} content value without BOM\n */\nconst stripBOM = (content) => {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\n/**\n * Inherit the prototype methods from one constructor into another\n * @param {function} constructor\n * @param {function} superConstructor\n * @param {object} [props]\n * @param {object} [descriptors]\n *\n * @returns {void}\n */\nconst inherits = (constructor, superConstructor, props, descriptors) => {\n constructor.prototype = Object.create(superConstructor.prototype, descriptors);\n constructor.prototype.constructor = constructor;\n Object.defineProperty(constructor, 'super', {\n value: superConstructor.prototype\n });\n props && Object.assign(constructor.prototype, props);\n}\n\n/**\n * Resolve object with deep prototype chain to a flat object\n * @param {Object} sourceObj source object\n * @param {Object} [destObj]\n * @param {Function|Boolean} [filter]\n * @param {Function} [propFilter]\n *\n * @returns {Object}\n */\nconst toFlatObject = (sourceObj, destObj, filter, propFilter) => {\n let props;\n let i;\n let prop;\n const merged = {};\n\n destObj = destObj || {};\n // eslint-disable-next-line no-eq-null,eqeqeq\n if (sourceObj == null) return destObj;\n\n do {\n props = Object.getOwnPropertyNames(sourceObj);\n i = props.length;\n while (i-- > 0) {\n prop = props[i];\n if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) {\n destObj[prop] = sourceObj[prop];\n merged[prop] = true;\n }\n }\n sourceObj = filter !== false && getPrototypeOf(sourceObj);\n } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);\n\n return destObj;\n}\n\n/**\n * Determines whether a string ends with the characters of a specified string\n *\n * @param {String} str\n * @param {String} searchString\n * @param {Number} [position= 0]\n *\n * @returns {boolean}\n */\nconst endsWith = (str, searchString, position) => {\n str = String(str);\n if (position === undefined || position > str.length) {\n position = str.length;\n }\n position -= searchString.length;\n const lastIndex = str.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n}\n\n\n/**\n * Returns new array from array like object or null if failed\n *\n * @param {*} [thing]\n *\n * @returns {?Array}\n */\nconst toArray = (thing) => {\n if (!thing) return null;\n if (isArray(thing)) return thing;\n let i = thing.length;\n if (!isNumber(i)) return null;\n const arr = new Array(i);\n while (i-- > 0) {\n arr[i] = thing[i];\n }\n return arr;\n}\n\n/**\n * Checking if the Uint8Array exists and if it does, it returns a function that checks if the\n * thing passed in is an instance of Uint8Array\n *\n * @param {TypedArray}\n *\n * @returns {Array}\n */\n// eslint-disable-next-line func-names\nconst isTypedArray = (TypedArray => {\n // eslint-disable-next-line func-names\n return thing => {\n return TypedArray && thing instanceof TypedArray;\n };\n})(typeof Uint8Array !== 'undefined' && getPrototypeOf(Uint8Array));\n\n/**\n * For each entry in the object, call the function with the key and value.\n *\n * @param {Object} obj - The object to iterate over.\n * @param {Function} fn - The function to call for each entry.\n *\n * @returns {void}\n */\nconst forEachEntry = (obj, fn) => {\n const generator = obj && obj[Symbol.iterator];\n\n const iterator = generator.call(obj);\n\n let result;\n\n while ((result = iterator.next()) && !result.done) {\n const pair = result.value;\n fn.call(obj, pair[0], pair[1]);\n }\n}\n\n/**\n * It takes a regular expression and a string, and returns an array of all the matches\n *\n * @param {string} regExp - The regular expression to match against.\n * @param {string} str - The string to search.\n *\n * @returns {Array}\n */\nconst matchAll = (regExp, str) => {\n let matches;\n const arr = [];\n\n while ((matches = regExp.exec(str)) !== null) {\n arr.push(matches);\n }\n\n return arr;\n}\n\n/* Checking if the kindOfTest function returns true when passed an HTMLFormElement. */\nconst isHTMLForm = kindOfTest('HTMLFormElement');\n\nconst toCamelCase = str => {\n return str.toLowerCase().replace(/[_-\\s]([a-z\\d])(\\w*)/g,\n function replacer(m, p1, p2) {\n return p1.toUpperCase() + p2;\n }\n );\n};\n\n/* Creating a function that will check if an object has a property. */\nconst hasOwnProperty = (({hasOwnProperty}) => (obj, prop) => hasOwnProperty.call(obj, prop))(Object.prototype);\n\n/**\n * Determine if a value is a RegExp object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a RegExp object, otherwise false\n */\nconst isRegExp = kindOfTest('RegExp');\n\nconst reduceDescriptors = (obj, reducer) => {\n const descriptors = Object.getOwnPropertyDescriptors(obj);\n const reducedDescriptors = {};\n\n forEach(descriptors, (descriptor, name) => {\n if (reducer(descriptor, name, obj) !== false) {\n reducedDescriptors[name] = descriptor;\n }\n });\n\n Object.defineProperties(obj, reducedDescriptors);\n}\n\n/**\n * Makes all methods read-only\n * @param {Object} obj\n */\n\nconst freezeMethods = (obj) => {\n reduceDescriptors(obj, (descriptor, name) => {\n const value = obj[name];\n\n if (!isFunction(value)) return;\n\n descriptor.enumerable = false;\n\n if ('writable' in descriptor) {\n descriptor.writable = false;\n return;\n }\n\n if (!descriptor.set) {\n descriptor.set = () => {\n throw Error('Can not read-only method \\'' + name + '\\'');\n };\n }\n });\n}\n\nconst toObjectSet = (arrayOrString, delimiter) => {\n const obj = {};\n\n const define = (arr) => {\n arr.forEach(value => {\n obj[value] = true;\n });\n }\n\n isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter));\n\n return obj;\n}\n\nconst noop = () => {}\n\nconst toFiniteNumber = (value, defaultValue) => {\n value = +value;\n return Number.isFinite(value) ? value : defaultValue;\n}\n\nexport default {\n isArray,\n isArrayBuffer,\n isBuffer,\n isFormData,\n isArrayBufferView,\n isString,\n isNumber,\n isBoolean,\n isObject,\n isPlainObject,\n isUndefined,\n isDate,\n isFile,\n isBlob,\n isRegExp,\n isFunction,\n isStream,\n isURLSearchParams,\n isTypedArray,\n isFileList,\n forEach,\n merge,\n extend,\n trim,\n stripBOM,\n inherits,\n toFlatObject,\n kindOf,\n kindOfTest,\n endsWith,\n toArray,\n forEachEntry,\n matchAll,\n isHTMLForm,\n hasOwnProperty,\n hasOwnProp: hasOwnProperty, // an alias to avoid ESLint no-prototype-builtins detection\n reduceDescriptors,\n freezeMethods,\n toObjectSet,\n toCamelCase,\n noop,\n toFiniteNumber\n};\n","'use strict';\n\nimport utils from '../utils.js';\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 {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [config] The config.\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n *\n * @returns {Error} The created error.\n */\nfunction AxiosError(message, code, config, request, response) {\n Error.call(this);\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n } else {\n this.stack = (new Error()).stack;\n }\n\n this.message = message;\n this.name = 'AxiosError';\n code && (this.code = code);\n config && (this.config = config);\n request && (this.request = request);\n response && (this.response = response);\n}\n\nutils.inherits(AxiosError, Error, {\n toJSON: function toJSON() {\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 status: this.response && this.response.status ? this.response.status : null\n };\n }\n});\n\nconst prototype = AxiosError.prototype;\nconst descriptors = {};\n\n[\n 'ERR_BAD_OPTION_VALUE',\n 'ERR_BAD_OPTION',\n 'ECONNABORTED',\n 'ETIMEDOUT',\n 'ERR_NETWORK',\n 'ERR_FR_TOO_MANY_REDIRECTS',\n 'ERR_DEPRECATED',\n 'ERR_BAD_RESPONSE',\n 'ERR_BAD_REQUEST',\n 'ERR_CANCELED',\n 'ERR_NOT_SUPPORT',\n 'ERR_INVALID_URL'\n// eslint-disable-next-line func-names\n].forEach(code => {\n descriptors[code] = {value: code};\n});\n\nObject.defineProperties(AxiosError, descriptors);\nObject.defineProperty(prototype, 'isAxiosError', {value: true});\n\n// eslint-disable-next-line func-names\nAxiosError.from = (error, code, config, request, response, customProps) => {\n const axiosError = Object.create(prototype);\n\n utils.toFlatObject(error, axiosError, function filter(obj) {\n return obj !== Error.prototype;\n }, prop => {\n return prop !== 'isAxiosError';\n });\n\n AxiosError.call(axiosError, error.message, code, config, request, response);\n\n axiosError.cause = error;\n\n axiosError.name = error.name;\n\n customProps && Object.assign(axiosError, customProps);\n\n return axiosError;\n};\n\nexport default AxiosError;\n","/* eslint-env browser */\nmodule.exports = typeof self == 'object' ? self.FormData : window.FormData;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\nimport envFormData from '../env/classes/FormData.js';\n\n/**\n * Determines if the given thing is a array or js object.\n *\n * @param {string} thing - The object or array to be visited.\n *\n * @returns {boolean}\n */\nfunction isVisitable(thing) {\n return utils.isPlainObject(thing) || utils.isArray(thing);\n}\n\n/**\n * It removes the brackets from the end of a string\n *\n * @param {string} key - The key of the parameter.\n *\n * @returns {string} the key without the brackets.\n */\nfunction removeBrackets(key) {\n return utils.endsWith(key, '[]') ? key.slice(0, -2) : key;\n}\n\n/**\n * It takes a path, a key, and a boolean, and returns a string\n *\n * @param {string} path - The path to the current key.\n * @param {string} key - The key of the current object being iterated over.\n * @param {string} dots - If true, the key will be rendered with dots instead of brackets.\n *\n * @returns {string} The path to the current key.\n */\nfunction renderKey(path, key, dots) {\n if (!path) return key;\n return path.concat(key).map(function each(token, i) {\n // eslint-disable-next-line no-param-reassign\n token = removeBrackets(token);\n return !dots && i ? '[' + token + ']' : token;\n }).join(dots ? '.' : '');\n}\n\n/**\n * If the array is an array and none of its elements are visitable, then it's a flat array.\n *\n * @param {Array} arr - The array to check\n *\n * @returns {boolean}\n */\nfunction isFlatArray(arr) {\n return utils.isArray(arr) && !arr.some(isVisitable);\n}\n\nconst predicates = utils.toFlatObject(utils, {}, null, function filter(prop) {\n return /^is[A-Z]/.test(prop);\n});\n\n/**\n * If the thing is a FormData object, return true, otherwise return false.\n *\n * @param {unknown} thing - The thing to check.\n *\n * @returns {boolean}\n */\nfunction isSpecCompliant(thing) {\n return thing && utils.isFunction(thing.append) && thing[Symbol.toStringTag] === 'FormData' && thing[Symbol.iterator];\n}\n\n/**\n * Convert a data object to FormData\n *\n * @param {Object} obj\n * @param {?Object} [formData]\n * @param {?Object} [options]\n * @param {Function} [options.visitor]\n * @param {Boolean} [options.metaTokens = true]\n * @param {Boolean} [options.dots = false]\n * @param {?Boolean} [options.indexes = false]\n *\n * @returns {Object}\n **/\n\n/**\n * It converts an object into a FormData object\n *\n * @param {Object} obj - The object to convert to form data.\n * @param {string} formData - The FormData object to append to.\n * @param {Object} options\n *\n * @returns\n */\nfunction toFormData(obj, formData, options) {\n if (!utils.isObject(obj)) {\n throw new TypeError('target must be an object');\n }\n\n // eslint-disable-next-line no-param-reassign\n formData = formData || new (envFormData || FormData)();\n\n // eslint-disable-next-line no-param-reassign\n options = utils.toFlatObject(options, {\n metaTokens: true,\n dots: false,\n indexes: false\n }, false, function defined(option, source) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n return !utils.isUndefined(source[option]);\n });\n\n const metaTokens = options.metaTokens;\n // eslint-disable-next-line no-use-before-define\n const visitor = options.visitor || defaultVisitor;\n const dots = options.dots;\n const indexes = options.indexes;\n const _Blob = options.Blob || typeof Blob !== 'undefined' && Blob;\n const useBlob = _Blob && isSpecCompliant(formData);\n\n if (!utils.isFunction(visitor)) {\n throw new TypeError('visitor must be a function');\n }\n\n function convertValue(value) {\n if (value === null) return '';\n\n if (utils.isDate(value)) {\n return value.toISOString();\n }\n\n if (!useBlob && utils.isBlob(value)) {\n throw new AxiosError('Blob is not supported. Use a Buffer instead.');\n }\n\n if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {\n return useBlob && typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value);\n }\n\n return value;\n }\n\n /**\n * Default visitor.\n *\n * @param {*} value\n * @param {String|Number} key\n * @param {Array} path\n * @this {FormData}\n *\n * @returns {boolean} return true to visit the each prop of the value recursively\n */\n function defaultVisitor(value, key, path) {\n let arr = value;\n\n if (value && !path && typeof value === 'object') {\n if (utils.endsWith(key, '{}')) {\n // eslint-disable-next-line no-param-reassign\n key = metaTokens ? key : key.slice(0, -2);\n // eslint-disable-next-line no-param-reassign\n value = JSON.stringify(value);\n } else if (\n (utils.isArray(value) && isFlatArray(value)) ||\n (utils.isFileList(value) || utils.endsWith(key, '[]') && (arr = utils.toArray(value))\n )) {\n // eslint-disable-next-line no-param-reassign\n key = removeBrackets(key);\n\n arr.forEach(function each(el, index) {\n !utils.isUndefined(el) && formData.append(\n // eslint-disable-next-line no-nested-ternary\n indexes === true ? renderKey([key], index, dots) : (indexes === null ? key : key + '[]'),\n convertValue(el)\n );\n });\n return false;\n }\n }\n\n if (isVisitable(value)) {\n return true;\n }\n\n formData.append(renderKey(path, key, dots), convertValue(value));\n\n return false;\n }\n\n const stack = [];\n\n const exposedHelpers = Object.assign(predicates, {\n defaultVisitor,\n convertValue,\n isVisitable\n });\n\n function build(value, path) {\n if (utils.isUndefined(value)) return;\n\n if (stack.indexOf(value) !== -1) {\n throw Error('Circular reference detected in ' + path.join('.'));\n }\n\n stack.push(value);\n\n utils.forEach(value, function each(el, key) {\n const result = !utils.isUndefined(el) && visitor.call(\n formData, el, utils.isString(key) ? key.trim() : key, path, exposedHelpers\n );\n\n if (result === true) {\n build(el, path ? path.concat(key) : [key]);\n }\n });\n\n stack.pop();\n }\n\n if (!utils.isObject(obj)) {\n throw new TypeError('data must be an object');\n }\n\n build(obj);\n\n return formData;\n}\n\nexport default toFormData;\n","'use strict';\n\nimport toFormData from './toFormData.js';\n\n/**\n * It encodes a string by replacing all characters that are not in the unreserved set with\n * their percent-encoded equivalents\n *\n * @param {string} str - The string to encode.\n *\n * @returns {string} The encoded string.\n */\nfunction encode(str) {\n const charMap = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+',\n '%00': '\\x00'\n };\n return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) {\n return charMap[match];\n });\n}\n\n/**\n * It takes a params object and converts it to a FormData object\n *\n * @param {Object} params - The parameters to be converted to a FormData object.\n * @param {Object} options - The options object passed to the Axios constructor.\n *\n * @returns {void}\n */\nfunction AxiosURLSearchParams(params, options) {\n this._pairs = [];\n\n params && toFormData(params, this, options);\n}\n\nconst prototype = AxiosURLSearchParams.prototype;\n\nprototype.append = function append(name, value) {\n this._pairs.push([name, value]);\n};\n\nprototype.toString = function toString(encoder) {\n const _encode = encoder ? function(value) {\n return encoder.call(this, value, encode);\n } : encode;\n\n return this._pairs.map(function each(pair) {\n return _encode(pair[0]) + '=' + _encode(pair[1]);\n }, '').join('&');\n};\n\nexport default AxiosURLSearchParams;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosURLSearchParams from '../helpers/AxiosURLSearchParams.js';\n\n/**\n * It replaces all instances of the characters `:`, `$`, `,`, `+`, `[`, and `]` with their\n * URI encoded counterparts\n *\n * @param {string} val The value to be encoded.\n *\n * @returns {string} The encoded value.\n */\nfunction encode(val) {\n return encodeURIComponent(val).\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 * @param {?object} options\n *\n * @returns {string} The formatted url\n */\nexport default function buildURL(url, params, options) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n\n const hashmarkIndex = url.indexOf('#');\n\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n\n const _encode = options && options.encode || encode;\n\n const serializerParams = utils.isURLSearchParams(params) ?\n params.toString() :\n new AxiosURLSearchParams(params, options).toString(_encode);\n\n if (serializerParams) {\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializerParams;\n }\n\n return url;\n}\n","import URLSearchParams from './classes/URLSearchParams.js'\nimport FormData from './classes/FormData.js'\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 *\n * @returns {boolean}\n */\nconst isStandardBrowserEnv = (() => {\n let product;\n if (typeof navigator !== 'undefined' && (\n (product = navigator.product) === 'ReactNative' ||\n product === 'NativeScript' ||\n product === 'NS')\n ) {\n return false;\n }\n\n return typeof window !== 'undefined' && typeof document !== 'undefined';\n})();\n\nexport default {\n isBrowser: true,\n classes: {\n URLSearchParams,\n FormData,\n Blob\n },\n isStandardBrowserEnv,\n protocols: ['http', 'https', 'file', 'blob', 'url', 'data']\n};\n","'use strict';\n\nimport utils from './../utils.js';\n\nclass InterceptorManager {\n constructor() {\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 */\n use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled,\n rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null\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 *\n * @returns {Boolean} `true` if the interceptor was removed, `false` otherwise\n */\n eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n }\n\n /**\n * Clear all interceptors from the stack\n *\n * @returns {void}\n */\n clear() {\n if (this.handlers) {\n this.handlers = [];\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 *\n * @returns {void}\n */\n forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n }\n}\n\nexport default InterceptorManager;\n","'use strict';\n\nexport default {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n};\n","'use strict';\n\nimport AxiosURLSearchParams from '../../../helpers/AxiosURLSearchParams.js';\nexport default typeof URLSearchParams !== 'undefined' ? URLSearchParams : AxiosURLSearchParams;\n","'use strict';\n\nexport default FormData;\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * It takes a string like `foo[x][y][z]` and returns an array like `['foo', 'x', 'y', 'z']\n *\n * @param {string} name - The name of the property to get.\n *\n * @returns An array of strings.\n */\nfunction parsePropPath(name) {\n // foo[x][y][z]\n // foo.x.y.z\n // foo-x-y-z\n // foo x y z\n return utils.matchAll(/\\w+|\\[(\\w*)]/g, name).map(match => {\n return match[0] === '[]' ? '' : match[1] || match[0];\n });\n}\n\n/**\n * Convert an array to an object.\n *\n * @param {Array} arr - The array to convert to an object.\n *\n * @returns An object with the same keys and values as the array.\n */\nfunction arrayToObject(arr) {\n const obj = {};\n const keys = Object.keys(arr);\n let i;\n const len = keys.length;\n let key;\n for (i = 0; i < len; i++) {\n key = keys[i];\n obj[key] = arr[key];\n }\n return obj;\n}\n\n/**\n * It takes a FormData object and returns a JavaScript object\n *\n * @param {string} formData The FormData object to convert to JSON.\n *\n * @returns {Object | null} The converted object.\n */\nfunction formDataToJSON(formData) {\n function buildPath(path, value, target, index) {\n let name = path[index++];\n const isNumericKey = Number.isFinite(+name);\n const isLast = index >= path.length;\n name = !name && utils.isArray(target) ? target.length : name;\n\n if (isLast) {\n if (utils.hasOwnProp(target, name)) {\n target[name] = [target[name], value];\n } else {\n target[name] = value;\n }\n\n return !isNumericKey;\n }\n\n if (!target[name] || !utils.isObject(target[name])) {\n target[name] = [];\n }\n\n const result = buildPath(path, value, target[name], index);\n\n if (result && utils.isArray(target[name])) {\n target[name] = arrayToObject(target[name]);\n }\n\n return !isNumericKey;\n }\n\n if (utils.isFormData(formData) && utils.isFunction(formData.entries)) {\n const obj = {};\n\n utils.forEachEntry(formData, (name, value) => {\n buildPath(parsePropPath(name), value, obj, 0);\n });\n\n return obj;\n }\n\n return null;\n}\n\nexport default formDataToJSON;\n","'use strict';\n\nimport utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.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 const 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 const 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","'use strict';\n\nimport isAbsoluteURL from '../helpers/isAbsoluteURL.js';\nimport combineURLs from '../helpers/combineURLs.js';\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 *\n * @returns {string} The combined full path\n */\nexport default 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 * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n *\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nexport default 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\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 *\n * @returns {string} The combined URL\n */\nexport default function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n}\n","'use strict';\n\nimport utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.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 const msie = /(msie|trident)/i.test(navigator.userAgent);\n const urlParsingNode = document.createElement('a');\n let 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 let 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 const 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","'use strict';\n\nimport AxiosError from '../core/AxiosError.js';\nimport utils from '../utils.js';\n\n/**\n * A `CanceledError` is an object that is thrown when an operation is canceled.\n *\n * @param {string=} message The message.\n * @param {Object=} config The config.\n * @param {Object=} request The request.\n *\n * @returns {CanceledError} The created error.\n */\nfunction CanceledError(message, config, request) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n AxiosError.call(this, message == null ? 'canceled' : message, AxiosError.ERR_CANCELED, config, request);\n this.name = 'CanceledError';\n}\n\nutils.inherits(CanceledError, AxiosError, {\n __CANCEL__: true\n});\n\nexport default CanceledError;\n","'use strict';\n\nimport utils from './../utils.js';\n\n// RawAxiosHeaders whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nconst ignoreDuplicateOf = utils.toObjectSet([\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} rawHeaders Headers needing to be parsed\n *\n * @returns {Object} Headers parsed into an object\n */\nexport default rawHeaders => {\n const parsed = {};\n let key;\n let val;\n let i;\n\n rawHeaders && rawHeaders.split('\\n').forEach(function parser(line) {\n i = line.indexOf(':');\n key = line.substring(0, i).trim().toLowerCase();\n val = line.substring(i + 1).trim();\n\n if (!key || (parsed[key] && ignoreDuplicateOf[key])) {\n return;\n }\n\n if (key === 'set-cookie') {\n if (parsed[key]) {\n parsed[key].push(val);\n } else {\n parsed[key] = [val];\n }\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n });\n\n return parsed;\n};\n","'use strict';\n\nimport utils from '../utils.js';\nimport parseHeaders from '../helpers/parseHeaders.js';\n\nconst $internals = Symbol('internals');\nconst $defaults = Symbol('defaults');\n\nfunction normalizeHeader(header) {\n return header && String(header).trim().toLowerCase();\n}\n\nfunction normalizeValue(value) {\n if (value === false || value == null) {\n return value;\n }\n\n return String(value);\n}\n\nfunction parseTokens(str) {\n const tokens = Object.create(null);\n const tokensRE = /([^\\s,;=]+)\\s*(?:=\\s*([^,;]+))?/g;\n let match;\n\n while ((match = tokensRE.exec(str))) {\n tokens[match[1]] = match[2];\n }\n\n return tokens;\n}\n\nfunction matchHeaderValue(context, value, header, filter) {\n if (utils.isFunction(filter)) {\n return filter.call(this, value, header);\n }\n\n if (!utils.isString(value)) return;\n\n if (utils.isString(filter)) {\n return value.indexOf(filter) !== -1;\n }\n\n if (utils.isRegExp(filter)) {\n return filter.test(value);\n }\n}\n\nfunction formatHeader(header) {\n return header.trim()\n .toLowerCase().replace(/([a-z\\d])(\\w*)/g, (w, char, str) => {\n return char.toUpperCase() + str;\n });\n}\n\nfunction buildAccessors(obj, header) {\n const accessorName = utils.toCamelCase(' ' + header);\n\n ['get', 'set', 'has'].forEach(methodName => {\n Object.defineProperty(obj, methodName + accessorName, {\n value: function(arg1, arg2, arg3) {\n return this[methodName].call(this, header, arg1, arg2, arg3);\n },\n configurable: true\n });\n });\n}\n\nfunction findKey(obj, key) {\n key = key.toLowerCase();\n const keys = Object.keys(obj);\n let i = keys.length;\n let _key;\n while (i-- > 0) {\n _key = keys[i];\n if (key === _key.toLowerCase()) {\n return _key;\n }\n }\n return null;\n}\n\nfunction AxiosHeaders(headers, defaults) {\n headers && this.set(headers);\n this[$defaults] = defaults || null;\n}\n\nObject.assign(AxiosHeaders.prototype, {\n set: function(header, valueOrRewrite, rewrite) {\n const self = this;\n\n function setHeader(_value, _header, _rewrite) {\n const lHeader = normalizeHeader(_header);\n\n if (!lHeader) {\n throw new Error('header name must be a non-empty string');\n }\n\n const key = findKey(self, lHeader);\n\n if (key && _rewrite !== true && (self[key] === false || _rewrite === false)) {\n return;\n }\n\n if (utils.isArray(_value)) {\n _value = _value.map(normalizeValue);\n } else {\n _value = normalizeValue(_value);\n }\n\n self[key || _header] = _value;\n }\n\n if (utils.isPlainObject(header)) {\n utils.forEach(header, (_value, _header) => {\n setHeader(_value, _header, valueOrRewrite);\n });\n } else {\n setHeader(valueOrRewrite, header, rewrite);\n }\n\n return this;\n },\n\n get: function(header, parser) {\n header = normalizeHeader(header);\n\n if (!header) return undefined;\n\n const key = findKey(this, header);\n\n if (key) {\n const value = this[key];\n\n if (!parser) {\n return value;\n }\n\n if (parser === true) {\n return parseTokens(value);\n }\n\n if (utils.isFunction(parser)) {\n return parser.call(this, value, key);\n }\n\n if (utils.isRegExp(parser)) {\n return parser.exec(value);\n }\n\n throw new TypeError('parser must be boolean|regexp|function');\n }\n },\n\n has: function(header, matcher) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = findKey(this, header);\n\n return !!(key && (!matcher || matchHeaderValue(this, this[key], key, matcher)));\n }\n\n return false;\n },\n\n delete: function(header, matcher) {\n const self = this;\n let deleted = false;\n\n function deleteHeader(_header) {\n _header = normalizeHeader(_header);\n\n if (_header) {\n const key = findKey(self, _header);\n\n if (key && (!matcher || matchHeaderValue(self, self[key], key, matcher))) {\n delete self[key];\n\n deleted = true;\n }\n }\n }\n\n if (utils.isArray(header)) {\n header.forEach(deleteHeader);\n } else {\n deleteHeader(header);\n }\n\n return deleted;\n },\n\n clear: function() {\n return Object.keys(this).forEach(this.delete.bind(this));\n },\n\n normalize: function(format) {\n const self = this;\n const headers = {};\n\n utils.forEach(this, (value, header) => {\n const key = findKey(headers, header);\n\n if (key) {\n self[key] = normalizeValue(value);\n delete self[header];\n return;\n }\n\n const normalized = format ? formatHeader(header) : String(header).trim();\n\n if (normalized !== header) {\n delete self[header];\n }\n\n self[normalized] = normalizeValue(value);\n\n headers[normalized] = true;\n });\n\n return this;\n },\n\n toJSON: function() {\n const obj = Object.create(null);\n\n utils.forEach(Object.assign({}, this[$defaults] || null, this),\n (value, header) => {\n if (value == null || value === false) return;\n obj[header] = utils.isArray(value) ? value.join(', ') : value;\n });\n\n return obj;\n }\n});\n\nObject.assign(AxiosHeaders, {\n from: function(thing) {\n if (utils.isString(thing)) {\n return new this(parseHeaders(thing));\n }\n return thing instanceof this ? thing : new this(thing);\n },\n\n accessor: function(header) {\n const internals = this[$internals] = (this[$internals] = {\n accessors: {}\n });\n\n const accessors = internals.accessors;\n const prototype = this.prototype;\n\n function defineAccessor(_header) {\n const lHeader = normalizeHeader(_header);\n\n if (!accessors[lHeader]) {\n buildAccessors(prototype, _header);\n accessors[lHeader] = true;\n }\n }\n\n utils.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header);\n\n return this;\n }\n});\n\nAxiosHeaders.accessor(['Content-Type', 'Content-Length', 'Accept', 'Accept-Encoding', 'User-Agent']);\n\nutils.freezeMethods(AxiosHeaders.prototype);\nutils.freezeMethods(AxiosHeaders);\n\nexport default AxiosHeaders;\n","'use strict';\n\nimport utils from './../utils.js';\nimport settle from './../core/settle.js';\nimport cookies from './../helpers/cookies.js';\nimport buildURL from './../helpers/buildURL.js';\nimport buildFullPath from '../core/buildFullPath.js';\nimport isURLSameOrigin from './../helpers/isURLSameOrigin.js';\nimport transitionalDefaults from '../defaults/transitional.js';\nimport AxiosError from '../core/AxiosError.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport parseProtocol from '../helpers/parseProtocol.js';\nimport platform from '../platform/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport speedometer from '../helpers/speedometer.js';\n\nfunction progressEventReducer(listener, isDownloadStream) {\n let bytesNotified = 0;\n const _speedometer = speedometer(50, 250);\n\n return e => {\n const loaded = e.loaded;\n const total = e.lengthComputable ? e.total : undefined;\n const progressBytes = loaded - bytesNotified;\n const rate = _speedometer(progressBytes);\n const inRange = loaded <= total;\n\n bytesNotified = loaded;\n\n const data = {\n loaded,\n total,\n progress: total ? (loaded / total) : undefined,\n bytes: progressBytes,\n rate: rate ? rate : undefined,\n estimated: rate && total && inRange ? (total - loaded) / rate : undefined\n };\n\n data[isDownloadStream ? 'download' : 'upload'] = true;\n\n listener(data);\n };\n}\n\nexport default function xhrAdapter(config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n let requestData = config.data;\n const requestHeaders = AxiosHeaders.from(config.headers).normalize();\n const responseType = config.responseType;\n let onCanceled;\n function done() {\n if (config.cancelToken) {\n config.cancelToken.unsubscribe(onCanceled);\n }\n\n if (config.signal) {\n config.signal.removeEventListener('abort', onCanceled);\n }\n }\n\n if (utils.isFormData(requestData) && platform.isStandardBrowserEnv) {\n requestHeaders.setContentType(false); // Let the browser set it\n }\n\n let request = new XMLHttpRequest();\n\n // HTTP basic authentication\n if (config.auth) {\n const username = config.auth.username || '';\n const password = config.auth.password ? unescape(encodeURIComponent(config.auth.password)) : '';\n requestHeaders.set('Authorization', 'Basic ' + btoa(username + ':' + password));\n }\n\n const fullPath = buildFullPath(config.baseURL, config.url);\n\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 function onloadend() {\n if (!request) {\n return;\n }\n // Prepare the response\n const responseHeaders = AxiosHeaders.from(\n 'getAllResponseHeaders' in request && request.getAllResponseHeaders()\n );\n const responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n const response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config,\n request\n };\n\n settle(function _resolve(value) {\n resolve(value);\n done();\n }, function _reject(err) {\n reject(err);\n done();\n }, response);\n\n // Clean up request\n request = null;\n }\n\n if ('onloadend' in request) {\n // Use onloadend if available\n request.onloadend = onloadend;\n } else {\n // Listen for ready state to emulate onloadend\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 // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n setTimeout(onloadend);\n };\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(new AxiosError('Request aborted', AxiosError.ECONNABORTED, config, 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(new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n let timeoutErrorMessage = config.timeout ? 'timeout of ' + config.timeout + 'ms exceeded' : 'timeout exceeded';\n const transitional = config.transitional || transitionalDefaults;\n if (config.timeoutErrorMessage) {\n timeoutErrorMessage = config.timeoutErrorMessage;\n }\n reject(new AxiosError(\n timeoutErrorMessage,\n transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n config,\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 (platform.isStandardBrowserEnv) {\n // Add xsrf header\n const xsrfValue = (config.withCredentials || isURLSameOrigin(fullPath))\n && config.xsrfCookieName && cookies.read(config.xsrfCookieName);\n\n if (xsrfValue) {\n requestHeaders.set(config.xsrfHeaderName, xsrfValue);\n }\n }\n\n // Remove Content-Type if data is undefined\n requestData === undefined && requestHeaders.setContentType(null);\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) {\n request.setRequestHeader(key, val);\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 (responseType && responseType !== 'json') {\n request.responseType = config.responseType;\n }\n\n // Handle progress if needed\n if (typeof config.onDownloadProgress === 'function') {\n request.addEventListener('progress', progressEventReducer(config.onDownloadProgress, true));\n }\n\n // Not all browsers support upload events\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', progressEventReducer(config.onUploadProgress));\n }\n\n if (config.cancelToken || config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = cancel => {\n if (!request) {\n return;\n }\n reject(!cancel || cancel.type ? new CanceledError(null, config, request) : cancel);\n request.abort();\n request = null;\n };\n\n config.cancelToken && config.cancelToken.subscribe(onCanceled);\n if (config.signal) {\n config.signal.aborted ? onCanceled() : config.signal.addEventListener('abort', onCanceled);\n }\n }\n\n const protocol = parseProtocol(fullPath);\n\n if (protocol && platform.protocols.indexOf(protocol) === -1) {\n reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config));\n return;\n }\n\n\n // Send the request\n request.send(requestData || null);\n });\n}\n","'use strict';\n\n/**\n * Calculate data maxRate\n * @param {Number} [samplesCount= 10]\n * @param {Number} [min= 1000]\n * @returns {Function}\n */\nfunction speedometer(samplesCount, min) {\n samplesCount = samplesCount || 10;\n const bytes = new Array(samplesCount);\n const timestamps = new Array(samplesCount);\n let head = 0;\n let tail = 0;\n let firstSampleTS;\n\n min = min !== undefined ? min : 1000;\n\n return function push(chunkLength) {\n const now = Date.now();\n\n const startedAt = timestamps[tail];\n\n if (!firstSampleTS) {\n firstSampleTS = now;\n }\n\n bytes[head] = chunkLength;\n timestamps[head] = now;\n\n let i = tail;\n let bytesCount = 0;\n\n while (i !== head) {\n bytesCount += bytes[i++];\n i = i % samplesCount;\n }\n\n head = (head + 1) % samplesCount;\n\n if (head === tail) {\n tail = (tail + 1) % samplesCount;\n }\n\n if (now - firstSampleTS < min) {\n return;\n }\n\n const passed = startedAt && now - startedAt;\n\n return passed ? Math.round(bytesCount * 1000 / passed) : undefined;\n };\n}\n\nexport default speedometer;\n","'use strict';\n\nimport AxiosError from './AxiosError.js';\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 *\n * @returns {object} The response.\n */\nexport default function settle(resolve, reject, response) {\n const validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(new AxiosError(\n 'Request failed with status code ' + response.status,\n [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4],\n response.config,\n response.request,\n response\n ));\n }\n}\n","'use strict';\n\nexport default function parseProtocol(url) {\n const match = /^([-+\\w]{1,25})(:?\\/\\/|:)/.exec(url);\n return match && match[1] || '';\n}\n","import utils from '../utils.js';\nimport httpAdapter from './http.js';\nimport xhrAdapter from './xhr.js';\n\nconst adapters = {\n http: httpAdapter,\n xhr: xhrAdapter\n}\n\nexport default {\n getAdapter: (nameOrAdapter) => {\n if(utils.isString(nameOrAdapter)){\n const adapter = adapters[nameOrAdapter];\n\n if (!nameOrAdapter) {\n throw Error(\n utils.hasOwnProp(nameOrAdapter) ?\n `Adapter '${nameOrAdapter}' is not available in the build` :\n `Can not resolve adapter '${nameOrAdapter}'`\n );\n }\n\n return adapter\n }\n\n if (!utils.isFunction(nameOrAdapter)) {\n throw new TypeError('adapter is not a function');\n }\n\n return nameOrAdapter;\n },\n adapters\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\nimport transitionalDefaults from './transitional.js';\nimport toFormData from '../helpers/toFormData.js';\nimport toURLEncodedForm from '../helpers/toURLEncodedForm.js';\nimport platform from '../platform/index.js';\nimport formDataToJSON from '../helpers/formDataToJSON.js';\nimport adapters from '../adapters/index.js';\n\nconst DEFAULT_CONTENT_TYPE = {\n 'Content-Type': 'application/x-www-form-urlencoded'\n};\n\n/**\n * If the browser has an XMLHttpRequest object, use the XHR adapter, otherwise use the HTTP\n * adapter\n *\n * @returns {Function}\n */\nfunction getDefaultAdapter() {\n let adapter;\n if (typeof XMLHttpRequest !== 'undefined') {\n // For browsers use XHR adapter\n adapter = adapters.getAdapter('xhr');\n } else if (typeof process !== 'undefined' && utils.kindOf(process) === 'process') {\n // For node use HTTP adapter\n adapter = adapters.getAdapter('http');\n }\n return adapter;\n}\n\n/**\n * It takes a string, tries to parse it, and if it fails, it returns the stringified version\n * of the input\n *\n * @param {any} rawValue - The value to be stringified.\n * @param {Function} parser - A function that parses a string into a JavaScript object.\n * @param {Function} encoder - A function that takes a value and returns a string.\n *\n * @returns {string} A stringified version of the rawValue.\n */\nfunction stringifySafely(rawValue, parser, encoder) {\n if (utils.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils.trim(rawValue);\n } catch (e) {\n if (e.name !== 'SyntaxError') {\n throw e;\n }\n }\n }\n\n return (encoder || JSON.stringify)(rawValue);\n}\n\nconst defaults = {\n\n transitional: transitionalDefaults,\n\n adapter: getDefaultAdapter(),\n\n transformRequest: [function transformRequest(data, headers) {\n const contentType = headers.getContentType() || '';\n const hasJSONContentType = contentType.indexOf('application/json') > -1;\n const isObjectPayload = utils.isObject(data);\n\n if (isObjectPayload && utils.isHTMLForm(data)) {\n data = new FormData(data);\n }\n\n const isFormData = utils.isFormData(data);\n\n if (isFormData) {\n if (!hasJSONContentType) {\n return data;\n }\n return hasJSONContentType ? JSON.stringify(formDataToJSON(data)) : data;\n }\n\n if (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 headers.setContentType('application/x-www-form-urlencoded;charset=utf-8', false);\n return data.toString();\n }\n\n let isFileList;\n\n if (isObjectPayload) {\n if (contentType.indexOf('application/x-www-form-urlencoded') > -1) {\n return toURLEncodedForm(data, this.formSerializer).toString();\n }\n\n if ((isFileList = utils.isFileList(data)) || contentType.indexOf('multipart/form-data') > -1) {\n const _FormData = this.env && this.env.FormData;\n\n return toFormData(\n isFileList ? {'files[]': data} : data,\n _FormData && new _FormData(),\n this.formSerializer\n );\n }\n }\n\n if (isObjectPayload || hasJSONContentType ) {\n headers.setContentType('application/json', false);\n return stringifySafely(data);\n }\n\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n const transitional = this.transitional || defaults.transitional;\n const forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n const JSONRequested = this.responseType === 'json';\n\n if (data && utils.isString(data) && ((forcedJSONParsing && !this.responseType) || JSONRequested)) {\n const silentJSONParsing = transitional && transitional.silentJSONParsing;\n const strictJSONParsing = !silentJSONParsing && JSONRequested;\n\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response);\n }\n throw e;\n }\n }\n }\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 maxBodyLength: -1,\n\n env: {\n FormData: platform.classes.FormData,\n Blob: platform.classes.Blob\n },\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n },\n\n headers: {\n common: {\n 'Accept': 'application/json, text/plain, */*'\n }\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\nexport default defaults;\n","'use strict';\n\nimport utils from '../utils.js';\nimport toFormData from './toFormData.js';\nimport platform from '../platform/index.js';\n\nexport default function toURLEncodedForm(data, options) {\n return toFormData(data, new platform.classes.URLSearchParams(), Object.assign({\n visitor: function(value, key, path, helpers) {\n if (platform.isNode && utils.isBuffer(value)) {\n this.append(key, value.toString('base64'));\n return false;\n }\n\n return helpers.defaultVisitor.apply(this, arguments);\n }\n }, options));\n}\n","'use strict';\n\nimport utils from './../utils.js';\nimport defaults from '../defaults/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Array|Function} fns A single function or Array of functions\n * @param {?Object} response The response object\n *\n * @returns {*} The resulting transformed data\n */\nexport default function transformData(fns, response) {\n const config = this || defaults;\n const context = response || config;\n const headers = AxiosHeaders.from(context.headers);\n let data = context.data;\n\n utils.forEach(fns, function transform(fn) {\n data = fn.call(config, data, headers.normalize(), response ? response.status : undefined);\n });\n\n headers.normalize();\n\n return data;\n}\n","'use strict';\n\nexport default function isCancel(value) {\n return !!(value && value.__CANCEL__);\n}\n","'use strict';\n\nimport transformData from './transformData.js';\nimport isCancel from '../cancel/isCancel.js';\nimport defaults from '../defaults/index.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n *\n * @param {Object} config The config that is to be used for the request\n *\n * @returns {void}\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new CanceledError();\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 *\n * @returns {Promise} The Promise to be fulfilled\n */\nexport default function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n config.headers = AxiosHeaders.from(config.headers);\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.transformRequest\n );\n\n const 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.call(\n config,\n config.transformResponse,\n response\n );\n\n response.headers = AxiosHeaders.from(response.headers);\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.call(\n config,\n config.transformResponse,\n reason.response\n );\n reason.response.headers = AxiosHeaders.from(reason.response.headers);\n }\n }\n\n return Promise.reject(reason);\n });\n}\n","'use strict';\n\nimport utils from '../utils.js';\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 *\n * @returns {Object} New object resulting from merging config2 to config1\n */\nexport default function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n const config = {};\n\n function getMergedValue(target, source) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge(target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDeepProperties(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(config1[prop], config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n return getMergedValue(undefined, config1[prop]);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(undefined, config2[prop]);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(undefined, config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n return getMergedValue(undefined, config1[prop]);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(prop) {\n if (prop in config2) {\n return getMergedValue(config1[prop], config2[prop]);\n } else if (prop in config1) {\n return getMergedValue(undefined, config1[prop]);\n }\n }\n\n const mergeMap = {\n 'url': valueFromConfig2,\n 'method': valueFromConfig2,\n 'data': valueFromConfig2,\n 'baseURL': defaultToConfig2,\n 'transformRequest': defaultToConfig2,\n 'transformResponse': defaultToConfig2,\n 'paramsSerializer': defaultToConfig2,\n 'timeout': defaultToConfig2,\n 'timeoutMessage': defaultToConfig2,\n 'withCredentials': defaultToConfig2,\n 'adapter': defaultToConfig2,\n 'responseType': defaultToConfig2,\n 'xsrfCookieName': defaultToConfig2,\n 'xsrfHeaderName': defaultToConfig2,\n 'onUploadProgress': defaultToConfig2,\n 'onDownloadProgress': defaultToConfig2,\n 'decompress': defaultToConfig2,\n 'maxContentLength': defaultToConfig2,\n 'maxBodyLength': defaultToConfig2,\n 'beforeRedirect': defaultToConfig2,\n 'transport': defaultToConfig2,\n 'httpAgent': defaultToConfig2,\n 'httpsAgent': defaultToConfig2,\n 'cancelToken': defaultToConfig2,\n 'socketPath': defaultToConfig2,\n 'responseEncoding': defaultToConfig2,\n 'validateStatus': mergeDirectKeys\n };\n\n utils.forEach(Object.keys(config1).concat(Object.keys(config2)), function computeConfigValue(prop) {\n const merge = mergeMap[prop] || mergeDeepProperties;\n const configValue = merge(prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n}\n","export const VERSION = \"1.0.0\";","'use strict';\n\nimport {VERSION} from '../env/data.js';\nimport AxiosError from '../core/AxiosError.js';\n\nconst validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach((type, i) => {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nconst deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n *\n * @param {function|boolean?} validator - set to false if the transitional option has been removed\n * @param {string?} version - deprecated version / removed since version\n * @param {string?} message - some message with additional info\n *\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n function formatMessage(opt, desc) {\n return '[Axios v' + VERSION + '] Transitional option \\'' + opt + '\\'' + desc + (message ? '. ' + message : '');\n }\n\n // eslint-disable-next-line func-names\n return (value, opt, opts) => {\n if (validator === false) {\n throw new AxiosError(\n formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')),\n AxiosError.ERR_DEPRECATED\n );\n }\n\n if (version && !deprecatedWarnings[opt]) {\n deprecatedWarnings[opt] = true;\n // eslint-disable-next-line no-console\n console.warn(\n formatMessage(\n opt,\n ' has been deprecated since v' + version + ' and will be removed in the near future'\n )\n );\n }\n\n return validator ? validator(value, opt, opts) : true;\n };\n};\n\n/**\n * Assert object's properties type\n *\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n *\n * @returns {object}\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE);\n }\n const keys = Object.keys(options);\n let i = keys.length;\n while (i-- > 0) {\n const opt = keys[i];\n const validator = schema[opt];\n if (validator) {\n const value = options[opt];\n const result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new AxiosError('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION);\n }\n }\n}\n\nexport default {\n assertOptions,\n validators\n};\n","'use strict';\n\nimport utils from './../utils.js';\nimport buildURL from '../helpers/buildURL.js';\nimport InterceptorManager from './InterceptorManager.js';\nimport dispatchRequest from './dispatchRequest.js';\nimport mergeConfig from './mergeConfig.js';\nimport buildFullPath from './buildFullPath.js';\nimport validator from '../helpers/validator.js';\nimport AxiosHeaders from './AxiosHeaders.js';\n\nconst validators = validator.validators;\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n *\n * @return {Axios} A new instance of Axios\n */\nclass Axios {\n constructor(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 {String|Object} configOrUrl The config specific for this request (merged with this.defaults)\n * @param {?Object} config\n *\n * @returns {Promise} The Promise to be fulfilled\n */\n request(configOrUrl, config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof configOrUrl === 'string') {\n config = config || {};\n config.url = configOrUrl;\n } else {\n config = configOrUrl || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n const transitional = config.transitional;\n\n if (transitional !== undefined) {\n validator.assertOptions(transitional, {\n silentJSONParsing: validators.transitional(validators.boolean),\n forcedJSONParsing: validators.transitional(validators.boolean),\n clarifyTimeoutError: validators.transitional(validators.boolean)\n }, false);\n }\n\n // Set config.method\n config.method = (config.method || this.defaults.method || 'get').toLowerCase();\n\n // Flatten headers\n const defaultHeaders = config.headers && utils.merge(\n config.headers.common,\n config.headers[config.method]\n );\n\n defaultHeaders && utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n function cleanHeaderConfig(method) {\n delete config.headers[method];\n }\n );\n\n config.headers = new AxiosHeaders(config.headers, defaultHeaders);\n\n // filter out skipped interceptors\n const requestInterceptorChain = [];\n let synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n return;\n }\n\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n const responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n let promise;\n let i = 0;\n let len;\n\n if (!synchronousRequestInterceptors) {\n const chain = [dispatchRequest.bind(this), undefined];\n chain.unshift.apply(chain, requestInterceptorChain);\n chain.push.apply(chain, responseInterceptorChain);\n len = chain.length;\n\n promise = Promise.resolve(config);\n\n while (i < len) {\n promise = promise.then(chain[i++], chain[i++]);\n }\n\n return promise;\n }\n\n len = requestInterceptorChain.length;\n\n let newConfig = config;\n\n i = 0;\n\n while (i < len) {\n const onFulfilled = requestInterceptorChain[i++];\n const onRejected = requestInterceptorChain[i++];\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected.call(this, error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest.call(this, newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n i = 0;\n len = responseInterceptorChain.length;\n\n while (i < len) {\n promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]);\n }\n\n return promise;\n }\n\n getUri(config) {\n config = mergeConfig(this.defaults, config);\n const fullPath = buildFullPath(config.baseURL, config.url);\n return buildURL(fullPath, config.params, config.paramsSerializer);\n }\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(mergeConfig(config || {}, {\n method,\n url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n\n function generateHTTPMethod(isForm) {\n return function httpMethod(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n headers: isForm ? {\n 'Content-Type': 'multipart/form-data'\n } : {},\n url,\n data\n }));\n };\n }\n\n Axios.prototype[method] = generateHTTPMethod();\n\n Axios.prototype[method + 'Form'] = generateHTTPMethod(true);\n});\n\nexport default Axios;\n","'use strict';\n\nimport CanceledError from './CanceledError.js';\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @param {Function} executor The executor function.\n *\n * @returns {CancelToken}\n */\nclass CancelToken {\n constructor(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n let resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n const token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then(cancel => {\n if (!token._listeners) return;\n\n let i = token._listeners.length;\n\n while (i-- > 0) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = onfulfilled => {\n let _resolve;\n // eslint-disable-next-line func-names\n const promise = new Promise(resolve => {\n token.subscribe(resolve);\n _resolve = resolve;\n }).then(onfulfilled);\n\n promise.cancel = function reject() {\n token.unsubscribe(_resolve);\n };\n\n return promise;\n };\n\n executor(function cancel(message, config, request) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new CanceledError(message, config, request);\n resolvePromise(token.reason);\n });\n }\n\n /**\n * Throws a `CanceledError` if cancellation has been requested.\n */\n throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n }\n\n /**\n * Subscribe to the cancel signal\n */\n\n subscribe(listener) {\n if (this.reason) {\n listener(this.reason);\n return;\n }\n\n if (this._listeners) {\n this._listeners.push(listener);\n } else {\n this._listeners = [listener];\n }\n }\n\n /**\n * Unsubscribe from the cancel signal\n */\n\n unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n const index = this._listeners.indexOf(listener);\n if (index !== -1) {\n this._listeners.splice(index, 1);\n }\n }\n\n /**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\n static source() {\n let cancel;\n const token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token,\n cancel\n };\n }\n}\n\nexport default CancelToken;\n","'use strict';\n\nimport utils from './utils.js';\nimport bind from './helpers/bind.js';\nimport Axios from './core/Axios.js';\nimport mergeConfig from './core/mergeConfig.js';\nimport defaults from './defaults/index.js';\nimport formDataToJSON from './helpers/formDataToJSON.js';\nimport CanceledError from './cancel/CanceledError.js';\nimport CancelToken from'./cancel/CancelToken.js';\nimport isCancel from'./cancel/isCancel.js';\nimport {VERSION} from './env/data.js';\nimport toFormData from './helpers/toFormData.js';\nimport AxiosError from './core/AxiosError.js';\nimport spread from './helpers/spread.js';\nimport isAxiosError from './helpers/isAxiosError.js';\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n *\n * @returns {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n const context = new Axios(defaultConfig);\n const instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context, {allOwnKeys: true});\n\n // Copy context to instance\n utils.extend(instance, context, null, {allOwnKeys: true});\n\n // Factory for creating new instances\n instance.create = function create(instanceConfig) {\n return createInstance(mergeConfig(defaultConfig, instanceConfig));\n };\n\n return instance;\n}\n\n// Create the default instance to be exported\nconst axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.CanceledError = CanceledError;\naxios.CancelToken = CancelToken;\naxios.isCancel = isCancel;\naxios.VERSION = VERSION;\naxios.toFormData = toFormData;\n\n// Expose AxiosError class\naxios.AxiosError = AxiosError;\n\n// alias for CanceledError for backward compatibility\naxios.Cancel = axios.CanceledError;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\n\naxios.spread = spread;\n\n// Expose isAxiosError\naxios.isAxiosError = isAxiosError;\n\naxios.formToJSON = thing => {\n return formDataToJSON(utils.isHTMLForm(thing) ? new FormData(thing) : thing);\n};\n\nexport default axios;\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 *\n * @returns {Function}\n */\nexport default function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n *\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nexport default function isAxiosError(payload) {\n return utils.isObject(payload) && (payload.isAxiosError === true);\n}\n"],"names":["bind","fn","thisArg","apply","arguments","cache","toString","Object","prototype","getPrototypeOf","kindOf","create","thing","str","call","slice","toLowerCase","kindOfTest","type","typeOfTest","_typeof","isArray","Array","isUndefined","isArrayBuffer","isString","isFunction","isNumber","isObject","isPlainObject","val","isDate","isFile","isBlob","isFileList","isURLSearchParams","forEach","obj","i","l","_ref","length","undefined","_ref$allOwnKeys","allOwnKeys","key","keys","getOwnPropertyNames","len","TypedArray","isTypedArray","Uint8Array","isHTMLForm","hasOwnProperty","_ref3","prop","isRegExp","reduceDescriptors","reducer","descriptors","getOwnPropertyDescriptors","reducedDescriptors","descriptor","name","defineProperties","utils","isBuffer","constructor","isFormData","pattern","FormData","isArrayBufferView","ArrayBuffer","isView","buffer","isBoolean","isStream","pipe","merge","result","assignValue","extend","a","b","_ref2","trim","replace","stripBOM","content","charCodeAt","inherits","superConstructor","props","defineProperty","value","assign","toFlatObject","sourceObj","destObj","filter","propFilter","merged","endsWith","searchString","position","String","lastIndex","indexOf","toArray","arr","forEachEntry","iterator","Symbol","next","done","pair","matchAll","regExp","matches","exec","push","hasOwnProp","freezeMethods","enumerable","writable","set","Error","toObjectSet","arrayOrString","delimiter","define","split","toCamelCase","m","p1","p2","toUpperCase","noop","toFiniteNumber","defaultValue","Number","isFinite","AxiosError","message","code","config","request","response","this","captureStackTrace","stack","toJSON","description","number","fileName","lineNumber","columnNumber","status","from","error","customProps","axiosError","cause","browser","self","window","isVisitable","removeBrackets","renderKey","path","dots","concat","map","token","join","predicates","test","toFormData","formData","options","TypeError","envFormData","metaTokens","indexes","option","source","visitor","defaultVisitor","useBlob","Blob","append","toStringTag","convertValue","toISOString","Buffer","JSON","stringify","some","isFlatArray","el","index","exposedHelpers","build","pop","encode","charMap","encodeURIComponent","match","AxiosURLSearchParams","params","_pairs","buildURL","url","hashmarkIndex","_encode","serializerParams","encoder","product","InterceptorManager","_classCallCheck","handlers","fulfilled","rejected","synchronous","runWhen","id","h","transitionalDefaults","silentJSONParsing","forcedJSONParsing","clarifyTimeoutError","URLSearchParams$1","URLSearchParams","FormData$1","isStandardBrowserEnv","navigator","document","platform","isBrowser","classes","protocols","formDataToJSON","buildPath","target","isNumericKey","isLast","arrayToObject","entries","parsePropPath","write","expires","domain","secure","cookie","Date","toGMTString","read","RegExp","decodeURIComponent","remove","now","buildFullPath","baseURL","requestedURL","relativeURL","combineURLs","originURL","msie","userAgent","urlParsingNode","createElement","resolveURL","href","setAttribute","protocol","host","search","hash","hostname","port","pathname","charAt","location","requestURL","parsed","CanceledError","ERR_CANCELED","__CANCEL__","ignoreDuplicateOf","$internals","$defaults","normalizeHeader","header","normalizeValue","matchHeaderValue","context","findKey","_key","AxiosHeaders","headers","defaults","progressEventReducer","listener","isDownloadStream","bytesNotified","_speedometer","samplesCount","min","firstSampleTS","bytes","timestamps","head","tail","chunkLength","startedAt","bytesCount","passed","Math","round","speedometer","e","loaded","total","lengthComputable","progressBytes","rate","data","progress","estimated","xhrAdapter","Promise","resolve","reject","onCanceled","requestData","requestHeaders","normalize","responseType","cancelToken","unsubscribe","signal","removeEventListener","setContentType","XMLHttpRequest","auth","username","password","unescape","btoa","fullPath","onloadend","responseHeaders","getAllResponseHeaders","validateStatus","ERR_BAD_REQUEST","ERR_BAD_RESPONSE","floor","settle","err","responseText","statusText","open","method","paramsSerializer","timeout","onreadystatechange","readyState","responseURL","setTimeout","onabort","ECONNABORTED","onerror","ERR_NETWORK","ontimeout","timeoutErrorMessage","transitional","ETIMEDOUT","xsrfValue","withCredentials","isURLSameOrigin","xsrfCookieName","cookies","xsrfHeaderName","setRequestHeader","onDownloadProgress","addEventListener","onUploadProgress","upload","cancel","abort","subscribe","aborted","send","valueOrRewrite","rewrite","setHeader","_value","_header","_rewrite","lHeader","get","parser","tokens","tokensRE","parseTokens","has","matcher","delete","deleted","deleteHeader","clear","format","normalized","w","char","formatHeader","rawHeaders","line","substring","accessor","accessors","defineAccessor","accessorName","methodName","arg1","arg2","arg3","configurable","buildAccessors","adapters","http","httpAdapter","xhr","adapters$1","nameOrAdapter","adapter","DEFAULT_CONTENT_TYPE","process","transformRequest","contentType","getContentType","hasJSONContentType","isObjectPayload","helpers","isNode","toURLEncodedForm","formSerializer","_FormData","env","rawValue","parse","stringifySafely","transformResponse","JSONRequested","strictJSONParsing","maxContentLength","maxBodyLength","common","Accept","transformData","fns","isCancel","throwIfCancellationRequested","throwIfRequested","dispatchRequest","then","reason","mergeConfig","config1","config2","getMergedValue","mergeDeepProperties","valueFromConfig2","defaultToConfig2","mergeDirectKeys","mergeMap","timeoutMessage","decompress","beforeRedirect","transport","httpAgent","httpsAgent","socketPath","responseEncoding","configValue","VERSION","validators","deprecatedWarnings","validators$1","validator","version","formatMessage","opt","desc","opts","ERR_DEPRECATED","console","warn","assertOptions","schema","allowUnknown","ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","Axios","instanceConfig","interceptors","configOrUrl","defaultHeaders","requestInterceptorChain","synchronousRequestInterceptors","interceptor","unshift","promise","responseInterceptorChain","chain","newConfig","onFulfilled","onRejected","generateHTTPMethod","isForm","CancelToken","executor","resolvePromise","_listeners","onfulfilled","_resolve","splice","c","axios","createInstance","defaultConfig","instance","Cancel","all","promises","spread","callback","isAxiosError","payload","formToJSON"],"mappings":"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"} \ No newline at end of file diff --git a/dist/esm/axios.js b/dist/esm/axios.js index 14e8836..5baee80 100644 --- a/dist/esm/axios.js +++ b/dist/esm/axios.js @@ -1,79 +1,76 @@ -// axios v1.0.0-alpha.1 Copyright (c) 2022 Matt Zabriskie -var bind = function bind(fn, thisArg) { +// Axios v1.0.0 Copyright (c) 2022 Matt Zabriskie and contributors +function bind(fn, thisArg) { return function wrap() { return fn.apply(thisArg, arguments); }; -}; +} // utils is a library of generic helper functions non-specific to axios -var toString = Object.prototype.toString; +const {toString} = Object.prototype; +const {getPrototypeOf} = Object; -// eslint-disable-next-line func-names -var kindOf = (function(cache) { - // eslint-disable-next-line func-names - return function(thing) { - var str = toString.call(thing); +const kindOf = (cache => thing => { + const str = toString.call(thing); return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase()); - }; })(Object.create(null)); -function kindOfTest(type) { +const kindOfTest = (type) => { type = type.toLowerCase(); - return function isKindOf(thing) { - return kindOf(thing) === type; - }; -} + return (thing) => kindOf(thing) === type +}; + +const typeOfTest = type => thing => typeof thing === type; /** * Determine if a value is an Array * * @param {Object} val The value to test + * * @returns {boolean} True if value is an Array, otherwise false */ -function isArray(val) { - return Array.isArray(val); -} +const {isArray} = Array; /** * Determine if a value is undefined * - * @param {Object} val The value to test + * @param {*} val The value to test + * * @returns {boolean} True if the value is undefined, otherwise false */ -function isUndefined(val) { - return typeof val === 'undefined'; -} +const isUndefined = typeOfTest('undefined'); /** * Determine if a value is a Buffer * - * @param {Object} val The value to test + * @param {*} val The value to test + * * @returns {boolean} True if value is a Buffer, otherwise false */ function isBuffer(val) { return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor) - && typeof val.constructor.isBuffer === 'function' && val.constructor.isBuffer(val); + && isFunction(val.constructor.isBuffer) && val.constructor.isBuffer(val); } /** * Determine if a value is an ArrayBuffer * - * @function - * @param {Object} val The value to test + * @param {*} val The value to test + * * @returns {boolean} True if value is an ArrayBuffer, otherwise false */ -var isArrayBuffer = kindOfTest('ArrayBuffer'); +const isArrayBuffer = kindOfTest('ArrayBuffer'); /** * Determine if a value is a view on an ArrayBuffer * - * @param {Object} val The value to test + * @param {*} val The value to test + * * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false */ function isArrayBufferView(val) { - var result; + let result; if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) { result = ArrayBuffer.isView(val); } else { @@ -85,164 +82,141 @@ function isArrayBufferView(val) { /** * Determine if a value is a String * - * @param {Object} val The value to test + * @param {*} val The value to test + * * @returns {boolean} True if value is a String, otherwise false */ -function isString(val) { - return typeof val === 'string'; -} - -/** - * Determine if a value is a Number - * - * @param {Object} val The value to test - * @returns {boolean} True if value is a Number, otherwise false - */ -function isNumber(val) { - return typeof val === 'number'; -} - -/** - * Determine if a value is an Object - * - * @param {Object} val The value to test - * @returns {boolean} True if value is an Object, otherwise false - */ -function isObject(val) { - return val !== null && typeof val === 'object'; -} - -/** - * Determine if a value is a plain Object - * - * @param {Object} val The value to test - * @return {boolean} True if value is a plain Object, otherwise false - */ -function isPlainObject(val) { - if (kindOf(val) !== 'object') { - return false; - } - - var prototype = Object.getPrototypeOf(val); - return prototype === null || prototype === Object.prototype; -} - -/** - * Determine if a value is a Date - * - * @function - * @param {Object} val The value to test - * @returns {boolean} True if value is a Date, otherwise false - */ -var isDate = kindOfTest('Date'); - -/** - * Determine if a value is a File - * - * @function - * @param {Object} val The value to test - * @returns {boolean} True if value is a File, otherwise false - */ -var isFile = kindOfTest('File'); - -/** - * Determine if a value is a Blob - * - * @function - * @param {Object} val The value to test - * @returns {boolean} True if value is a Blob, otherwise false - */ -var isBlob = kindOfTest('Blob'); - -/** - * Determine if a value is a FileList - * - * @function - * @param {Object} val The value to test - * @returns {boolean} True if value is a File, otherwise false - */ -var isFileList = kindOfTest('FileList'); +const isString = typeOfTest('string'); /** * Determine if a value is a Function * - * @param {Object} val The value to test + * @param {*} val The value to test * @returns {boolean} True if value is a Function, otherwise false */ -function isFunction(val) { - return toString.call(val) === '[object Function]'; -} +const isFunction = typeOfTest('function'); + +/** + * Determine if a value is a Number + * + * @param {*} val The value to test + * + * @returns {boolean} True if value is a Number, otherwise false + */ +const isNumber = typeOfTest('number'); + +/** + * Determine if a value is an Object + * + * @param {*} thing The value to test + * + * @returns {boolean} True if value is an Object, otherwise false + */ +const isObject = (thing) => thing !== null && typeof thing === 'object'; + +/** + * Determine if a value is a Boolean + * + * @param {*} thing The value to test + * @returns {boolean} True if value is a Boolean, otherwise false + */ +const isBoolean = thing => thing === true || thing === false; + +/** + * Determine if a value is a plain Object + * + * @param {*} val The value to test + * + * @returns {boolean} True if value is a plain Object, otherwise false + */ +const isPlainObject = (val) => { + if (kindOf(val) !== 'object') { + return false; + } + + const prototype = getPrototypeOf(val); + return prototype === null || prototype === Object.prototype; +}; + +/** + * Determine if a value is a Date + * + * @param {*} val The value to test + * + * @returns {boolean} True if value is a Date, otherwise false + */ +const isDate = kindOfTest('Date'); + +/** + * Determine if a value is a File + * + * @param {*} val The value to test + * + * @returns {boolean} True if value is a File, otherwise false + */ +const isFile = kindOfTest('File'); + +/** + * Determine if a value is a Blob + * + * @param {*} val The value to test + * + * @returns {boolean} True if value is a Blob, otherwise false + */ +const isBlob = kindOfTest('Blob'); + +/** + * Determine if a value is a FileList + * + * @param {*} val The value to test + * + * @returns {boolean} True if value is a File, otherwise false + */ +const isFileList = kindOfTest('FileList'); /** * Determine if a value is a Stream * - * @param {Object} val The value to test + * @param {*} val The value to test + * * @returns {boolean} True if value is a Stream, otherwise false */ -function isStream(val) { - return isObject(val) && isFunction(val.pipe); -} +const isStream = (val) => isObject(val) && isFunction(val.pipe); /** * Determine if a value is a FormData * - * @param {Object} thing The value to test + * @param {*} thing The value to test + * * @returns {boolean} True if value is an FormData, otherwise false */ -function isFormData(thing) { - var pattern = '[object FormData]'; +const isFormData = (thing) => { + const pattern = '[object FormData]'; return thing && ( (typeof FormData === 'function' && thing instanceof FormData) || toString.call(thing) === pattern || (isFunction(thing.toString) && thing.toString() === pattern) ); -} +}; /** * Determine if a value is a URLSearchParams object - * @function - * @param {Object} val The value to test + * + * @param {*} val The value to test + * * @returns {boolean} True if value is a URLSearchParams object, otherwise false */ -var isURLSearchParams = kindOfTest('URLSearchParams'); +const isURLSearchParams = kindOfTest('URLSearchParams'); /** * Trim excess whitespace off the beginning and end of a string * * @param {String} str The String to trim + * * @returns {String} The String freed of excess whitespace */ -function trim(str) { - return str.trim ? str.trim() : str.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, ''); -} - -/** - * Determine if we're running in a standard browser environment - * - * This allows axios to run in a web worker, and react-native. - * Both environments support XMLHttpRequest, but not fully standard globals. - * - * web workers: - * typeof window -> undefined - * typeof document -> undefined - * - * react-native: - * navigator.product -> 'ReactNative' - * nativescript - * navigator.product -> 'NativeScript' or 'NS' - */ -function isStandardBrowserEnv() { - var product; - if (typeof navigator !== 'undefined' && ( - (product = navigator.product) === 'ReactNative' || - product === 'NativeScript' || - product === 'NS') - ) { - return false; - } - - return typeof window !== 'undefined' && typeof document !== 'undefined'; -} +const trim = (str) => str.trim ? + str.trim() : str.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, ''); /** * Iterate over an Array or an Object invoking a function for each item. @@ -255,13 +229,19 @@ function isStandardBrowserEnv() { * * @param {Object|Array} obj The object to iterate * @param {Function} fn The callback to invoke for each item + * + * @param {Boolean} [allOwnKeys = false] + * @returns {void} */ -function forEach(obj, fn) { +function forEach(obj, fn, {allOwnKeys = false} = {}) { // Don't bother if no value provided if (obj === null || typeof obj === 'undefined') { return; } + let i; + let l; + // Force an array if not already something iterable if (typeof obj !== 'object') { /*eslint no-param-reassign:0*/ @@ -270,15 +250,18 @@ function forEach(obj, fn) { if (isArray(obj)) { // Iterate over array values - for (var i = 0, l = obj.length; i < l; i++) { + for (i = 0, l = obj.length; i < l; i++) { fn.call(null, obj[i], i, obj); } } else { // Iterate over object keys - for (var key in obj) { - if (Object.prototype.hasOwnProperty.call(obj, key)) { - fn.call(null, obj[key], key, obj); - } + const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj); + const len = keys.length; + let key; + + for (i = 0; i < len; i++) { + key = keys[i]; + fn.call(null, obj[key], key, obj); } } } @@ -298,11 +281,12 @@ function forEach(obj, fn) { * ``` * * @param {Object} obj1 Object to merge + * * @returns {Object} Result of all merge properties */ function merge(/* obj1, obj2, obj3, ... */) { - var result = {}; - function assignValue(val, key) { + const result = {}; + const assignValue = (val, key) => { if (isPlainObject(result[key]) && isPlainObject(val)) { result[key] = merge(result[key], val); } else if (isPlainObject(val)) { @@ -312,10 +296,10 @@ function merge(/* obj1, obj2, obj3, ... */) { } else { result[key] = val; } - } + }; - for (var i = 0, l = arguments.length; i < l; i++) { - forEach(arguments[i], assignValue); + for (let i = 0, l = arguments.length; i < l; i++) { + arguments[i] && forEach(arguments[i], assignValue); } return result; } @@ -326,31 +310,34 @@ function merge(/* obj1, obj2, obj3, ... */) { * @param {Object} a The object to be extended * @param {Object} b The object to copy properties from * @param {Object} thisArg The object to bind function to - * @return {Object} The resulting value of object a + * + * @param {Boolean} [allOwnKeys] + * @returns {Object} The resulting value of object a */ -function extend(a, b, thisArg) { - forEach(b, function assignValue(val, key) { - if (thisArg && typeof val === 'function') { +const extend = (a, b, thisArg, {allOwnKeys}= {}) => { + forEach(b, (val, key) => { + if (thisArg && isFunction(val)) { a[key] = bind(val, thisArg); } else { a[key] = val; } - }); + }, {allOwnKeys}); return a; -} +}; /** * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM) * * @param {string} content with BOM - * @return {string} content value without BOM + * + * @returns {string} content value without BOM */ -function stripBOM(content) { +const stripBOM = (content) => { if (content.charCodeAt(0) === 0xFEFF) { content = content.slice(1); } return content; -} +}; /** * Inherit the prototype methods from one constructor into another @@ -358,13 +345,17 @@ function stripBOM(content) { * @param {function} superConstructor * @param {object} [props] * @param {object} [descriptors] + * + * @returns {void} */ - -function inherits(constructor, superConstructor, props, descriptors) { +const inherits = (constructor, superConstructor, props, descriptors) => { constructor.prototype = Object.create(superConstructor.prototype, descriptors); constructor.prototype.constructor = constructor; + Object.defineProperty(constructor, 'super', { + value: superConstructor.prototype + }); props && Object.assign(constructor.prototype, props); -} +}; /** * Resolve object with deep prototype chain to a flat object @@ -372,14 +363,14 @@ function inherits(constructor, superConstructor, props, descriptors) { * @param {Object} [destObj] * @param {Function|Boolean} [filter] * @param {Function} [propFilter] + * * @returns {Object} */ - -function toFlatObject(sourceObj, destObj, filter, propFilter) { - var props; - var i; - var prop; - var merged = {}; +const toFlatObject = (sourceObj, destObj, filter, propFilter) => { + let props; + let i; + let prop; + const merged = {}; destObj = destObj || {}; // eslint-disable-next-line no-eq-null,eqeqeq @@ -395,122 +386,233 @@ function toFlatObject(sourceObj, destObj, filter, propFilter) { merged[prop] = true; } } - sourceObj = filter !== false && Object.getPrototypeOf(sourceObj); + sourceObj = filter !== false && getPrototypeOf(sourceObj); } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype); return destObj; -} +}; -/* - * determines whether a string ends with the characters of a specified string +/** + * Determines whether a string ends with the characters of a specified string + * * @param {String} str * @param {String} searchString * @param {Number} [position= 0] + * * @returns {boolean} */ -function endsWith(str, searchString, position) { +const endsWith = (str, searchString, position) => { str = String(str); if (position === undefined || position > str.length) { position = str.length; } position -= searchString.length; - var lastIndex = str.indexOf(searchString, position); + const lastIndex = str.indexOf(searchString, position); return lastIndex !== -1 && lastIndex === position; -} +}; /** * Returns new array from array like object or null if failed + * * @param {*} [thing] + * * @returns {?Array} */ -function toArray(thing) { +const toArray = (thing) => { if (!thing) return null; if (isArray(thing)) return thing; - var i = thing.length; + let i = thing.length; if (!isNumber(i)) return null; - var arr = new Array(i); + const arr = new Array(i); while (i-- > 0) { arr[i] = thing[i]; } return arr; -} +}; +/** + * Checking if the Uint8Array exists and if it does, it returns a function that checks if the + * thing passed in is an instance of Uint8Array + * + * @param {TypedArray} + * + * @returns {Array} + */ // eslint-disable-next-line func-names -var isTypedArray = (function(TypedArray) { +const isTypedArray = (TypedArray => { // eslint-disable-next-line func-names - return function(thing) { + return thing => { return TypedArray && thing instanceof TypedArray; }; -})(typeof Uint8Array !== 'undefined' && Object.getPrototypeOf(Uint8Array)); +})(typeof Uint8Array !== 'undefined' && getPrototypeOf(Uint8Array)); -function forEachEntry(obj, fn) { - var generator = obj && obj[Symbol.iterator]; +/** + * For each entry in the object, call the function with the key and value. + * + * @param {Object} obj - The object to iterate over. + * @param {Function} fn - The function to call for each entry. + * + * @returns {void} + */ +const forEachEntry = (obj, fn) => { + const generator = obj && obj[Symbol.iterator]; - var iterator = generator.call(obj); + const iterator = generator.call(obj); - var result; + let result; while ((result = iterator.next()) && !result.done) { - var pair = result.value; + const pair = result.value; fn.call(obj, pair[0], pair[1]); } -} +}; -function matchAll(regExp, str) { - var matches; - var arr = []; +/** + * It takes a regular expression and a string, and returns an array of all the matches + * + * @param {string} regExp - The regular expression to match against. + * @param {string} str - The string to search. + * + * @returns {Array} + */ +const matchAll = (regExp, str) => { + let matches; + const arr = []; while ((matches = regExp.exec(str)) !== null) { arr.push(matches); } return arr; -} +}; -var isHTMLForm = kindOfTest('HTMLFormElement'); +/* Checking if the kindOfTest function returns true when passed an HTMLFormElement. */ +const isHTMLForm = kindOfTest('HTMLFormElement'); -var hasOwnProperty = (function resolver(_hasOwnProperty) { - return function(obj, prop) { - return _hasOwnProperty.call(obj, prop); +const toCamelCase = str => { + return str.toLowerCase().replace(/[_-\s]([a-z\d])(\w*)/g, + function replacer(m, p1, p2) { + return p1.toUpperCase() + p2; + } + ); +}; + +/* Creating a function that will check if an object has a property. */ +const hasOwnProperty = (({hasOwnProperty}) => (obj, prop) => hasOwnProperty.call(obj, prop))(Object.prototype); + +/** + * Determine if a value is a RegExp object + * + * @param {*} val The value to test + * + * @returns {boolean} True if value is a RegExp object, otherwise false + */ +const isRegExp = kindOfTest('RegExp'); + +const reduceDescriptors = (obj, reducer) => { + const descriptors = Object.getOwnPropertyDescriptors(obj); + const reducedDescriptors = {}; + + forEach(descriptors, (descriptor, name) => { + if (reducer(descriptor, name, obj) !== false) { + reducedDescriptors[name] = descriptor; + } + }); + + Object.defineProperties(obj, reducedDescriptors); +}; + +/** + * Makes all methods read-only + * @param {Object} obj + */ + +const freezeMethods = (obj) => { + reduceDescriptors(obj, (descriptor, name) => { + const value = obj[name]; + + if (!isFunction(value)) return; + + descriptor.enumerable = false; + + if ('writable' in descriptor) { + descriptor.writable = false; + return; + } + + if (!descriptor.set) { + descriptor.set = () => { + throw Error('Can not read-only method \'' + name + '\''); + }; + } + }); +}; + +const toObjectSet = (arrayOrString, delimiter) => { + const obj = {}; + + const define = (arr) => { + arr.forEach(value => { + obj[value] = true; + }); }; -})(Object.prototype.hasOwnProperty); -var utils = { - isArray: isArray, - isArrayBuffer: isArrayBuffer, - isBuffer: isBuffer, - isFormData: isFormData, - isArrayBufferView: isArrayBufferView, - isString: isString, - isNumber: isNumber, - isObject: isObject, - isPlainObject: isPlainObject, - isUndefined: isUndefined, - isDate: isDate, - isFile: isFile, - isBlob: isBlob, - isFunction: isFunction, - isStream: isStream, - isURLSearchParams: isURLSearchParams, - isStandardBrowserEnv: isStandardBrowserEnv, - forEach: forEach, - merge: merge, - extend: extend, - trim: trim, - stripBOM: stripBOM, - inherits: inherits, - toFlatObject: toFlatObject, - kindOf: kindOf, - kindOfTest: kindOfTest, - endsWith: endsWith, - toArray: toArray, - isTypedArray: isTypedArray, - isFileList: isFileList, - forEachEntry: forEachEntry, - matchAll: matchAll, - isHTMLForm: isHTMLForm, - hasOwnProperty: hasOwnProperty + isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter)); + + return obj; +}; + +const noop = () => {}; + +const toFiniteNumber = (value, defaultValue) => { + value = +value; + return Number.isFinite(value) ? value : defaultValue; +}; + +const utils = { + isArray, + isArrayBuffer, + isBuffer, + isFormData, + isArrayBufferView, + isString, + isNumber, + isBoolean, + isObject, + isPlainObject, + isUndefined, + isDate, + isFile, + isBlob, + isRegExp, + isFunction, + isStream, + isURLSearchParams, + isTypedArray, + isFileList, + forEach, + merge, + extend, + trim, + stripBOM, + inherits, + toFlatObject, + kindOf, + kindOfTest, + endsWith, + toArray, + forEachEntry, + matchAll, + isHTMLForm, + hasOwnProperty, + hasOwnProp: hasOwnProperty, // an alias to avoid ESLint no-prototype-builtins detection + reduceDescriptors, + freezeMethods, + toObjectSet, + toCamelCase, + noop, + toFiniteNumber }; /** @@ -521,6 +623,7 @@ var utils = { * @param {Object} [config] The config. * @param {Object} [request] The request. * @param {Object} [response] The response. + * * @returns {Error} The created error. */ function AxiosError(message, code, config, request, response) { @@ -562,8 +665,8 @@ utils.inherits(AxiosError, Error, { } }); -var prototype$1 = AxiosError.prototype; -var descriptors = {}; +const prototype$1 = AxiosError.prototype; +const descriptors = {}; [ 'ERR_BAD_OPTION_VALUE', @@ -579,7 +682,7 @@ var descriptors = {}; 'ERR_NOT_SUPPORT', 'ERR_INVALID_URL' // eslint-disable-next-line func-names -].forEach(function(code) { +].forEach(code => { descriptors[code] = {value: code}; }); @@ -587,11 +690,13 @@ Object.defineProperties(AxiosError, descriptors); Object.defineProperty(prototype$1, 'isAxiosError', {value: true}); // eslint-disable-next-line func-names -AxiosError.from = function(error, code, config, request, response, customProps) { - var axiosError = Object.create(prototype$1); +AxiosError.from = (error, code, config, request, response, customProps) => { + const axiosError = Object.create(prototype$1); utils.toFlatObject(error, axiosError, function filter(obj) { return obj !== Error.prototype; + }, prop => { + return prop !== 'isAxiosError'; }); AxiosError.call(axiosError, error.message, code, config, request, response); @@ -605,22 +710,40 @@ AxiosError.from = function(error, code, config, request, response, customProps) return axiosError; }; -var AxiosError_1 = AxiosError; - /* eslint-env browser */ -var browser$1 = typeof self == 'object' ? self.FormData : window.FormData; - -// eslint-disable-next-line strict -var FormData$1 = browser$1; +var browser = typeof self == 'object' ? self.FormData : window.FormData; +/** + * Determines if the given thing is a array or js object. + * + * @param {string} thing - The object or array to be visited. + * + * @returns {boolean} + */ function isVisitable(thing) { return utils.isPlainObject(thing) || utils.isArray(thing); } +/** + * It removes the brackets from the end of a string + * + * @param {string} key - The key of the parameter. + * + * @returns {string} the key without the brackets. + */ function removeBrackets(key) { return utils.endsWith(key, '[]') ? key.slice(0, -2) : key; } +/** + * It takes a path, a key, and a boolean, and returns a string + * + * @param {string} path - The path to the current key. + * @param {string} key - The key of the current object being iterated over. + * @param {string} dots - If true, the key will be rendered with dots instead of brackets. + * + * @returns {string} The path to the current key. + */ function renderKey(path, key, dots) { if (!path) return key; return path.concat(key).map(function each(token, i) { @@ -630,20 +753,35 @@ function renderKey(path, key, dots) { }).join(dots ? '.' : ''); } +/** + * If the array is an array and none of its elements are visitable, then it's a flat array. + * + * @param {Array} arr - The array to check + * + * @returns {boolean} + */ function isFlatArray(arr) { return utils.isArray(arr) && !arr.some(isVisitable); } -var predicates = utils.toFlatObject(utils, {}, null, function filter(prop) { +const predicates = utils.toFlatObject(utils, {}, null, function filter(prop) { return /^is[A-Z]/.test(prop); }); +/** + * If the thing is a FormData object, return true, otherwise return false. + * + * @param {unknown} thing - The thing to check. + * + * @returns {boolean} + */ function isSpecCompliant(thing) { return thing && utils.isFunction(thing.append) && thing[Symbol.toStringTag] === 'FormData' && thing[Symbol.iterator]; } /** * Convert a data object to FormData + * * @param {Object} obj * @param {?Object} [formData] * @param {?Object} [options] @@ -651,16 +789,26 @@ function isSpecCompliant(thing) { * @param {Boolean} [options.metaTokens = true] * @param {Boolean} [options.dots = false] * @param {?Boolean} [options.indexes = false] + * * @returns {Object} **/ +/** + * It converts an object into a FormData object + * + * @param {Object} obj - The object to convert to form data. + * @param {string} formData - The FormData object to append to. + * @param {Object} options + * + * @returns + */ function toFormData(obj, formData, options) { if (!utils.isObject(obj)) { throw new TypeError('target must be an object'); } // eslint-disable-next-line no-param-reassign - formData = formData || new (FormData$1 || FormData)(); + formData = formData || new (browser || FormData)(); // eslint-disable-next-line no-param-reassign options = utils.toFlatObject(options, { @@ -672,13 +820,13 @@ function toFormData(obj, formData, options) { return !utils.isUndefined(source[option]); }); - var metaTokens = options.metaTokens; + const metaTokens = options.metaTokens; // eslint-disable-next-line no-use-before-define - var visitor = options.visitor || defaultVisitor; - var dots = options.dots; - var indexes = options.indexes; - var _Blob = options.Blob || typeof Blob !== 'undefined' && Blob; - var useBlob = _Blob && isSpecCompliant(formData); + const visitor = options.visitor || defaultVisitor; + const dots = options.dots; + const indexes = options.indexes; + const _Blob = options.Blob || typeof Blob !== 'undefined' && Blob; + const useBlob = _Blob && isSpecCompliant(formData); if (!utils.isFunction(visitor)) { throw new TypeError('visitor must be a function'); @@ -692,7 +840,7 @@ function toFormData(obj, formData, options) { } if (!useBlob && utils.isBlob(value)) { - throw new AxiosError_1('Blob is not supported. Use a Buffer instead.'); + throw new AxiosError('Blob is not supported. Use a Buffer instead.'); } if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) { @@ -703,15 +851,17 @@ function toFormData(obj, formData, options) { } /** + * Default visitor. * * @param {*} value * @param {String|Number} key * @param {Array} path * @this {FormData} + * * @returns {boolean} return true to visit the each prop of the value recursively */ function defaultVisitor(value, key, path) { - var arr = value; + let arr = value; if (value && !path && typeof value === 'object') { if (utils.endsWith(key, '{}')) { @@ -746,12 +896,12 @@ function toFormData(obj, formData, options) { return false; } - var stack = []; + const stack = []; - var exposedHelpers = Object.assign(predicates, { - defaultVisitor: defaultVisitor, - convertValue: convertValue, - isVisitable: isVisitable + const exposedHelpers = Object.assign(predicates, { + defaultVisitor, + convertValue, + isVisitable }); function build(value, path) { @@ -764,7 +914,7 @@ function toFormData(obj, formData, options) { stack.push(value); utils.forEach(value, function each(el, key) { - var result = !utils.isUndefined(el) && visitor.call( + const result = !utils.isUndefined(el) && visitor.call( formData, el, utils.isString(key) ? key.trim() : key, path, exposedHelpers ); @@ -785,10 +935,16 @@ function toFormData(obj, formData, options) { return formData; } -var toFormData_1 = toFormData; - +/** + * It encodes a string by replacing all characters that are not in the unreserved set with + * their percent-encoded equivalents + * + * @param {string} str - The string to encode. + * + * @returns {string} The encoded string. + */ function encode$1(str) { - var charMap = { + const charMap = { '!': '%21', "'": '%27', '(': '%28', @@ -797,25 +953,33 @@ function encode$1(str) { '%20': '+', '%00': '\x00' }; - return encodeURIComponent(str).replace(/[!'\(\)~]|%20|%00/g, function replacer(match) { + return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) { return charMap[match]; }); } +/** + * It takes a params object and converts it to a FormData object + * + * @param {Object} params - The parameters to be converted to a FormData object. + * @param {Object} options - The options object passed to the Axios constructor. + * + * @returns {void} + */ function AxiosURLSearchParams(params, options) { this._pairs = []; - params && toFormData_1(params, this, options); + params && toFormData(params, this, options); } -var prototype = AxiosURLSearchParams.prototype; +const prototype = AxiosURLSearchParams.prototype; prototype.append = function append(name, value) { this._pairs.push([name, value]); }; prototype.toString = function toString(encoder) { - var _encode = encoder ? function(value) { + const _encode = encoder ? function(value) { return encoder.call(this, value, encode$1); } : encode$1; @@ -824,8 +988,14 @@ prototype.toString = function toString(encoder) { }, '').join('&'); }; -var AxiosURLSearchParams_1 = AxiosURLSearchParams; - +/** + * It replaces all instances of the characters `:`, `$`, `,`, `+`, `[`, and `]` with their + * URI encoded counterparts + * + * @param {string} val The value to be encoded. + * + * @returns {string} The encoded value. + */ function encode(val) { return encodeURIComponent(val). replace(/%3A/gi, ':'). @@ -842,126 +1012,153 @@ function encode(val) { * @param {string} url The base of the url (e.g., http://www.google.com) * @param {object} [params] The params to be appended * @param {?object} options + * * @returns {string} The formatted url */ -var buildURL = function buildURL(url, params, options) { +function buildURL(url, params, options) { /*eslint no-param-reassign:0*/ if (!params) { return url; } - var hashmarkIndex = url.indexOf('#'); + const hashmarkIndex = url.indexOf('#'); if (hashmarkIndex !== -1) { url = url.slice(0, hashmarkIndex); } - var _encode = options && options.encode || encode; + const _encode = options && options.encode || encode; - var serializerParams = utils.isURLSearchParams(params) ? + const serializerParams = utils.isURLSearchParams(params) ? params.toString() : - new AxiosURLSearchParams_1(params, options).toString(_encode); + new AxiosURLSearchParams(params, options).toString(_encode); if (serializerParams) { url += (url.indexOf('?') === -1 ? '?' : '&') + serializerParams; } return url; -}; - -function InterceptorManager() { - this.handlers = []; } -/** - * Add a new interceptor to the stack - * - * @param {Function} fulfilled The function to handle `then` for a `Promise` - * @param {Function} rejected The function to handle `reject` for a `Promise` - * - * @return {Number} An ID used to remove interceptor later - */ -InterceptorManager.prototype.use = function use(fulfilled, rejected, options) { - this.handlers.push({ - fulfilled: fulfilled, - rejected: rejected, - synchronous: options ? options.synchronous : false, - runWhen: options ? options.runWhen : null - }); - return this.handlers.length - 1; -}; - -/** - * Remove an interceptor from the stack - * - * @param {Number} id The ID that was returned by `use` - */ -InterceptorManager.prototype.eject = function eject(id) { - if (this.handlers[id]) { - this.handlers[id] = null; - } -}; - -/** - * Clear all interceptors from the stack - */ -InterceptorManager.prototype.clear = function clear() { - if (this.handlers) { +class InterceptorManager { + constructor() { this.handlers = []; } -}; -/** - * Iterate over all the registered interceptors - * - * This method is particularly useful for skipping over any - * interceptors that may have become `null` calling `eject`. - * - * @param {Function} fn The function to call for each interceptor - */ -InterceptorManager.prototype.forEach = function forEach(fn) { - utils.forEach(this.handlers, function forEachHandler(h) { - if (h !== null) { - fn(h); + /** + * Add a new interceptor to the stack + * + * @param {Function} fulfilled The function to handle `then` for a `Promise` + * @param {Function} rejected The function to handle `reject` for a `Promise` + * + * @return {Number} An ID used to remove interceptor later + */ + use(fulfilled, rejected, options) { + this.handlers.push({ + fulfilled, + rejected, + synchronous: options ? options.synchronous : false, + runWhen: options ? options.runWhen : null + }); + return this.handlers.length - 1; + } + + /** + * Remove an interceptor from the stack + * + * @param {Number} id The ID that was returned by `use` + * + * @returns {Boolean} `true` if the interceptor was removed, `false` otherwise + */ + eject(id) { + if (this.handlers[id]) { + this.handlers[id] = null; } - }); -}; + } -var InterceptorManager_1 = InterceptorManager; - -var normalizeHeaderName = function normalizeHeaderName(headers, normalizedName) { - utils.forEach(headers, function processHeader(value, name) { - if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) { - headers[normalizedName] = value; - delete headers[name]; + /** + * Clear all interceptors from the stack + * + * @returns {void} + */ + clear() { + if (this.handlers) { + this.handlers = []; } - }); -}; + } -var transitional = { + /** + * Iterate over all the registered interceptors + * + * This method is particularly useful for skipping over any + * interceptors that may have become `null` calling `eject`. + * + * @param {Function} fn The function to call for each interceptor + * + * @returns {void} + */ + forEach(fn) { + utils.forEach(this.handlers, function forEachHandler(h) { + if (h !== null) { + fn(h); + } + }); + } +} + +const transitionalDefaults = { silentJSONParsing: true, forcedJSONParsing: true, clarifyTimeoutError: false }; -var URLSearchParams_1 = typeof URLSearchParams !== 'undefined' ? URLSearchParams : AxiosURLSearchParams_1; +const URLSearchParams$1 = typeof URLSearchParams !== 'undefined' ? URLSearchParams : AxiosURLSearchParams; -var FormData_1 = FormData; +const FormData$1 = FormData; -var browser = { +/** + * Determine if we're running in a standard browser environment + * + * This allows axios to run in a web worker, and react-native. + * Both environments support XMLHttpRequest, but not fully standard globals. + * + * web workers: + * typeof window -> undefined + * typeof document -> undefined + * + * react-native: + * navigator.product -> 'ReactNative' + * nativescript + * navigator.product -> 'NativeScript' or 'NS' + * + * @returns {boolean} + */ +const isStandardBrowserEnv = (() => { + let product; + if (typeof navigator !== 'undefined' && ( + (product = navigator.product) === 'ReactNative' || + product === 'NativeScript' || + product === 'NS') + ) { + return false; + } + + return typeof window !== 'undefined' && typeof document !== 'undefined'; +})(); + +const platform = { isBrowser: true, classes: { - URLSearchParams: URLSearchParams_1, - FormData: FormData_1, - Blob: Blob + URLSearchParams: URLSearchParams$1, + FormData: FormData$1, + Blob }, - protocols: ['http', 'https', 'file', 'blob', 'url'] + isStandardBrowserEnv, + protocols: ['http', 'https', 'file', 'blob', 'url', 'data'] }; -var platform = browser; - -var toURLEncodedForm = function toURLEncodedForm(data, options) { - return toFormData_1(data, new platform.classes.URLSearchParams(), Object.assign({ +function toURLEncodedForm(data, options) { + return toFormData(data, new platform.classes.URLSearchParams(), Object.assign({ visitor: function(value, key, path, helpers) { if (platform.isNode && utils.isBuffer(value)) { this.append(key, value.toString('base64')); @@ -971,24 +1168,38 @@ var toURLEncodedForm = function toURLEncodedForm(data, options) { return helpers.defaultVisitor.apply(this, arguments); } }, options)); -}; +} +/** + * It takes a string like `foo[x][y][z]` and returns an array like `['foo', 'x', 'y', 'z'] + * + * @param {string} name - The name of the property to get. + * + * @returns An array of strings. + */ function parsePropPath(name) { // foo[x][y][z] // foo.x.y.z // foo-x-y-z // foo x y z - return utils.matchAll(/\w+|\[(\w*)]/g, name).map(function(match) { + return utils.matchAll(/\w+|\[(\w*)]/g, name).map(match => { return match[0] === '[]' ? '' : match[1] || match[0]; }); } +/** + * Convert an array to an object. + * + * @param {Array} arr - The array to convert to an object. + * + * @returns An object with the same keys and values as the array. + */ function arrayToObject(arr) { - var obj = {}; - var keys = Object.keys(arr); - var i; - var len = keys.length; - var key; + const obj = {}; + const keys = Object.keys(arr); + let i; + const len = keys.length; + let key; for (i = 0; i < len; i++) { key = keys[i]; obj[key] = arr[key]; @@ -996,15 +1207,22 @@ function arrayToObject(arr) { return obj; } +/** + * It takes a FormData object and returns a JavaScript object + * + * @param {string} formData The FormData object to convert to JSON. + * + * @returns {Object | null} The converted object. + */ function formDataToJSON(formData) { function buildPath(path, value, target, index) { - var name = path[index++]; - var isNumericKey = Number.isFinite(+name); - var isLast = index >= path.length; + let name = path[index++]; + const isNumericKey = Number.isFinite(+name); + const isLast = index >= path.length; name = !name && utils.isArray(target) ? target.length : name; if (isLast) { - if (utils.hasOwnProperty(target, name)) { + if (utils.hasOwnProp(target, name)) { target[name] = [target[name], value]; } else { target[name] = value; @@ -1017,7 +1235,7 @@ function formDataToJSON(formData) { target[name] = []; } - var result = buildPath(path, value, target[name], index); + const result = buildPath(path, value, target[name], index); if (result && utils.isArray(target[name])) { target[name] = arrayToObject(target[name]); @@ -1027,9 +1245,9 @@ function formDataToJSON(formData) { } if (utils.isFormData(formData) && utils.isFunction(formData.entries)) { - var obj = {}; + const obj = {}; - utils.forEachEntry(formData, function(name, value) { + utils.forEachEntry(formData, (name, value) => { buildPath(parsePropPath(name), value, obj, 0); }); @@ -1039,105 +1257,105 @@ function formDataToJSON(formData) { return null; } -var formDataToJSON_1 = formDataToJSON; - /** * Resolve or reject a Promise based on response status. * * @param {Function} resolve A function that resolves the promise. * @param {Function} reject A function that rejects the promise. * @param {object} response The response. + * + * @returns {object} The response. */ -var settle = function settle(resolve, reject, response) { - var validateStatus = response.config.validateStatus; +function settle(resolve, reject, response) { + const validateStatus = response.config.validateStatus; if (!response.status || !validateStatus || validateStatus(response.status)) { resolve(response); } else { - reject(new AxiosError_1( + reject(new AxiosError( 'Request failed with status code ' + response.status, - [AxiosError_1.ERR_BAD_REQUEST, AxiosError_1.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4], + [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4], response.config, response.request, response )); } -}; +} -var cookies = ( - utils.isStandardBrowserEnv() ? +const cookies = platform.isStandardBrowserEnv ? - // Standard browser envs support document.cookie - (function standardBrowserEnv() { - return { - write: function write(name, value, expires, path, domain, secure) { - var cookie = []; - cookie.push(name + '=' + encodeURIComponent(value)); +// Standard browser envs support document.cookie + (function standardBrowserEnv() { + return { + write: function write(name, value, expires, path, domain, secure) { + const cookie = []; + cookie.push(name + '=' + encodeURIComponent(value)); - if (utils.isNumber(expires)) { - cookie.push('expires=' + new Date(expires).toGMTString()); - } - - if (utils.isString(path)) { - cookie.push('path=' + path); - } - - if (utils.isString(domain)) { - cookie.push('domain=' + domain); - } - - if (secure === true) { - cookie.push('secure'); - } - - document.cookie = cookie.join('; '); - }, - - read: function read(name) { - var match = document.cookie.match(new RegExp('(^|;\\s*)(' + name + ')=([^;]*)')); - return (match ? decodeURIComponent(match[3]) : null); - }, - - remove: function remove(name) { - this.write(name, '', Date.now() - 86400000); + if (utils.isNumber(expires)) { + cookie.push('expires=' + new Date(expires).toGMTString()); } - }; - })() : - // Non standard browser env (web workers, react-native) lack needed support. - (function nonStandardBrowserEnv() { - return { - write: function write() {}, - read: function read() { return null; }, - remove: function remove() {} - }; - })() -); + if (utils.isString(path)) { + cookie.push('path=' + path); + } + + if (utils.isString(domain)) { + cookie.push('domain=' + domain); + } + + if (secure === true) { + cookie.push('secure'); + } + + document.cookie = cookie.join('; '); + }, + + read: function read(name) { + const match = document.cookie.match(new RegExp('(^|;\\s*)(' + name + ')=([^;]*)')); + return (match ? decodeURIComponent(match[3]) : null); + }, + + remove: function remove(name) { + this.write(name, '', Date.now() - 86400000); + } + }; + })() : + +// Non standard browser env (web workers, react-native) lack needed support. + (function nonStandardBrowserEnv() { + return { + write: function write() {}, + read: function read() { return null; }, + remove: function remove() {} + }; + })(); /** * Determines whether the specified URL is absolute * * @param {string} url The URL to test + * * @returns {boolean} True if the specified URL is absolute, otherwise false */ -var isAbsoluteURL = function isAbsoluteURL(url) { +function isAbsoluteURL(url) { // A URL is considered absolute if it begins with "://" or "//" (protocol-relative URL). // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed // by any combination of letters, digits, plus, period, or hyphen. return /^([a-z][a-z\d+\-.]*:)?\/\//i.test(url); -}; +} /** * Creates a new URL by combining the specified URLs * * @param {string} baseURL The base URL * @param {string} relativeURL The relative URL + * * @returns {string} The combined URL */ -var combineURLs = function combineURLs(baseURL, relativeURL) { +function combineURLs(baseURL, relativeURL) { return relativeURL ? baseURL.replace(/\/+$/, '') + '/' + relativeURL.replace(/^\/+/, '') : baseURL; -}; +} /** * Creates a new URL by combining the baseURL with the requestedURL, @@ -1146,23 +1364,111 @@ var combineURLs = function combineURLs(baseURL, relativeURL) { * * @param {string} baseURL The base URL * @param {string} requestedURL Absolute or relative URL to combine + * * @returns {string} The combined full path */ -var buildFullPath = function buildFullPath(baseURL, requestedURL) { +function buildFullPath(baseURL, requestedURL) { if (baseURL && !isAbsoluteURL(requestedURL)) { return combineURLs(baseURL, requestedURL); } return requestedURL; -}; +} -// Headers whose duplicates are ignored by node +const isURLSameOrigin = platform.isStandardBrowserEnv ? + +// Standard browser envs have full support of the APIs needed to test +// whether the request URL is of the same origin as current location. + (function standardBrowserEnv() { + const msie = /(msie|trident)/i.test(navigator.userAgent); + const urlParsingNode = document.createElement('a'); + let originURL; + + /** + * Parse a URL to discover it's components + * + * @param {String} url The URL to be parsed + * @returns {Object} + */ + function resolveURL(url) { + let href = url; + + if (msie) { + // IE needs attribute set twice to normalize properties + urlParsingNode.setAttribute('href', href); + href = urlParsingNode.href; + } + + urlParsingNode.setAttribute('href', href); + + // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils + return { + href: urlParsingNode.href, + protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '', + host: urlParsingNode.host, + search: urlParsingNode.search ? urlParsingNode.search.replace(/^\?/, '') : '', + hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '', + hostname: urlParsingNode.hostname, + port: urlParsingNode.port, + pathname: (urlParsingNode.pathname.charAt(0) === '/') ? + urlParsingNode.pathname : + '/' + urlParsingNode.pathname + }; + } + + originURL = resolveURL(window.location.href); + + /** + * Determine if a URL shares the same origin as the current location + * + * @param {String} requestURL The URL to test + * @returns {boolean} True if URL shares the same origin, otherwise false + */ + return function isURLSameOrigin(requestURL) { + const parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL; + return (parsed.protocol === originURL.protocol && + parsed.host === originURL.host); + }; + })() : + + // Non standard browser envs (web workers, react-native) lack needed support. + (function nonStandardBrowserEnv() { + return function isURLSameOrigin() { + return true; + }; + })(); + +/** + * A `CanceledError` is an object that is thrown when an operation is canceled. + * + * @param {string=} message The message. + * @param {Object=} config The config. + * @param {Object=} request The request. + * + * @returns {CanceledError} The created error. + */ +function CanceledError(message, config, request) { + // eslint-disable-next-line no-eq-null,eqeqeq + AxiosError.call(this, message == null ? 'canceled' : message, AxiosError.ERR_CANCELED, config, request); + this.name = 'CanceledError'; +} + +utils.inherits(CanceledError, AxiosError, { + __CANCEL__: true +}); + +function parseProtocol(url) { + const match = /^([-+\w]{1,25})(:?\/\/|:)/.exec(url); + return match && match[1] || ''; +} + +// RawAxiosHeaders whose duplicates are ignored by node // c.f. https://nodejs.org/api/http.html#http_message_headers -var ignoreDuplicateOf = [ +const ignoreDuplicateOf = utils.toObjectSet([ 'age', 'authorization', 'content-length', 'content-type', 'etag', 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since', 'last-modified', 'location', 'max-forwards', 'proxy-authorization', 'referer', 'retry-after', 'user-agent' -]; +]); /** * Parse headers into an object @@ -1174,133 +1480,393 @@ var ignoreDuplicateOf = [ * Transfer-Encoding: chunked * ``` * - * @param {String} headers Headers needing to be parsed + * @param {String} rawHeaders Headers needing to be parsed + * * @returns {Object} Headers parsed into an object */ -var parseHeaders = function parseHeaders(headers) { - var parsed = {}; - var key; - var val; - var i; +const parseHeaders = rawHeaders => { + const parsed = {}; + let key; + let val; + let i; - if (!headers) { return parsed; } - - utils.forEach(headers.split('\n'), function parser(line) { + rawHeaders && rawHeaders.split('\n').forEach(function parser(line) { i = line.indexOf(':'); - key = utils.trim(line.slice(0, i)).toLowerCase(); - val = utils.trim(line.slice(i + 1)); + key = line.substring(0, i).trim().toLowerCase(); + val = line.substring(i + 1).trim(); - if (key) { - if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) { - return; - } - if (key === 'set-cookie') { - parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]); + if (!key || (parsed[key] && ignoreDuplicateOf[key])) { + return; + } + + if (key === 'set-cookie') { + if (parsed[key]) { + parsed[key].push(val); } else { - parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val; + parsed[key] = [val]; } + } else { + parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val; } }); return parsed; }; -var isURLSameOrigin = ( - utils.isStandardBrowserEnv() ? +const $internals = Symbol('internals'); +const $defaults = Symbol('defaults'); - // Standard browser envs have full support of the APIs needed to test - // whether the request URL is of the same origin as current location. - (function standardBrowserEnv() { - var msie = /(msie|trident)/i.test(navigator.userAgent); - var urlParsingNode = document.createElement('a'); - var originURL; - - /** - * Parse a URL to discover it's components - * - * @param {String} url The URL to be parsed - * @returns {Object} - */ - function resolveURL(url) { - var href = url; - - if (msie) { - // IE needs attribute set twice to normalize properties - urlParsingNode.setAttribute('href', href); - href = urlParsingNode.href; - } - - urlParsingNode.setAttribute('href', href); - - // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils - return { - href: urlParsingNode.href, - protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '', - host: urlParsingNode.host, - search: urlParsingNode.search ? urlParsingNode.search.replace(/^\?/, '') : '', - hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '', - hostname: urlParsingNode.hostname, - port: urlParsingNode.port, - pathname: (urlParsingNode.pathname.charAt(0) === '/') ? - urlParsingNode.pathname : - '/' + urlParsingNode.pathname - }; - } - - originURL = resolveURL(window.location.href); - - /** - * Determine if a URL shares the same origin as the current location - * - * @param {String} requestURL The URL to test - * @returns {boolean} True if URL shares the same origin, otherwise false - */ - return function isURLSameOrigin(requestURL) { - var parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL; - return (parsed.protocol === originURL.protocol && - parsed.host === originURL.host); - }; - })() : - - // Non standard browser envs (web workers, react-native) lack needed support. - (function nonStandardBrowserEnv() { - return function isURLSameOrigin() { - return true; - }; - })() -); - -/** - * A `CanceledError` is an object that is thrown when an operation is canceled. - * - * @class - * @param {string=} message The message. - * @param {Object=} config The config. - * @param {Object=} request The request. - */ -function CanceledError(message, config, request) { - // eslint-disable-next-line no-eq-null,eqeqeq - AxiosError_1.call(this, message == null ? 'canceled' : message, AxiosError_1.ERR_CANCELED, config, request); - this.name = 'CanceledError'; +function normalizeHeader(header) { + return header && String(header).trim().toLowerCase(); } -utils.inherits(CanceledError, AxiosError_1, { - __CANCEL__: true +function normalizeValue(value) { + if (value === false || value == null) { + return value; + } + + return String(value); +} + +function parseTokens(str) { + const tokens = Object.create(null); + const tokensRE = /([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g; + let match; + + while ((match = tokensRE.exec(str))) { + tokens[match[1]] = match[2]; + } + + return tokens; +} + +function matchHeaderValue(context, value, header, filter) { + if (utils.isFunction(filter)) { + return filter.call(this, value, header); + } + + if (!utils.isString(value)) return; + + if (utils.isString(filter)) { + return value.indexOf(filter) !== -1; + } + + if (utils.isRegExp(filter)) { + return filter.test(value); + } +} + +function formatHeader(header) { + return header.trim() + .toLowerCase().replace(/([a-z\d])(\w*)/g, (w, char, str) => { + return char.toUpperCase() + str; + }); +} + +function buildAccessors(obj, header) { + const accessorName = utils.toCamelCase(' ' + header); + + ['get', 'set', 'has'].forEach(methodName => { + Object.defineProperty(obj, methodName + accessorName, { + value: function(arg1, arg2, arg3) { + return this[methodName].call(this, header, arg1, arg2, arg3); + }, + configurable: true + }); + }); +} + +function findKey(obj, key) { + key = key.toLowerCase(); + const keys = Object.keys(obj); + let i = keys.length; + let _key; + while (i-- > 0) { + _key = keys[i]; + if (key === _key.toLowerCase()) { + return _key; + } + } + return null; +} + +function AxiosHeaders(headers, defaults) { + headers && this.set(headers); + this[$defaults] = defaults || null; +} + +Object.assign(AxiosHeaders.prototype, { + set: function(header, valueOrRewrite, rewrite) { + const self = this; + + function setHeader(_value, _header, _rewrite) { + const lHeader = normalizeHeader(_header); + + if (!lHeader) { + throw new Error('header name must be a non-empty string'); + } + + const key = findKey(self, lHeader); + + if (key && _rewrite !== true && (self[key] === false || _rewrite === false)) { + return; + } + + if (utils.isArray(_value)) { + _value = _value.map(normalizeValue); + } else { + _value = normalizeValue(_value); + } + + self[key || _header] = _value; + } + + if (utils.isPlainObject(header)) { + utils.forEach(header, (_value, _header) => { + setHeader(_value, _header, valueOrRewrite); + }); + } else { + setHeader(valueOrRewrite, header, rewrite); + } + + return this; + }, + + get: function(header, parser) { + header = normalizeHeader(header); + + if (!header) return undefined; + + const key = findKey(this, header); + + if (key) { + const value = this[key]; + + if (!parser) { + return value; + } + + if (parser === true) { + return parseTokens(value); + } + + if (utils.isFunction(parser)) { + return parser.call(this, value, key); + } + + if (utils.isRegExp(parser)) { + return parser.exec(value); + } + + throw new TypeError('parser must be boolean|regexp|function'); + } + }, + + has: function(header, matcher) { + header = normalizeHeader(header); + + if (header) { + const key = findKey(this, header); + + return !!(key && (!matcher || matchHeaderValue(this, this[key], key, matcher))); + } + + return false; + }, + + delete: function(header, matcher) { + const self = this; + let deleted = false; + + function deleteHeader(_header) { + _header = normalizeHeader(_header); + + if (_header) { + const key = findKey(self, _header); + + if (key && (!matcher || matchHeaderValue(self, self[key], key, matcher))) { + delete self[key]; + + deleted = true; + } + } + } + + if (utils.isArray(header)) { + header.forEach(deleteHeader); + } else { + deleteHeader(header); + } + + return deleted; + }, + + clear: function() { + return Object.keys(this).forEach(this.delete.bind(this)); + }, + + normalize: function(format) { + const self = this; + const headers = {}; + + utils.forEach(this, (value, header) => { + const key = findKey(headers, header); + + if (key) { + self[key] = normalizeValue(value); + delete self[header]; + return; + } + + const normalized = format ? formatHeader(header) : String(header).trim(); + + if (normalized !== header) { + delete self[header]; + } + + self[normalized] = normalizeValue(value); + + headers[normalized] = true; + }); + + return this; + }, + + toJSON: function() { + const obj = Object.create(null); + + utils.forEach(Object.assign({}, this[$defaults] || null, this), + (value, header) => { + if (value == null || value === false) return; + obj[header] = utils.isArray(value) ? value.join(', ') : value; + }); + + return obj; + } }); -var CanceledError_1 = CanceledError; +Object.assign(AxiosHeaders, { + from: function(thing) { + if (utils.isString(thing)) { + return new this(parseHeaders(thing)); + } + return thing instanceof this ? thing : new this(thing); + }, -var parseProtocol = function parseProtocol(url) { - var match = /^([-+\w]{1,25})(:?\/\/|:)/.exec(url); - return match && match[1] || ''; -}; + accessor: function(header) { + const internals = this[$internals] = (this[$internals] = { + accessors: {} + }); -var xhr = function xhrAdapter(config) { + const accessors = internals.accessors; + const prototype = this.prototype; + + function defineAccessor(_header) { + const lHeader = normalizeHeader(_header); + + if (!accessors[lHeader]) { + buildAccessors(prototype, _header); + accessors[lHeader] = true; + } + } + + utils.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header); + + return this; + } +}); + +AxiosHeaders.accessor(['Content-Type', 'Content-Length', 'Accept', 'Accept-Encoding', 'User-Agent']); + +utils.freezeMethods(AxiosHeaders.prototype); +utils.freezeMethods(AxiosHeaders); + +/** + * Calculate data maxRate + * @param {Number} [samplesCount= 10] + * @param {Number} [min= 1000] + * @returns {Function} + */ +function speedometer(samplesCount, min) { + samplesCount = samplesCount || 10; + const bytes = new Array(samplesCount); + const timestamps = new Array(samplesCount); + let head = 0; + let tail = 0; + let firstSampleTS; + + min = min !== undefined ? min : 1000; + + return function push(chunkLength) { + const now = Date.now(); + + const startedAt = timestamps[tail]; + + if (!firstSampleTS) { + firstSampleTS = now; + } + + bytes[head] = chunkLength; + timestamps[head] = now; + + let i = tail; + let bytesCount = 0; + + while (i !== head) { + bytesCount += bytes[i++]; + i = i % samplesCount; + } + + head = (head + 1) % samplesCount; + + if (head === tail) { + tail = (tail + 1) % samplesCount; + } + + if (now - firstSampleTS < min) { + return; + } + + const passed = startedAt && now - startedAt; + + return passed ? Math.round(bytesCount * 1000 / passed) : undefined; + }; +} + +function progressEventReducer(listener, isDownloadStream) { + let bytesNotified = 0; + const _speedometer = speedometer(50, 250); + + return e => { + const loaded = e.loaded; + const total = e.lengthComputable ? e.total : undefined; + const progressBytes = loaded - bytesNotified; + const rate = _speedometer(progressBytes); + const inRange = loaded <= total; + + bytesNotified = loaded; + + const data = { + loaded, + total, + progress: total ? (loaded / total) : undefined, + bytes: progressBytes, + rate: rate ? rate : undefined, + estimated: rate && total && inRange ? (total - loaded) / rate : undefined + }; + + data[isDownloadStream ? 'download' : 'upload'] = true; + + listener(data); + }; +} + +function xhrAdapter(config) { return new Promise(function dispatchXhrRequest(resolve, reject) { - var requestData = config.data; - var requestHeaders = config.headers; - var responseType = config.responseType; - var onCanceled; + let requestData = config.data; + const requestHeaders = AxiosHeaders.from(config.headers).normalize(); + const responseType = config.responseType; + let onCanceled; function done() { if (config.cancelToken) { config.cancelToken.unsubscribe(onCanceled); @@ -1311,20 +1877,20 @@ var xhr = function xhrAdapter(config) { } } - if (utils.isFormData(requestData) && utils.isStandardBrowserEnv()) { - delete requestHeaders['Content-Type']; // Let the browser set it + if (utils.isFormData(requestData) && platform.isStandardBrowserEnv) { + requestHeaders.setContentType(false); // Let the browser set it } - var request = new XMLHttpRequest(); + let request = new XMLHttpRequest(); // HTTP basic authentication if (config.auth) { - var username = config.auth.username || ''; - var password = config.auth.password ? unescape(encodeURIComponent(config.auth.password)) : ''; - requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password); + const username = config.auth.username || ''; + const password = config.auth.password ? unescape(encodeURIComponent(config.auth.password)) : ''; + requestHeaders.set('Authorization', 'Basic ' + btoa(username + ':' + password)); } - var fullPath = buildFullPath(config.baseURL, config.url); + const fullPath = buildFullPath(config.baseURL, config.url); request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true); @@ -1336,16 +1902,18 @@ var xhr = function xhrAdapter(config) { return; } // Prepare the response - var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null; - var responseData = !responseType || responseType === 'text' || responseType === 'json' ? + const responseHeaders = AxiosHeaders.from( + 'getAllResponseHeaders' in request && request.getAllResponseHeaders() + ); + const responseData = !responseType || responseType === 'text' || responseType === 'json' ? request.responseText : request.response; - var response = { + const response = { data: responseData, status: request.status, statusText: request.statusText, headers: responseHeaders, - config: config, - request: request + config, + request }; settle(function _resolve(value) { @@ -1389,7 +1957,7 @@ var xhr = function xhrAdapter(config) { return; } - reject(new AxiosError_1('Request aborted', AxiosError_1.ECONNABORTED, config, request)); + reject(new AxiosError('Request aborted', AxiosError.ECONNABORTED, config, request)); // Clean up request request = null; @@ -1399,7 +1967,7 @@ var xhr = function xhrAdapter(config) { request.onerror = function handleError() { // Real errors are hidden from us by the browser // onerror should only fire if it's a network error - reject(new AxiosError_1('Network Error', AxiosError_1.ERR_NETWORK, config, request)); + reject(new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request)); // Clean up request request = null; @@ -1407,14 +1975,14 @@ var xhr = function xhrAdapter(config) { // Handle timeout request.ontimeout = function handleTimeout() { - var timeoutErrorMessage = config.timeout ? 'timeout of ' + config.timeout + 'ms exceeded' : 'timeout exceeded'; - var transitional$1 = config.transitional || transitional; + let timeoutErrorMessage = config.timeout ? 'timeout of ' + config.timeout + 'ms exceeded' : 'timeout exceeded'; + const transitional = config.transitional || transitionalDefaults; if (config.timeoutErrorMessage) { timeoutErrorMessage = config.timeoutErrorMessage; } - reject(new AxiosError_1( + reject(new AxiosError( timeoutErrorMessage, - transitional$1.clarifyTimeoutError ? AxiosError_1.ETIMEDOUT : AxiosError_1.ECONNABORTED, + transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED, config, request)); @@ -1425,27 +1993,23 @@ var xhr = function xhrAdapter(config) { // Add xsrf header // This is only done if running in a standard browser environment. // Specifically not if we're in a web worker, or react-native. - if (utils.isStandardBrowserEnv()) { + if (platform.isStandardBrowserEnv) { // Add xsrf header - var xsrfValue = (config.withCredentials || isURLSameOrigin(fullPath)) && config.xsrfCookieName ? - cookies.read(config.xsrfCookieName) : - undefined; + const xsrfValue = (config.withCredentials || isURLSameOrigin(fullPath)) + && config.xsrfCookieName && cookies.read(config.xsrfCookieName); if (xsrfValue) { - requestHeaders[config.xsrfHeaderName] = xsrfValue; + requestHeaders.set(config.xsrfHeaderName, xsrfValue); } } + // Remove Content-Type if data is undefined + requestData === undefined && requestHeaders.setContentType(null); + // Add headers to the request if ('setRequestHeader' in request) { - utils.forEach(requestHeaders, function setRequestHeader(val, key) { - if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') { - // Remove Content-Type if data is undefined - delete requestHeaders[key]; - } else { - // Otherwise add header to the request - request.setRequestHeader(key, val); - } + utils.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) { + request.setRequestHeader(key, val); }); } @@ -1461,22 +2025,22 @@ var xhr = function xhrAdapter(config) { // Handle progress if needed if (typeof config.onDownloadProgress === 'function') { - request.addEventListener('progress', config.onDownloadProgress); + request.addEventListener('progress', progressEventReducer(config.onDownloadProgress, true)); } // Not all browsers support upload events if (typeof config.onUploadProgress === 'function' && request.upload) { - request.upload.addEventListener('progress', config.onUploadProgress); + request.upload.addEventListener('progress', progressEventReducer(config.onUploadProgress)); } if (config.cancelToken || config.signal) { // Handle cancellation // eslint-disable-next-line func-names - onCanceled = function(cancel) { + onCanceled = cancel => { if (!request) { return; } - reject(!cancel || cancel.type ? new CanceledError_1(null, config, req) : cancel); + reject(!cancel || cancel.type ? new CanceledError(null, config, request) : cancel); request.abort(); request = null; }; @@ -1487,45 +2051,81 @@ var xhr = function xhrAdapter(config) { } } - if (!requestData) { - requestData = null; - } - - var protocol = parseProtocol(fullPath); + const protocol = parseProtocol(fullPath); if (protocol && platform.protocols.indexOf(protocol) === -1) { - reject(new AxiosError_1('Unsupported protocol ' + protocol + ':', AxiosError_1.ERR_BAD_REQUEST, config)); + reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config)); return; } // Send the request - request.send(requestData); + request.send(requestData || null); }); +} + +const adapters = { + http: xhrAdapter, + xhr: xhrAdapter }; -var DEFAULT_CONTENT_TYPE = { +const adapters$1 = { + getAdapter: (nameOrAdapter) => { + if(utils.isString(nameOrAdapter)){ + const adapter = adapters[nameOrAdapter]; + + if (!nameOrAdapter) { + throw Error( + utils.hasOwnProp(nameOrAdapter) ? + `Adapter '${nameOrAdapter}' is not available in the build` : + `Can not resolve adapter '${nameOrAdapter}'` + ); + } + + return adapter + } + + if (!utils.isFunction(nameOrAdapter)) { + throw new TypeError('adapter is not a function'); + } + + return nameOrAdapter; + }, + adapters +}; + +const DEFAULT_CONTENT_TYPE = { 'Content-Type': 'application/x-www-form-urlencoded' }; -function setContentTypeIfUnset(headers, value) { - if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) { - headers['Content-Type'] = value; - } -} - +/** + * If the browser has an XMLHttpRequest object, use the XHR adapter, otherwise use the HTTP + * adapter + * + * @returns {Function} + */ function getDefaultAdapter() { - var adapter; + let adapter; if (typeof XMLHttpRequest !== 'undefined') { // For browsers use XHR adapter - adapter = xhr; - } else if (typeof process !== 'undefined' && Object.prototype.toString.call(process) === '[object process]') { + adapter = adapters$1.getAdapter('xhr'); + } else if (typeof process !== 'undefined' && utils.kindOf(process) === 'process') { // For node use HTTP adapter - adapter = xhr; + adapter = adapters$1.getAdapter('http'); } return adapter; } +/** + * It takes a string, tries to parse it, and if it fails, it returns the stringified version + * of the input + * + * @param {any} rawValue - The value to be stringified. + * @param {Function} parser - A function that parses a string into a JavaScript object. + * @param {Function} encoder - A function that takes a value and returns a string. + * + * @returns {string} A stringified version of the rawValue. + */ function stringifySafely(rawValue, parser, encoder) { if (utils.isString(rawValue)) { try { @@ -1541,31 +2141,28 @@ function stringifySafely(rawValue, parser, encoder) { return (encoder || JSON.stringify)(rawValue); } -var defaults = { +const defaults = { - transitional: transitional, + transitional: transitionalDefaults, adapter: getDefaultAdapter(), transformRequest: [function transformRequest(data, headers) { - normalizeHeaderName(headers, 'Accept'); - normalizeHeaderName(headers, 'Content-Type'); - - var contentType = headers && headers['Content-Type'] || ''; - var hasJSONContentType = contentType.indexOf('application/json') > -1; - var isObjectPayload = utils.isObject(data); + const contentType = headers.getContentType() || ''; + const hasJSONContentType = contentType.indexOf('application/json') > -1; + const isObjectPayload = utils.isObject(data); if (isObjectPayload && utils.isHTMLForm(data)) { data = new FormData(data); } - var isFormData = utils.isFormData(data); + const isFormData = utils.isFormData(data); if (isFormData) { if (!hasJSONContentType) { return data; } - return hasJSONContentType ? JSON.stringify(formDataToJSON_1(data)) : data; + return hasJSONContentType ? JSON.stringify(formDataToJSON(data)) : data; } if (utils.isArrayBuffer(data) || @@ -1580,21 +2177,21 @@ var defaults = { return data.buffer; } if (utils.isURLSearchParams(data)) { - setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8'); + headers.setContentType('application/x-www-form-urlencoded;charset=utf-8', false); return data.toString(); } - var isFileList; + let isFileList; if (isObjectPayload) { - if (contentType.indexOf('application/x-www-form-urlencoded') !== -1) { + if (contentType.indexOf('application/x-www-form-urlencoded') > -1) { return toURLEncodedForm(data, this.formSerializer).toString(); } if ((isFileList = utils.isFileList(data)) || contentType.indexOf('multipart/form-data') > -1) { - var _FormData = this.env && this.env.FormData; + const _FormData = this.env && this.env.FormData; - return toFormData_1( + return toFormData( isFileList ? {'files[]': data} : data, _FormData && new _FormData(), this.formSerializer @@ -1603,7 +2200,7 @@ var defaults = { } if (isObjectPayload || hasJSONContentType ) { - setContentTypeIfUnset(headers, 'application/json'); + headers.setContentType('application/json', false); return stringifySafely(data); } @@ -1611,20 +2208,20 @@ var defaults = { }], transformResponse: [function transformResponse(data) { - var transitional = this.transitional || defaults.transitional; - var forcedJSONParsing = transitional && transitional.forcedJSONParsing; - var JSONRequested = this.responseType === 'json'; + const transitional = this.transitional || defaults.transitional; + const forcedJSONParsing = transitional && transitional.forcedJSONParsing; + const JSONRequested = this.responseType === 'json'; if (data && utils.isString(data) && ((forcedJSONParsing && !this.responseType) || JSONRequested)) { - var silentJSONParsing = transitional && transitional.silentJSONParsing; - var strictJSONParsing = !silentJSONParsing && JSONRequested; + const silentJSONParsing = transitional && transitional.silentJSONParsing; + const strictJSONParsing = !silentJSONParsing && JSONRequested; try { return JSON.parse(data); } catch (e) { if (strictJSONParsing) { if (e.name === 'SyntaxError') { - throw AxiosError_1.from(e, AxiosError_1.ERR_BAD_RESPONSE, this, null, this.response); + throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response); } throw e; } @@ -1670,33 +2267,39 @@ utils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) { defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE); }); -var defaults_1 = defaults; - /** * Transform the data for a request or a response * - * @param {Object|String} data The data to be transformed - * @param {Array} headers The headers for the request or response - * @param {Number} status HTTP status code * @param {Array|Function} fns A single function or Array of functions + * @param {?Object} response The response object + * * @returns {*} The resulting transformed data */ -var transformData = function transformData(data, headers, status, fns) { - var context = this || defaults_1; - /*eslint no-param-reassign:0*/ +function transformData(fns, response) { + const config = this || defaults; + const context = response || config; + const headers = AxiosHeaders.from(context.headers); + let data = context.data; + utils.forEach(fns, function transform(fn) { - data = fn.call(context, data, headers, status); + data = fn.call(config, data, headers.normalize(), response ? response.status : undefined); }); - return data; -}; + headers.normalize(); -var isCancel = function isCancel(value) { + return data; +} + +function isCancel(value) { return !!(value && value.__CANCEL__); -}; +} /** * Throws a `CanceledError` if cancellation has been requested. + * + * @param {Object} config The config that is to be used for the request + * + * @returns {void} */ function throwIfCancellationRequested(config) { if (config.cancelToken) { @@ -1704,7 +2307,7 @@ function throwIfCancellationRequested(config) { } if (config.signal && config.signal.aborted) { - throw new CanceledError_1(); + throw new CanceledError(); } } @@ -1712,41 +2315,21 @@ function throwIfCancellationRequested(config) { * Dispatch a request to the server using the configured adapter. * * @param {object} config The config that is to be used for the request + * * @returns {Promise} The Promise to be fulfilled */ -var dispatchRequest = function dispatchRequest(config) { +function dispatchRequest(config) { throwIfCancellationRequested(config); - // Ensure headers exist - config.headers = config.headers || {}; + config.headers = AxiosHeaders.from(config.headers); // Transform request data config.data = transformData.call( config, - config.data, - config.headers, - null, config.transformRequest ); - normalizeHeaderName(config.headers, 'Accept'); - normalizeHeaderName(config.headers, 'Content-Type'); - - // Flatten headers - config.headers = utils.merge( - config.headers.common || {}, - config.headers[config.method] || {}, - config.headers - ); - - utils.forEach( - ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'], - function cleanHeaderConfig(method) { - delete config.headers[method]; - } - ); - - var adapter = config.adapter || defaults_1.adapter; + const adapter = config.adapter || defaults.adapter; return adapter(config).then(function onAdapterResolution(response) { throwIfCancellationRequested(config); @@ -1754,12 +2337,12 @@ var dispatchRequest = function dispatchRequest(config) { // Transform response data response.data = transformData.call( config, - response.data, - response.headers, - response.status, - config.transformResponse + config.transformResponse, + response ); + response.headers = AxiosHeaders.from(response.headers); + return response; }, function onAdapterRejection(reason) { if (!isCancel(reason)) { @@ -1769,17 +2352,16 @@ var dispatchRequest = function dispatchRequest(config) { if (reason && reason.response) { reason.response.data = transformData.call( config, - reason.response.data, - reason.response.headers, - reason.response.status, - config.transformResponse + config.transformResponse, + reason.response ); + reason.response.headers = AxiosHeaders.from(reason.response.headers); } } return Promise.reject(reason); }); -}; +} /** * Config-specific merge-function which creates a new config-object @@ -1787,12 +2369,13 @@ var dispatchRequest = function dispatchRequest(config) { * * @param {Object} config1 * @param {Object} config2 + * * @returns {Object} New object resulting from merging config2 to config1 */ -var mergeConfig = function mergeConfig(config1, config2) { +function mergeConfig(config1, config2) { // eslint-disable-next-line no-param-reassign config2 = config2 || {}; - var config = {}; + const config = {}; function getMergedValue(target, source) { if (utils.isPlainObject(target) && utils.isPlainObject(source)) { @@ -1839,7 +2422,7 @@ var mergeConfig = function mergeConfig(config1, config2) { } } - var mergeMap = { + const mergeMap = { 'url': valueFromConfig2, 'method': valueFromConfig2, 'data': valueFromConfig2, @@ -1870,37 +2453,34 @@ var mergeConfig = function mergeConfig(config1, config2) { }; utils.forEach(Object.keys(config1).concat(Object.keys(config2)), function computeConfigValue(prop) { - var merge = mergeMap[prop] || mergeDeepProperties; - var configValue = merge(prop); + const merge = mergeMap[prop] || mergeDeepProperties; + const configValue = merge(prop); (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue); }); return config; -}; +} -var data = { - "version": "1.0.0-alpha.1" -}; +const VERSION = "1.0.0"; -var VERSION = data.version; - - -var validators$1 = {}; +const validators$1 = {}; // eslint-disable-next-line func-names -['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach(function(type, i) { +['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach((type, i) => { validators$1[type] = function validator(thing) { return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type; }; }); -var deprecatedWarnings = {}; +const deprecatedWarnings = {}; /** * Transitional option validator + * * @param {function|boolean?} validator - set to false if the transitional option has been removed * @param {string?} version - deprecated version / removed since version * @param {string?} message - some message with additional info + * * @returns {function} */ validators$1.transitional = function transitional(validator, version, message) { @@ -1909,11 +2489,11 @@ validators$1.transitional = function transitional(validator, version, message) { } // eslint-disable-next-line func-names - return function(value, opt, opts) { + return (value, opt, opts) => { if (validator === false) { - throw new AxiosError_1( + throw new AxiosError( formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')), - AxiosError_1.ERR_DEPRECATED + AxiosError.ERR_DEPRECATED ); } @@ -1934,163 +2514,192 @@ validators$1.transitional = function transitional(validator, version, message) { /** * Assert object's properties type + * * @param {object} options * @param {object} schema * @param {boolean?} allowUnknown + * + * @returns {object} */ function assertOptions(options, schema, allowUnknown) { if (typeof options !== 'object') { - throw new AxiosError_1('options must be an object', AxiosError_1.ERR_BAD_OPTION_VALUE); + throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE); } - var keys = Object.keys(options); - var i = keys.length; + const keys = Object.keys(options); + let i = keys.length; while (i-- > 0) { - var opt = keys[i]; - var validator = schema[opt]; + const opt = keys[i]; + const validator = schema[opt]; if (validator) { - var value = options[opt]; - var result = value === undefined || validator(value, opt, options); + const value = options[opt]; + const result = value === undefined || validator(value, opt, options); if (result !== true) { - throw new AxiosError_1('option ' + opt + ' must be ' + result, AxiosError_1.ERR_BAD_OPTION_VALUE); + throw new AxiosError('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE); } continue; } if (allowUnknown !== true) { - throw new AxiosError_1('Unknown option ' + opt, AxiosError_1.ERR_BAD_OPTION); + throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION); } } } -var validator = { - assertOptions: assertOptions, +const validator = { + assertOptions, validators: validators$1 }; -var validators = validator.validators; +const validators = validator.validators; + /** * Create a new instance of Axios * * @param {Object} instanceConfig The default config for the instance - */ -function Axios(instanceConfig) { - this.defaults = instanceConfig; - this.interceptors = { - request: new InterceptorManager_1(), - response: new InterceptorManager_1() - }; -} - -/** - * Dispatch a request * - * @param {String|Object} configOrUrl The config specific for this request (merged with this.defaults) - * @param {?Object} config + * @return {Axios} A new instance of Axios */ -Axios.prototype.request = function request(configOrUrl, config) { - /*eslint no-param-reassign:0*/ - // Allow for axios('example/url'[, config]) a la fetch API - if (typeof configOrUrl === 'string') { - config = config || {}; - config.url = configOrUrl; - } else { - config = configOrUrl || {}; +class Axios { + constructor(instanceConfig) { + this.defaults = instanceConfig; + this.interceptors = { + request: new InterceptorManager(), + response: new InterceptorManager() + }; } - config = mergeConfig(this.defaults, config); - - // Set config.method - if (config.method) { - config.method = config.method.toLowerCase(); - } else if (this.defaults.method) { - config.method = this.defaults.method.toLowerCase(); - } else { - config.method = 'get'; - } - - var transitional = config.transitional; - - if (transitional !== undefined) { - validator.assertOptions(transitional, { - silentJSONParsing: validators.transitional(validators.boolean), - forcedJSONParsing: validators.transitional(validators.boolean), - clarifyTimeoutError: validators.transitional(validators.boolean) - }, false); - } - - // filter out skipped interceptors - var requestInterceptorChain = []; - var synchronousRequestInterceptors = true; - this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) { - if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) { - return; + /** + * Dispatch a request + * + * @param {String|Object} configOrUrl The config specific for this request (merged with this.defaults) + * @param {?Object} config + * + * @returns {Promise} The Promise to be fulfilled + */ + request(configOrUrl, config) { + /*eslint no-param-reassign:0*/ + // Allow for axios('example/url'[, config]) a la fetch API + if (typeof configOrUrl === 'string') { + config = config || {}; + config.url = configOrUrl; + } else { + config = configOrUrl || {}; } - synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous; + config = mergeConfig(this.defaults, config); - requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected); - }); + const transitional = config.transitional; - var responseInterceptorChain = []; - this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) { - responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected); - }); + if (transitional !== undefined) { + validator.assertOptions(transitional, { + silentJSONParsing: validators.transitional(validators.boolean), + forcedJSONParsing: validators.transitional(validators.boolean), + clarifyTimeoutError: validators.transitional(validators.boolean) + }, false); + } - var promise; + // Set config.method + config.method = (config.method || this.defaults.method || 'get').toLowerCase(); - if (!synchronousRequestInterceptors) { - var chain = [dispatchRequest, undefined]; + // Flatten headers + const defaultHeaders = config.headers && utils.merge( + config.headers.common, + config.headers[config.method] + ); - Array.prototype.unshift.apply(chain, requestInterceptorChain); - chain = chain.concat(responseInterceptorChain); + defaultHeaders && utils.forEach( + ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'], + function cleanHeaderConfig(method) { + delete config.headers[method]; + } + ); - promise = Promise.resolve(config); - while (chain.length) { - promise = promise.then(chain.shift(), chain.shift()); + config.headers = new AxiosHeaders(config.headers, defaultHeaders); + + // filter out skipped interceptors + const requestInterceptorChain = []; + let synchronousRequestInterceptors = true; + this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) { + if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) { + return; + } + + synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous; + + requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected); + }); + + const responseInterceptorChain = []; + this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) { + responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected); + }); + + let promise; + let i = 0; + let len; + + if (!synchronousRequestInterceptors) { + const chain = [dispatchRequest.bind(this), undefined]; + chain.unshift.apply(chain, requestInterceptorChain); + chain.push.apply(chain, responseInterceptorChain); + len = chain.length; + + promise = Promise.resolve(config); + + while (i < len) { + promise = promise.then(chain[i++], chain[i++]); + } + + return promise; + } + + len = requestInterceptorChain.length; + + let newConfig = config; + + i = 0; + + while (i < len) { + const onFulfilled = requestInterceptorChain[i++]; + const onRejected = requestInterceptorChain[i++]; + try { + newConfig = onFulfilled(newConfig); + } catch (error) { + onRejected.call(this, error); + break; + } + } + + try { + promise = dispatchRequest.call(this, newConfig); + } catch (error) { + return Promise.reject(error); + } + + i = 0; + len = responseInterceptorChain.length; + + while (i < len) { + promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]); } return promise; } - - var newConfig = config; - while (requestInterceptorChain.length) { - var onFulfilled = requestInterceptorChain.shift(); - var onRejected = requestInterceptorChain.shift(); - try { - newConfig = onFulfilled(newConfig); - } catch (error) { - onRejected(error); - break; - } + getUri(config) { + config = mergeConfig(this.defaults, config); + const fullPath = buildFullPath(config.baseURL, config.url); + return buildURL(fullPath, config.params, config.paramsSerializer); } - - try { - promise = dispatchRequest(newConfig); - } catch (error) { - return Promise.reject(error); - } - - while (responseInterceptorChain.length) { - promise = promise.then(responseInterceptorChain.shift(), responseInterceptorChain.shift()); - } - - return promise; -}; - -Axios.prototype.getUri = function getUri(config) { - config = mergeConfig(this.defaults, config); - var fullPath = buildFullPath(config.baseURL, config.url); - return buildURL(fullPath, config.params, config.paramsSerializer); -}; +} // Provide aliases for supported request methods utils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) { /*eslint func-names:0*/ Axios.prototype[method] = function(url, config) { return this.request(mergeConfig(config || {}, { - method: method, - url: url, + method, + url, data: (config || {}).data })); }; @@ -2102,12 +2711,12 @@ utils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) { function generateHTTPMethod(isForm) { return function httpMethod(url, data, config) { return this.request(mergeConfig(config || {}, { - method: method, + method, headers: isForm ? { 'Content-Type': 'multipart/form-data' } : {}, - url: url, - data: data + url, + data })); }; } @@ -2117,123 +2726,122 @@ utils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) { Axios.prototype[method + 'Form'] = generateHTTPMethod(true); }); -var Axios_1 = Axios; - /** * A `CancelToken` is an object that can be used to request cancellation of an operation. * - * @class * @param {Function} executor The executor function. + * + * @returns {CancelToken} */ -function CancelToken(executor) { - if (typeof executor !== 'function') { - throw new TypeError('executor must be a function.'); - } - - var resolvePromise; - - this.promise = new Promise(function promiseExecutor(resolve) { - resolvePromise = resolve; - }); - - var token = this; - - // eslint-disable-next-line func-names - this.promise.then(function(cancel) { - if (!token._listeners) return; - - var i = token._listeners.length; - - while (i-- > 0) { - token._listeners[i](cancel); +class CancelToken { + constructor(executor) { + if (typeof executor !== 'function') { + throw new TypeError('executor must be a function.'); } - token._listeners = null; - }); - // eslint-disable-next-line func-names - this.promise.then = function(onfulfilled) { - var _resolve; + let resolvePromise; + + this.promise = new Promise(function promiseExecutor(resolve) { + resolvePromise = resolve; + }); + + const token = this; + // eslint-disable-next-line func-names - var promise = new Promise(function(resolve) { - token.subscribe(resolve); - _resolve = resolve; - }).then(onfulfilled); + this.promise.then(cancel => { + if (!token._listeners) return; - promise.cancel = function reject() { - token.unsubscribe(_resolve); + let i = token._listeners.length; + + while (i-- > 0) { + token._listeners[i](cancel); + } + token._listeners = null; + }); + + // eslint-disable-next-line func-names + this.promise.then = onfulfilled => { + let _resolve; + // eslint-disable-next-line func-names + const promise = new Promise(resolve => { + token.subscribe(resolve); + _resolve = resolve; + }).then(onfulfilled); + + promise.cancel = function reject() { + token.unsubscribe(_resolve); + }; + + return promise; }; - return promise; - }; + executor(function cancel(message, config, request) { + if (token.reason) { + // Cancellation has already been requested + return; + } - executor(function cancel(message, config, request) { - if (token.reason) { - // Cancellation has already been requested + token.reason = new CanceledError(message, config, request); + resolvePromise(token.reason); + }); + } + + /** + * Throws a `CanceledError` if cancellation has been requested. + */ + throwIfRequested() { + if (this.reason) { + throw this.reason; + } + } + + /** + * Subscribe to the cancel signal + */ + + subscribe(listener) { + if (this.reason) { + listener(this.reason); return; } - token.reason = new CanceledError_1(message, config, request); - resolvePromise(token.reason); - }); + if (this._listeners) { + this._listeners.push(listener); + } else { + this._listeners = [listener]; + } + } + + /** + * Unsubscribe from the cancel signal + */ + + unsubscribe(listener) { + if (!this._listeners) { + return; + } + const index = this._listeners.indexOf(listener); + if (index !== -1) { + this._listeners.splice(index, 1); + } + } + + /** + * Returns an object that contains a new `CancelToken` and a function that, when called, + * cancels the `CancelToken`. + */ + static source() { + let cancel; + const token = new CancelToken(function executor(c) { + cancel = c; + }); + return { + token, + cancel + }; + } } -/** - * Throws a `CanceledError` if cancellation has been requested. - */ -CancelToken.prototype.throwIfRequested = function throwIfRequested() { - if (this.reason) { - throw this.reason; - } -}; - -/** - * Subscribe to the cancel signal - */ - -CancelToken.prototype.subscribe = function subscribe(listener) { - if (this.reason) { - listener(this.reason); - return; - } - - if (this._listeners) { - this._listeners.push(listener); - } else { - this._listeners = [listener]; - } -}; - -/** - * Unsubscribe from the cancel signal - */ - -CancelToken.prototype.unsubscribe = function unsubscribe(listener) { - if (!this._listeners) { - return; - } - var index = this._listeners.indexOf(listener); - if (index !== -1) { - this._listeners.splice(index, 1); - } -}; - -/** - * Returns an object that contains a new `CancelToken` and a function that, when called, - * cancels the `CancelToken`. - */ -CancelToken.source = function source() { - var cancel; - var token = new CancelToken(function executor(c) { - cancel = c; - }); - return { - token: token, - cancel: cancel - }; -}; - -var CancelToken_1 = CancelToken; - /** * Syntactic sugar for invoking a function and expanding an array for arguments. * @@ -2252,39 +2860,42 @@ var CancelToken_1 = CancelToken; * ``` * * @param {Function} callback + * * @returns {Function} */ -var spread = function spread(callback) { +function spread(callback) { return function wrap(arr) { return callback.apply(null, arr); }; -}; +} /** * Determines whether the payload is an error thrown by Axios * * @param {*} payload The value to test + * * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false */ -var isAxiosError = function isAxiosError(payload) { +function isAxiosError(payload) { return utils.isObject(payload) && (payload.isAxiosError === true); -}; +} /** * Create an instance of Axios * * @param {Object} defaultConfig The default config for the instance - * @return {Axios} A new instance of Axios + * + * @returns {Axios} A new instance of Axios */ function createInstance(defaultConfig) { - var context = new Axios_1(defaultConfig); - var instance = bind(Axios_1.prototype.request, context); + const context = new Axios(defaultConfig); + const instance = bind(Axios.prototype.request, context); // Copy axios.prototype to instance - utils.extend(instance, Axios_1.prototype, context); + utils.extend(instance, Axios.prototype, context, {allOwnKeys: true}); // Copy context to instance - utils.extend(instance, context); + utils.extend(instance, context, null, {allOwnKeys: true}); // Factory for creating new instances instance.create = function create(instanceConfig) { @@ -2295,20 +2906,20 @@ function createInstance(defaultConfig) { } // Create the default instance to be exported -var axios = createInstance(defaults_1); +const axios = createInstance(defaults); // Expose Axios class to allow class inheritance -axios.Axios = Axios_1; +axios.Axios = Axios; // Expose Cancel & CancelToken -axios.CanceledError = CanceledError_1; -axios.CancelToken = CancelToken_1; +axios.CanceledError = CanceledError; +axios.CancelToken = CancelToken; axios.isCancel = isCancel; -axios.VERSION = data.version; -axios.toFormData = toFormData_1; +axios.VERSION = VERSION; +axios.toFormData = toFormData; // Expose AxiosError class -axios.AxiosError = AxiosError_1; +axios.AxiosError = AxiosError; // alias for CanceledError for backward compatibility axios.Cancel = axios.CanceledError; @@ -2317,20 +2928,15 @@ axios.Cancel = axios.CanceledError; axios.all = function all(promises) { return Promise.all(promises); }; + axios.spread = spread; // Expose isAxiosError axios.isAxiosError = isAxiosError; -axios.formToJSON = function(thing) { - return formDataToJSON_1(utils.isHTMLForm(thing) ? new FormData(thing) : thing); +axios.formToJSON = thing => { + return formDataToJSON(utils.isHTMLForm(thing) ? new FormData(thing) : thing); }; -var axios_1 = axios; - -// Allow use of default import syntax in TypeScript -var _default = axios; -axios_1.default = _default; - -export { axios_1 as default }; +export { axios as default }; //# sourceMappingURL=axios.js.map diff --git a/dist/esm/axios.js.map b/dist/esm/axios.js.map index 07ac0dc..cea7196 100644 --- a/dist/esm/axios.js.map +++ b/dist/esm/axios.js.map @@ -1 +1 @@ -{"version":3,"file":"axios.js","sources":["../../lib/helpers/bind.js","../../lib/utils.js","../../lib/core/AxiosError.js","../../node_modules/form-data/lib/browser.js","../../lib/env/classes/FormData.js","../../lib/helpers/toFormData.js","../../lib/helpers/AxiosURLSearchParams.js","../../lib/helpers/buildURL.js","../../lib/core/InterceptorManager.js","../../lib/helpers/normalizeHeaderName.js","../../lib/defaults/transitional.js","../../lib/platform/browser/classes/URLSearchParams.js","../../lib/platform/browser/classes/FormData.js","../../lib/platform/browser/index.js","../../lib/platform/index.js","../../lib/helpers/toURLEncodedForm.js","../../lib/helpers/formDataToJSON.js","../../lib/core/settle.js","../../lib/helpers/cookies.js","../../lib/helpers/isAbsoluteURL.js","../../lib/helpers/combineURLs.js","../../lib/core/buildFullPath.js","../../lib/helpers/parseHeaders.js","../../lib/helpers/isURLSameOrigin.js","../../lib/cancel/CanceledError.js","../../lib/helpers/parseProtocol.js","../../lib/adapters/xhr.js","../../lib/defaults/index.js","../../lib/core/transformData.js","../../lib/cancel/isCancel.js","../../lib/core/dispatchRequest.js","../../lib/core/mergeConfig.js","../../lib/env/data.js","../../lib/helpers/validator.js","../../lib/core/Axios.js","../../lib/cancel/CancelToken.js","../../lib/helpers/spread.js","../../lib/helpers/isAxiosError.js","../../lib/axios.js"],"sourcesContent":["'use strict';\n\nmodule.exports = function bind(fn, thisArg) {\n return function wrap() {\n return fn.apply(thisArg, arguments);\n };\n};\n","'use strict';\n\nvar bind = require('./helpers/bind');\n\n// utils is a library of generic helper functions non-specific to axios\n\nvar toString = Object.prototype.toString;\n\n// eslint-disable-next-line func-names\nvar kindOf = (function(cache) {\n // eslint-disable-next-line func-names\n return function(thing) {\n var str = toString.call(thing);\n return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n };\n})(Object.create(null));\n\nfunction kindOfTest(type) {\n type = type.toLowerCase();\n return function isKindOf(thing) {\n return kindOf(thing) === type;\n };\n}\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 Array.isArray(val);\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 * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nvar isArrayBuffer = kindOfTest('ArrayBuffer');\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) && (isArrayBuffer(val.buffer));\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 plain Object\n *\n * @param {Object} val The value to test\n * @return {boolean} True if value is a plain Object, otherwise false\n */\nfunction isPlainObject(val) {\n if (kindOf(val) !== 'object') {\n return false;\n }\n\n var prototype = Object.getPrototypeOf(val);\n return prototype === null || prototype === Object.prototype;\n}\n\n/**\n * Determine if a value is a Date\n *\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Date, otherwise false\n */\nvar isDate = kindOfTest('Date');\n\n/**\n * Determine if a value is a File\n *\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\nvar isFile = kindOfTest('File');\n\n/**\n * Determine if a value is a Blob\n *\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nvar isBlob = kindOfTest('Blob');\n\n/**\n * Determine if a value is a FileList\n *\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\nvar isFileList = kindOfTest('FileList');\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 FormData\n *\n * @param {Object} thing The value to test\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nfunction isFormData(thing) {\n var pattern = '[object FormData]';\n return thing && (\n (typeof FormData === 'function' && thing instanceof FormData) ||\n toString.call(thing) === pattern ||\n (isFunction(thing.toString) && thing.toString() === pattern)\n );\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nvar isURLSearchParams = kindOfTest('URLSearchParams');\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.trim ? str.trim() : str.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '');\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 var product;\n if (typeof navigator !== 'undefined' && (\n (product = navigator.product) === 'ReactNative' ||\n product === 'NativeScript' ||\n product === 'NS')\n ) {\n return false;\n }\n\n return typeof window !== 'undefined' && typeof document !== 'undefined';\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 (isPlainObject(result[key]) && isPlainObject(val)) {\n result[key] = merge(result[key], val);\n } else if (isPlainObject(val)) {\n result[key] = merge({}, val);\n } else if (isArray(val)) {\n result[key] = val.slice();\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\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n * @return {string} content value without BOM\n */\nfunction stripBOM(content) {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\n/**\n * Inherit the prototype methods from one constructor into another\n * @param {function} constructor\n * @param {function} superConstructor\n * @param {object} [props]\n * @param {object} [descriptors]\n */\n\nfunction inherits(constructor, superConstructor, props, descriptors) {\n constructor.prototype = Object.create(superConstructor.prototype, descriptors);\n constructor.prototype.constructor = constructor;\n props && Object.assign(constructor.prototype, props);\n}\n\n/**\n * Resolve object with deep prototype chain to a flat object\n * @param {Object} sourceObj source object\n * @param {Object} [destObj]\n * @param {Function|Boolean} [filter]\n * @param {Function} [propFilter]\n * @returns {Object}\n */\n\nfunction toFlatObject(sourceObj, destObj, filter, propFilter) {\n var props;\n var i;\n var prop;\n var merged = {};\n\n destObj = destObj || {};\n // eslint-disable-next-line no-eq-null,eqeqeq\n if (sourceObj == null) return destObj;\n\n do {\n props = Object.getOwnPropertyNames(sourceObj);\n i = props.length;\n while (i-- > 0) {\n prop = props[i];\n if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) {\n destObj[prop] = sourceObj[prop];\n merged[prop] = true;\n }\n }\n sourceObj = filter !== false && Object.getPrototypeOf(sourceObj);\n } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);\n\n return destObj;\n}\n\n/*\n * determines whether a string ends with the characters of a specified string\n * @param {String} str\n * @param {String} searchString\n * @param {Number} [position= 0]\n * @returns {boolean}\n */\nfunction endsWith(str, searchString, position) {\n str = String(str);\n if (position === undefined || position > str.length) {\n position = str.length;\n }\n position -= searchString.length;\n var lastIndex = str.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n}\n\n\n/**\n * Returns new array from array like object or null if failed\n * @param {*} [thing]\n * @returns {?Array}\n */\nfunction toArray(thing) {\n if (!thing) return null;\n if (isArray(thing)) return thing;\n var i = thing.length;\n if (!isNumber(i)) return null;\n var arr = new Array(i);\n while (i-- > 0) {\n arr[i] = thing[i];\n }\n return arr;\n}\n\n// eslint-disable-next-line func-names\nvar isTypedArray = (function(TypedArray) {\n // eslint-disable-next-line func-names\n return function(thing) {\n return TypedArray && thing instanceof TypedArray;\n };\n})(typeof Uint8Array !== 'undefined' && Object.getPrototypeOf(Uint8Array));\n\nfunction forEachEntry(obj, fn) {\n var generator = obj && obj[Symbol.iterator];\n\n var iterator = generator.call(obj);\n\n var result;\n\n while ((result = iterator.next()) && !result.done) {\n var pair = result.value;\n fn.call(obj, pair[0], pair[1]);\n }\n}\n\nfunction matchAll(regExp, str) {\n var matches;\n var arr = [];\n\n while ((matches = regExp.exec(str)) !== null) {\n arr.push(matches);\n }\n\n return arr;\n}\n\nvar isHTMLForm = kindOfTest('HTMLFormElement');\n\nvar hasOwnProperty = (function resolver(_hasOwnProperty) {\n return function(obj, prop) {\n return _hasOwnProperty.call(obj, prop);\n };\n})(Object.prototype.hasOwnProperty);\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 isPlainObject: isPlainObject,\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 extend: extend,\n trim: trim,\n stripBOM: stripBOM,\n inherits: inherits,\n toFlatObject: toFlatObject,\n kindOf: kindOf,\n kindOfTest: kindOfTest,\n endsWith: endsWith,\n toArray: toArray,\n isTypedArray: isTypedArray,\n isFileList: isFileList,\n forEachEntry: forEachEntry,\n matchAll: matchAll,\n isHTMLForm: isHTMLForm,\n hasOwnProperty: hasOwnProperty\n};\n","'use strict';\n\nvar utils = require('../utils');\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 {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [config] The config.\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The created error.\n */\nfunction AxiosError(message, code, config, request, response) {\n Error.call(this);\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n } else {\n this.stack = (new Error()).stack;\n }\n\n this.message = message;\n this.name = 'AxiosError';\n code && (this.code = code);\n config && (this.config = config);\n request && (this.request = request);\n response && (this.response = response);\n}\n\nutils.inherits(AxiosError, Error, {\n toJSON: function toJSON() {\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 status: this.response && this.response.status ? this.response.status : null\n };\n }\n});\n\nvar prototype = AxiosError.prototype;\nvar descriptors = {};\n\n[\n 'ERR_BAD_OPTION_VALUE',\n 'ERR_BAD_OPTION',\n 'ECONNABORTED',\n 'ETIMEDOUT',\n 'ERR_NETWORK',\n 'ERR_FR_TOO_MANY_REDIRECTS',\n 'ERR_DEPRECATED',\n 'ERR_BAD_RESPONSE',\n 'ERR_BAD_REQUEST',\n 'ERR_CANCELED',\n 'ERR_NOT_SUPPORT',\n 'ERR_INVALID_URL'\n// eslint-disable-next-line func-names\n].forEach(function(code) {\n descriptors[code] = {value: code};\n});\n\nObject.defineProperties(AxiosError, descriptors);\nObject.defineProperty(prototype, 'isAxiosError', {value: true});\n\n// eslint-disable-next-line func-names\nAxiosError.from = function(error, code, config, request, response, customProps) {\n var axiosError = Object.create(prototype);\n\n utils.toFlatObject(error, axiosError, function filter(obj) {\n return obj !== Error.prototype;\n });\n\n AxiosError.call(axiosError, error.message, code, config, request, response);\n\n axiosError.cause = error;\n\n axiosError.name = error.name;\n\n customProps && Object.assign(axiosError, customProps);\n\n return axiosError;\n};\n\nmodule.exports = AxiosError;\n","/* eslint-env browser */\nmodule.exports = typeof self == 'object' ? self.FormData : window.FormData;\n","// eslint-disable-next-line strict\nmodule.exports = require('form-data');\n","'use strict';\n\nvar utils = require('../utils');\nvar AxiosError = require('../core/AxiosError');\nvar envFormData = require('../env/classes/FormData');\n\nfunction isVisitable(thing) {\n return utils.isPlainObject(thing) || utils.isArray(thing);\n}\n\nfunction removeBrackets(key) {\n return utils.endsWith(key, '[]') ? key.slice(0, -2) : key;\n}\n\nfunction renderKey(path, key, dots) {\n if (!path) return key;\n return path.concat(key).map(function each(token, i) {\n // eslint-disable-next-line no-param-reassign\n token = removeBrackets(token);\n return !dots && i ? '[' + token + ']' : token;\n }).join(dots ? '.' : '');\n}\n\nfunction isFlatArray(arr) {\n return utils.isArray(arr) && !arr.some(isVisitable);\n}\n\nvar predicates = utils.toFlatObject(utils, {}, null, function filter(prop) {\n return /^is[A-Z]/.test(prop);\n});\n\nfunction isSpecCompliant(thing) {\n return thing && utils.isFunction(thing.append) && thing[Symbol.toStringTag] === 'FormData' && thing[Symbol.iterator];\n}\n\n/**\n * Convert a data object to FormData\n * @param {Object} obj\n * @param {?Object} [formData]\n * @param {?Object} [options]\n * @param {Function} [options.visitor]\n * @param {Boolean} [options.metaTokens = true]\n * @param {Boolean} [options.dots = false]\n * @param {?Boolean} [options.indexes = false]\n * @returns {Object}\n **/\n\nfunction toFormData(obj, formData, options) {\n if (!utils.isObject(obj)) {\n throw new TypeError('target must be an object');\n }\n\n // eslint-disable-next-line no-param-reassign\n formData = formData || new (envFormData || FormData)();\n\n // eslint-disable-next-line no-param-reassign\n options = utils.toFlatObject(options, {\n metaTokens: true,\n dots: false,\n indexes: false\n }, false, function defined(option, source) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n return !utils.isUndefined(source[option]);\n });\n\n var metaTokens = options.metaTokens;\n // eslint-disable-next-line no-use-before-define\n var visitor = options.visitor || defaultVisitor;\n var dots = options.dots;\n var indexes = options.indexes;\n var _Blob = options.Blob || typeof Blob !== 'undefined' && Blob;\n var useBlob = _Blob && isSpecCompliant(formData);\n\n if (!utils.isFunction(visitor)) {\n throw new TypeError('visitor must be a function');\n }\n\n function convertValue(value) {\n if (value === null) return '';\n\n if (utils.isDate(value)) {\n return value.toISOString();\n }\n\n if (!useBlob && utils.isBlob(value)) {\n throw new AxiosError('Blob is not supported. Use a Buffer instead.');\n }\n\n if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {\n return useBlob && typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value);\n }\n\n return value;\n }\n\n /**\n *\n * @param {*} value\n * @param {String|Number} key\n * @param {Array} path\n * @this {FormData}\n * @returns {boolean} return true to visit the each prop of the value recursively\n */\n function defaultVisitor(value, key, path) {\n var arr = value;\n\n if (value && !path && typeof value === 'object') {\n if (utils.endsWith(key, '{}')) {\n // eslint-disable-next-line no-param-reassign\n key = metaTokens ? key : key.slice(0, -2);\n // eslint-disable-next-line no-param-reassign\n value = JSON.stringify(value);\n } else if (\n (utils.isArray(value) && isFlatArray(value)) ||\n (utils.isFileList(value) || utils.endsWith(key, '[]') && (arr = utils.toArray(value))\n )) {\n // eslint-disable-next-line no-param-reassign\n key = removeBrackets(key);\n\n arr.forEach(function each(el, index) {\n !utils.isUndefined(el) && formData.append(\n // eslint-disable-next-line no-nested-ternary\n indexes === true ? renderKey([key], index, dots) : (indexes === null ? key : key + '[]'),\n convertValue(el)\n );\n });\n return false;\n }\n }\n\n if (isVisitable(value)) {\n return true;\n }\n\n formData.append(renderKey(path, key, dots), convertValue(value));\n\n return false;\n }\n\n var stack = [];\n\n var exposedHelpers = Object.assign(predicates, {\n defaultVisitor: defaultVisitor,\n convertValue: convertValue,\n isVisitable: isVisitable\n });\n\n function build(value, path) {\n if (utils.isUndefined(value)) return;\n\n if (stack.indexOf(value) !== -1) {\n throw Error('Circular reference detected in ' + path.join('.'));\n }\n\n stack.push(value);\n\n utils.forEach(value, function each(el, key) {\n var result = !utils.isUndefined(el) && visitor.call(\n formData, el, utils.isString(key) ? key.trim() : key, path, exposedHelpers\n );\n\n if (result === true) {\n build(el, path ? path.concat(key) : [key]);\n }\n });\n\n stack.pop();\n }\n\n if (!utils.isObject(obj)) {\n throw new TypeError('data must be an object');\n }\n\n build(obj);\n\n return formData;\n}\n\nmodule.exports = toFormData;\n","'use strict';\n\nvar toFormData = require('./toFormData');\n\nfunction encode(str) {\n var charMap = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+',\n '%00': '\\x00'\n };\n return encodeURIComponent(str).replace(/[!'\\(\\)~]|%20|%00/g, function replacer(match) {\n return charMap[match];\n });\n}\n\nfunction AxiosURLSearchParams(params, options) {\n this._pairs = [];\n\n params && toFormData(params, this, options);\n}\n\nvar prototype = AxiosURLSearchParams.prototype;\n\nprototype.append = function append(name, value) {\n this._pairs.push([name, value]);\n};\n\nprototype.toString = function toString(encoder) {\n var _encode = encoder ? function(value) {\n return encoder.call(this, value, encode);\n } : encode;\n\n return this._pairs.map(function each(pair) {\n return _encode(pair[0]) + '=' + _encode(pair[1]);\n }, '').join('&');\n};\n\nmodule.exports = AxiosURLSearchParams;\n","'use strict';\n\nvar utils = require('../utils');\nvar AxiosURLSearchParams = require('../helpers/AxiosURLSearchParams');\n\nfunction encode(val) {\n return encodeURIComponent(val).\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 * @param {?object} options\n * @returns {string} The formatted url\n */\nmodule.exports = function buildURL(url, params, options) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n\n var hashmarkIndex = url.indexOf('#');\n\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n\n var _encode = options && options.encode || encode;\n\n var serializerParams = utils.isURLSearchParams(params) ?\n params.toString() :\n new AxiosURLSearchParams(params, options).toString(_encode);\n\n if (serializerParams) {\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializerParams;\n }\n\n return url;\n};\n","'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, options) {\n this.handlers.push({\n fulfilled: fulfilled,\n rejected: rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null\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 * Clear all interceptors from the stack\n */\nInterceptorManager.prototype.clear = function clear() {\n if (this.handlers) {\n this.handlers = [];\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');\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\nmodule.exports = {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n};\n","'use strict';\n\nvar AxiosURLSearchParams = require('../../../helpers/AxiosURLSearchParams');\n\nmodule.exports = typeof URLSearchParams !== 'undefined' ? URLSearchParams : AxiosURLSearchParams;\n","'use strict';\n\nmodule.exports = FormData;\n","'use strict';\n\nmodule.exports = {\n isBrowser: true,\n classes: {\n URLSearchParams: require('./classes/URLSearchParams'),\n FormData: require('./classes/FormData'),\n Blob: Blob\n },\n protocols: ['http', 'https', 'file', 'blob', 'url']\n};\n","'use strict';\n\nmodule.exports = require('./node/');\n","'use strict';\n\nvar utils = require('../utils');\nvar toFormData = require('./toFormData');\nvar platform = require('../platform/');\n\nmodule.exports = function toURLEncodedForm(data, options) {\n return toFormData(data, new platform.classes.URLSearchParams(), Object.assign({\n visitor: function(value, key, path, helpers) {\n if (platform.isNode && utils.isBuffer(value)) {\n this.append(key, value.toString('base64'));\n return false;\n }\n\n return helpers.defaultVisitor.apply(this, arguments);\n }\n }, options));\n};\n","'use strict';\n\nvar utils = require('../utils');\n\nfunction parsePropPath(name) {\n // foo[x][y][z]\n // foo.x.y.z\n // foo-x-y-z\n // foo x y z\n return utils.matchAll(/\\w+|\\[(\\w*)]/g, name).map(function(match) {\n return match[0] === '[]' ? '' : match[1] || match[0];\n });\n}\n\nfunction arrayToObject(arr) {\n var obj = {};\n var keys = Object.keys(arr);\n var i;\n var len = keys.length;\n var key;\n for (i = 0; i < len; i++) {\n key = keys[i];\n obj[key] = arr[key];\n }\n return obj;\n}\n\nfunction formDataToJSON(formData) {\n function buildPath(path, value, target, index) {\n var name = path[index++];\n var isNumericKey = Number.isFinite(+name);\n var isLast = index >= path.length;\n name = !name && utils.isArray(target) ? target.length : name;\n\n if (isLast) {\n if (utils.hasOwnProperty(target, name)) {\n target[name] = [target[name], value];\n } else {\n target[name] = value;\n }\n\n return !isNumericKey;\n }\n\n if (!target[name] || !utils.isObject(target[name])) {\n target[name] = [];\n }\n\n var result = buildPath(path, value, target[name], index);\n\n if (result && utils.isArray(target[name])) {\n target[name] = arrayToObject(target[name]);\n }\n\n return !isNumericKey;\n }\n\n if (utils.isFormData(formData) && utils.isFunction(formData.entries)) {\n var obj = {};\n\n utils.forEachEntry(formData, function(name, value) {\n buildPath(parsePropPath(name), value, obj, 0);\n });\n\n return obj;\n }\n\n return null;\n}\n\nmodule.exports = formDataToJSON;\n","'use strict';\n\nvar AxiosError = require('./AxiosError');\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 (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(new AxiosError(\n 'Request failed with status code ' + response.status,\n [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4],\n response.config,\n response.request,\n response\n ));\n }\n};\n","'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 * 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\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 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\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.slice(0, i)).toLowerCase();\n val = utils.trim(line.slice(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","'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 AxiosError = require('../core/AxiosError');\nvar utils = require('../utils');\n\n/**\n * A `CanceledError` is an object that is thrown when an operation is canceled.\n *\n * @class\n * @param {string=} message The message.\n * @param {Object=} config The config.\n * @param {Object=} request The request.\n */\nfunction CanceledError(message, config, request) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n AxiosError.call(this, message == null ? 'canceled' : message, AxiosError.ERR_CANCELED, config, request);\n this.name = 'CanceledError';\n}\n\nutils.inherits(CanceledError, AxiosError, {\n __CANCEL__: true\n});\n\nmodule.exports = CanceledError;\n","'use strict';\n\nmodule.exports = function parseProtocol(url) {\n var match = /^([-+\\w]{1,25})(:?\\/\\/|:)/.exec(url);\n return match && match[1] || '';\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar settle = require('./../core/settle');\nvar cookies = require('./../helpers/cookies');\nvar buildURL = require('./../helpers/buildURL');\nvar buildFullPath = require('../core/buildFullPath');\nvar parseHeaders = require('./../helpers/parseHeaders');\nvar isURLSameOrigin = require('./../helpers/isURLSameOrigin');\nvar transitionalDefaults = require('../defaults/transitional');\nvar AxiosError = require('../core/AxiosError');\nvar CanceledError = require('../cancel/CanceledError');\nvar parseProtocol = require('../helpers/parseProtocol');\nvar platform = require('../platform');\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 var responseType = config.responseType;\n var onCanceled;\n function done() {\n if (config.cancelToken) {\n config.cancelToken.unsubscribe(onCanceled);\n }\n\n if (config.signal) {\n config.signal.removeEventListener('abort', onCanceled);\n }\n }\n\n if (utils.isFormData(requestData) && utils.isStandardBrowserEnv()) {\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 ? unescape(encodeURIComponent(config.auth.password)) : '';\n requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password);\n }\n\n var fullPath = buildFullPath(config.baseURL, config.url);\n\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 function onloadend() {\n if (!request) {\n return;\n }\n // Prepare the response\n var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null;\n var responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n 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(function _resolve(value) {\n resolve(value);\n done();\n }, function _reject(err) {\n reject(err);\n done();\n }, response);\n\n // Clean up request\n request = null;\n }\n\n if ('onloadend' in request) {\n // Use onloadend if available\n request.onloadend = onloadend;\n } else {\n // Listen for ready state to emulate onloadend\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 // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n setTimeout(onloadend);\n };\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(new AxiosError('Request aborted', AxiosError.ECONNABORTED, config, 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(new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n var timeoutErrorMessage = config.timeout ? 'timeout of ' + config.timeout + 'ms exceeded' : 'timeout exceeded';\n var transitional = config.transitional || transitionalDefaults;\n if (config.timeoutErrorMessage) {\n timeoutErrorMessage = config.timeoutErrorMessage;\n }\n reject(new AxiosError(\n timeoutErrorMessage,\n transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n config,\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 // 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 (responseType && responseType !== 'json') {\n request.responseType = config.responseType;\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 || config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = function(cancel) {\n if (!request) {\n return;\n }\n reject(!cancel || cancel.type ? new CanceledError(null, config, req) : cancel);\n request.abort();\n request = null;\n };\n\n config.cancelToken && config.cancelToken.subscribe(onCanceled);\n if (config.signal) {\n config.signal.aborted ? onCanceled() : config.signal.addEventListener('abort', onCanceled);\n }\n }\n\n if (!requestData) {\n requestData = null;\n }\n\n var protocol = parseProtocol(fullPath);\n\n if (protocol && platform.protocols.indexOf(protocol) === -1) {\n reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config));\n return;\n }\n\n\n // Send the request\n request.send(requestData);\n });\n};\n","'use strict';\n\nvar utils = require('../utils');\nvar normalizeHeaderName = require('../helpers/normalizeHeaderName');\nvar AxiosError = require('../core/AxiosError');\nvar transitionalDefaults = require('./transitional');\nvar toFormData = require('../helpers/toFormData');\nvar toURLEncodedForm = require('../helpers/toURLEncodedForm');\nvar platform = require('../platform');\nvar formDataToJSON = require('../helpers/formDataToJSON');\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\nfunction stringifySafely(rawValue, parser, encoder) {\n if (utils.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils.trim(rawValue);\n } catch (e) {\n if (e.name !== 'SyntaxError') {\n throw e;\n }\n }\n }\n\n return (encoder || JSON.stringify)(rawValue);\n}\n\nvar defaults = {\n\n transitional: transitionalDefaults,\n\n adapter: getDefaultAdapter(),\n\n transformRequest: [function transformRequest(data, headers) {\n normalizeHeaderName(headers, 'Accept');\n normalizeHeaderName(headers, 'Content-Type');\n\n var contentType = headers && headers['Content-Type'] || '';\n var hasJSONContentType = contentType.indexOf('application/json') > -1;\n var isObjectPayload = utils.isObject(data);\n\n if (isObjectPayload && utils.isHTMLForm(data)) {\n data = new FormData(data);\n }\n\n var isFormData = utils.isFormData(data);\n\n if (isFormData) {\n if (!hasJSONContentType) {\n return data;\n }\n return hasJSONContentType ? JSON.stringify(formDataToJSON(data)) : data;\n }\n\n if (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\n var isFileList;\n\n if (isObjectPayload) {\n if (contentType.indexOf('application/x-www-form-urlencoded') !== -1) {\n return toURLEncodedForm(data, this.formSerializer).toString();\n }\n\n if ((isFileList = utils.isFileList(data)) || contentType.indexOf('multipart/form-data') > -1) {\n var _FormData = this.env && this.env.FormData;\n\n return toFormData(\n isFileList ? {'files[]': data} : data,\n _FormData && new _FormData(),\n this.formSerializer\n );\n }\n }\n\n if (isObjectPayload || hasJSONContentType ) {\n setContentTypeIfUnset(headers, 'application/json');\n return stringifySafely(data);\n }\n\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n var transitional = this.transitional || defaults.transitional;\n var forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n var JSONRequested = this.responseType === 'json';\n\n if (data && utils.isString(data) && ((forcedJSONParsing && !this.responseType) || JSONRequested)) {\n var silentJSONParsing = transitional && transitional.silentJSONParsing;\n var strictJSONParsing = !silentJSONParsing && JSONRequested;\n\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response);\n }\n throw e;\n }\n }\n }\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 maxBodyLength: -1,\n\n env: {\n FormData: platform.classes.FormData,\n Blob: platform.classes.Blob\n },\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n },\n\n headers: {\n common: {\n 'Accept': 'application/json, text/plain, */*'\n }\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","'use strict';\n\nvar utils = require('./../utils');\nvar defaults = require('../defaults');\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 {Number} status HTTP status code\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, status, fns) {\n var context = this || defaults;\n /*eslint no-param-reassign:0*/\n utils.forEach(fns, function transform(fn) {\n data = fn.call(context, data, headers, status);\n });\n\n return data;\n};\n","'use strict';\n\nmodule.exports = function isCancel(value) {\n return !!(value && value.__CANCEL__);\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar transformData = require('./transformData');\nvar isCancel = require('../cancel/isCancel');\nvar defaults = require('../defaults');\nvar CanceledError = require('../cancel/CanceledError');\nvar normalizeHeaderName = require('../helpers/normalizeHeaderName');\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new CanceledError();\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.call(\n config,\n config.data,\n config.headers,\n null,\n config.transformRequest\n );\n\n normalizeHeaderName(config.headers, 'Accept');\n normalizeHeaderName(config.headers, 'Content-Type');\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.call(\n config,\n response.data,\n response.headers,\n response.status,\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.call(\n config,\n reason.response.data,\n reason.response.headers,\n reason.response.status,\n config.transformResponse\n );\n }\n }\n\n return Promise.reject(reason);\n });\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 function getMergedValue(target, source) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge(target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDeepProperties(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(config1[prop], config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n return getMergedValue(undefined, config1[prop]);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(undefined, config2[prop]);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(undefined, config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n return getMergedValue(undefined, config1[prop]);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(prop) {\n if (prop in config2) {\n return getMergedValue(config1[prop], config2[prop]);\n } else if (prop in config1) {\n return getMergedValue(undefined, config1[prop]);\n }\n }\n\n var mergeMap = {\n 'url': valueFromConfig2,\n 'method': valueFromConfig2,\n 'data': valueFromConfig2,\n 'baseURL': defaultToConfig2,\n 'transformRequest': defaultToConfig2,\n 'transformResponse': defaultToConfig2,\n 'paramsSerializer': defaultToConfig2,\n 'timeout': defaultToConfig2,\n 'timeoutMessage': defaultToConfig2,\n 'withCredentials': defaultToConfig2,\n 'adapter': defaultToConfig2,\n 'responseType': defaultToConfig2,\n 'xsrfCookieName': defaultToConfig2,\n 'xsrfHeaderName': defaultToConfig2,\n 'onUploadProgress': defaultToConfig2,\n 'onDownloadProgress': defaultToConfig2,\n 'decompress': defaultToConfig2,\n 'maxContentLength': defaultToConfig2,\n 'maxBodyLength': defaultToConfig2,\n 'beforeRedirect': defaultToConfig2,\n 'transport': defaultToConfig2,\n 'httpAgent': defaultToConfig2,\n 'httpsAgent': defaultToConfig2,\n 'cancelToken': defaultToConfig2,\n 'socketPath': defaultToConfig2,\n 'responseEncoding': defaultToConfig2,\n 'validateStatus': mergeDirectKeys\n };\n\n utils.forEach(Object.keys(config1).concat(Object.keys(config2)), function computeConfigValue(prop) {\n var merge = mergeMap[prop] || mergeDeepProperties;\n var configValue = merge(prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n};\n","module.exports = {\n \"version\": \"1.0.0-alpha.1\"\n};","'use strict';\n\nvar VERSION = require('../env/data').version;\nvar AxiosError = require('../core/AxiosError');\n\nvar validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach(function(type, i) {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nvar deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n * @param {function|boolean?} validator - set to false if the transitional option has been removed\n * @param {string?} version - deprecated version / removed since version\n * @param {string?} message - some message with additional info\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n function formatMessage(opt, desc) {\n return '[Axios v' + VERSION + '] Transitional option \\'' + opt + '\\'' + desc + (message ? '. ' + message : '');\n }\n\n // eslint-disable-next-line func-names\n return function(value, opt, opts) {\n if (validator === false) {\n throw new AxiosError(\n formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')),\n AxiosError.ERR_DEPRECATED\n );\n }\n\n if (version && !deprecatedWarnings[opt]) {\n deprecatedWarnings[opt] = true;\n // eslint-disable-next-line no-console\n console.warn(\n formatMessage(\n opt,\n ' has been deprecated since v' + version + ' and will be removed in the near future'\n )\n );\n }\n\n return validator ? validator(value, opt, opts) : true;\n };\n};\n\n/**\n * Assert object's properties type\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE);\n }\n var keys = Object.keys(options);\n var i = keys.length;\n while (i-- > 0) {\n var opt = keys[i];\n var validator = schema[opt];\n if (validator) {\n var value = options[opt];\n var result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new AxiosError('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION);\n }\n }\n}\n\nmodule.exports = {\n assertOptions: assertOptions,\n validators: validators\n};\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');\nvar buildFullPath = require('./buildFullPath');\nvar validator = require('../helpers/validator');\n\nvar validators = validator.validators;\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 {String|Object} configOrUrl The config specific for this request (merged with this.defaults)\n * @param {?Object} config\n */\nAxios.prototype.request = function request(configOrUrl, config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof configOrUrl === 'string') {\n config = config || {};\n config.url = configOrUrl;\n } else {\n config = configOrUrl || {};\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 var transitional = config.transitional;\n\n if (transitional !== undefined) {\n validator.assertOptions(transitional, {\n silentJSONParsing: validators.transitional(validators.boolean),\n forcedJSONParsing: validators.transitional(validators.boolean),\n clarifyTimeoutError: validators.transitional(validators.boolean)\n }, false);\n }\n\n // filter out skipped interceptors\n var requestInterceptorChain = [];\n var synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n return;\n }\n\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n var responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n var promise;\n\n if (!synchronousRequestInterceptors) {\n var chain = [dispatchRequest, undefined];\n\n Array.prototype.unshift.apply(chain, requestInterceptorChain);\n chain = chain.concat(responseInterceptorChain);\n\n promise = Promise.resolve(config);\n while (chain.length) {\n promise = promise.then(chain.shift(), chain.shift());\n }\n\n return promise;\n }\n\n\n var newConfig = config;\n while (requestInterceptorChain.length) {\n var onFulfilled = requestInterceptorChain.shift();\n var onRejected = requestInterceptorChain.shift();\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected(error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest(newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n while (responseInterceptorChain.length) {\n promise = promise.then(responseInterceptorChain.shift(), responseInterceptorChain.shift());\n }\n\n return promise;\n};\n\nAxios.prototype.getUri = function getUri(config) {\n config = mergeConfig(this.defaults, config);\n var fullPath = buildFullPath(config.baseURL, config.url);\n return buildURL(fullPath, config.params, config.paramsSerializer);\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(mergeConfig(config || {}, {\n method: method,\n url: url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n\n function generateHTTPMethod(isForm) {\n return function httpMethod(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n headers: isForm ? {\n 'Content-Type': 'multipart/form-data'\n } : {},\n url: url,\n data: data\n }));\n };\n }\n\n Axios.prototype[method] = generateHTTPMethod();\n\n Axios.prototype[method + 'Form'] = generateHTTPMethod(true);\n});\n\nmodule.exports = Axios;\n","'use strict';\n\nvar CanceledError = require('./CanceledError');\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\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n var token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then(function(cancel) {\n if (!token._listeners) return;\n\n var i = token._listeners.length;\n\n while (i-- > 0) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = function(onfulfilled) {\n var _resolve;\n // eslint-disable-next-line func-names\n var promise = new Promise(function(resolve) {\n token.subscribe(resolve);\n _resolve = resolve;\n }).then(onfulfilled);\n\n promise.cancel = function reject() {\n token.unsubscribe(_resolve);\n };\n\n return promise;\n };\n\n executor(function cancel(message, config, request) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new CanceledError(message, config, request);\n resolvePromise(token.reason);\n });\n}\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n */\nCancelToken.prototype.throwIfRequested = function throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n};\n\n/**\n * Subscribe to the cancel signal\n */\n\nCancelToken.prototype.subscribe = function subscribe(listener) {\n if (this.reason) {\n listener(this.reason);\n return;\n }\n\n if (this._listeners) {\n this._listeners.push(listener);\n } else {\n this._listeners = [listener];\n }\n};\n\n/**\n * Unsubscribe from the cancel signal\n */\n\nCancelToken.prototype.unsubscribe = function unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n var index = this._listeners.indexOf(listener);\n if (index !== -1) {\n this._listeners.splice(index, 1);\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\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\nvar utils = require('./../utils');\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nmodule.exports = function isAxiosError(payload) {\n return utils.isObject(payload) && (payload.isAxiosError === true);\n};\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');\nvar formDataToJSON = require('./helpers/formDataToJSON');\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 // Factory for creating new instances\n instance.create = function create(instanceConfig) {\n return createInstance(mergeConfig(defaultConfig, instanceConfig));\n };\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// Expose Cancel & CancelToken\naxios.CanceledError = require('./cancel/CanceledError');\naxios.CancelToken = require('./cancel/CancelToken');\naxios.isCancel = require('./cancel/isCancel');\naxios.VERSION = require('./env/data').version;\naxios.toFormData = require('./helpers/toFormData');\n\n// Expose AxiosError class\naxios.AxiosError = require('../lib/core/AxiosError');\n\n// alias for CanceledError for backward compatibility\naxios.Cancel = axios.CanceledError;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\naxios.spread = require('./helpers/spread');\n\n// Expose isAxiosError\naxios.isAxiosError = require('./helpers/isAxiosError');\n\naxios.formToJSON = function(thing) {\n return formDataToJSON(utils.isHTMLForm(thing) ? new FormData(thing) : thing);\n};\n\nmodule.exports = axios;\n\n// Allow use of default import syntax in TypeScript\nmodule.exports.default = axios;\n"],"names":["prototype","browser","FormData","require$$0","envFormData","AxiosError","encode","toFormData","AxiosURLSearchParams","require$$1","transitional","transitionalDefaults","CanceledError","formDataToJSON","defaults","validators","InterceptorManager","Axios","require$$2","require$$3","require$$4","require$$5","require$$6","require$$7"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"axios.js","sources":["../../lib/helpers/bind.js","../../lib/utils.js","../../lib/core/AxiosError.js","../../node_modules/form-data/lib/browser.js","../../lib/helpers/toFormData.js","../../lib/helpers/AxiosURLSearchParams.js","../../lib/helpers/buildURL.js","../../lib/core/InterceptorManager.js","../../lib/defaults/transitional.js","../../lib/platform/browser/classes/URLSearchParams.js","../../lib/platform/browser/classes/FormData.js","../../lib/platform/browser/index.js","../../lib/helpers/toURLEncodedForm.js","../../lib/helpers/formDataToJSON.js","../../lib/core/settle.js","../../lib/helpers/cookies.js","../../lib/helpers/isAbsoluteURL.js","../../lib/helpers/combineURLs.js","../../lib/core/buildFullPath.js","../../lib/helpers/isURLSameOrigin.js","../../lib/cancel/CanceledError.js","../../lib/helpers/parseProtocol.js","../../lib/helpers/parseHeaders.js","../../lib/core/AxiosHeaders.js","../../lib/helpers/speedometer.js","../../lib/adapters/xhr.js","../../lib/adapters/index.js","../../lib/defaults/index.js","../../lib/core/transformData.js","../../lib/cancel/isCancel.js","../../lib/core/dispatchRequest.js","../../lib/core/mergeConfig.js","../../lib/env/data.js","../../lib/helpers/validator.js","../../lib/core/Axios.js","../../lib/cancel/CancelToken.js","../../lib/helpers/spread.js","../../lib/helpers/isAxiosError.js","../../lib/axios.js"],"sourcesContent":["'use strict';\n\nexport default function bind(fn, thisArg) {\n return function wrap() {\n return fn.apply(thisArg, arguments);\n };\n}\n","'use strict';\n\nimport bind from './helpers/bind.js';\n\n// utils is a library of generic helper functions non-specific to axios\n\nconst {toString} = Object.prototype;\nconst {getPrototypeOf} = Object;\n\nconst kindOf = (cache => thing => {\n const str = toString.call(thing);\n return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n})(Object.create(null));\n\nconst kindOfTest = (type) => {\n type = type.toLowerCase();\n return (thing) => kindOf(thing) === type\n}\n\nconst typeOfTest = type => thing => typeof thing === type;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n *\n * @returns {boolean} True if value is an Array, otherwise false\n */\nconst {isArray} = Array;\n\n/**\n * Determine if a value is undefined\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nconst isUndefined = typeOfTest('undefined');\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {*} val The value to test\n *\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 && isFunction(val.constructor.isBuffer) && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nconst isArrayBuffer = kindOfTest('ArrayBuffer');\n\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n let result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (isArrayBuffer(val.buffer));\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a String, otherwise false\n */\nconst isString = typeOfTest('string');\n\n/**\n * Determine if a value is a Function\n *\n * @param {*} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nconst isFunction = typeOfTest('function');\n\n/**\n * Determine if a value is a Number\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Number, otherwise false\n */\nconst isNumber = typeOfTest('number');\n\n/**\n * Determine if a value is an Object\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an Object, otherwise false\n */\nconst isObject = (thing) => thing !== null && typeof thing === 'object';\n\n/**\n * Determine if a value is a Boolean\n *\n * @param {*} thing The value to test\n * @returns {boolean} True if value is a Boolean, otherwise false\n */\nconst isBoolean = thing => thing === true || thing === false;\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a plain Object, otherwise false\n */\nconst isPlainObject = (val) => {\n if (kindOf(val) !== 'object') {\n return false;\n }\n\n const prototype = getPrototypeOf(val);\n return prototype === null || prototype === Object.prototype;\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Date, otherwise false\n */\nconst isDate = kindOfTest('Date');\n\n/**\n * Determine if a value is a File\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFile = kindOfTest('File');\n\n/**\n * Determine if a value is a Blob\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nconst isBlob = kindOfTest('Blob');\n\n/**\n * Determine if a value is a FileList\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFileList = kindOfTest('FileList');\n\n/**\n * Determine if a value is a Stream\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nconst isStream = (val) => isObject(val) && isFunction(val.pipe);\n\n/**\n * Determine if a value is a FormData\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nconst isFormData = (thing) => {\n const pattern = '[object FormData]';\n return thing && (\n (typeof FormData === 'function' && thing instanceof FormData) ||\n toString.call(thing) === pattern ||\n (isFunction(thing.toString) && thing.toString() === pattern)\n );\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nconst isURLSearchParams = kindOfTest('URLSearchParams');\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n *\n * @returns {String} The String freed of excess whitespace\n */\nconst trim = (str) => str.trim ?\n str.trim() : str.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '');\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 *\n * @param {Boolean} [allOwnKeys = false]\n * @returns {void}\n */\nfunction forEach(obj, fn, {allOwnKeys = false} = {}) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n let i;\n let l;\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 (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 const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj);\n const len = keys.length;\n let key;\n\n for (i = 0; i < len; i++) {\n key = keys[i];\n fn.call(null, obj[key], key, obj);\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 *\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n const result = {};\n const assignValue = (val, key) => {\n if (isPlainObject(result[key]) && isPlainObject(val)) {\n result[key] = merge(result[key], val);\n } else if (isPlainObject(val)) {\n result[key] = merge({}, val);\n } else if (isArray(val)) {\n result[key] = val.slice();\n } else {\n result[key] = val;\n }\n }\n\n for (let i = 0, l = arguments.length; i < l; i++) {\n arguments[i] && 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 *\n * @param {Boolean} [allOwnKeys]\n * @returns {Object} The resulting value of object a\n */\nconst extend = (a, b, thisArg, {allOwnKeys}= {}) => {\n forEach(b, (val, key) => {\n if (thisArg && isFunction(val)) {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n }, {allOwnKeys});\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n *\n * @returns {string} content value without BOM\n */\nconst stripBOM = (content) => {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\n/**\n * Inherit the prototype methods from one constructor into another\n * @param {function} constructor\n * @param {function} superConstructor\n * @param {object} [props]\n * @param {object} [descriptors]\n *\n * @returns {void}\n */\nconst inherits = (constructor, superConstructor, props, descriptors) => {\n constructor.prototype = Object.create(superConstructor.prototype, descriptors);\n constructor.prototype.constructor = constructor;\n Object.defineProperty(constructor, 'super', {\n value: superConstructor.prototype\n });\n props && Object.assign(constructor.prototype, props);\n}\n\n/**\n * Resolve object with deep prototype chain to a flat object\n * @param {Object} sourceObj source object\n * @param {Object} [destObj]\n * @param {Function|Boolean} [filter]\n * @param {Function} [propFilter]\n *\n * @returns {Object}\n */\nconst toFlatObject = (sourceObj, destObj, filter, propFilter) => {\n let props;\n let i;\n let prop;\n const merged = {};\n\n destObj = destObj || {};\n // eslint-disable-next-line no-eq-null,eqeqeq\n if (sourceObj == null) return destObj;\n\n do {\n props = Object.getOwnPropertyNames(sourceObj);\n i = props.length;\n while (i-- > 0) {\n prop = props[i];\n if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) {\n destObj[prop] = sourceObj[prop];\n merged[prop] = true;\n }\n }\n sourceObj = filter !== false && getPrototypeOf(sourceObj);\n } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);\n\n return destObj;\n}\n\n/**\n * Determines whether a string ends with the characters of a specified string\n *\n * @param {String} str\n * @param {String} searchString\n * @param {Number} [position= 0]\n *\n * @returns {boolean}\n */\nconst endsWith = (str, searchString, position) => {\n str = String(str);\n if (position === undefined || position > str.length) {\n position = str.length;\n }\n position -= searchString.length;\n const lastIndex = str.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n}\n\n\n/**\n * Returns new array from array like object or null if failed\n *\n * @param {*} [thing]\n *\n * @returns {?Array}\n */\nconst toArray = (thing) => {\n if (!thing) return null;\n if (isArray(thing)) return thing;\n let i = thing.length;\n if (!isNumber(i)) return null;\n const arr = new Array(i);\n while (i-- > 0) {\n arr[i] = thing[i];\n }\n return arr;\n}\n\n/**\n * Checking if the Uint8Array exists and if it does, it returns a function that checks if the\n * thing passed in is an instance of Uint8Array\n *\n * @param {TypedArray}\n *\n * @returns {Array}\n */\n// eslint-disable-next-line func-names\nconst isTypedArray = (TypedArray => {\n // eslint-disable-next-line func-names\n return thing => {\n return TypedArray && thing instanceof TypedArray;\n };\n})(typeof Uint8Array !== 'undefined' && getPrototypeOf(Uint8Array));\n\n/**\n * For each entry in the object, call the function with the key and value.\n *\n * @param {Object} obj - The object to iterate over.\n * @param {Function} fn - The function to call for each entry.\n *\n * @returns {void}\n */\nconst forEachEntry = (obj, fn) => {\n const generator = obj && obj[Symbol.iterator];\n\n const iterator = generator.call(obj);\n\n let result;\n\n while ((result = iterator.next()) && !result.done) {\n const pair = result.value;\n fn.call(obj, pair[0], pair[1]);\n }\n}\n\n/**\n * It takes a regular expression and a string, and returns an array of all the matches\n *\n * @param {string} regExp - The regular expression to match against.\n * @param {string} str - The string to search.\n *\n * @returns {Array}\n */\nconst matchAll = (regExp, str) => {\n let matches;\n const arr = [];\n\n while ((matches = regExp.exec(str)) !== null) {\n arr.push(matches);\n }\n\n return arr;\n}\n\n/* Checking if the kindOfTest function returns true when passed an HTMLFormElement. */\nconst isHTMLForm = kindOfTest('HTMLFormElement');\n\nconst toCamelCase = str => {\n return str.toLowerCase().replace(/[_-\\s]([a-z\\d])(\\w*)/g,\n function replacer(m, p1, p2) {\n return p1.toUpperCase() + p2;\n }\n );\n};\n\n/* Creating a function that will check if an object has a property. */\nconst hasOwnProperty = (({hasOwnProperty}) => (obj, prop) => hasOwnProperty.call(obj, prop))(Object.prototype);\n\n/**\n * Determine if a value is a RegExp object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a RegExp object, otherwise false\n */\nconst isRegExp = kindOfTest('RegExp');\n\nconst reduceDescriptors = (obj, reducer) => {\n const descriptors = Object.getOwnPropertyDescriptors(obj);\n const reducedDescriptors = {};\n\n forEach(descriptors, (descriptor, name) => {\n if (reducer(descriptor, name, obj) !== false) {\n reducedDescriptors[name] = descriptor;\n }\n });\n\n Object.defineProperties(obj, reducedDescriptors);\n}\n\n/**\n * Makes all methods read-only\n * @param {Object} obj\n */\n\nconst freezeMethods = (obj) => {\n reduceDescriptors(obj, (descriptor, name) => {\n const value = obj[name];\n\n if (!isFunction(value)) return;\n\n descriptor.enumerable = false;\n\n if ('writable' in descriptor) {\n descriptor.writable = false;\n return;\n }\n\n if (!descriptor.set) {\n descriptor.set = () => {\n throw Error('Can not read-only method \\'' + name + '\\'');\n };\n }\n });\n}\n\nconst toObjectSet = (arrayOrString, delimiter) => {\n const obj = {};\n\n const define = (arr) => {\n arr.forEach(value => {\n obj[value] = true;\n });\n }\n\n isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter));\n\n return obj;\n}\n\nconst noop = () => {}\n\nconst toFiniteNumber = (value, defaultValue) => {\n value = +value;\n return Number.isFinite(value) ? value : defaultValue;\n}\n\nexport default {\n isArray,\n isArrayBuffer,\n isBuffer,\n isFormData,\n isArrayBufferView,\n isString,\n isNumber,\n isBoolean,\n isObject,\n isPlainObject,\n isUndefined,\n isDate,\n isFile,\n isBlob,\n isRegExp,\n isFunction,\n isStream,\n isURLSearchParams,\n isTypedArray,\n isFileList,\n forEach,\n merge,\n extend,\n trim,\n stripBOM,\n inherits,\n toFlatObject,\n kindOf,\n kindOfTest,\n endsWith,\n toArray,\n forEachEntry,\n matchAll,\n isHTMLForm,\n hasOwnProperty,\n hasOwnProp: hasOwnProperty, // an alias to avoid ESLint no-prototype-builtins detection\n reduceDescriptors,\n freezeMethods,\n toObjectSet,\n toCamelCase,\n noop,\n toFiniteNumber\n};\n","'use strict';\n\nimport utils from '../utils.js';\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 {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [config] The config.\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n *\n * @returns {Error} The created error.\n */\nfunction AxiosError(message, code, config, request, response) {\n Error.call(this);\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n } else {\n this.stack = (new Error()).stack;\n }\n\n this.message = message;\n this.name = 'AxiosError';\n code && (this.code = code);\n config && (this.config = config);\n request && (this.request = request);\n response && (this.response = response);\n}\n\nutils.inherits(AxiosError, Error, {\n toJSON: function toJSON() {\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 status: this.response && this.response.status ? this.response.status : null\n };\n }\n});\n\nconst prototype = AxiosError.prototype;\nconst descriptors = {};\n\n[\n 'ERR_BAD_OPTION_VALUE',\n 'ERR_BAD_OPTION',\n 'ECONNABORTED',\n 'ETIMEDOUT',\n 'ERR_NETWORK',\n 'ERR_FR_TOO_MANY_REDIRECTS',\n 'ERR_DEPRECATED',\n 'ERR_BAD_RESPONSE',\n 'ERR_BAD_REQUEST',\n 'ERR_CANCELED',\n 'ERR_NOT_SUPPORT',\n 'ERR_INVALID_URL'\n// eslint-disable-next-line func-names\n].forEach(code => {\n descriptors[code] = {value: code};\n});\n\nObject.defineProperties(AxiosError, descriptors);\nObject.defineProperty(prototype, 'isAxiosError', {value: true});\n\n// eslint-disable-next-line func-names\nAxiosError.from = (error, code, config, request, response, customProps) => {\n const axiosError = Object.create(prototype);\n\n utils.toFlatObject(error, axiosError, function filter(obj) {\n return obj !== Error.prototype;\n }, prop => {\n return prop !== 'isAxiosError';\n });\n\n AxiosError.call(axiosError, error.message, code, config, request, response);\n\n axiosError.cause = error;\n\n axiosError.name = error.name;\n\n customProps && Object.assign(axiosError, customProps);\n\n return axiosError;\n};\n\nexport default AxiosError;\n","/* eslint-env browser */\nmodule.exports = typeof self == 'object' ? self.FormData : window.FormData;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\nimport envFormData from '../env/classes/FormData.js';\n\n/**\n * Determines if the given thing is a array or js object.\n *\n * @param {string} thing - The object or array to be visited.\n *\n * @returns {boolean}\n */\nfunction isVisitable(thing) {\n return utils.isPlainObject(thing) || utils.isArray(thing);\n}\n\n/**\n * It removes the brackets from the end of a string\n *\n * @param {string} key - The key of the parameter.\n *\n * @returns {string} the key without the brackets.\n */\nfunction removeBrackets(key) {\n return utils.endsWith(key, '[]') ? key.slice(0, -2) : key;\n}\n\n/**\n * It takes a path, a key, and a boolean, and returns a string\n *\n * @param {string} path - The path to the current key.\n * @param {string} key - The key of the current object being iterated over.\n * @param {string} dots - If true, the key will be rendered with dots instead of brackets.\n *\n * @returns {string} The path to the current key.\n */\nfunction renderKey(path, key, dots) {\n if (!path) return key;\n return path.concat(key).map(function each(token, i) {\n // eslint-disable-next-line no-param-reassign\n token = removeBrackets(token);\n return !dots && i ? '[' + token + ']' : token;\n }).join(dots ? '.' : '');\n}\n\n/**\n * If the array is an array and none of its elements are visitable, then it's a flat array.\n *\n * @param {Array} arr - The array to check\n *\n * @returns {boolean}\n */\nfunction isFlatArray(arr) {\n return utils.isArray(arr) && !arr.some(isVisitable);\n}\n\nconst predicates = utils.toFlatObject(utils, {}, null, function filter(prop) {\n return /^is[A-Z]/.test(prop);\n});\n\n/**\n * If the thing is a FormData object, return true, otherwise return false.\n *\n * @param {unknown} thing - The thing to check.\n *\n * @returns {boolean}\n */\nfunction isSpecCompliant(thing) {\n return thing && utils.isFunction(thing.append) && thing[Symbol.toStringTag] === 'FormData' && thing[Symbol.iterator];\n}\n\n/**\n * Convert a data object to FormData\n *\n * @param {Object} obj\n * @param {?Object} [formData]\n * @param {?Object} [options]\n * @param {Function} [options.visitor]\n * @param {Boolean} [options.metaTokens = true]\n * @param {Boolean} [options.dots = false]\n * @param {?Boolean} [options.indexes = false]\n *\n * @returns {Object}\n **/\n\n/**\n * It converts an object into a FormData object\n *\n * @param {Object} obj - The object to convert to form data.\n * @param {string} formData - The FormData object to append to.\n * @param {Object} options\n *\n * @returns\n */\nfunction toFormData(obj, formData, options) {\n if (!utils.isObject(obj)) {\n throw new TypeError('target must be an object');\n }\n\n // eslint-disable-next-line no-param-reassign\n formData = formData || new (envFormData || FormData)();\n\n // eslint-disable-next-line no-param-reassign\n options = utils.toFlatObject(options, {\n metaTokens: true,\n dots: false,\n indexes: false\n }, false, function defined(option, source) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n return !utils.isUndefined(source[option]);\n });\n\n const metaTokens = options.metaTokens;\n // eslint-disable-next-line no-use-before-define\n const visitor = options.visitor || defaultVisitor;\n const dots = options.dots;\n const indexes = options.indexes;\n const _Blob = options.Blob || typeof Blob !== 'undefined' && Blob;\n const useBlob = _Blob && isSpecCompliant(formData);\n\n if (!utils.isFunction(visitor)) {\n throw new TypeError('visitor must be a function');\n }\n\n function convertValue(value) {\n if (value === null) return '';\n\n if (utils.isDate(value)) {\n return value.toISOString();\n }\n\n if (!useBlob && utils.isBlob(value)) {\n throw new AxiosError('Blob is not supported. Use a Buffer instead.');\n }\n\n if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {\n return useBlob && typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value);\n }\n\n return value;\n }\n\n /**\n * Default visitor.\n *\n * @param {*} value\n * @param {String|Number} key\n * @param {Array} path\n * @this {FormData}\n *\n * @returns {boolean} return true to visit the each prop of the value recursively\n */\n function defaultVisitor(value, key, path) {\n let arr = value;\n\n if (value && !path && typeof value === 'object') {\n if (utils.endsWith(key, '{}')) {\n // eslint-disable-next-line no-param-reassign\n key = metaTokens ? key : key.slice(0, -2);\n // eslint-disable-next-line no-param-reassign\n value = JSON.stringify(value);\n } else if (\n (utils.isArray(value) && isFlatArray(value)) ||\n (utils.isFileList(value) || utils.endsWith(key, '[]') && (arr = utils.toArray(value))\n )) {\n // eslint-disable-next-line no-param-reassign\n key = removeBrackets(key);\n\n arr.forEach(function each(el, index) {\n !utils.isUndefined(el) && formData.append(\n // eslint-disable-next-line no-nested-ternary\n indexes === true ? renderKey([key], index, dots) : (indexes === null ? key : key + '[]'),\n convertValue(el)\n );\n });\n return false;\n }\n }\n\n if (isVisitable(value)) {\n return true;\n }\n\n formData.append(renderKey(path, key, dots), convertValue(value));\n\n return false;\n }\n\n const stack = [];\n\n const exposedHelpers = Object.assign(predicates, {\n defaultVisitor,\n convertValue,\n isVisitable\n });\n\n function build(value, path) {\n if (utils.isUndefined(value)) return;\n\n if (stack.indexOf(value) !== -1) {\n throw Error('Circular reference detected in ' + path.join('.'));\n }\n\n stack.push(value);\n\n utils.forEach(value, function each(el, key) {\n const result = !utils.isUndefined(el) && visitor.call(\n formData, el, utils.isString(key) ? key.trim() : key, path, exposedHelpers\n );\n\n if (result === true) {\n build(el, path ? path.concat(key) : [key]);\n }\n });\n\n stack.pop();\n }\n\n if (!utils.isObject(obj)) {\n throw new TypeError('data must be an object');\n }\n\n build(obj);\n\n return formData;\n}\n\nexport default toFormData;\n","'use strict';\n\nimport toFormData from './toFormData.js';\n\n/**\n * It encodes a string by replacing all characters that are not in the unreserved set with\n * their percent-encoded equivalents\n *\n * @param {string} str - The string to encode.\n *\n * @returns {string} The encoded string.\n */\nfunction encode(str) {\n const charMap = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+',\n '%00': '\\x00'\n };\n return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) {\n return charMap[match];\n });\n}\n\n/**\n * It takes a params object and converts it to a FormData object\n *\n * @param {Object} params - The parameters to be converted to a FormData object.\n * @param {Object} options - The options object passed to the Axios constructor.\n *\n * @returns {void}\n */\nfunction AxiosURLSearchParams(params, options) {\n this._pairs = [];\n\n params && toFormData(params, this, options);\n}\n\nconst prototype = AxiosURLSearchParams.prototype;\n\nprototype.append = function append(name, value) {\n this._pairs.push([name, value]);\n};\n\nprototype.toString = function toString(encoder) {\n const _encode = encoder ? function(value) {\n return encoder.call(this, value, encode);\n } : encode;\n\n return this._pairs.map(function each(pair) {\n return _encode(pair[0]) + '=' + _encode(pair[1]);\n }, '').join('&');\n};\n\nexport default AxiosURLSearchParams;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosURLSearchParams from '../helpers/AxiosURLSearchParams.js';\n\n/**\n * It replaces all instances of the characters `:`, `$`, `,`, `+`, `[`, and `]` with their\n * URI encoded counterparts\n *\n * @param {string} val The value to be encoded.\n *\n * @returns {string} The encoded value.\n */\nfunction encode(val) {\n return encodeURIComponent(val).\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 * @param {?object} options\n *\n * @returns {string} The formatted url\n */\nexport default function buildURL(url, params, options) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n\n const hashmarkIndex = url.indexOf('#');\n\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n\n const _encode = options && options.encode || encode;\n\n const serializerParams = utils.isURLSearchParams(params) ?\n params.toString() :\n new AxiosURLSearchParams(params, options).toString(_encode);\n\n if (serializerParams) {\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializerParams;\n }\n\n return url;\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\nclass InterceptorManager {\n constructor() {\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 */\n use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled,\n rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null\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 *\n * @returns {Boolean} `true` if the interceptor was removed, `false` otherwise\n */\n eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n }\n\n /**\n * Clear all interceptors from the stack\n *\n * @returns {void}\n */\n clear() {\n if (this.handlers) {\n this.handlers = [];\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 *\n * @returns {void}\n */\n forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n }\n}\n\nexport default InterceptorManager;\n","'use strict';\n\nexport default {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n};\n","'use strict';\n\nimport AxiosURLSearchParams from '../../../helpers/AxiosURLSearchParams.js';\nexport default typeof URLSearchParams !== 'undefined' ? URLSearchParams : AxiosURLSearchParams;\n","'use strict';\n\nexport default FormData;\n","import URLSearchParams from './classes/URLSearchParams.js'\nimport FormData from './classes/FormData.js'\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 *\n * @returns {boolean}\n */\nconst isStandardBrowserEnv = (() => {\n let product;\n if (typeof navigator !== 'undefined' && (\n (product = navigator.product) === 'ReactNative' ||\n product === 'NativeScript' ||\n product === 'NS')\n ) {\n return false;\n }\n\n return typeof window !== 'undefined' && typeof document !== 'undefined';\n})();\n\nexport default {\n isBrowser: true,\n classes: {\n URLSearchParams,\n FormData,\n Blob\n },\n isStandardBrowserEnv,\n protocols: ['http', 'https', 'file', 'blob', 'url', 'data']\n};\n","'use strict';\n\nimport utils from '../utils.js';\nimport toFormData from './toFormData.js';\nimport platform from '../platform/index.js';\n\nexport default function toURLEncodedForm(data, options) {\n return toFormData(data, new platform.classes.URLSearchParams(), Object.assign({\n visitor: function(value, key, path, helpers) {\n if (platform.isNode && utils.isBuffer(value)) {\n this.append(key, value.toString('base64'));\n return false;\n }\n\n return helpers.defaultVisitor.apply(this, arguments);\n }\n }, options));\n}\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * It takes a string like `foo[x][y][z]` and returns an array like `['foo', 'x', 'y', 'z']\n *\n * @param {string} name - The name of the property to get.\n *\n * @returns An array of strings.\n */\nfunction parsePropPath(name) {\n // foo[x][y][z]\n // foo.x.y.z\n // foo-x-y-z\n // foo x y z\n return utils.matchAll(/\\w+|\\[(\\w*)]/g, name).map(match => {\n return match[0] === '[]' ? '' : match[1] || match[0];\n });\n}\n\n/**\n * Convert an array to an object.\n *\n * @param {Array} arr - The array to convert to an object.\n *\n * @returns An object with the same keys and values as the array.\n */\nfunction arrayToObject(arr) {\n const obj = {};\n const keys = Object.keys(arr);\n let i;\n const len = keys.length;\n let key;\n for (i = 0; i < len; i++) {\n key = keys[i];\n obj[key] = arr[key];\n }\n return obj;\n}\n\n/**\n * It takes a FormData object and returns a JavaScript object\n *\n * @param {string} formData The FormData object to convert to JSON.\n *\n * @returns {Object | null} The converted object.\n */\nfunction formDataToJSON(formData) {\n function buildPath(path, value, target, index) {\n let name = path[index++];\n const isNumericKey = Number.isFinite(+name);\n const isLast = index >= path.length;\n name = !name && utils.isArray(target) ? target.length : name;\n\n if (isLast) {\n if (utils.hasOwnProp(target, name)) {\n target[name] = [target[name], value];\n } else {\n target[name] = value;\n }\n\n return !isNumericKey;\n }\n\n if (!target[name] || !utils.isObject(target[name])) {\n target[name] = [];\n }\n\n const result = buildPath(path, value, target[name], index);\n\n if (result && utils.isArray(target[name])) {\n target[name] = arrayToObject(target[name]);\n }\n\n return !isNumericKey;\n }\n\n if (utils.isFormData(formData) && utils.isFunction(formData.entries)) {\n const obj = {};\n\n utils.forEachEntry(formData, (name, value) => {\n buildPath(parsePropPath(name), value, obj, 0);\n });\n\n return obj;\n }\n\n return null;\n}\n\nexport default formDataToJSON;\n","'use strict';\n\nimport AxiosError from './AxiosError.js';\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 *\n * @returns {object} The response.\n */\nexport default function settle(resolve, reject, response) {\n const validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(new AxiosError(\n 'Request failed with status code ' + response.status,\n [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4],\n response.config,\n response.request,\n response\n ));\n }\n}\n","'use strict';\n\nimport utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.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 const 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 const 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","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n *\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nexport default 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\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 *\n * @returns {string} The combined URL\n */\nexport default function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n}\n","'use strict';\n\nimport isAbsoluteURL from '../helpers/isAbsoluteURL.js';\nimport combineURLs from '../helpers/combineURLs.js';\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 *\n * @returns {string} The combined full path\n */\nexport default function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n}\n","'use strict';\n\nimport utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.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 const msie = /(msie|trident)/i.test(navigator.userAgent);\n const urlParsingNode = document.createElement('a');\n let 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 let 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 const 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","'use strict';\n\nimport AxiosError from '../core/AxiosError.js';\nimport utils from '../utils.js';\n\n/**\n * A `CanceledError` is an object that is thrown when an operation is canceled.\n *\n * @param {string=} message The message.\n * @param {Object=} config The config.\n * @param {Object=} request The request.\n *\n * @returns {CanceledError} The created error.\n */\nfunction CanceledError(message, config, request) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n AxiosError.call(this, message == null ? 'canceled' : message, AxiosError.ERR_CANCELED, config, request);\n this.name = 'CanceledError';\n}\n\nutils.inherits(CanceledError, AxiosError, {\n __CANCEL__: true\n});\n\nexport default CanceledError;\n","'use strict';\n\nexport default function parseProtocol(url) {\n const match = /^([-+\\w]{1,25})(:?\\/\\/|:)/.exec(url);\n return match && match[1] || '';\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\n// RawAxiosHeaders whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nconst ignoreDuplicateOf = utils.toObjectSet([\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} rawHeaders Headers needing to be parsed\n *\n * @returns {Object} Headers parsed into an object\n */\nexport default rawHeaders => {\n const parsed = {};\n let key;\n let val;\n let i;\n\n rawHeaders && rawHeaders.split('\\n').forEach(function parser(line) {\n i = line.indexOf(':');\n key = line.substring(0, i).trim().toLowerCase();\n val = line.substring(i + 1).trim();\n\n if (!key || (parsed[key] && ignoreDuplicateOf[key])) {\n return;\n }\n\n if (key === 'set-cookie') {\n if (parsed[key]) {\n parsed[key].push(val);\n } else {\n parsed[key] = [val];\n }\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n });\n\n return parsed;\n};\n","'use strict';\n\nimport utils from '../utils.js';\nimport parseHeaders from '../helpers/parseHeaders.js';\n\nconst $internals = Symbol('internals');\nconst $defaults = Symbol('defaults');\n\nfunction normalizeHeader(header) {\n return header && String(header).trim().toLowerCase();\n}\n\nfunction normalizeValue(value) {\n if (value === false || value == null) {\n return value;\n }\n\n return String(value);\n}\n\nfunction parseTokens(str) {\n const tokens = Object.create(null);\n const tokensRE = /([^\\s,;=]+)\\s*(?:=\\s*([^,;]+))?/g;\n let match;\n\n while ((match = tokensRE.exec(str))) {\n tokens[match[1]] = match[2];\n }\n\n return tokens;\n}\n\nfunction matchHeaderValue(context, value, header, filter) {\n if (utils.isFunction(filter)) {\n return filter.call(this, value, header);\n }\n\n if (!utils.isString(value)) return;\n\n if (utils.isString(filter)) {\n return value.indexOf(filter) !== -1;\n }\n\n if (utils.isRegExp(filter)) {\n return filter.test(value);\n }\n}\n\nfunction formatHeader(header) {\n return header.trim()\n .toLowerCase().replace(/([a-z\\d])(\\w*)/g, (w, char, str) => {\n return char.toUpperCase() + str;\n });\n}\n\nfunction buildAccessors(obj, header) {\n const accessorName = utils.toCamelCase(' ' + header);\n\n ['get', 'set', 'has'].forEach(methodName => {\n Object.defineProperty(obj, methodName + accessorName, {\n value: function(arg1, arg2, arg3) {\n return this[methodName].call(this, header, arg1, arg2, arg3);\n },\n configurable: true\n });\n });\n}\n\nfunction findKey(obj, key) {\n key = key.toLowerCase();\n const keys = Object.keys(obj);\n let i = keys.length;\n let _key;\n while (i-- > 0) {\n _key = keys[i];\n if (key === _key.toLowerCase()) {\n return _key;\n }\n }\n return null;\n}\n\nfunction AxiosHeaders(headers, defaults) {\n headers && this.set(headers);\n this[$defaults] = defaults || null;\n}\n\nObject.assign(AxiosHeaders.prototype, {\n set: function(header, valueOrRewrite, rewrite) {\n const self = this;\n\n function setHeader(_value, _header, _rewrite) {\n const lHeader = normalizeHeader(_header);\n\n if (!lHeader) {\n throw new Error('header name must be a non-empty string');\n }\n\n const key = findKey(self, lHeader);\n\n if (key && _rewrite !== true && (self[key] === false || _rewrite === false)) {\n return;\n }\n\n if (utils.isArray(_value)) {\n _value = _value.map(normalizeValue);\n } else {\n _value = normalizeValue(_value);\n }\n\n self[key || _header] = _value;\n }\n\n if (utils.isPlainObject(header)) {\n utils.forEach(header, (_value, _header) => {\n setHeader(_value, _header, valueOrRewrite);\n });\n } else {\n setHeader(valueOrRewrite, header, rewrite);\n }\n\n return this;\n },\n\n get: function(header, parser) {\n header = normalizeHeader(header);\n\n if (!header) return undefined;\n\n const key = findKey(this, header);\n\n if (key) {\n const value = this[key];\n\n if (!parser) {\n return value;\n }\n\n if (parser === true) {\n return parseTokens(value);\n }\n\n if (utils.isFunction(parser)) {\n return parser.call(this, value, key);\n }\n\n if (utils.isRegExp(parser)) {\n return parser.exec(value);\n }\n\n throw new TypeError('parser must be boolean|regexp|function');\n }\n },\n\n has: function(header, matcher) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = findKey(this, header);\n\n return !!(key && (!matcher || matchHeaderValue(this, this[key], key, matcher)));\n }\n\n return false;\n },\n\n delete: function(header, matcher) {\n const self = this;\n let deleted = false;\n\n function deleteHeader(_header) {\n _header = normalizeHeader(_header);\n\n if (_header) {\n const key = findKey(self, _header);\n\n if (key && (!matcher || matchHeaderValue(self, self[key], key, matcher))) {\n delete self[key];\n\n deleted = true;\n }\n }\n }\n\n if (utils.isArray(header)) {\n header.forEach(deleteHeader);\n } else {\n deleteHeader(header);\n }\n\n return deleted;\n },\n\n clear: function() {\n return Object.keys(this).forEach(this.delete.bind(this));\n },\n\n normalize: function(format) {\n const self = this;\n const headers = {};\n\n utils.forEach(this, (value, header) => {\n const key = findKey(headers, header);\n\n if (key) {\n self[key] = normalizeValue(value);\n delete self[header];\n return;\n }\n\n const normalized = format ? formatHeader(header) : String(header).trim();\n\n if (normalized !== header) {\n delete self[header];\n }\n\n self[normalized] = normalizeValue(value);\n\n headers[normalized] = true;\n });\n\n return this;\n },\n\n toJSON: function() {\n const obj = Object.create(null);\n\n utils.forEach(Object.assign({}, this[$defaults] || null, this),\n (value, header) => {\n if (value == null || value === false) return;\n obj[header] = utils.isArray(value) ? value.join(', ') : value;\n });\n\n return obj;\n }\n});\n\nObject.assign(AxiosHeaders, {\n from: function(thing) {\n if (utils.isString(thing)) {\n return new this(parseHeaders(thing));\n }\n return thing instanceof this ? thing : new this(thing);\n },\n\n accessor: function(header) {\n const internals = this[$internals] = (this[$internals] = {\n accessors: {}\n });\n\n const accessors = internals.accessors;\n const prototype = this.prototype;\n\n function defineAccessor(_header) {\n const lHeader = normalizeHeader(_header);\n\n if (!accessors[lHeader]) {\n buildAccessors(prototype, _header);\n accessors[lHeader] = true;\n }\n }\n\n utils.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header);\n\n return this;\n }\n});\n\nAxiosHeaders.accessor(['Content-Type', 'Content-Length', 'Accept', 'Accept-Encoding', 'User-Agent']);\n\nutils.freezeMethods(AxiosHeaders.prototype);\nutils.freezeMethods(AxiosHeaders);\n\nexport default AxiosHeaders;\n","'use strict';\n\n/**\n * Calculate data maxRate\n * @param {Number} [samplesCount= 10]\n * @param {Number} [min= 1000]\n * @returns {Function}\n */\nfunction speedometer(samplesCount, min) {\n samplesCount = samplesCount || 10;\n const bytes = new Array(samplesCount);\n const timestamps = new Array(samplesCount);\n let head = 0;\n let tail = 0;\n let firstSampleTS;\n\n min = min !== undefined ? min : 1000;\n\n return function push(chunkLength) {\n const now = Date.now();\n\n const startedAt = timestamps[tail];\n\n if (!firstSampleTS) {\n firstSampleTS = now;\n }\n\n bytes[head] = chunkLength;\n timestamps[head] = now;\n\n let i = tail;\n let bytesCount = 0;\n\n while (i !== head) {\n bytesCount += bytes[i++];\n i = i % samplesCount;\n }\n\n head = (head + 1) % samplesCount;\n\n if (head === tail) {\n tail = (tail + 1) % samplesCount;\n }\n\n if (now - firstSampleTS < min) {\n return;\n }\n\n const passed = startedAt && now - startedAt;\n\n return passed ? Math.round(bytesCount * 1000 / passed) : undefined;\n };\n}\n\nexport default speedometer;\n","'use strict';\n\nimport utils from './../utils.js';\nimport settle from './../core/settle.js';\nimport cookies from './../helpers/cookies.js';\nimport buildURL from './../helpers/buildURL.js';\nimport buildFullPath from '../core/buildFullPath.js';\nimport isURLSameOrigin from './../helpers/isURLSameOrigin.js';\nimport transitionalDefaults from '../defaults/transitional.js';\nimport AxiosError from '../core/AxiosError.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport parseProtocol from '../helpers/parseProtocol.js';\nimport platform from '../platform/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport speedometer from '../helpers/speedometer.js';\n\nfunction progressEventReducer(listener, isDownloadStream) {\n let bytesNotified = 0;\n const _speedometer = speedometer(50, 250);\n\n return e => {\n const loaded = e.loaded;\n const total = e.lengthComputable ? e.total : undefined;\n const progressBytes = loaded - bytesNotified;\n const rate = _speedometer(progressBytes);\n const inRange = loaded <= total;\n\n bytesNotified = loaded;\n\n const data = {\n loaded,\n total,\n progress: total ? (loaded / total) : undefined,\n bytes: progressBytes,\n rate: rate ? rate : undefined,\n estimated: rate && total && inRange ? (total - loaded) / rate : undefined\n };\n\n data[isDownloadStream ? 'download' : 'upload'] = true;\n\n listener(data);\n };\n}\n\nexport default function xhrAdapter(config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n let requestData = config.data;\n const requestHeaders = AxiosHeaders.from(config.headers).normalize();\n const responseType = config.responseType;\n let onCanceled;\n function done() {\n if (config.cancelToken) {\n config.cancelToken.unsubscribe(onCanceled);\n }\n\n if (config.signal) {\n config.signal.removeEventListener('abort', onCanceled);\n }\n }\n\n if (utils.isFormData(requestData) && platform.isStandardBrowserEnv) {\n requestHeaders.setContentType(false); // Let the browser set it\n }\n\n let request = new XMLHttpRequest();\n\n // HTTP basic authentication\n if (config.auth) {\n const username = config.auth.username || '';\n const password = config.auth.password ? unescape(encodeURIComponent(config.auth.password)) : '';\n requestHeaders.set('Authorization', 'Basic ' + btoa(username + ':' + password));\n }\n\n const fullPath = buildFullPath(config.baseURL, config.url);\n\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 function onloadend() {\n if (!request) {\n return;\n }\n // Prepare the response\n const responseHeaders = AxiosHeaders.from(\n 'getAllResponseHeaders' in request && request.getAllResponseHeaders()\n );\n const responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n const response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config,\n request\n };\n\n settle(function _resolve(value) {\n resolve(value);\n done();\n }, function _reject(err) {\n reject(err);\n done();\n }, response);\n\n // Clean up request\n request = null;\n }\n\n if ('onloadend' in request) {\n // Use onloadend if available\n request.onloadend = onloadend;\n } else {\n // Listen for ready state to emulate onloadend\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 // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n setTimeout(onloadend);\n };\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(new AxiosError('Request aborted', AxiosError.ECONNABORTED, config, 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(new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n let timeoutErrorMessage = config.timeout ? 'timeout of ' + config.timeout + 'ms exceeded' : 'timeout exceeded';\n const transitional = config.transitional || transitionalDefaults;\n if (config.timeoutErrorMessage) {\n timeoutErrorMessage = config.timeoutErrorMessage;\n }\n reject(new AxiosError(\n timeoutErrorMessage,\n transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n config,\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 (platform.isStandardBrowserEnv) {\n // Add xsrf header\n const xsrfValue = (config.withCredentials || isURLSameOrigin(fullPath))\n && config.xsrfCookieName && cookies.read(config.xsrfCookieName);\n\n if (xsrfValue) {\n requestHeaders.set(config.xsrfHeaderName, xsrfValue);\n }\n }\n\n // Remove Content-Type if data is undefined\n requestData === undefined && requestHeaders.setContentType(null);\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) {\n request.setRequestHeader(key, val);\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 (responseType && responseType !== 'json') {\n request.responseType = config.responseType;\n }\n\n // Handle progress if needed\n if (typeof config.onDownloadProgress === 'function') {\n request.addEventListener('progress', progressEventReducer(config.onDownloadProgress, true));\n }\n\n // Not all browsers support upload events\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', progressEventReducer(config.onUploadProgress));\n }\n\n if (config.cancelToken || config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = cancel => {\n if (!request) {\n return;\n }\n reject(!cancel || cancel.type ? new CanceledError(null, config, request) : cancel);\n request.abort();\n request = null;\n };\n\n config.cancelToken && config.cancelToken.subscribe(onCanceled);\n if (config.signal) {\n config.signal.aborted ? onCanceled() : config.signal.addEventListener('abort', onCanceled);\n }\n }\n\n const protocol = parseProtocol(fullPath);\n\n if (protocol && platform.protocols.indexOf(protocol) === -1) {\n reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config));\n return;\n }\n\n\n // Send the request\n request.send(requestData || null);\n });\n}\n","import utils from '../utils.js';\nimport httpAdapter from './http.js';\nimport xhrAdapter from './xhr.js';\n\nconst adapters = {\n http: httpAdapter,\n xhr: xhrAdapter\n}\n\nexport default {\n getAdapter: (nameOrAdapter) => {\n if(utils.isString(nameOrAdapter)){\n const adapter = adapters[nameOrAdapter];\n\n if (!nameOrAdapter) {\n throw Error(\n utils.hasOwnProp(nameOrAdapter) ?\n `Adapter '${nameOrAdapter}' is not available in the build` :\n `Can not resolve adapter '${nameOrAdapter}'`\n );\n }\n\n return adapter\n }\n\n if (!utils.isFunction(nameOrAdapter)) {\n throw new TypeError('adapter is not a function');\n }\n\n return nameOrAdapter;\n },\n adapters\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\nimport transitionalDefaults from './transitional.js';\nimport toFormData from '../helpers/toFormData.js';\nimport toURLEncodedForm from '../helpers/toURLEncodedForm.js';\nimport platform from '../platform/index.js';\nimport formDataToJSON from '../helpers/formDataToJSON.js';\nimport adapters from '../adapters/index.js';\n\nconst DEFAULT_CONTENT_TYPE = {\n 'Content-Type': 'application/x-www-form-urlencoded'\n};\n\n/**\n * If the browser has an XMLHttpRequest object, use the XHR adapter, otherwise use the HTTP\n * adapter\n *\n * @returns {Function}\n */\nfunction getDefaultAdapter() {\n let adapter;\n if (typeof XMLHttpRequest !== 'undefined') {\n // For browsers use XHR adapter\n adapter = adapters.getAdapter('xhr');\n } else if (typeof process !== 'undefined' && utils.kindOf(process) === 'process') {\n // For node use HTTP adapter\n adapter = adapters.getAdapter('http');\n }\n return adapter;\n}\n\n/**\n * It takes a string, tries to parse it, and if it fails, it returns the stringified version\n * of the input\n *\n * @param {any} rawValue - The value to be stringified.\n * @param {Function} parser - A function that parses a string into a JavaScript object.\n * @param {Function} encoder - A function that takes a value and returns a string.\n *\n * @returns {string} A stringified version of the rawValue.\n */\nfunction stringifySafely(rawValue, parser, encoder) {\n if (utils.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils.trim(rawValue);\n } catch (e) {\n if (e.name !== 'SyntaxError') {\n throw e;\n }\n }\n }\n\n return (encoder || JSON.stringify)(rawValue);\n}\n\nconst defaults = {\n\n transitional: transitionalDefaults,\n\n adapter: getDefaultAdapter(),\n\n transformRequest: [function transformRequest(data, headers) {\n const contentType = headers.getContentType() || '';\n const hasJSONContentType = contentType.indexOf('application/json') > -1;\n const isObjectPayload = utils.isObject(data);\n\n if (isObjectPayload && utils.isHTMLForm(data)) {\n data = new FormData(data);\n }\n\n const isFormData = utils.isFormData(data);\n\n if (isFormData) {\n if (!hasJSONContentType) {\n return data;\n }\n return hasJSONContentType ? JSON.stringify(formDataToJSON(data)) : data;\n }\n\n if (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 headers.setContentType('application/x-www-form-urlencoded;charset=utf-8', false);\n return data.toString();\n }\n\n let isFileList;\n\n if (isObjectPayload) {\n if (contentType.indexOf('application/x-www-form-urlencoded') > -1) {\n return toURLEncodedForm(data, this.formSerializer).toString();\n }\n\n if ((isFileList = utils.isFileList(data)) || contentType.indexOf('multipart/form-data') > -1) {\n const _FormData = this.env && this.env.FormData;\n\n return toFormData(\n isFileList ? {'files[]': data} : data,\n _FormData && new _FormData(),\n this.formSerializer\n );\n }\n }\n\n if (isObjectPayload || hasJSONContentType ) {\n headers.setContentType('application/json', false);\n return stringifySafely(data);\n }\n\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n const transitional = this.transitional || defaults.transitional;\n const forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n const JSONRequested = this.responseType === 'json';\n\n if (data && utils.isString(data) && ((forcedJSONParsing && !this.responseType) || JSONRequested)) {\n const silentJSONParsing = transitional && transitional.silentJSONParsing;\n const strictJSONParsing = !silentJSONParsing && JSONRequested;\n\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response);\n }\n throw e;\n }\n }\n }\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 maxBodyLength: -1,\n\n env: {\n FormData: platform.classes.FormData,\n Blob: platform.classes.Blob\n },\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n },\n\n headers: {\n common: {\n 'Accept': 'application/json, text/plain, */*'\n }\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\nexport default defaults;\n","'use strict';\n\nimport utils from './../utils.js';\nimport defaults from '../defaults/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Array|Function} fns A single function or Array of functions\n * @param {?Object} response The response object\n *\n * @returns {*} The resulting transformed data\n */\nexport default function transformData(fns, response) {\n const config = this || defaults;\n const context = response || config;\n const headers = AxiosHeaders.from(context.headers);\n let data = context.data;\n\n utils.forEach(fns, function transform(fn) {\n data = fn.call(config, data, headers.normalize(), response ? response.status : undefined);\n });\n\n headers.normalize();\n\n return data;\n}\n","'use strict';\n\nexport default function isCancel(value) {\n return !!(value && value.__CANCEL__);\n}\n","'use strict';\n\nimport transformData from './transformData.js';\nimport isCancel from '../cancel/isCancel.js';\nimport defaults from '../defaults/index.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n *\n * @param {Object} config The config that is to be used for the request\n *\n * @returns {void}\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new CanceledError();\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 *\n * @returns {Promise} The Promise to be fulfilled\n */\nexport default function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n config.headers = AxiosHeaders.from(config.headers);\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.transformRequest\n );\n\n const 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.call(\n config,\n config.transformResponse,\n response\n );\n\n response.headers = AxiosHeaders.from(response.headers);\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.call(\n config,\n config.transformResponse,\n reason.response\n );\n reason.response.headers = AxiosHeaders.from(reason.response.headers);\n }\n }\n\n return Promise.reject(reason);\n });\n}\n","'use strict';\n\nimport utils from '../utils.js';\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 *\n * @returns {Object} New object resulting from merging config2 to config1\n */\nexport default function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n const config = {};\n\n function getMergedValue(target, source) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge(target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDeepProperties(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(config1[prop], config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n return getMergedValue(undefined, config1[prop]);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(undefined, config2[prop]);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(undefined, config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n return getMergedValue(undefined, config1[prop]);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(prop) {\n if (prop in config2) {\n return getMergedValue(config1[prop], config2[prop]);\n } else if (prop in config1) {\n return getMergedValue(undefined, config1[prop]);\n }\n }\n\n const mergeMap = {\n 'url': valueFromConfig2,\n 'method': valueFromConfig2,\n 'data': valueFromConfig2,\n 'baseURL': defaultToConfig2,\n 'transformRequest': defaultToConfig2,\n 'transformResponse': defaultToConfig2,\n 'paramsSerializer': defaultToConfig2,\n 'timeout': defaultToConfig2,\n 'timeoutMessage': defaultToConfig2,\n 'withCredentials': defaultToConfig2,\n 'adapter': defaultToConfig2,\n 'responseType': defaultToConfig2,\n 'xsrfCookieName': defaultToConfig2,\n 'xsrfHeaderName': defaultToConfig2,\n 'onUploadProgress': defaultToConfig2,\n 'onDownloadProgress': defaultToConfig2,\n 'decompress': defaultToConfig2,\n 'maxContentLength': defaultToConfig2,\n 'maxBodyLength': defaultToConfig2,\n 'beforeRedirect': defaultToConfig2,\n 'transport': defaultToConfig2,\n 'httpAgent': defaultToConfig2,\n 'httpsAgent': defaultToConfig2,\n 'cancelToken': defaultToConfig2,\n 'socketPath': defaultToConfig2,\n 'responseEncoding': defaultToConfig2,\n 'validateStatus': mergeDirectKeys\n };\n\n utils.forEach(Object.keys(config1).concat(Object.keys(config2)), function computeConfigValue(prop) {\n const merge = mergeMap[prop] || mergeDeepProperties;\n const configValue = merge(prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n}\n","export const VERSION = \"1.0.0\";","'use strict';\n\nimport {VERSION} from '../env/data.js';\nimport AxiosError from '../core/AxiosError.js';\n\nconst validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach((type, i) => {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nconst deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n *\n * @param {function|boolean?} validator - set to false if the transitional option has been removed\n * @param {string?} version - deprecated version / removed since version\n * @param {string?} message - some message with additional info\n *\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n function formatMessage(opt, desc) {\n return '[Axios v' + VERSION + '] Transitional option \\'' + opt + '\\'' + desc + (message ? '. ' + message : '');\n }\n\n // eslint-disable-next-line func-names\n return (value, opt, opts) => {\n if (validator === false) {\n throw new AxiosError(\n formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')),\n AxiosError.ERR_DEPRECATED\n );\n }\n\n if (version && !deprecatedWarnings[opt]) {\n deprecatedWarnings[opt] = true;\n // eslint-disable-next-line no-console\n console.warn(\n formatMessage(\n opt,\n ' has been deprecated since v' + version + ' and will be removed in the near future'\n )\n );\n }\n\n return validator ? validator(value, opt, opts) : true;\n };\n};\n\n/**\n * Assert object's properties type\n *\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n *\n * @returns {object}\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE);\n }\n const keys = Object.keys(options);\n let i = keys.length;\n while (i-- > 0) {\n const opt = keys[i];\n const validator = schema[opt];\n if (validator) {\n const value = options[opt];\n const result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new AxiosError('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION);\n }\n }\n}\n\nexport default {\n assertOptions,\n validators\n};\n","'use strict';\n\nimport utils from './../utils.js';\nimport buildURL from '../helpers/buildURL.js';\nimport InterceptorManager from './InterceptorManager.js';\nimport dispatchRequest from './dispatchRequest.js';\nimport mergeConfig from './mergeConfig.js';\nimport buildFullPath from './buildFullPath.js';\nimport validator from '../helpers/validator.js';\nimport AxiosHeaders from './AxiosHeaders.js';\n\nconst validators = validator.validators;\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n *\n * @return {Axios} A new instance of Axios\n */\nclass Axios {\n constructor(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 {String|Object} configOrUrl The config specific for this request (merged with this.defaults)\n * @param {?Object} config\n *\n * @returns {Promise} The Promise to be fulfilled\n */\n request(configOrUrl, config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof configOrUrl === 'string') {\n config = config || {};\n config.url = configOrUrl;\n } else {\n config = configOrUrl || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n const transitional = config.transitional;\n\n if (transitional !== undefined) {\n validator.assertOptions(transitional, {\n silentJSONParsing: validators.transitional(validators.boolean),\n forcedJSONParsing: validators.transitional(validators.boolean),\n clarifyTimeoutError: validators.transitional(validators.boolean)\n }, false);\n }\n\n // Set config.method\n config.method = (config.method || this.defaults.method || 'get').toLowerCase();\n\n // Flatten headers\n const defaultHeaders = config.headers && utils.merge(\n config.headers.common,\n config.headers[config.method]\n );\n\n defaultHeaders && utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n function cleanHeaderConfig(method) {\n delete config.headers[method];\n }\n );\n\n config.headers = new AxiosHeaders(config.headers, defaultHeaders);\n\n // filter out skipped interceptors\n const requestInterceptorChain = [];\n let synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n return;\n }\n\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n const responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n let promise;\n let i = 0;\n let len;\n\n if (!synchronousRequestInterceptors) {\n const chain = [dispatchRequest.bind(this), undefined];\n chain.unshift.apply(chain, requestInterceptorChain);\n chain.push.apply(chain, responseInterceptorChain);\n len = chain.length;\n\n promise = Promise.resolve(config);\n\n while (i < len) {\n promise = promise.then(chain[i++], chain[i++]);\n }\n\n return promise;\n }\n\n len = requestInterceptorChain.length;\n\n let newConfig = config;\n\n i = 0;\n\n while (i < len) {\n const onFulfilled = requestInterceptorChain[i++];\n const onRejected = requestInterceptorChain[i++];\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected.call(this, error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest.call(this, newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n i = 0;\n len = responseInterceptorChain.length;\n\n while (i < len) {\n promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]);\n }\n\n return promise;\n }\n\n getUri(config) {\n config = mergeConfig(this.defaults, config);\n const fullPath = buildFullPath(config.baseURL, config.url);\n return buildURL(fullPath, config.params, config.paramsSerializer);\n }\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(mergeConfig(config || {}, {\n method,\n url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n\n function generateHTTPMethod(isForm) {\n return function httpMethod(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n headers: isForm ? {\n 'Content-Type': 'multipart/form-data'\n } : {},\n url,\n data\n }));\n };\n }\n\n Axios.prototype[method] = generateHTTPMethod();\n\n Axios.prototype[method + 'Form'] = generateHTTPMethod(true);\n});\n\nexport default Axios;\n","'use strict';\n\nimport CanceledError from './CanceledError.js';\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @param {Function} executor The executor function.\n *\n * @returns {CancelToken}\n */\nclass CancelToken {\n constructor(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n let resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n const token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then(cancel => {\n if (!token._listeners) return;\n\n let i = token._listeners.length;\n\n while (i-- > 0) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = onfulfilled => {\n let _resolve;\n // eslint-disable-next-line func-names\n const promise = new Promise(resolve => {\n token.subscribe(resolve);\n _resolve = resolve;\n }).then(onfulfilled);\n\n promise.cancel = function reject() {\n token.unsubscribe(_resolve);\n };\n\n return promise;\n };\n\n executor(function cancel(message, config, request) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new CanceledError(message, config, request);\n resolvePromise(token.reason);\n });\n }\n\n /**\n * Throws a `CanceledError` if cancellation has been requested.\n */\n throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n }\n\n /**\n * Subscribe to the cancel signal\n */\n\n subscribe(listener) {\n if (this.reason) {\n listener(this.reason);\n return;\n }\n\n if (this._listeners) {\n this._listeners.push(listener);\n } else {\n this._listeners = [listener];\n }\n }\n\n /**\n * Unsubscribe from the cancel signal\n */\n\n unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n const index = this._listeners.indexOf(listener);\n if (index !== -1) {\n this._listeners.splice(index, 1);\n }\n }\n\n /**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\n static source() {\n let cancel;\n const token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token,\n cancel\n };\n }\n}\n\nexport default CancelToken;\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 *\n * @returns {Function}\n */\nexport default function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n *\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nexport default function isAxiosError(payload) {\n return utils.isObject(payload) && (payload.isAxiosError === true);\n}\n","'use strict';\n\nimport utils from './utils.js';\nimport bind from './helpers/bind.js';\nimport Axios from './core/Axios.js';\nimport mergeConfig from './core/mergeConfig.js';\nimport defaults from './defaults/index.js';\nimport formDataToJSON from './helpers/formDataToJSON.js';\nimport CanceledError from './cancel/CanceledError.js';\nimport CancelToken from'./cancel/CancelToken.js';\nimport isCancel from'./cancel/isCancel.js';\nimport {VERSION} from './env/data.js';\nimport toFormData from './helpers/toFormData.js';\nimport AxiosError from './core/AxiosError.js';\nimport spread from './helpers/spread.js';\nimport isAxiosError from './helpers/isAxiosError.js';\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n *\n * @returns {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n const context = new Axios(defaultConfig);\n const instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context, {allOwnKeys: true});\n\n // Copy context to instance\n utils.extend(instance, context, null, {allOwnKeys: true});\n\n // Factory for creating new instances\n instance.create = function create(instanceConfig) {\n return createInstance(mergeConfig(defaultConfig, instanceConfig));\n };\n\n return instance;\n}\n\n// Create the default instance to be exported\nconst axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.CanceledError = CanceledError;\naxios.CancelToken = CancelToken;\naxios.isCancel = isCancel;\naxios.VERSION = VERSION;\naxios.toFormData = toFormData;\n\n// Expose AxiosError class\naxios.AxiosError = AxiosError;\n\n// alias for CanceledError for backward compatibility\naxios.Cancel = axios.CanceledError;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\n\naxios.spread = spread;\n\n// Expose isAxiosError\naxios.isAxiosError = isAxiosError;\n\naxios.formToJSON = thing => {\n return formDataToJSON(utils.isHTMLForm(thing) ? new FormData(thing) : thing);\n};\n\nexport default axios;\n"],"names":["prototype","envFormData","encode","URLSearchParams","FormData","httpAdapter","adapters","validators"],"mappings":"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"} \ No newline at end of file diff --git a/dist/esm/axios.min.js b/dist/esm/axios.min.js index 061d6ab..824b122 100644 --- a/dist/esm/axios.min.js +++ b/dist/esm/axios.min.js @@ -1,2 +1,2 @@ -var e,t=function(e,t){return function(){return e.apply(t,arguments)}},r=Object.prototype.toString,n=(e=Object.create(null),function(t){var n=r.call(t);return e[n]||(e[n]=n.slice(8,-1).toLowerCase())});function o(e){return e=e.toLowerCase(),function(t){return n(t)===e}}function i(e){return Array.isArray(e)}function s(e){return void 0===e}var a=o("ArrayBuffer");function u(e){return"number"==typeof e}function c(e){return null!==e&&"object"==typeof e}function f(e){if("object"!==n(e))return!1;var t=Object.getPrototypeOf(e);return null===t||t===Object.prototype}var l=o("Date"),p=o("File"),d=o("Blob"),h=o("FileList");function m(e){return"[object Function]"===r.call(e)}var y=o("URLSearchParams");function v(e,t){if(null!=e)if("object"!=typeof e&&(e=[e]),i(e))for(var r=0,n=e.length;r0;)s=o[i],n&&!n(s,e,t)||a[s]||(t[s]=e[s],a[s]=!0);e=!1!==r&&Object.getPrototypeOf(e)}while(e&&(!r||r(e,t))&&e!==Object.prototype);return t},kindOf:n,kindOfTest:o,endsWith:function(e,t,r){e=String(e),(void 0===r||r>e.length)&&(r=e.length),r-=t.length;var n=e.indexOf(t,r);return-1!==n&&n===r},toArray:function(e){if(!e)return null;if(i(e))return e;var t=e.length;if(!u(t))return null;for(var r=new Array(t);t-- >0;)r[t]=e[t];return r},isTypedArray:b,isFileList:h,forEachEntry:function(e,t){for(var r,n=(e&&e[Symbol.iterator]).call(e);(r=n.next())&&!r.done;){var o=r.value;t.call(e,o[0],o[1])}},matchAll:function(e,t){for(var r,n=[];null!==(r=e.exec(t));)n.push(r);return n},isHTMLForm:w,hasOwnProperty:O};function S(e,t,r,n,o){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=(new Error).stack,this.message=e,this.name="AxiosError",t&&(this.code=t),r&&(this.config=r),n&&(this.request=n),o&&(this.response=o)}R.inherits(S,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:this.config,code:this.code,status:this.response&&this.response.status?this.response.status:null}}});var A=S.prototype,T={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach((function(e){T[e]={value:e}})),Object.defineProperties(S,T),Object.defineProperty(A,"isAxiosError",{value:!0}),S.from=function(e,t,r,n,o,i){var s=Object.create(A);return R.toFlatObject(e,s,(function(e){return e!==Error.prototype})),S.call(s,e.message,t,r,n,o),s.cause=e,s.name=e.name,i&&Object.assign(s,i),s};var j=S,N="object"==typeof self?self.FormData:window.FormData;function _(e){return R.isPlainObject(e)||R.isArray(e)}function x(e){return R.endsWith(e,"[]")?e.slice(0,-2):e}function C(e,t,r){return e?e.concat(t).map((function(e,t){return e=x(e),!r&&t?"["+e+"]":e})).join(r?".":""):t}var B=R.toFlatObject(R,{},null,(function(e){return/^is[A-Z]/.test(e)}));var P=function(e,t,r){if(!R.isObject(e))throw new TypeError("target must be an object");t=t||new(N||FormData);var n,o=(r=R.toFlatObject(r,{metaTokens:!0,dots:!1,indexes:!1},!1,(function(e,t){return!R.isUndefined(t[e])}))).metaTokens,i=r.visitor||f,s=r.dots,a=r.indexes,u=(r.Blob||"undefined"!=typeof Blob&&Blob)&&((n=t)&&R.isFunction(n.append)&&"FormData"===n[Symbol.toStringTag]&&n[Symbol.iterator]);if(!R.isFunction(i))throw new TypeError("visitor must be a function");function c(e){if(null===e)return"";if(R.isDate(e))return e.toISOString();if(!u&&R.isBlob(e))throw new j("Blob is not supported. Use a Buffer instead.");return R.isArrayBuffer(e)||R.isTypedArray(e)?u&&"function"==typeof Blob?new Blob([e]):Buffer.from(e):e}function f(e,r,n){var i=e;if(e&&!n&&"object"==typeof e)if(R.endsWith(r,"{}"))r=o?r:r.slice(0,-2),e=JSON.stringify(e);else if(R.isArray(e)&&function(e){return R.isArray(e)&&!e.some(_)}(e)||R.isFileList(e)||R.endsWith(r,"[]")&&(i=R.toArray(e)))return r=x(r),i.forEach((function(e,n){!R.isUndefined(e)&&t.append(!0===a?C([r],n,s):null===a?r:r+"[]",c(e))})),!1;return!!_(e)||(t.append(C(n,r,s),c(e)),!1)}var l=[],p=Object.assign(B,{defaultVisitor:f,convertValue:c,isVisitable:_});if(!R.isObject(e))throw new TypeError("data must be an object");return function e(r,n){if(!R.isUndefined(r)){if(-1!==l.indexOf(r))throw Error("Circular reference detected in "+n.join("."));l.push(r),R.forEach(r,(function(r,o){!0===(!R.isUndefined(r)&&i.call(t,r,R.isString(o)?o.trim():o,n,p))&&e(r,n?n.concat(o):[o])})),l.pop()}}(e),t};function U(e){var t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'\(\)~]|%20|%00/g,(function(e){return t[e]}))}function D(e,t){this._pairs=[],e&&P(e,this,t)}var F=D.prototype;F.append=function(e,t){this._pairs.push([e,t])},F.toString=function(e){var t=e?function(t){return e.call(this,t,U)}:U;return this._pairs.map((function(e){return t(e[0])+"="+t(e[1])}),"").join("&")};var L=D;function k(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}var q=function(e,t,r){if(!t)return e;var n=e.indexOf("#");-1!==n&&(e=e.slice(0,n));var o=r&&r.encode||k,i=R.isURLSearchParams(t)?t.toString():new L(t,r).toString(o);return i&&(e+=(-1===e.indexOf("?")?"?":"&")+i),e};function I(){this.handlers=[]}I.prototype.use=function(e,t,r){return this.handlers.push({fulfilled:e,rejected:t,synchronous:!!r&&r.synchronous,runWhen:r?r.runWhen:null}),this.handlers.length-1},I.prototype.eject=function(e){this.handlers[e]&&(this.handlers[e]=null)},I.prototype.clear=function(){this.handlers&&(this.handlers=[])},I.prototype.forEach=function(e){R.forEach(this.handlers,(function(t){null!==t&&e(t)}))};var M=I,H=function(e,t){R.forEach(e,(function(r,n){n!==t&&n.toUpperCase()===t.toUpperCase()&&(e[t]=r,delete e[n])}))},J={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},V={isBrowser:!0,classes:{URLSearchParams:"undefined"!=typeof URLSearchParams?URLSearchParams:L,FormData:FormData,Blob:Blob},protocols:["http","https","file","blob","url"]};var z=function(e){function t(e,r,n,o){var i=e[o++],s=Number.isFinite(+i),a=o>=e.length;return i=!i&&R.isArray(n)?n.length:i,a?(R.hasOwnProperty(n,i)?n[i]=[n[i],r]:n[i]=r,!s):(n[i]&&R.isObject(n[i])||(n[i]=[]),t(e,r,n[i],o)&&R.isArray(n[i])&&(n[i]=function(e){var t,r,n={},o=Object.keys(e),i=o.length;for(t=0;t=0)return;f[o]="set-cookie"===o?(f[o]?f[o]:[]).concat([i]):f[o]?f[o]+", "+i:i}})),f):f):null;!function(e,t,r){var n=r.config.validateStatus;r.status&&n&&!n(r.status)?t(new j("Request failed with status code "+r.status,[j.ERR_BAD_REQUEST,j.ERR_BAD_RESPONSE][Math.floor(r.status/100)-4],r.config,r.request,r)):e(r)}((function(e){t(e),a()}),(function(e){r(e),a()}),{data:s&&"text"!==s&&"json"!==s?u.response:u.responseText,status:u.status,statusText:u.statusText,headers:l,config:e,request:u}),u=null}}if(u.open(e.method.toUpperCase(),q(l,e.params,e.paramsSerializer),!0),u.timeout=e.timeout,"onloadend"in u?u.onloadend=p:u.onreadystatechange=function(){u&&4===u.readyState&&(0!==u.status||u.responseURL&&0===u.responseURL.indexOf("file:"))&&setTimeout(p)},u.onabort=function(){u&&(r(new j("Request aborted",j.ECONNABORTED,e,u)),u=null)},u.onerror=function(){r(new j("Network Error",j.ERR_NETWORK,e,u)),u=null},u.ontimeout=function(){var t=e.timeout?"timeout of "+e.timeout+"ms exceeded":"timeout exceeded",n=e.transitional||J;e.timeoutErrorMessage&&(t=e.timeoutErrorMessage),r(new j(t,n.clarifyTimeoutError?j.ETIMEDOUT:j.ECONNABORTED,e,u)),u=null},R.isStandardBrowserEnv()){var d=(e.withCredentials||$(l))&&e.xsrfCookieName?W.read(e.xsrfCookieName):void 0;d&&(i[e.xsrfHeaderName]=d)}"setRequestHeader"in u&&R.forEach(i,(function(e,t){void 0===o&&"content-type"===t.toLowerCase()?delete i[t]:u.setRequestHeader(t,e)})),R.isUndefined(e.withCredentials)||(u.withCredentials=!!e.withCredentials),s&&"json"!==s&&(u.responseType=e.responseType),"function"==typeof e.onDownloadProgress&&u.addEventListener("progress",e.onDownloadProgress),"function"==typeof e.onUploadProgress&&u.upload&&u.upload.addEventListener("progress",e.onUploadProgress),(e.cancelToken||e.signal)&&(n=function(t){u&&(r(!t||t.type?new G(null,e,req):t),u.abort(),u=null)},e.cancelToken&&e.cancelToken.subscribe(n),e.signal&&(e.signal.aborted?n():e.signal.addEventListener("abort",n))),o||(o=null);var h,m=(h=/^([-+\w]{1,25})(:?\/\/|:)/.exec(l))&&h[1]||"";m&&-1===V.protocols.indexOf(m)?r(new j("Unsupported protocol "+m+":",j.ERR_BAD_REQUEST,e)):u.send(o)}))},Z={"Content-Type":"application/x-www-form-urlencoded"};function ee(e,t){!R.isUndefined(e)&&R.isUndefined(e["Content-Type"])&&(e["Content-Type"]=t)}var te,re={transitional:J,adapter:(("undefined"!=typeof XMLHttpRequest||"undefined"!=typeof process&&"[object process]"===Object.prototype.toString.call(process))&&(te=Y),te),transformRequest:[function(e,t){H(t,"Accept"),H(t,"Content-Type");var r,n=t&&t["Content-Type"]||"",o=n.indexOf("application/json")>-1,i=R.isObject(e);if(i&&R.isHTMLForm(e)&&(e=new FormData(e)),R.isFormData(e))return o&&o?JSON.stringify(z(e)):e;if(R.isArrayBuffer(e)||R.isBuffer(e)||R.isStream(e)||R.isFile(e)||R.isBlob(e))return e;if(R.isArrayBufferView(e))return e.buffer;if(R.isURLSearchParams(e))return ee(t,"application/x-www-form-urlencoded;charset=utf-8"),e.toString();if(i){if(-1!==n.indexOf("application/x-www-form-urlencoded"))return function(e,t){return P(e,new V.classes.URLSearchParams,Object.assign({visitor:function(e,t,r,n){return V.isNode&&R.isBuffer(e)?(this.append(t,e.toString("base64")),!1):n.defaultVisitor.apply(this,arguments)}},t))}(e,this.formSerializer).toString();if((r=R.isFileList(e))||n.indexOf("multipart/form-data")>-1){var s=this.env&&this.env.FormData;return P(r?{"files[]":e}:e,s&&new s,this.formSerializer)}}return i||o?(ee(t,"application/json"),function(e,t,r){if(R.isString(e))try{return(t||JSON.parse)(e),R.trim(e)}catch(e){if("SyntaxError"!==e.name)throw e}return(r||JSON.stringify)(e)}(e)):e}],transformResponse:[function(e){var t=this.transitional||re.transitional,r=t&&t.forcedJSONParsing,n="json"===this.responseType;if(e&&R.isString(e)&&(r&&!this.responseType||n)){var o=!(t&&t.silentJSONParsing)&&n;try{return JSON.parse(e)}catch(e){if(o){if("SyntaxError"===e.name)throw j.from(e,j.ERR_BAD_RESPONSE,this,null,this.response);throw e}}}return e}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:V.classes.FormData,Blob:V.classes.Blob},validateStatus:function(e){return e>=200&&e<300},headers:{common:{Accept:"application/json, text/plain, */*"}}};R.forEach(["delete","get","head"],(function(e){re.headers[e]={}})),R.forEach(["post","put","patch"],(function(e){re.headers[e]=R.merge(Z)}));var ne=re,oe=function(e,t,r,n){var o=this||ne;return R.forEach(n,(function(n){e=n.call(o,e,t,r)})),e},ie=function(e){return!(!e||!e.__CANCEL__)};function se(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new G}var ae=function(e){return se(e),e.headers=e.headers||{},e.data=oe.call(e,e.data,e.headers,null,e.transformRequest),H(e.headers,"Accept"),H(e.headers,"Content-Type"),e.headers=R.merge(e.headers.common||{},e.headers[e.method]||{},e.headers),R.forEach(["delete","get","head","post","put","patch","common"],(function(t){delete e.headers[t]})),(e.adapter||ne.adapter)(e).then((function(t){return se(e),t.data=oe.call(e,t.data,t.headers,t.status,e.transformResponse),t}),(function(t){return ie(t)||(se(e),t&&t.response&&(t.response.data=oe.call(e,t.response.data,t.response.headers,t.response.status,e.transformResponse))),Promise.reject(t)}))},ue=function(e,t){t=t||{};var r={};function n(e,t){return R.isPlainObject(e)&&R.isPlainObject(t)?R.merge(e,t):R.isPlainObject(t)?R.merge({},t):R.isArray(t)?t.slice():t}function o(r){return R.isUndefined(t[r])?R.isUndefined(e[r])?void 0:n(void 0,e[r]):n(e[r],t[r])}function i(e){if(!R.isUndefined(t[e]))return n(void 0,t[e])}function s(r){return R.isUndefined(t[r])?R.isUndefined(e[r])?void 0:n(void 0,e[r]):n(void 0,t[r])}function a(r){return r in t?n(e[r],t[r]):r in e?n(void 0,e[r]):void 0}var u={url:i,method:i,data:i,baseURL:s,transformRequest:s,transformResponse:s,paramsSerializer:s,timeout:s,timeoutMessage:s,withCredentials:s,adapter:s,responseType:s,xsrfCookieName:s,xsrfHeaderName:s,onUploadProgress:s,onDownloadProgress:s,decompress:s,maxContentLength:s,maxBodyLength:s,beforeRedirect:s,transport:s,httpAgent:s,httpsAgent:s,cancelToken:s,socketPath:s,responseEncoding:s,validateStatus:a};return R.forEach(Object.keys(e).concat(Object.keys(t)),(function(e){var t=u[e]||o,n=t(e);R.isUndefined(n)&&t!==a||(r[e]=n)})),r},ce="1.0.0-alpha.1",fe=ce,le={};["object","boolean","number","function","string","symbol"].forEach((function(e,t){le[e]=function(r){return typeof r===e||"a"+(t<1?"n ":" ")+e}}));var pe={};le.transitional=function(e,t,r){function n(e,t){return"[Axios v"+fe+"] Transitional option '"+e+"'"+t+(r?". "+r:"")}return function(r,o,i){if(!1===e)throw new j(n(o," has been removed"+(t?" in "+t:"")),j.ERR_DEPRECATED);return t&&!pe[o]&&(pe[o]=!0,console.warn(n(o," has been deprecated since v"+t+" and will be removed in the near future"))),!e||e(r,o,i)}};var de={assertOptions:function(e,t,r){if("object"!=typeof e)throw new j("options must be an object",j.ERR_BAD_OPTION_VALUE);for(var n=Object.keys(e),o=n.length;o-- >0;){var i=n[o],s=t[i];if(s){var a=e[i],u=void 0===a||s(a,i,e);if(!0!==u)throw new j("option "+i+" must be "+u,j.ERR_BAD_OPTION_VALUE)}else if(!0!==r)throw new j("Unknown option "+i,j.ERR_BAD_OPTION)}},validators:le},he=de.validators;function me(e){this.defaults=e,this.interceptors={request:new M,response:new M}}me.prototype.request=function(e,t){"string"==typeof e?(t=t||{}).url=e:t=e||{},(t=ue(this.defaults,t)).method?t.method=t.method.toLowerCase():this.defaults.method?t.method=this.defaults.method.toLowerCase():t.method="get";var r=t.transitional;void 0!==r&&de.assertOptions(r,{silentJSONParsing:he.transitional(he.boolean),forcedJSONParsing:he.transitional(he.boolean),clarifyTimeoutError:he.transitional(he.boolean)},!1);var n=[],o=!0;this.interceptors.request.forEach((function(e){"function"==typeof e.runWhen&&!1===e.runWhen(t)||(o=o&&e.synchronous,n.unshift(e.fulfilled,e.rejected))}));var i,s=[];if(this.interceptors.response.forEach((function(e){s.push(e.fulfilled,e.rejected)})),!o){var a=[ae,void 0];for(Array.prototype.unshift.apply(a,n),a=a.concat(s),i=Promise.resolve(t);a.length;)i=i.then(a.shift(),a.shift());return i}for(var u=t;n.length;){var c=n.shift(),f=n.shift();try{u=c(u)}catch(e){f(e);break}}try{i=ae(u)}catch(e){return Promise.reject(e)}for(;s.length;)i=i.then(s.shift(),s.shift());return i},me.prototype.getUri=function(e){e=ue(this.defaults,e);var t=X(e.baseURL,e.url);return q(t,e.params,e.paramsSerializer)},R.forEach(["delete","get","head","options"],(function(e){me.prototype[e]=function(t,r){return this.request(ue(r||{},{method:e,url:t,data:(r||{}).data}))}})),R.forEach(["post","put","patch"],(function(e){function t(t){return function(r,n,o){return this.request(ue(o||{},{method:e,headers:t?{"Content-Type":"multipart/form-data"}:{},url:r,data:n}))}}me.prototype[e]=t(),me.prototype[e+"Form"]=t(!0)}));var ye=me;function ve(e){if("function"!=typeof e)throw new TypeError("executor must be a function.");var t;this.promise=new Promise((function(e){t=e}));var r=this;this.promise.then((function(e){if(r._listeners){for(var t=r._listeners.length;t-- >0;)r._listeners[t](e);r._listeners=null}})),this.promise.then=function(e){var t,n=new Promise((function(e){r.subscribe(e),t=e})).then(e);return n.cancel=function(){r.unsubscribe(t)},n},e((function(e,n,o){r.reason||(r.reason=new G(e,n,o),t(r.reason))}))}ve.prototype.throwIfRequested=function(){if(this.reason)throw this.reason},ve.prototype.subscribe=function(e){this.reason?e(this.reason):this._listeners?this._listeners.push(e):this._listeners=[e]},ve.prototype.unsubscribe=function(e){if(this._listeners){var t=this._listeners.indexOf(e);-1!==t&&this._listeners.splice(t,1)}},ve.source=function(){var e;return{token:new ve((function(t){e=t})),cancel:e}};var Ee=ve;var be=function e(r){var n=new ye(r),o=t(ye.prototype.request,n);return R.extend(o,ye.prototype,n),R.extend(o,n),o.create=function(t){return e(ue(r,t))},o}(ne);be.Axios=ye,be.CanceledError=G,be.CancelToken=Ee,be.isCancel=ie,be.VERSION=ce,be.toFormData=P,be.AxiosError=j,be.Cancel=be.CanceledError,be.all=function(e){return Promise.all(e)},be.spread=function(e){return function(t){return e.apply(null,t)}},be.isAxiosError=function(e){return R.isObject(e)&&!0===e.isAxiosError},be.formToJSON=function(e){return z(R.isHTMLForm(e)?new FormData(e):e)};var ge=be,we=be;ge.default=we;export{ge as default}; +function e(e,t){return function(){return e.apply(t,arguments)}}const{toString:t}=Object.prototype,{getPrototypeOf:n}=Object,r=(o=Object.create(null),e=>{const n=t.call(e);return o[n]||(o[n]=n.slice(8,-1).toLowerCase())});var o;const s=e=>(e=e.toLowerCase(),t=>r(t)===e),i=e=>t=>typeof t===e,{isArray:a}=Array,c=i("undefined");const u=s("ArrayBuffer");const l=i("string"),f=i("function"),h=i("number"),d=e=>null!==e&&"object"==typeof e,p=e=>{if("object"!==r(e))return!1;const t=n(e);return null===t||t===Object.prototype},m=s("Date"),g=s("File"),b=s("Blob"),y=s("FileList"),E=s("URLSearchParams");function w(e,t,{allOwnKeys:n=!1}={}){if(null==e)return;let r,o;if("object"!=typeof e&&(e=[e]),a(e))for(r=0,o=e.length;rR&&e instanceof R);var R;const S=s("HTMLFormElement"),A=(({hasOwnProperty:e})=>(t,n)=>e.call(t,n))(Object.prototype),j=s("RegExp"),T=(e,t)=>{const n=Object.getOwnPropertyDescriptors(e),r={};w(n,((n,o)=>{!1!==t(n,o,e)&&(r[o]=n)})),Object.defineProperties(e,r)},x={isArray:a,isArrayBuffer:u,isBuffer:function(e){return null!==e&&!c(e)&&null!==e.constructor&&!c(e.constructor)&&f(e.constructor.isBuffer)&&e.constructor.isBuffer(e)},isFormData:e=>{const n="[object FormData]";return e&&("function"==typeof FormData&&e instanceof FormData||t.call(e)===n||f(e.toString)&&e.toString()===n)},isArrayBufferView:function(e){let t;return t="undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(e):e&&e.buffer&&u(e.buffer),t},isString:l,isNumber:h,isBoolean:e=>!0===e||!1===e,isObject:d,isPlainObject:p,isUndefined:c,isDate:m,isFile:g,isBlob:b,isRegExp:j,isFunction:f,isStream:e=>d(e)&&f(e.pipe),isURLSearchParams:E,isTypedArray:O,isFileList:y,forEach:w,merge:function e(){const t={},n=(n,r)=>{p(t[r])&&p(n)?t[r]=e(t[r],n):p(n)?t[r]=e({},n):a(n)?t[r]=n.slice():t[r]=n};for(let e=0,t=arguments.length;e(w(n,((n,o)=>{r&&f(n)?t[o]=e(n,r):t[o]=n}),{allOwnKeys:o}),t),trim:e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,""),stripBOM:e=>(65279===e.charCodeAt(0)&&(e=e.slice(1)),e),inherits:(e,t,n,r)=>{e.prototype=Object.create(t.prototype,r),e.prototype.constructor=e,Object.defineProperty(e,"super",{value:t.prototype}),n&&Object.assign(e.prototype,n)},toFlatObject:(e,t,r,o)=>{let s,i,a;const c={};if(t=t||{},null==e)return t;do{for(s=Object.getOwnPropertyNames(e),i=s.length;i-- >0;)a=s[i],o&&!o(a,e,t)||c[a]||(t[a]=e[a],c[a]=!0);e=!1!==r&&n(e)}while(e&&(!r||r(e,t))&&e!==Object.prototype);return t},kindOf:r,kindOfTest:s,endsWith:(e,t,n)=>{e=String(e),(void 0===n||n>e.length)&&(n=e.length),n-=t.length;const r=e.indexOf(t,n);return-1!==r&&r===n},toArray:e=>{if(!e)return null;if(a(e))return e;let t=e.length;if(!h(t))return null;const n=new Array(t);for(;t-- >0;)n[t]=e[t];return n},forEachEntry:(e,t)=>{const n=(e&&e[Symbol.iterator]).call(e);let r;for(;(r=n.next())&&!r.done;){const n=r.value;t.call(e,n[0],n[1])}},matchAll:(e,t)=>{let n;const r=[];for(;null!==(n=e.exec(t));)r.push(n);return r},isHTMLForm:S,hasOwnProperty:A,hasOwnProp:A,reduceDescriptors:T,freezeMethods:e=>{T(e,((t,n)=>{const r=e[n];f(r)&&(t.enumerable=!1,"writable"in t?t.writable=!1:t.set||(t.set=()=>{throw Error("Can not read-only method '"+n+"'")}))}))},toObjectSet:(e,t)=>{const n={},r=e=>{e.forEach((e=>{n[e]=!0}))};return a(e)?r(e):r(String(e).split(t)),n},toCamelCase:e=>e.toLowerCase().replace(/[_-\s]([a-z\d])(\w*)/g,(function(e,t,n){return t.toUpperCase()+n})),noop:()=>{},toFiniteNumber:(e,t)=>(e=+e,Number.isFinite(e)?e:t)};function v(e,t,n,r,o){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=(new Error).stack,this.message=e,this.name="AxiosError",t&&(this.code=t),n&&(this.config=n),r&&(this.request=r),o&&(this.response=o)}x.inherits(v,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:this.config,code:this.code,status:this.response&&this.response.status?this.response.status:null}}});const C=v.prototype,N={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach((e=>{N[e]={value:e}})),Object.defineProperties(v,N),Object.defineProperty(C,"isAxiosError",{value:!0}),v.from=(e,t,n,r,o,s)=>{const i=Object.create(C);return x.toFlatObject(e,i,(function(e){return e!==Error.prototype}),(e=>"isAxiosError"!==e)),v.call(i,e.message,t,n,r,o),i.cause=e,i.name=e.name,s&&Object.assign(i,s),i};var _="object"==typeof self?self.FormData:window.FormData;function P(e){return x.isPlainObject(e)||x.isArray(e)}function B(e){return x.endsWith(e,"[]")?e.slice(0,-2):e}function D(e,t,n){return e?e.concat(t).map((function(e,t){return e=B(e),!n&&t?"["+e+"]":e})).join(n?".":""):t}const F=x.toFlatObject(x,{},null,(function(e){return/^is[A-Z]/.test(e)}));function U(e,t,n){if(!x.isObject(e))throw new TypeError("target must be an object");t=t||new(_||FormData);const r=(n=x.toFlatObject(n,{metaTokens:!0,dots:!1,indexes:!1},!1,(function(e,t){return!x.isUndefined(t[e])}))).metaTokens,o=n.visitor||l,s=n.dots,i=n.indexes,a=(n.Blob||"undefined"!=typeof Blob&&Blob)&&((c=t)&&x.isFunction(c.append)&&"FormData"===c[Symbol.toStringTag]&&c[Symbol.iterator]);var c;if(!x.isFunction(o))throw new TypeError("visitor must be a function");function u(e){if(null===e)return"";if(x.isDate(e))return e.toISOString();if(!a&&x.isBlob(e))throw new v("Blob is not supported. Use a Buffer instead.");return x.isArrayBuffer(e)||x.isTypedArray(e)?a&&"function"==typeof Blob?new Blob([e]):Buffer.from(e):e}function l(e,n,o){let a=e;if(e&&!o&&"object"==typeof e)if(x.endsWith(n,"{}"))n=r?n:n.slice(0,-2),e=JSON.stringify(e);else if(x.isArray(e)&&function(e){return x.isArray(e)&&!e.some(P)}(e)||x.isFileList(e)||x.endsWith(n,"[]")&&(a=x.toArray(e)))return n=B(n),a.forEach((function(e,r){!x.isUndefined(e)&&t.append(!0===i?D([n],r,s):null===i?n:n+"[]",u(e))})),!1;return!!P(e)||(t.append(D(o,n,s),u(e)),!1)}const f=[],h=Object.assign(F,{defaultVisitor:l,convertValue:u,isVisitable:P});if(!x.isObject(e))throw new TypeError("data must be an object");return function e(n,r){if(!x.isUndefined(n)){if(-1!==f.indexOf(n))throw Error("Circular reference detected in "+r.join("."));f.push(n),x.forEach(n,(function(n,s){!0===(!x.isUndefined(n)&&o.call(t,n,x.isString(s)?s.trim():s,r,h))&&e(n,r?r.concat(s):[s])})),f.pop()}}(e),t}function L(e){const t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,(function(e){return t[e]}))}function k(e,t){this._pairs=[],e&&U(e,this,t)}const q=k.prototype;function z(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function I(e,t,n){if(!t)return e;const r=e.indexOf("#");-1!==r&&(e=e.slice(0,r));const o=n&&n.encode||z,s=x.isURLSearchParams(t)?t.toString():new k(t,n).toString(o);return s&&(e+=(-1===e.indexOf("?")?"?":"&")+s),e}q.append=function(e,t){this._pairs.push([e,t])},q.toString=function(e){const t=e?function(t){return e.call(this,t,L)}:L;return this._pairs.map((function(e){return t(e[0])+"="+t(e[1])}),"").join("&")};class M{constructor(){this.handlers=[]}use(e,t,n){return this.handlers.push({fulfilled:e,rejected:t,synchronous:!!n&&n.synchronous,runWhen:n?n.runWhen:null}),this.handlers.length-1}eject(e){this.handlers[e]&&(this.handlers[e]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(e){x.forEach(this.handlers,(function(t){null!==t&&e(t)}))}}const J={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},H="undefined"!=typeof URLSearchParams?URLSearchParams:k,V=FormData,W=(()=>{let e;return("undefined"==typeof navigator||"ReactNative"!==(e=navigator.product)&&"NativeScript"!==e&&"NS"!==e)&&("undefined"!=typeof window&&"undefined"!=typeof document)})(),K={isBrowser:!0,classes:{URLSearchParams:H,FormData:V,Blob:Blob},isStandardBrowserEnv:W,protocols:["http","https","file","blob","url","data"]};function $(e){function t(e,n,r,o){let s=e[o++];const i=Number.isFinite(+s),a=o>=e.length;if(s=!s&&x.isArray(r)?r.length:s,a)return x.hasOwnProp(r,s)?r[s]=[r[s],n]:r[s]=n,!i;r[s]&&x.isObject(r[s])||(r[s]=[]);return t(e,n,r[s],o)&&x.isArray(r[s])&&(r[s]=function(e){const t={},n=Object.keys(e);let r;const o=n.length;let s;for(r=0;r{t(function(e){return x.matchAll(/\w+|\[(\w*)]/g,e).map((e=>"[]"===e[0]?"":e[1]||e[0]))}(e),r,n,0)})),n}return null}const X=K.isStandardBrowserEnv?{write:function(e,t,n,r,o,s){const i=[];i.push(e+"="+encodeURIComponent(t)),x.isNumber(n)&&i.push("expires="+new Date(n).toGMTString()),x.isString(r)&&i.push("path="+r),x.isString(o)&&i.push("domain="+o),!0===s&&i.push("secure"),document.cookie=i.join("; ")},read:function(e){const t=document.cookie.match(new RegExp("(^|;\\s*)("+e+")=([^;]*)"));return t?decodeURIComponent(t[3]):null},remove:function(e){this.write(e,"",Date.now()-864e5)}}:{write:function(){},read:function(){return null},remove:function(){}};function Q(e,t){return e&&!/^([a-z][a-z\d+\-.]*:)?\/\//i.test(t)?function(e,t){return t?e.replace(/\/+$/,"")+"/"+t.replace(/^\/+/,""):e}(e,t):t}const G=K.isStandardBrowserEnv?function(){const e=/(msie|trident)/i.test(navigator.userAgent),t=document.createElement("a");let n;function r(n){let r=n;return e&&(t.setAttribute("href",r),r=t.href),t.setAttribute("href",r),{href:t.href,protocol:t.protocol?t.protocol.replace(/:$/,""):"",host:t.host,search:t.search?t.search.replace(/^\?/,""):"",hash:t.hash?t.hash.replace(/^#/,""):"",hostname:t.hostname,port:t.port,pathname:"/"===t.pathname.charAt(0)?t.pathname:"/"+t.pathname}}return n=r(window.location.href),function(e){const t=x.isString(e)?r(e):e;return t.protocol===n.protocol&&t.host===n.host}}():function(){return!0};function Y(e,t,n){v.call(this,null==e?"canceled":e,v.ERR_CANCELED,t,n),this.name="CanceledError"}x.inherits(Y,v,{__CANCEL__:!0});const Z=x.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),ee=Symbol("internals"),te=Symbol("defaults");function ne(e){return e&&String(e).trim().toLowerCase()}function re(e){return!1===e||null==e?e:String(e)}function oe(e,t,n,r){return x.isFunction(r)?r.call(this,t,n):x.isString(t)?x.isString(r)?-1!==t.indexOf(r):x.isRegExp(r)?r.test(t):void 0:void 0}function se(e,t){t=t.toLowerCase();const n=Object.keys(e);let r,o=n.length;for(;o-- >0;)if(r=n[o],t===r.toLowerCase())return r;return null}function ie(e,t){e&&this.set(e),this[te]=t||null}function ae(e,t){let n=0;const r=function(e,t){e=e||10;const n=new Array(e),r=new Array(e);let o,s=0,i=0;return t=void 0!==t?t:1e3,function(a){const c=Date.now(),u=r[i];o||(o=c),n[s]=a,r[s]=c;let l=i,f=0;for(;l!==s;)f+=n[l++],l%=e;if(s=(s+1)%e,s===i&&(i=(i+1)%e),c-o{const s=o.loaded,i=o.lengthComputable?o.total:void 0,a=s-n,c=r(a);n=s;const u={loaded:s,total:i,progress:i?s/i:void 0,bytes:a,rate:c||void 0,estimated:c&&i&&s<=i?(i-s)/c:void 0};u[t?"download":"upload"]=!0,e(u)}}function ce(e){return new Promise((function(t,n){let r=e.data;const o=ie.from(e.headers).normalize(),s=e.responseType;let i;function a(){e.cancelToken&&e.cancelToken.unsubscribe(i),e.signal&&e.signal.removeEventListener("abort",i)}x.isFormData(r)&&K.isStandardBrowserEnv&&o.setContentType(!1);let c=new XMLHttpRequest;if(e.auth){const t=e.auth.username||"",n=e.auth.password?unescape(encodeURIComponent(e.auth.password)):"";o.set("Authorization","Basic "+btoa(t+":"+n))}const u=Q(e.baseURL,e.url);function l(){if(!c)return;const r=ie.from("getAllResponseHeaders"in c&&c.getAllResponseHeaders());!function(e,t,n){const r=n.config.validateStatus;n.status&&r&&!r(n.status)?t(new v("Request failed with status code "+n.status,[v.ERR_BAD_REQUEST,v.ERR_BAD_RESPONSE][Math.floor(n.status/100)-4],n.config,n.request,n)):e(n)}((function(e){t(e),a()}),(function(e){n(e),a()}),{data:s&&"text"!==s&&"json"!==s?c.response:c.responseText,status:c.status,statusText:c.statusText,headers:r,config:e,request:c}),c=null}if(c.open(e.method.toUpperCase(),I(u,e.params,e.paramsSerializer),!0),c.timeout=e.timeout,"onloadend"in c?c.onloadend=l:c.onreadystatechange=function(){c&&4===c.readyState&&(0!==c.status||c.responseURL&&0===c.responseURL.indexOf("file:"))&&setTimeout(l)},c.onabort=function(){c&&(n(new v("Request aborted",v.ECONNABORTED,e,c)),c=null)},c.onerror=function(){n(new v("Network Error",v.ERR_NETWORK,e,c)),c=null},c.ontimeout=function(){let t=e.timeout?"timeout of "+e.timeout+"ms exceeded":"timeout exceeded";const r=e.transitional||J;e.timeoutErrorMessage&&(t=e.timeoutErrorMessage),n(new v(t,r.clarifyTimeoutError?v.ETIMEDOUT:v.ECONNABORTED,e,c)),c=null},K.isStandardBrowserEnv){const t=(e.withCredentials||G(u))&&e.xsrfCookieName&&X.read(e.xsrfCookieName);t&&o.set(e.xsrfHeaderName,t)}void 0===r&&o.setContentType(null),"setRequestHeader"in c&&x.forEach(o.toJSON(),(function(e,t){c.setRequestHeader(t,e)})),x.isUndefined(e.withCredentials)||(c.withCredentials=!!e.withCredentials),s&&"json"!==s&&(c.responseType=e.responseType),"function"==typeof e.onDownloadProgress&&c.addEventListener("progress",ae(e.onDownloadProgress,!0)),"function"==typeof e.onUploadProgress&&c.upload&&c.upload.addEventListener("progress",ae(e.onUploadProgress)),(e.cancelToken||e.signal)&&(i=t=>{c&&(n(!t||t.type?new Y(null,e,c):t),c.abort(),c=null)},e.cancelToken&&e.cancelToken.subscribe(i),e.signal&&(e.signal.aborted?i():e.signal.addEventListener("abort",i)));const f=function(e){const t=/^([-+\w]{1,25})(:?\/\/|:)/.exec(e);return t&&t[1]||""}(u);f&&-1===K.protocols.indexOf(f)?n(new v("Unsupported protocol "+f+":",v.ERR_BAD_REQUEST,e)):c.send(r||null)}))}Object.assign(ie.prototype,{set:function(e,t,n){const r=this;function o(e,t,n){const o=ne(t);if(!o)throw new Error("header name must be a non-empty string");const s=se(r,o);(!s||!0===n||!1!==r[s]&&!1!==n)&&(e=x.isArray(e)?e.map(re):re(e),r[s||t]=e)}return x.isPlainObject(e)?x.forEach(e,((e,n)=>{o(e,n,t)})):o(t,e,n),this},get:function(e,t){if(!(e=ne(e)))return;const n=se(this,e);if(n){const e=this[n];if(!t)return e;if(!0===t)return function(e){const t=Object.create(null),n=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let r;for(;r=n.exec(e);)t[r[1]]=r[2];return t}(e);if(x.isFunction(t))return t.call(this,e,n);if(x.isRegExp(t))return t.exec(e);throw new TypeError("parser must be boolean|regexp|function")}},has:function(e,t){if(e=ne(e)){const n=se(this,e);return!(!n||t&&!oe(0,this[n],n,t))}return!1},delete:function(e,t){const n=this;let r=!1;function o(e){if(e=ne(e)){const o=se(n,e);!o||t&&!oe(0,n[o],o,t)||(delete n[o],r=!0)}}return x.isArray(e)?e.forEach(o):o(e),r},clear:function(){return Object.keys(this).forEach(this.delete.bind(this))},normalize:function(e){const t=this,n={};return x.forEach(this,((r,o)=>{const s=se(n,o);if(s)return t[s]=re(r),void delete t[o];const i=e?function(e){return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,((e,t,n)=>t.toUpperCase()+n))}(o):String(o).trim();i!==o&&delete t[o],t[i]=re(r),n[i]=!0})),this},toJSON:function(){const e=Object.create(null);return x.forEach(Object.assign({},this[te]||null,this),((t,n)=>{null!=t&&!1!==t&&(e[n]=x.isArray(t)?t.join(", "):t)})),e}}),Object.assign(ie,{from:function(e){return x.isString(e)?new this((e=>{const t={};let n,r,o;return e&&e.split("\n").forEach((function(e){o=e.indexOf(":"),n=e.substring(0,o).trim().toLowerCase(),r=e.substring(o+1).trim(),!n||t[n]&&Z[n]||("set-cookie"===n?t[n]?t[n].push(r):t[n]=[r]:t[n]=t[n]?t[n]+", "+r:r)})),t})(e)):e instanceof this?e:new this(e)},accessor:function(e){const t=(this[ee]=this[ee]={accessors:{}}).accessors,n=this.prototype;function r(e){const r=ne(e);t[r]||(!function(e,t){const n=x.toCamelCase(" "+t);["get","set","has"].forEach((r=>{Object.defineProperty(e,r+n,{value:function(e,n,o){return this[r].call(this,t,e,n,o)},configurable:!0})}))}(n,e),t[r]=!0)}return x.isArray(e)?e.forEach(r):r(e),this}}),ie.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent"]),x.freezeMethods(ie.prototype),x.freezeMethods(ie);const ue={http:ce,xhr:ce},le=e=>{if(x.isString(e)){const t=ue[e];if(!e)throw Error(x.hasOwnProp(e)?`Adapter '${e}' is not available in the build`:`Can not resolve adapter '${e}'`);return t}if(!x.isFunction(e))throw new TypeError("adapter is not a function");return e},fe={"Content-Type":"application/x-www-form-urlencoded"};const he={transitional:J,adapter:function(){let e;return"undefined"!=typeof XMLHttpRequest?e=le("xhr"):"undefined"!=typeof process&&"process"===x.kindOf(process)&&(e=le("http")),e}(),transformRequest:[function(e,t){const n=t.getContentType()||"",r=n.indexOf("application/json")>-1,o=x.isObject(e);o&&x.isHTMLForm(e)&&(e=new FormData(e));if(x.isFormData(e))return r&&r?JSON.stringify($(e)):e;if(x.isArrayBuffer(e)||x.isBuffer(e)||x.isStream(e)||x.isFile(e)||x.isBlob(e))return e;if(x.isArrayBufferView(e))return e.buffer;if(x.isURLSearchParams(e))return t.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),e.toString();let s;if(o){if(n.indexOf("application/x-www-form-urlencoded")>-1)return function(e,t){return U(e,new K.classes.URLSearchParams,Object.assign({visitor:function(e,t,n,r){return K.isNode&&x.isBuffer(e)?(this.append(t,e.toString("base64")),!1):r.defaultVisitor.apply(this,arguments)}},t))}(e,this.formSerializer).toString();if((s=x.isFileList(e))||n.indexOf("multipart/form-data")>-1){const t=this.env&&this.env.FormData;return U(s?{"files[]":e}:e,t&&new t,this.formSerializer)}}return o||r?(t.setContentType("application/json",!1),function(e,t,n){if(x.isString(e))try{return(t||JSON.parse)(e),x.trim(e)}catch(e){if("SyntaxError"!==e.name)throw e}return(n||JSON.stringify)(e)}(e)):e}],transformResponse:[function(e){const t=this.transitional||he.transitional,n=t&&t.forcedJSONParsing,r="json"===this.responseType;if(e&&x.isString(e)&&(n&&!this.responseType||r)){const n=!(t&&t.silentJSONParsing)&&r;try{return JSON.parse(e)}catch(e){if(n){if("SyntaxError"===e.name)throw v.from(e,v.ERR_BAD_RESPONSE,this,null,this.response);throw e}}}return e}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:K.classes.FormData,Blob:K.classes.Blob},validateStatus:function(e){return e>=200&&e<300},headers:{common:{Accept:"application/json, text/plain, */*"}}};function de(e,t){const n=this||he,r=t||n,o=ie.from(r.headers);let s=r.data;return x.forEach(e,(function(e){s=e.call(n,s,o.normalize(),t?t.status:void 0)})),o.normalize(),s}function pe(e){return!(!e||!e.__CANCEL__)}function me(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new Y}function ge(e){me(e),e.headers=ie.from(e.headers),e.data=de.call(e,e.transformRequest);return(e.adapter||he.adapter)(e).then((function(t){return me(e),t.data=de.call(e,e.transformResponse,t),t.headers=ie.from(t.headers),t}),(function(t){return pe(t)||(me(e),t&&t.response&&(t.response.data=de.call(e,e.transformResponse,t.response),t.response.headers=ie.from(t.response.headers))),Promise.reject(t)}))}function be(e,t){t=t||{};const n={};function r(e,t){return x.isPlainObject(e)&&x.isPlainObject(t)?x.merge(e,t):x.isPlainObject(t)?x.merge({},t):x.isArray(t)?t.slice():t}function o(n){return x.isUndefined(t[n])?x.isUndefined(e[n])?void 0:r(void 0,e[n]):r(e[n],t[n])}function s(e){if(!x.isUndefined(t[e]))return r(void 0,t[e])}function i(n){return x.isUndefined(t[n])?x.isUndefined(e[n])?void 0:r(void 0,e[n]):r(void 0,t[n])}function a(n){return n in t?r(e[n],t[n]):n in e?r(void 0,e[n]):void 0}const c={url:s,method:s,data:s,baseURL:i,transformRequest:i,transformResponse:i,paramsSerializer:i,timeout:i,timeoutMessage:i,withCredentials:i,adapter:i,responseType:i,xsrfCookieName:i,xsrfHeaderName:i,onUploadProgress:i,onDownloadProgress:i,decompress:i,maxContentLength:i,maxBodyLength:i,beforeRedirect:i,transport:i,httpAgent:i,httpsAgent:i,cancelToken:i,socketPath:i,responseEncoding:i,validateStatus:a};return x.forEach(Object.keys(e).concat(Object.keys(t)),(function(e){const t=c[e]||o,r=t(e);x.isUndefined(r)&&t!==a||(n[e]=r)})),n}x.forEach(["delete","get","head"],(function(e){he.headers[e]={}})),x.forEach(["post","put","patch"],(function(e){he.headers[e]=x.merge(fe)}));const ye={};["object","boolean","number","function","string","symbol"].forEach(((e,t)=>{ye[e]=function(n){return typeof n===e||"a"+(t<1?"n ":" ")+e}}));const Ee={};ye.transitional=function(e,t,n){function r(e,t){return"[Axios v1.0.0] Transitional option '"+e+"'"+t+(n?". "+n:"")}return(n,o,s)=>{if(!1===e)throw new v(r(o," has been removed"+(t?" in "+t:"")),v.ERR_DEPRECATED);return t&&!Ee[o]&&(Ee[o]=!0,console.warn(r(o," has been deprecated since v"+t+" and will be removed in the near future"))),!e||e(n,o,s)}};const we={assertOptions:function(e,t,n){if("object"!=typeof e)throw new v("options must be an object",v.ERR_BAD_OPTION_VALUE);const r=Object.keys(e);let o=r.length;for(;o-- >0;){const s=r[o],i=t[s];if(i){const t=e[s],n=void 0===t||i(t,s,e);if(!0!==n)throw new v("option "+s+" must be "+n,v.ERR_BAD_OPTION_VALUE)}else if(!0!==n)throw new v("Unknown option "+s,v.ERR_BAD_OPTION)}},validators:ye},Oe=we.validators;class Re{constructor(e){this.defaults=e,this.interceptors={request:new M,response:new M}}request(e,t){"string"==typeof e?(t=t||{}).url=e:t=e||{};const n=(t=be(this.defaults,t)).transitional;void 0!==n&&we.assertOptions(n,{silentJSONParsing:Oe.transitional(Oe.boolean),forcedJSONParsing:Oe.transitional(Oe.boolean),clarifyTimeoutError:Oe.transitional(Oe.boolean)},!1),t.method=(t.method||this.defaults.method||"get").toLowerCase();const r=t.headers&&x.merge(t.headers.common,t.headers[t.method]);r&&x.forEach(["delete","get","head","post","put","patch","common"],(function(e){delete t.headers[e]})),t.headers=new ie(t.headers,r);const o=[];let s=!0;this.interceptors.request.forEach((function(e){"function"==typeof e.runWhen&&!1===e.runWhen(t)||(s=s&&e.synchronous,o.unshift(e.fulfilled,e.rejected))}));const i=[];let a;this.interceptors.response.forEach((function(e){i.push(e.fulfilled,e.rejected)}));let c,u=0;if(!s){const e=[ge.bind(this),void 0];for(e.unshift.apply(e,o),e.push.apply(e,i),c=e.length,a=Promise.resolve(t);u{if(!n._listeners)return;let t=n._listeners.length;for(;t-- >0;)n._listeners[t](e);n._listeners=null})),this.promise.then=e=>{let t;const r=new Promise((e=>{n.subscribe(e),t=e})).then(e);return r.cancel=function(){n.unsubscribe(t)},r},e((function(e,r,o){n.reason||(n.reason=new Y(e,r,o),t(n.reason))}))}throwIfRequested(){if(this.reason)throw this.reason}subscribe(e){this.reason?e(this.reason):this._listeners?this._listeners.push(e):this._listeners=[e]}unsubscribe(e){if(!this._listeners)return;const t=this._listeners.indexOf(e);-1!==t&&this._listeners.splice(t,1)}static source(){let e;return{token:new Se((function(t){e=t})),cancel:e}}}const Ae=function t(n){const r=new Re(n),o=e(Re.prototype.request,r);return x.extend(o,Re.prototype,r,{allOwnKeys:!0}),x.extend(o,r,null,{allOwnKeys:!0}),o.create=function(e){return t(be(n,e))},o}(he);Ae.Axios=Re,Ae.CanceledError=Y,Ae.CancelToken=Se,Ae.isCancel=pe,Ae.VERSION="1.0.0",Ae.toFormData=U,Ae.AxiosError=v,Ae.Cancel=Ae.CanceledError,Ae.all=function(e){return Promise.all(e)},Ae.spread=function(e){return function(t){return e.apply(null,t)}},Ae.isAxiosError=function(e){return x.isObject(e)&&!0===e.isAxiosError},Ae.formToJSON=e=>$(x.isHTMLForm(e)?new FormData(e):e);export{Ae as default}; //# sourceMappingURL=axios.min.js.map diff --git a/dist/esm/axios.min.js.map b/dist/esm/axios.min.js.map index 32a7323..9fc49a8 100644 --- a/dist/esm/axios.min.js.map +++ b/dist/esm/axios.min.js.map @@ -1 +1 @@ -{"version":3,"file":"axios.min.js","sources":["../../lib/helpers/bind.js","../../lib/utils.js","../../lib/core/AxiosError.js","../../lib/env/classes/FormData.js","../../node_modules/form-data/lib/browser.js","../../lib/helpers/toFormData.js","../../lib/helpers/AxiosURLSearchParams.js","../../lib/helpers/buildURL.js","../../lib/core/InterceptorManager.js","../../lib/helpers/normalizeHeaderName.js","../../lib/defaults/transitional.js","../../lib/platform/index.js","../../lib/platform/browser/index.js","../../lib/platform/browser/classes/URLSearchParams.js","../../lib/platform/browser/classes/FormData.js","../../lib/helpers/formDataToJSON.js","../../lib/helpers/cookies.js","../../lib/core/buildFullPath.js","../../lib/helpers/isAbsoluteURL.js","../../lib/helpers/combineURLs.js","../../lib/helpers/parseHeaders.js","../../lib/helpers/isURLSameOrigin.js","../../lib/cancel/CanceledError.js","../../lib/adapters/xhr.js","../../lib/core/settle.js","../../lib/helpers/parseProtocol.js","../../lib/defaults/index.js","../../lib/helpers/toURLEncodedForm.js","../../lib/core/transformData.js","../../lib/cancel/isCancel.js","../../lib/core/dispatchRequest.js","../../lib/core/mergeConfig.js","../../lib/env/data.js","../../lib/helpers/validator.js","../../lib/core/Axios.js","../../lib/cancel/CancelToken.js","../../lib/axios.js","../../lib/helpers/spread.js","../../lib/helpers/isAxiosError.js"],"sourcesContent":["'use strict';\n\nmodule.exports = function bind(fn, thisArg) {\n return function wrap() {\n return fn.apply(thisArg, arguments);\n };\n};\n","'use strict';\n\nvar bind = require('./helpers/bind');\n\n// utils is a library of generic helper functions non-specific to axios\n\nvar toString = Object.prototype.toString;\n\n// eslint-disable-next-line func-names\nvar kindOf = (function(cache) {\n // eslint-disable-next-line func-names\n return function(thing) {\n var str = toString.call(thing);\n return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n };\n})(Object.create(null));\n\nfunction kindOfTest(type) {\n type = type.toLowerCase();\n return function isKindOf(thing) {\n return kindOf(thing) === type;\n };\n}\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 Array.isArray(val);\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 * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nvar isArrayBuffer = kindOfTest('ArrayBuffer');\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) && (isArrayBuffer(val.buffer));\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 plain Object\n *\n * @param {Object} val The value to test\n * @return {boolean} True if value is a plain Object, otherwise false\n */\nfunction isPlainObject(val) {\n if (kindOf(val) !== 'object') {\n return false;\n }\n\n var prototype = Object.getPrototypeOf(val);\n return prototype === null || prototype === Object.prototype;\n}\n\n/**\n * Determine if a value is a Date\n *\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Date, otherwise false\n */\nvar isDate = kindOfTest('Date');\n\n/**\n * Determine if a value is a File\n *\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\nvar isFile = kindOfTest('File');\n\n/**\n * Determine if a value is a Blob\n *\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nvar isBlob = kindOfTest('Blob');\n\n/**\n * Determine if a value is a FileList\n *\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\nvar isFileList = kindOfTest('FileList');\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 FormData\n *\n * @param {Object} thing The value to test\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nfunction isFormData(thing) {\n var pattern = '[object FormData]';\n return thing && (\n (typeof FormData === 'function' && thing instanceof FormData) ||\n toString.call(thing) === pattern ||\n (isFunction(thing.toString) && thing.toString() === pattern)\n );\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nvar isURLSearchParams = kindOfTest('URLSearchParams');\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.trim ? str.trim() : str.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '');\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 var product;\n if (typeof navigator !== 'undefined' && (\n (product = navigator.product) === 'ReactNative' ||\n product === 'NativeScript' ||\n product === 'NS')\n ) {\n return false;\n }\n\n return typeof window !== 'undefined' && typeof document !== 'undefined';\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 (isPlainObject(result[key]) && isPlainObject(val)) {\n result[key] = merge(result[key], val);\n } else if (isPlainObject(val)) {\n result[key] = merge({}, val);\n } else if (isArray(val)) {\n result[key] = val.slice();\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\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n * @return {string} content value without BOM\n */\nfunction stripBOM(content) {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\n/**\n * Inherit the prototype methods from one constructor into another\n * @param {function} constructor\n * @param {function} superConstructor\n * @param {object} [props]\n * @param {object} [descriptors]\n */\n\nfunction inherits(constructor, superConstructor, props, descriptors) {\n constructor.prototype = Object.create(superConstructor.prototype, descriptors);\n constructor.prototype.constructor = constructor;\n props && Object.assign(constructor.prototype, props);\n}\n\n/**\n * Resolve object with deep prototype chain to a flat object\n * @param {Object} sourceObj source object\n * @param {Object} [destObj]\n * @param {Function|Boolean} [filter]\n * @param {Function} [propFilter]\n * @returns {Object}\n */\n\nfunction toFlatObject(sourceObj, destObj, filter, propFilter) {\n var props;\n var i;\n var prop;\n var merged = {};\n\n destObj = destObj || {};\n // eslint-disable-next-line no-eq-null,eqeqeq\n if (sourceObj == null) return destObj;\n\n do {\n props = Object.getOwnPropertyNames(sourceObj);\n i = props.length;\n while (i-- > 0) {\n prop = props[i];\n if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) {\n destObj[prop] = sourceObj[prop];\n merged[prop] = true;\n }\n }\n sourceObj = filter !== false && Object.getPrototypeOf(sourceObj);\n } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);\n\n return destObj;\n}\n\n/*\n * determines whether a string ends with the characters of a specified string\n * @param {String} str\n * @param {String} searchString\n * @param {Number} [position= 0]\n * @returns {boolean}\n */\nfunction endsWith(str, searchString, position) {\n str = String(str);\n if (position === undefined || position > str.length) {\n position = str.length;\n }\n position -= searchString.length;\n var lastIndex = str.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n}\n\n\n/**\n * Returns new array from array like object or null if failed\n * @param {*} [thing]\n * @returns {?Array}\n */\nfunction toArray(thing) {\n if (!thing) return null;\n if (isArray(thing)) return thing;\n var i = thing.length;\n if (!isNumber(i)) return null;\n var arr = new Array(i);\n while (i-- > 0) {\n arr[i] = thing[i];\n }\n return arr;\n}\n\n// eslint-disable-next-line func-names\nvar isTypedArray = (function(TypedArray) {\n // eslint-disable-next-line func-names\n return function(thing) {\n return TypedArray && thing instanceof TypedArray;\n };\n})(typeof Uint8Array !== 'undefined' && Object.getPrototypeOf(Uint8Array));\n\nfunction forEachEntry(obj, fn) {\n var generator = obj && obj[Symbol.iterator];\n\n var iterator = generator.call(obj);\n\n var result;\n\n while ((result = iterator.next()) && !result.done) {\n var pair = result.value;\n fn.call(obj, pair[0], pair[1]);\n }\n}\n\nfunction matchAll(regExp, str) {\n var matches;\n var arr = [];\n\n while ((matches = regExp.exec(str)) !== null) {\n arr.push(matches);\n }\n\n return arr;\n}\n\nvar isHTMLForm = kindOfTest('HTMLFormElement');\n\nvar hasOwnProperty = (function resolver(_hasOwnProperty) {\n return function(obj, prop) {\n return _hasOwnProperty.call(obj, prop);\n };\n})(Object.prototype.hasOwnProperty);\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 isPlainObject: isPlainObject,\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 extend: extend,\n trim: trim,\n stripBOM: stripBOM,\n inherits: inherits,\n toFlatObject: toFlatObject,\n kindOf: kindOf,\n kindOfTest: kindOfTest,\n endsWith: endsWith,\n toArray: toArray,\n isTypedArray: isTypedArray,\n isFileList: isFileList,\n forEachEntry: forEachEntry,\n matchAll: matchAll,\n isHTMLForm: isHTMLForm,\n hasOwnProperty: hasOwnProperty\n};\n","'use strict';\n\nvar utils = require('../utils');\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 {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [config] The config.\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The created error.\n */\nfunction AxiosError(message, code, config, request, response) {\n Error.call(this);\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n } else {\n this.stack = (new Error()).stack;\n }\n\n this.message = message;\n this.name = 'AxiosError';\n code && (this.code = code);\n config && (this.config = config);\n request && (this.request = request);\n response && (this.response = response);\n}\n\nutils.inherits(AxiosError, Error, {\n toJSON: function toJSON() {\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 status: this.response && this.response.status ? this.response.status : null\n };\n }\n});\n\nvar prototype = AxiosError.prototype;\nvar descriptors = {};\n\n[\n 'ERR_BAD_OPTION_VALUE',\n 'ERR_BAD_OPTION',\n 'ECONNABORTED',\n 'ETIMEDOUT',\n 'ERR_NETWORK',\n 'ERR_FR_TOO_MANY_REDIRECTS',\n 'ERR_DEPRECATED',\n 'ERR_BAD_RESPONSE',\n 'ERR_BAD_REQUEST',\n 'ERR_CANCELED',\n 'ERR_NOT_SUPPORT',\n 'ERR_INVALID_URL'\n// eslint-disable-next-line func-names\n].forEach(function(code) {\n descriptors[code] = {value: code};\n});\n\nObject.defineProperties(AxiosError, descriptors);\nObject.defineProperty(prototype, 'isAxiosError', {value: true});\n\n// eslint-disable-next-line func-names\nAxiosError.from = function(error, code, config, request, response, customProps) {\n var axiosError = Object.create(prototype);\n\n utils.toFlatObject(error, axiosError, function filter(obj) {\n return obj !== Error.prototype;\n });\n\n AxiosError.call(axiosError, error.message, code, config, request, response);\n\n axiosError.cause = error;\n\n axiosError.name = error.name;\n\n customProps && Object.assign(axiosError, customProps);\n\n return axiosError;\n};\n\nmodule.exports = AxiosError;\n","// eslint-disable-next-line strict\nmodule.exports = require('form-data');\n","/* eslint-env browser */\nmodule.exports = typeof self == 'object' ? self.FormData : window.FormData;\n","'use strict';\n\nvar utils = require('../utils');\nvar AxiosError = require('../core/AxiosError');\nvar envFormData = require('../env/classes/FormData');\n\nfunction isVisitable(thing) {\n return utils.isPlainObject(thing) || utils.isArray(thing);\n}\n\nfunction removeBrackets(key) {\n return utils.endsWith(key, '[]') ? key.slice(0, -2) : key;\n}\n\nfunction renderKey(path, key, dots) {\n if (!path) return key;\n return path.concat(key).map(function each(token, i) {\n // eslint-disable-next-line no-param-reassign\n token = removeBrackets(token);\n return !dots && i ? '[' + token + ']' : token;\n }).join(dots ? '.' : '');\n}\n\nfunction isFlatArray(arr) {\n return utils.isArray(arr) && !arr.some(isVisitable);\n}\n\nvar predicates = utils.toFlatObject(utils, {}, null, function filter(prop) {\n return /^is[A-Z]/.test(prop);\n});\n\nfunction isSpecCompliant(thing) {\n return thing && utils.isFunction(thing.append) && thing[Symbol.toStringTag] === 'FormData' && thing[Symbol.iterator];\n}\n\n/**\n * Convert a data object to FormData\n * @param {Object} obj\n * @param {?Object} [formData]\n * @param {?Object} [options]\n * @param {Function} [options.visitor]\n * @param {Boolean} [options.metaTokens = true]\n * @param {Boolean} [options.dots = false]\n * @param {?Boolean} [options.indexes = false]\n * @returns {Object}\n **/\n\nfunction toFormData(obj, formData, options) {\n if (!utils.isObject(obj)) {\n throw new TypeError('target must be an object');\n }\n\n // eslint-disable-next-line no-param-reassign\n formData = formData || new (envFormData || FormData)();\n\n // eslint-disable-next-line no-param-reassign\n options = utils.toFlatObject(options, {\n metaTokens: true,\n dots: false,\n indexes: false\n }, false, function defined(option, source) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n return !utils.isUndefined(source[option]);\n });\n\n var metaTokens = options.metaTokens;\n // eslint-disable-next-line no-use-before-define\n var visitor = options.visitor || defaultVisitor;\n var dots = options.dots;\n var indexes = options.indexes;\n var _Blob = options.Blob || typeof Blob !== 'undefined' && Blob;\n var useBlob = _Blob && isSpecCompliant(formData);\n\n if (!utils.isFunction(visitor)) {\n throw new TypeError('visitor must be a function');\n }\n\n function convertValue(value) {\n if (value === null) return '';\n\n if (utils.isDate(value)) {\n return value.toISOString();\n }\n\n if (!useBlob && utils.isBlob(value)) {\n throw new AxiosError('Blob is not supported. Use a Buffer instead.');\n }\n\n if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {\n return useBlob && typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value);\n }\n\n return value;\n }\n\n /**\n *\n * @param {*} value\n * @param {String|Number} key\n * @param {Array} path\n * @this {FormData}\n * @returns {boolean} return true to visit the each prop of the value recursively\n */\n function defaultVisitor(value, key, path) {\n var arr = value;\n\n if (value && !path && typeof value === 'object') {\n if (utils.endsWith(key, '{}')) {\n // eslint-disable-next-line no-param-reassign\n key = metaTokens ? key : key.slice(0, -2);\n // eslint-disable-next-line no-param-reassign\n value = JSON.stringify(value);\n } else if (\n (utils.isArray(value) && isFlatArray(value)) ||\n (utils.isFileList(value) || utils.endsWith(key, '[]') && (arr = utils.toArray(value))\n )) {\n // eslint-disable-next-line no-param-reassign\n key = removeBrackets(key);\n\n arr.forEach(function each(el, index) {\n !utils.isUndefined(el) && formData.append(\n // eslint-disable-next-line no-nested-ternary\n indexes === true ? renderKey([key], index, dots) : (indexes === null ? key : key + '[]'),\n convertValue(el)\n );\n });\n return false;\n }\n }\n\n if (isVisitable(value)) {\n return true;\n }\n\n formData.append(renderKey(path, key, dots), convertValue(value));\n\n return false;\n }\n\n var stack = [];\n\n var exposedHelpers = Object.assign(predicates, {\n defaultVisitor: defaultVisitor,\n convertValue: convertValue,\n isVisitable: isVisitable\n });\n\n function build(value, path) {\n if (utils.isUndefined(value)) return;\n\n if (stack.indexOf(value) !== -1) {\n throw Error('Circular reference detected in ' + path.join('.'));\n }\n\n stack.push(value);\n\n utils.forEach(value, function each(el, key) {\n var result = !utils.isUndefined(el) && visitor.call(\n formData, el, utils.isString(key) ? key.trim() : key, path, exposedHelpers\n );\n\n if (result === true) {\n build(el, path ? path.concat(key) : [key]);\n }\n });\n\n stack.pop();\n }\n\n if (!utils.isObject(obj)) {\n throw new TypeError('data must be an object');\n }\n\n build(obj);\n\n return formData;\n}\n\nmodule.exports = toFormData;\n","'use strict';\n\nvar toFormData = require('./toFormData');\n\nfunction encode(str) {\n var charMap = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+',\n '%00': '\\x00'\n };\n return encodeURIComponent(str).replace(/[!'\\(\\)~]|%20|%00/g, function replacer(match) {\n return charMap[match];\n });\n}\n\nfunction AxiosURLSearchParams(params, options) {\n this._pairs = [];\n\n params && toFormData(params, this, options);\n}\n\nvar prototype = AxiosURLSearchParams.prototype;\n\nprototype.append = function append(name, value) {\n this._pairs.push([name, value]);\n};\n\nprototype.toString = function toString(encoder) {\n var _encode = encoder ? function(value) {\n return encoder.call(this, value, encode);\n } : encode;\n\n return this._pairs.map(function each(pair) {\n return _encode(pair[0]) + '=' + _encode(pair[1]);\n }, '').join('&');\n};\n\nmodule.exports = AxiosURLSearchParams;\n","'use strict';\n\nvar utils = require('../utils');\nvar AxiosURLSearchParams = require('../helpers/AxiosURLSearchParams');\n\nfunction encode(val) {\n return encodeURIComponent(val).\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 * @param {?object} options\n * @returns {string} The formatted url\n */\nmodule.exports = function buildURL(url, params, options) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n\n var hashmarkIndex = url.indexOf('#');\n\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n\n var _encode = options && options.encode || encode;\n\n var serializerParams = utils.isURLSearchParams(params) ?\n params.toString() :\n new AxiosURLSearchParams(params, options).toString(_encode);\n\n if (serializerParams) {\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializerParams;\n }\n\n return url;\n};\n","'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, options) {\n this.handlers.push({\n fulfilled: fulfilled,\n rejected: rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null\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 * Clear all interceptors from the stack\n */\nInterceptorManager.prototype.clear = function clear() {\n if (this.handlers) {\n this.handlers = [];\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');\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\nmodule.exports = {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n};\n","'use strict';\n\nmodule.exports = require('./node/');\n","'use strict';\n\nmodule.exports = {\n isBrowser: true,\n classes: {\n URLSearchParams: require('./classes/URLSearchParams'),\n FormData: require('./classes/FormData'),\n Blob: Blob\n },\n protocols: ['http', 'https', 'file', 'blob', 'url']\n};\n","'use strict';\n\nvar AxiosURLSearchParams = require('../../../helpers/AxiosURLSearchParams');\n\nmodule.exports = typeof URLSearchParams !== 'undefined' ? URLSearchParams : AxiosURLSearchParams;\n","'use strict';\n\nmodule.exports = FormData;\n","'use strict';\n\nvar utils = require('../utils');\n\nfunction parsePropPath(name) {\n // foo[x][y][z]\n // foo.x.y.z\n // foo-x-y-z\n // foo x y z\n return utils.matchAll(/\\w+|\\[(\\w*)]/g, name).map(function(match) {\n return match[0] === '[]' ? '' : match[1] || match[0];\n });\n}\n\nfunction arrayToObject(arr) {\n var obj = {};\n var keys = Object.keys(arr);\n var i;\n var len = keys.length;\n var key;\n for (i = 0; i < len; i++) {\n key = keys[i];\n obj[key] = arr[key];\n }\n return obj;\n}\n\nfunction formDataToJSON(formData) {\n function buildPath(path, value, target, index) {\n var name = path[index++];\n var isNumericKey = Number.isFinite(+name);\n var isLast = index >= path.length;\n name = !name && utils.isArray(target) ? target.length : name;\n\n if (isLast) {\n if (utils.hasOwnProperty(target, name)) {\n target[name] = [target[name], value];\n } else {\n target[name] = value;\n }\n\n return !isNumericKey;\n }\n\n if (!target[name] || !utils.isObject(target[name])) {\n target[name] = [];\n }\n\n var result = buildPath(path, value, target[name], index);\n\n if (result && utils.isArray(target[name])) {\n target[name] = arrayToObject(target[name]);\n }\n\n return !isNumericKey;\n }\n\n if (utils.isFormData(formData) && utils.isFunction(formData.entries)) {\n var obj = {};\n\n utils.forEachEntry(formData, function(name, value) {\n buildPath(parsePropPath(name), value, obj, 0);\n });\n\n return obj;\n }\n\n return null;\n}\n\nmodule.exports = formDataToJSON;\n","'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\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 * 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\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');\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.slice(0, i)).toLowerCase();\n val = utils.trim(line.slice(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","'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 AxiosError = require('../core/AxiosError');\nvar utils = require('../utils');\n\n/**\n * A `CanceledError` is an object that is thrown when an operation is canceled.\n *\n * @class\n * @param {string=} message The message.\n * @param {Object=} config The config.\n * @param {Object=} request The request.\n */\nfunction CanceledError(message, config, request) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n AxiosError.call(this, message == null ? 'canceled' : message, AxiosError.ERR_CANCELED, config, request);\n this.name = 'CanceledError';\n}\n\nutils.inherits(CanceledError, AxiosError, {\n __CANCEL__: true\n});\n\nmodule.exports = CanceledError;\n","'use strict';\n\nvar utils = require('./../utils');\nvar settle = require('./../core/settle');\nvar cookies = require('./../helpers/cookies');\nvar buildURL = require('./../helpers/buildURL');\nvar buildFullPath = require('../core/buildFullPath');\nvar parseHeaders = require('./../helpers/parseHeaders');\nvar isURLSameOrigin = require('./../helpers/isURLSameOrigin');\nvar transitionalDefaults = require('../defaults/transitional');\nvar AxiosError = require('../core/AxiosError');\nvar CanceledError = require('../cancel/CanceledError');\nvar parseProtocol = require('../helpers/parseProtocol');\nvar platform = require('../platform');\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 var responseType = config.responseType;\n var onCanceled;\n function done() {\n if (config.cancelToken) {\n config.cancelToken.unsubscribe(onCanceled);\n }\n\n if (config.signal) {\n config.signal.removeEventListener('abort', onCanceled);\n }\n }\n\n if (utils.isFormData(requestData) && utils.isStandardBrowserEnv()) {\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 ? unescape(encodeURIComponent(config.auth.password)) : '';\n requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password);\n }\n\n var fullPath = buildFullPath(config.baseURL, config.url);\n\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 function onloadend() {\n if (!request) {\n return;\n }\n // Prepare the response\n var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null;\n var responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n 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(function _resolve(value) {\n resolve(value);\n done();\n }, function _reject(err) {\n reject(err);\n done();\n }, response);\n\n // Clean up request\n request = null;\n }\n\n if ('onloadend' in request) {\n // Use onloadend if available\n request.onloadend = onloadend;\n } else {\n // Listen for ready state to emulate onloadend\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 // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n setTimeout(onloadend);\n };\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(new AxiosError('Request aborted', AxiosError.ECONNABORTED, config, 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(new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n var timeoutErrorMessage = config.timeout ? 'timeout of ' + config.timeout + 'ms exceeded' : 'timeout exceeded';\n var transitional = config.transitional || transitionalDefaults;\n if (config.timeoutErrorMessage) {\n timeoutErrorMessage = config.timeoutErrorMessage;\n }\n reject(new AxiosError(\n timeoutErrorMessage,\n transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n config,\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 // 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 (responseType && responseType !== 'json') {\n request.responseType = config.responseType;\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 || config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = function(cancel) {\n if (!request) {\n return;\n }\n reject(!cancel || cancel.type ? new CanceledError(null, config, req) : cancel);\n request.abort();\n request = null;\n };\n\n config.cancelToken && config.cancelToken.subscribe(onCanceled);\n if (config.signal) {\n config.signal.aborted ? onCanceled() : config.signal.addEventListener('abort', onCanceled);\n }\n }\n\n if (!requestData) {\n requestData = null;\n }\n\n var protocol = parseProtocol(fullPath);\n\n if (protocol && platform.protocols.indexOf(protocol) === -1) {\n reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config));\n return;\n }\n\n\n // Send the request\n request.send(requestData);\n });\n};\n","'use strict';\n\nvar AxiosError = require('./AxiosError');\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 (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(new AxiosError(\n 'Request failed with status code ' + response.status,\n [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4],\n response.config,\n response.request,\n response\n ));\n }\n};\n","'use strict';\n\nmodule.exports = function parseProtocol(url) {\n var match = /^([-+\\w]{1,25})(:?\\/\\/|:)/.exec(url);\n return match && match[1] || '';\n};\n","'use strict';\n\nvar utils = require('../utils');\nvar normalizeHeaderName = require('../helpers/normalizeHeaderName');\nvar AxiosError = require('../core/AxiosError');\nvar transitionalDefaults = require('./transitional');\nvar toFormData = require('../helpers/toFormData');\nvar toURLEncodedForm = require('../helpers/toURLEncodedForm');\nvar platform = require('../platform');\nvar formDataToJSON = require('../helpers/formDataToJSON');\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\nfunction stringifySafely(rawValue, parser, encoder) {\n if (utils.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils.trim(rawValue);\n } catch (e) {\n if (e.name !== 'SyntaxError') {\n throw e;\n }\n }\n }\n\n return (encoder || JSON.stringify)(rawValue);\n}\n\nvar defaults = {\n\n transitional: transitionalDefaults,\n\n adapter: getDefaultAdapter(),\n\n transformRequest: [function transformRequest(data, headers) {\n normalizeHeaderName(headers, 'Accept');\n normalizeHeaderName(headers, 'Content-Type');\n\n var contentType = headers && headers['Content-Type'] || '';\n var hasJSONContentType = contentType.indexOf('application/json') > -1;\n var isObjectPayload = utils.isObject(data);\n\n if (isObjectPayload && utils.isHTMLForm(data)) {\n data = new FormData(data);\n }\n\n var isFormData = utils.isFormData(data);\n\n if (isFormData) {\n if (!hasJSONContentType) {\n return data;\n }\n return hasJSONContentType ? JSON.stringify(formDataToJSON(data)) : data;\n }\n\n if (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\n var isFileList;\n\n if (isObjectPayload) {\n if (contentType.indexOf('application/x-www-form-urlencoded') !== -1) {\n return toURLEncodedForm(data, this.formSerializer).toString();\n }\n\n if ((isFileList = utils.isFileList(data)) || contentType.indexOf('multipart/form-data') > -1) {\n var _FormData = this.env && this.env.FormData;\n\n return toFormData(\n isFileList ? {'files[]': data} : data,\n _FormData && new _FormData(),\n this.formSerializer\n );\n }\n }\n\n if (isObjectPayload || hasJSONContentType ) {\n setContentTypeIfUnset(headers, 'application/json');\n return stringifySafely(data);\n }\n\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n var transitional = this.transitional || defaults.transitional;\n var forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n var JSONRequested = this.responseType === 'json';\n\n if (data && utils.isString(data) && ((forcedJSONParsing && !this.responseType) || JSONRequested)) {\n var silentJSONParsing = transitional && transitional.silentJSONParsing;\n var strictJSONParsing = !silentJSONParsing && JSONRequested;\n\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response);\n }\n throw e;\n }\n }\n }\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 maxBodyLength: -1,\n\n env: {\n FormData: platform.classes.FormData,\n Blob: platform.classes.Blob\n },\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n },\n\n headers: {\n common: {\n 'Accept': 'application/json, text/plain, */*'\n }\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","'use strict';\n\nvar utils = require('../utils');\nvar toFormData = require('./toFormData');\nvar platform = require('../platform/');\n\nmodule.exports = function toURLEncodedForm(data, options) {\n return toFormData(data, new platform.classes.URLSearchParams(), Object.assign({\n visitor: function(value, key, path, helpers) {\n if (platform.isNode && utils.isBuffer(value)) {\n this.append(key, value.toString('base64'));\n return false;\n }\n\n return helpers.defaultVisitor.apply(this, arguments);\n }\n }, options));\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar defaults = require('../defaults');\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 {Number} status HTTP status code\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, status, fns) {\n var context = this || defaults;\n /*eslint no-param-reassign:0*/\n utils.forEach(fns, function transform(fn) {\n data = fn.call(context, data, headers, status);\n });\n\n return data;\n};\n","'use strict';\n\nmodule.exports = function isCancel(value) {\n return !!(value && value.__CANCEL__);\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar transformData = require('./transformData');\nvar isCancel = require('../cancel/isCancel');\nvar defaults = require('../defaults');\nvar CanceledError = require('../cancel/CanceledError');\nvar normalizeHeaderName = require('../helpers/normalizeHeaderName');\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new CanceledError();\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.call(\n config,\n config.data,\n config.headers,\n null,\n config.transformRequest\n );\n\n normalizeHeaderName(config.headers, 'Accept');\n normalizeHeaderName(config.headers, 'Content-Type');\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.call(\n config,\n response.data,\n response.headers,\n response.status,\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.call(\n config,\n reason.response.data,\n reason.response.headers,\n reason.response.status,\n config.transformResponse\n );\n }\n }\n\n return Promise.reject(reason);\n });\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 function getMergedValue(target, source) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge(target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDeepProperties(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(config1[prop], config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n return getMergedValue(undefined, config1[prop]);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(undefined, config2[prop]);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(undefined, config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n return getMergedValue(undefined, config1[prop]);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(prop) {\n if (prop in config2) {\n return getMergedValue(config1[prop], config2[prop]);\n } else if (prop in config1) {\n return getMergedValue(undefined, config1[prop]);\n }\n }\n\n var mergeMap = {\n 'url': valueFromConfig2,\n 'method': valueFromConfig2,\n 'data': valueFromConfig2,\n 'baseURL': defaultToConfig2,\n 'transformRequest': defaultToConfig2,\n 'transformResponse': defaultToConfig2,\n 'paramsSerializer': defaultToConfig2,\n 'timeout': defaultToConfig2,\n 'timeoutMessage': defaultToConfig2,\n 'withCredentials': defaultToConfig2,\n 'adapter': defaultToConfig2,\n 'responseType': defaultToConfig2,\n 'xsrfCookieName': defaultToConfig2,\n 'xsrfHeaderName': defaultToConfig2,\n 'onUploadProgress': defaultToConfig2,\n 'onDownloadProgress': defaultToConfig2,\n 'decompress': defaultToConfig2,\n 'maxContentLength': defaultToConfig2,\n 'maxBodyLength': defaultToConfig2,\n 'beforeRedirect': defaultToConfig2,\n 'transport': defaultToConfig2,\n 'httpAgent': defaultToConfig2,\n 'httpsAgent': defaultToConfig2,\n 'cancelToken': defaultToConfig2,\n 'socketPath': defaultToConfig2,\n 'responseEncoding': defaultToConfig2,\n 'validateStatus': mergeDirectKeys\n };\n\n utils.forEach(Object.keys(config1).concat(Object.keys(config2)), function computeConfigValue(prop) {\n var merge = mergeMap[prop] || mergeDeepProperties;\n var configValue = merge(prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n};\n","module.exports = {\n \"version\": \"1.0.0-alpha.1\"\n};","'use strict';\n\nvar VERSION = require('../env/data').version;\nvar AxiosError = require('../core/AxiosError');\n\nvar validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach(function(type, i) {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nvar deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n * @param {function|boolean?} validator - set to false if the transitional option has been removed\n * @param {string?} version - deprecated version / removed since version\n * @param {string?} message - some message with additional info\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n function formatMessage(opt, desc) {\n return '[Axios v' + VERSION + '] Transitional option \\'' + opt + '\\'' + desc + (message ? '. ' + message : '');\n }\n\n // eslint-disable-next-line func-names\n return function(value, opt, opts) {\n if (validator === false) {\n throw new AxiosError(\n formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')),\n AxiosError.ERR_DEPRECATED\n );\n }\n\n if (version && !deprecatedWarnings[opt]) {\n deprecatedWarnings[opt] = true;\n // eslint-disable-next-line no-console\n console.warn(\n formatMessage(\n opt,\n ' has been deprecated since v' + version + ' and will be removed in the near future'\n )\n );\n }\n\n return validator ? validator(value, opt, opts) : true;\n };\n};\n\n/**\n * Assert object's properties type\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE);\n }\n var keys = Object.keys(options);\n var i = keys.length;\n while (i-- > 0) {\n var opt = keys[i];\n var validator = schema[opt];\n if (validator) {\n var value = options[opt];\n var result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new AxiosError('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION);\n }\n }\n}\n\nmodule.exports = {\n assertOptions: assertOptions,\n validators: validators\n};\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');\nvar buildFullPath = require('./buildFullPath');\nvar validator = require('../helpers/validator');\n\nvar validators = validator.validators;\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 {String|Object} configOrUrl The config specific for this request (merged with this.defaults)\n * @param {?Object} config\n */\nAxios.prototype.request = function request(configOrUrl, config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof configOrUrl === 'string') {\n config = config || {};\n config.url = configOrUrl;\n } else {\n config = configOrUrl || {};\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 var transitional = config.transitional;\n\n if (transitional !== undefined) {\n validator.assertOptions(transitional, {\n silentJSONParsing: validators.transitional(validators.boolean),\n forcedJSONParsing: validators.transitional(validators.boolean),\n clarifyTimeoutError: validators.transitional(validators.boolean)\n }, false);\n }\n\n // filter out skipped interceptors\n var requestInterceptorChain = [];\n var synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n return;\n }\n\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n var responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n var promise;\n\n if (!synchronousRequestInterceptors) {\n var chain = [dispatchRequest, undefined];\n\n Array.prototype.unshift.apply(chain, requestInterceptorChain);\n chain = chain.concat(responseInterceptorChain);\n\n promise = Promise.resolve(config);\n while (chain.length) {\n promise = promise.then(chain.shift(), chain.shift());\n }\n\n return promise;\n }\n\n\n var newConfig = config;\n while (requestInterceptorChain.length) {\n var onFulfilled = requestInterceptorChain.shift();\n var onRejected = requestInterceptorChain.shift();\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected(error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest(newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n while (responseInterceptorChain.length) {\n promise = promise.then(responseInterceptorChain.shift(), responseInterceptorChain.shift());\n }\n\n return promise;\n};\n\nAxios.prototype.getUri = function getUri(config) {\n config = mergeConfig(this.defaults, config);\n var fullPath = buildFullPath(config.baseURL, config.url);\n return buildURL(fullPath, config.params, config.paramsSerializer);\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(mergeConfig(config || {}, {\n method: method,\n url: url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n\n function generateHTTPMethod(isForm) {\n return function httpMethod(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n headers: isForm ? {\n 'Content-Type': 'multipart/form-data'\n } : {},\n url: url,\n data: data\n }));\n };\n }\n\n Axios.prototype[method] = generateHTTPMethod();\n\n Axios.prototype[method + 'Form'] = generateHTTPMethod(true);\n});\n\nmodule.exports = Axios;\n","'use strict';\n\nvar CanceledError = require('./CanceledError');\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\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n var token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then(function(cancel) {\n if (!token._listeners) return;\n\n var i = token._listeners.length;\n\n while (i-- > 0) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = function(onfulfilled) {\n var _resolve;\n // eslint-disable-next-line func-names\n var promise = new Promise(function(resolve) {\n token.subscribe(resolve);\n _resolve = resolve;\n }).then(onfulfilled);\n\n promise.cancel = function reject() {\n token.unsubscribe(_resolve);\n };\n\n return promise;\n };\n\n executor(function cancel(message, config, request) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new CanceledError(message, config, request);\n resolvePromise(token.reason);\n });\n}\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n */\nCancelToken.prototype.throwIfRequested = function throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n};\n\n/**\n * Subscribe to the cancel signal\n */\n\nCancelToken.prototype.subscribe = function subscribe(listener) {\n if (this.reason) {\n listener(this.reason);\n return;\n }\n\n if (this._listeners) {\n this._listeners.push(listener);\n } else {\n this._listeners = [listener];\n }\n};\n\n/**\n * Unsubscribe from the cancel signal\n */\n\nCancelToken.prototype.unsubscribe = function unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n var index = this._listeners.indexOf(listener);\n if (index !== -1) {\n this._listeners.splice(index, 1);\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 bind = require('./helpers/bind');\nvar Axios = require('./core/Axios');\nvar mergeConfig = require('./core/mergeConfig');\nvar defaults = require('./defaults');\nvar formDataToJSON = require('./helpers/formDataToJSON');\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 // Factory for creating new instances\n instance.create = function create(instanceConfig) {\n return createInstance(mergeConfig(defaultConfig, instanceConfig));\n };\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// Expose Cancel & CancelToken\naxios.CanceledError = require('./cancel/CanceledError');\naxios.CancelToken = require('./cancel/CancelToken');\naxios.isCancel = require('./cancel/isCancel');\naxios.VERSION = require('./env/data').version;\naxios.toFormData = require('./helpers/toFormData');\n\n// Expose AxiosError class\naxios.AxiosError = require('../lib/core/AxiosError');\n\n// alias for CanceledError for backward compatibility\naxios.Cancel = axios.CanceledError;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\naxios.spread = require('./helpers/spread');\n\n// Expose isAxiosError\naxios.isAxiosError = require('./helpers/isAxiosError');\n\naxios.formToJSON = function(thing) {\n return formDataToJSON(utils.isHTMLForm(thing) ? new FormData(thing) : thing);\n};\n\nmodule.exports = axios;\n\n// Allow use of default import syntax in TypeScript\nmodule.exports.default = axios;\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\nvar utils = require('./../utils');\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nmodule.exports = function isAxiosError(payload) {\n return utils.isObject(payload) && (payload.isAxiosError === true);\n};\n"],"names":["cache","bind","fn","thisArg","apply","arguments","toString","Object","prototype","kindOf","create","thing","str","call","slice","toLowerCase","kindOfTest","type","isArray","val","Array","isUndefined","isArrayBuffer","isNumber","isObject","isPlainObject","getPrototypeOf","isDate","isFile","isBlob","isFileList","isFunction","isURLSearchParams","forEach","obj","i","l","length","key","hasOwnProperty","TypedArray","isTypedArray","Uint8Array","_hasOwnProperty","isHTMLForm","prop","utils","isBuffer","constructor","isFormData","pattern","FormData","isArrayBufferView","ArrayBuffer","isView","buffer","isString","isStream","pipe","isStandardBrowserEnv","product","navigator","window","document","merge","result","assignValue","extend","a","b","trim","replace","stripBOM","content","charCodeAt","inherits","superConstructor","props","descriptors","assign","toFlatObject","sourceObj","destObj","filter","propFilter","merged","getOwnPropertyNames","endsWith","searchString","position","String","undefined","lastIndex","indexOf","toArray","arr","forEachEntry","iterator","Symbol","next","done","pair","value","matchAll","regExp","matches","exec","push","AxiosError","message","code","config","request","response","Error","this","captureStackTrace","stack","name","toJSON","description","number","fileName","lineNumber","columnNumber","status","defineProperties","defineProperty","from","error","customProps","axiosError","cause","AxiosError_1","self","isVisitable","removeBrackets","renderKey","path","dots","concat","map","token","join","predicates","test","toFormData_1","formData","options","TypeError","envFormData","metaTokens","indexes","option","source","visitor","defaultVisitor","useBlob","Blob","append","toStringTag","convertValue","toISOString","Buffer","JSON","stringify","some","isFlatArray","el","index","exposedHelpers","build","pop","encode","charMap","encodeURIComponent","match","AxiosURLSearchParams","params","_pairs","toFormData","encoder","_encode","AxiosURLSearchParams_1","buildURL","url","hashmarkIndex","serializerParams","InterceptorManager","handlers","use","fulfilled","rejected","synchronous","runWhen","eject","id","clear","h","InterceptorManager_1","normalizeHeaderName","headers","normalizedName","toUpperCase","transitional","silentJSONParsing","forcedJSONParsing","clarifyTimeoutError","platform","isBrowser","classes","URLSearchParams","protocols","formDataToJSON_1","buildPath","target","isNumericKey","Number","isFinite","isLast","keys","len","arrayToObject","entries","parsePropPath","cookies","write","expires","domain","secure","cookie","Date","toGMTString","read","RegExp","decodeURIComponent","remove","now","buildFullPath","baseURL","requestedURL","relativeURL","combineURLs","ignoreDuplicateOf","isURLSameOrigin","originURL","msie","userAgent","urlParsingNode","createElement","resolveURL","href","setAttribute","protocol","host","search","hash","hostname","port","pathname","charAt","location","requestURL","parsed","CanceledError","ERR_CANCELED","__CANCEL__","CanceledError_1","xhr","Promise","resolve","reject","onCanceled","requestData","data","requestHeaders","responseType","cancelToken","unsubscribe","signal","removeEventListener","XMLHttpRequest","auth","username","password","unescape","Authorization","btoa","fullPath","onloadend","responseHeaders","getAllResponseHeaders","split","line","validateStatus","ERR_BAD_REQUEST","ERR_BAD_RESPONSE","Math","floor","settle","err","responseText","statusText","open","method","paramsSerializer","timeout","onreadystatechange","readyState","responseURL","setTimeout","onabort","ECONNABORTED","onerror","ERR_NETWORK","ontimeout","timeoutErrorMessage","transitionalDefaults","ETIMEDOUT","xsrfValue","withCredentials","xsrfCookieName","xsrfHeaderName","setRequestHeader","onDownloadProgress","addEventListener","onUploadProgress","upload","cancel","req","abort","subscribe","aborted","send","DEFAULT_CONTENT_TYPE","setContentTypeIfUnset","adapter","defaults","process","require$$0","transformRequest","contentType","hasJSONContentType","isObjectPayload","formDataToJSON","helpers","isNode","toURLEncodedForm","formSerializer","_FormData","env","rawValue","parser","parse","e","stringifySafely","transformResponse","JSONRequested","strictJSONParsing","maxContentLength","maxBodyLength","common","Accept","defaults_1","transformData","fns","context","isCancel","throwIfCancellationRequested","throwIfRequested","dispatchRequest","then","reason","mergeConfig","config1","config2","getMergedValue","mergeDeepProperties","valueFromConfig2","defaultToConfig2","mergeDirectKeys","mergeMap","timeoutMessage","decompress","beforeRedirect","transport","httpAgent","httpsAgent","socketPath","responseEncoding","configValue","VERSION","validators","deprecatedWarnings","validator","version","formatMessage","opt","desc","opts","ERR_DEPRECATED","console","warn","assertOptions","schema","allowUnknown","ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","Axios","instanceConfig","interceptors","configOrUrl","boolean","requestInterceptorChain","synchronousRequestInterceptors","interceptor","unshift","promise","responseInterceptorChain","chain","shift","newConfig","onFulfilled","onRejected","getUri","generateHTTPMethod","isForm","Axios_1","CancelToken","executor","resolvePromise","_listeners","onfulfilled","_resolve","listener","splice","c","CancelToken_1","axios","createInstance","defaultConfig","instance","require$$1","require$$2","require$$3","require$$4","require$$5","Cancel","all","promises","spread","callback","isAxiosError","payload","formToJSON","axios_1","_default"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"axios.min.js","sources":["../../lib/helpers/bind.js","../../lib/utils.js","../../lib/core/AxiosError.js","../../node_modules/form-data/lib/browser.js","../../lib/helpers/toFormData.js","../../lib/helpers/AxiosURLSearchParams.js","../../lib/helpers/buildURL.js","../../lib/core/InterceptorManager.js","../../lib/defaults/transitional.js","../../lib/platform/browser/classes/URLSearchParams.js","../../lib/platform/browser/classes/FormData.js","../../lib/platform/browser/index.js","../../lib/helpers/formDataToJSON.js","../../lib/helpers/cookies.js","../../lib/core/buildFullPath.js","../../lib/helpers/isAbsoluteURL.js","../../lib/helpers/combineURLs.js","../../lib/helpers/isURLSameOrigin.js","../../lib/cancel/CanceledError.js","../../lib/helpers/parseHeaders.js","../../lib/core/AxiosHeaders.js","../../lib/adapters/xhr.js","../../lib/helpers/speedometer.js","../../lib/core/settle.js","../../lib/helpers/parseProtocol.js","../../lib/adapters/index.js","../../lib/defaults/index.js","../../lib/helpers/toURLEncodedForm.js","../../lib/core/transformData.js","../../lib/cancel/isCancel.js","../../lib/core/dispatchRequest.js","../../lib/core/mergeConfig.js","../../lib/env/data.js","../../lib/helpers/validator.js","../../lib/core/Axios.js","../../lib/cancel/CancelToken.js","../../lib/axios.js","../../lib/helpers/spread.js","../../lib/helpers/isAxiosError.js"],"sourcesContent":["'use strict';\n\nexport default function bind(fn, thisArg) {\n return function wrap() {\n return fn.apply(thisArg, arguments);\n };\n}\n","'use strict';\n\nimport bind from './helpers/bind.js';\n\n// utils is a library of generic helper functions non-specific to axios\n\nconst {toString} = Object.prototype;\nconst {getPrototypeOf} = Object;\n\nconst kindOf = (cache => thing => {\n const str = toString.call(thing);\n return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n})(Object.create(null));\n\nconst kindOfTest = (type) => {\n type = type.toLowerCase();\n return (thing) => kindOf(thing) === type\n}\n\nconst typeOfTest = type => thing => typeof thing === type;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n *\n * @returns {boolean} True if value is an Array, otherwise false\n */\nconst {isArray} = Array;\n\n/**\n * Determine if a value is undefined\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nconst isUndefined = typeOfTest('undefined');\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {*} val The value to test\n *\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 && isFunction(val.constructor.isBuffer) && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nconst isArrayBuffer = kindOfTest('ArrayBuffer');\n\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n let result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (isArrayBuffer(val.buffer));\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a String, otherwise false\n */\nconst isString = typeOfTest('string');\n\n/**\n * Determine if a value is a Function\n *\n * @param {*} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nconst isFunction = typeOfTest('function');\n\n/**\n * Determine if a value is a Number\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Number, otherwise false\n */\nconst isNumber = typeOfTest('number');\n\n/**\n * Determine if a value is an Object\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an Object, otherwise false\n */\nconst isObject = (thing) => thing !== null && typeof thing === 'object';\n\n/**\n * Determine if a value is a Boolean\n *\n * @param {*} thing The value to test\n * @returns {boolean} True if value is a Boolean, otherwise false\n */\nconst isBoolean = thing => thing === true || thing === false;\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a plain Object, otherwise false\n */\nconst isPlainObject = (val) => {\n if (kindOf(val) !== 'object') {\n return false;\n }\n\n const prototype = getPrototypeOf(val);\n return prototype === null || prototype === Object.prototype;\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Date, otherwise false\n */\nconst isDate = kindOfTest('Date');\n\n/**\n * Determine if a value is a File\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFile = kindOfTest('File');\n\n/**\n * Determine if a value is a Blob\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nconst isBlob = kindOfTest('Blob');\n\n/**\n * Determine if a value is a FileList\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFileList = kindOfTest('FileList');\n\n/**\n * Determine if a value is a Stream\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nconst isStream = (val) => isObject(val) && isFunction(val.pipe);\n\n/**\n * Determine if a value is a FormData\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nconst isFormData = (thing) => {\n const pattern = '[object FormData]';\n return thing && (\n (typeof FormData === 'function' && thing instanceof FormData) ||\n toString.call(thing) === pattern ||\n (isFunction(thing.toString) && thing.toString() === pattern)\n );\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nconst isURLSearchParams = kindOfTest('URLSearchParams');\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n *\n * @returns {String} The String freed of excess whitespace\n */\nconst trim = (str) => str.trim ?\n str.trim() : str.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '');\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 *\n * @param {Boolean} [allOwnKeys = false]\n * @returns {void}\n */\nfunction forEach(obj, fn, {allOwnKeys = false} = {}) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n let i;\n let l;\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 (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 const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj);\n const len = keys.length;\n let key;\n\n for (i = 0; i < len; i++) {\n key = keys[i];\n fn.call(null, obj[key], key, obj);\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 *\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n const result = {};\n const assignValue = (val, key) => {\n if (isPlainObject(result[key]) && isPlainObject(val)) {\n result[key] = merge(result[key], val);\n } else if (isPlainObject(val)) {\n result[key] = merge({}, val);\n } else if (isArray(val)) {\n result[key] = val.slice();\n } else {\n result[key] = val;\n }\n }\n\n for (let i = 0, l = arguments.length; i < l; i++) {\n arguments[i] && 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 *\n * @param {Boolean} [allOwnKeys]\n * @returns {Object} The resulting value of object a\n */\nconst extend = (a, b, thisArg, {allOwnKeys}= {}) => {\n forEach(b, (val, key) => {\n if (thisArg && isFunction(val)) {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n }, {allOwnKeys});\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n *\n * @returns {string} content value without BOM\n */\nconst stripBOM = (content) => {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\n/**\n * Inherit the prototype methods from one constructor into another\n * @param {function} constructor\n * @param {function} superConstructor\n * @param {object} [props]\n * @param {object} [descriptors]\n *\n * @returns {void}\n */\nconst inherits = (constructor, superConstructor, props, descriptors) => {\n constructor.prototype = Object.create(superConstructor.prototype, descriptors);\n constructor.prototype.constructor = constructor;\n Object.defineProperty(constructor, 'super', {\n value: superConstructor.prototype\n });\n props && Object.assign(constructor.prototype, props);\n}\n\n/**\n * Resolve object with deep prototype chain to a flat object\n * @param {Object} sourceObj source object\n * @param {Object} [destObj]\n * @param {Function|Boolean} [filter]\n * @param {Function} [propFilter]\n *\n * @returns {Object}\n */\nconst toFlatObject = (sourceObj, destObj, filter, propFilter) => {\n let props;\n let i;\n let prop;\n const merged = {};\n\n destObj = destObj || {};\n // eslint-disable-next-line no-eq-null,eqeqeq\n if (sourceObj == null) return destObj;\n\n do {\n props = Object.getOwnPropertyNames(sourceObj);\n i = props.length;\n while (i-- > 0) {\n prop = props[i];\n if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) {\n destObj[prop] = sourceObj[prop];\n merged[prop] = true;\n }\n }\n sourceObj = filter !== false && getPrototypeOf(sourceObj);\n } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);\n\n return destObj;\n}\n\n/**\n * Determines whether a string ends with the characters of a specified string\n *\n * @param {String} str\n * @param {String} searchString\n * @param {Number} [position= 0]\n *\n * @returns {boolean}\n */\nconst endsWith = (str, searchString, position) => {\n str = String(str);\n if (position === undefined || position > str.length) {\n position = str.length;\n }\n position -= searchString.length;\n const lastIndex = str.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n}\n\n\n/**\n * Returns new array from array like object or null if failed\n *\n * @param {*} [thing]\n *\n * @returns {?Array}\n */\nconst toArray = (thing) => {\n if (!thing) return null;\n if (isArray(thing)) return thing;\n let i = thing.length;\n if (!isNumber(i)) return null;\n const arr = new Array(i);\n while (i-- > 0) {\n arr[i] = thing[i];\n }\n return arr;\n}\n\n/**\n * Checking if the Uint8Array exists and if it does, it returns a function that checks if the\n * thing passed in is an instance of Uint8Array\n *\n * @param {TypedArray}\n *\n * @returns {Array}\n */\n// eslint-disable-next-line func-names\nconst isTypedArray = (TypedArray => {\n // eslint-disable-next-line func-names\n return thing => {\n return TypedArray && thing instanceof TypedArray;\n };\n})(typeof Uint8Array !== 'undefined' && getPrototypeOf(Uint8Array));\n\n/**\n * For each entry in the object, call the function with the key and value.\n *\n * @param {Object} obj - The object to iterate over.\n * @param {Function} fn - The function to call for each entry.\n *\n * @returns {void}\n */\nconst forEachEntry = (obj, fn) => {\n const generator = obj && obj[Symbol.iterator];\n\n const iterator = generator.call(obj);\n\n let result;\n\n while ((result = iterator.next()) && !result.done) {\n const pair = result.value;\n fn.call(obj, pair[0], pair[1]);\n }\n}\n\n/**\n * It takes a regular expression and a string, and returns an array of all the matches\n *\n * @param {string} regExp - The regular expression to match against.\n * @param {string} str - The string to search.\n *\n * @returns {Array}\n */\nconst matchAll = (regExp, str) => {\n let matches;\n const arr = [];\n\n while ((matches = regExp.exec(str)) !== null) {\n arr.push(matches);\n }\n\n return arr;\n}\n\n/* Checking if the kindOfTest function returns true when passed an HTMLFormElement. */\nconst isHTMLForm = kindOfTest('HTMLFormElement');\n\nconst toCamelCase = str => {\n return str.toLowerCase().replace(/[_-\\s]([a-z\\d])(\\w*)/g,\n function replacer(m, p1, p2) {\n return p1.toUpperCase() + p2;\n }\n );\n};\n\n/* Creating a function that will check if an object has a property. */\nconst hasOwnProperty = (({hasOwnProperty}) => (obj, prop) => hasOwnProperty.call(obj, prop))(Object.prototype);\n\n/**\n * Determine if a value is a RegExp object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a RegExp object, otherwise false\n */\nconst isRegExp = kindOfTest('RegExp');\n\nconst reduceDescriptors = (obj, reducer) => {\n const descriptors = Object.getOwnPropertyDescriptors(obj);\n const reducedDescriptors = {};\n\n forEach(descriptors, (descriptor, name) => {\n if (reducer(descriptor, name, obj) !== false) {\n reducedDescriptors[name] = descriptor;\n }\n });\n\n Object.defineProperties(obj, reducedDescriptors);\n}\n\n/**\n * Makes all methods read-only\n * @param {Object} obj\n */\n\nconst freezeMethods = (obj) => {\n reduceDescriptors(obj, (descriptor, name) => {\n const value = obj[name];\n\n if (!isFunction(value)) return;\n\n descriptor.enumerable = false;\n\n if ('writable' in descriptor) {\n descriptor.writable = false;\n return;\n }\n\n if (!descriptor.set) {\n descriptor.set = () => {\n throw Error('Can not read-only method \\'' + name + '\\'');\n };\n }\n });\n}\n\nconst toObjectSet = (arrayOrString, delimiter) => {\n const obj = {};\n\n const define = (arr) => {\n arr.forEach(value => {\n obj[value] = true;\n });\n }\n\n isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter));\n\n return obj;\n}\n\nconst noop = () => {}\n\nconst toFiniteNumber = (value, defaultValue) => {\n value = +value;\n return Number.isFinite(value) ? value : defaultValue;\n}\n\nexport default {\n isArray,\n isArrayBuffer,\n isBuffer,\n isFormData,\n isArrayBufferView,\n isString,\n isNumber,\n isBoolean,\n isObject,\n isPlainObject,\n isUndefined,\n isDate,\n isFile,\n isBlob,\n isRegExp,\n isFunction,\n isStream,\n isURLSearchParams,\n isTypedArray,\n isFileList,\n forEach,\n merge,\n extend,\n trim,\n stripBOM,\n inherits,\n toFlatObject,\n kindOf,\n kindOfTest,\n endsWith,\n toArray,\n forEachEntry,\n matchAll,\n isHTMLForm,\n hasOwnProperty,\n hasOwnProp: hasOwnProperty, // an alias to avoid ESLint no-prototype-builtins detection\n reduceDescriptors,\n freezeMethods,\n toObjectSet,\n toCamelCase,\n noop,\n toFiniteNumber\n};\n","'use strict';\n\nimport utils from '../utils.js';\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 {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [config] The config.\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n *\n * @returns {Error} The created error.\n */\nfunction AxiosError(message, code, config, request, response) {\n Error.call(this);\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n } else {\n this.stack = (new Error()).stack;\n }\n\n this.message = message;\n this.name = 'AxiosError';\n code && (this.code = code);\n config && (this.config = config);\n request && (this.request = request);\n response && (this.response = response);\n}\n\nutils.inherits(AxiosError, Error, {\n toJSON: function toJSON() {\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 status: this.response && this.response.status ? this.response.status : null\n };\n }\n});\n\nconst prototype = AxiosError.prototype;\nconst descriptors = {};\n\n[\n 'ERR_BAD_OPTION_VALUE',\n 'ERR_BAD_OPTION',\n 'ECONNABORTED',\n 'ETIMEDOUT',\n 'ERR_NETWORK',\n 'ERR_FR_TOO_MANY_REDIRECTS',\n 'ERR_DEPRECATED',\n 'ERR_BAD_RESPONSE',\n 'ERR_BAD_REQUEST',\n 'ERR_CANCELED',\n 'ERR_NOT_SUPPORT',\n 'ERR_INVALID_URL'\n// eslint-disable-next-line func-names\n].forEach(code => {\n descriptors[code] = {value: code};\n});\n\nObject.defineProperties(AxiosError, descriptors);\nObject.defineProperty(prototype, 'isAxiosError', {value: true});\n\n// eslint-disable-next-line func-names\nAxiosError.from = (error, code, config, request, response, customProps) => {\n const axiosError = Object.create(prototype);\n\n utils.toFlatObject(error, axiosError, function filter(obj) {\n return obj !== Error.prototype;\n }, prop => {\n return prop !== 'isAxiosError';\n });\n\n AxiosError.call(axiosError, error.message, code, config, request, response);\n\n axiosError.cause = error;\n\n axiosError.name = error.name;\n\n customProps && Object.assign(axiosError, customProps);\n\n return axiosError;\n};\n\nexport default AxiosError;\n","/* eslint-env browser */\nmodule.exports = typeof self == 'object' ? self.FormData : window.FormData;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\nimport envFormData from '../env/classes/FormData.js';\n\n/**\n * Determines if the given thing is a array or js object.\n *\n * @param {string} thing - The object or array to be visited.\n *\n * @returns {boolean}\n */\nfunction isVisitable(thing) {\n return utils.isPlainObject(thing) || utils.isArray(thing);\n}\n\n/**\n * It removes the brackets from the end of a string\n *\n * @param {string} key - The key of the parameter.\n *\n * @returns {string} the key without the brackets.\n */\nfunction removeBrackets(key) {\n return utils.endsWith(key, '[]') ? key.slice(0, -2) : key;\n}\n\n/**\n * It takes a path, a key, and a boolean, and returns a string\n *\n * @param {string} path - The path to the current key.\n * @param {string} key - The key of the current object being iterated over.\n * @param {string} dots - If true, the key will be rendered with dots instead of brackets.\n *\n * @returns {string} The path to the current key.\n */\nfunction renderKey(path, key, dots) {\n if (!path) return key;\n return path.concat(key).map(function each(token, i) {\n // eslint-disable-next-line no-param-reassign\n token = removeBrackets(token);\n return !dots && i ? '[' + token + ']' : token;\n }).join(dots ? '.' : '');\n}\n\n/**\n * If the array is an array and none of its elements are visitable, then it's a flat array.\n *\n * @param {Array} arr - The array to check\n *\n * @returns {boolean}\n */\nfunction isFlatArray(arr) {\n return utils.isArray(arr) && !arr.some(isVisitable);\n}\n\nconst predicates = utils.toFlatObject(utils, {}, null, function filter(prop) {\n return /^is[A-Z]/.test(prop);\n});\n\n/**\n * If the thing is a FormData object, return true, otherwise return false.\n *\n * @param {unknown} thing - The thing to check.\n *\n * @returns {boolean}\n */\nfunction isSpecCompliant(thing) {\n return thing && utils.isFunction(thing.append) && thing[Symbol.toStringTag] === 'FormData' && thing[Symbol.iterator];\n}\n\n/**\n * Convert a data object to FormData\n *\n * @param {Object} obj\n * @param {?Object} [formData]\n * @param {?Object} [options]\n * @param {Function} [options.visitor]\n * @param {Boolean} [options.metaTokens = true]\n * @param {Boolean} [options.dots = false]\n * @param {?Boolean} [options.indexes = false]\n *\n * @returns {Object}\n **/\n\n/**\n * It converts an object into a FormData object\n *\n * @param {Object} obj - The object to convert to form data.\n * @param {string} formData - The FormData object to append to.\n * @param {Object} options\n *\n * @returns\n */\nfunction toFormData(obj, formData, options) {\n if (!utils.isObject(obj)) {\n throw new TypeError('target must be an object');\n }\n\n // eslint-disable-next-line no-param-reassign\n formData = formData || new (envFormData || FormData)();\n\n // eslint-disable-next-line no-param-reassign\n options = utils.toFlatObject(options, {\n metaTokens: true,\n dots: false,\n indexes: false\n }, false, function defined(option, source) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n return !utils.isUndefined(source[option]);\n });\n\n const metaTokens = options.metaTokens;\n // eslint-disable-next-line no-use-before-define\n const visitor = options.visitor || defaultVisitor;\n const dots = options.dots;\n const indexes = options.indexes;\n const _Blob = options.Blob || typeof Blob !== 'undefined' && Blob;\n const useBlob = _Blob && isSpecCompliant(formData);\n\n if (!utils.isFunction(visitor)) {\n throw new TypeError('visitor must be a function');\n }\n\n function convertValue(value) {\n if (value === null) return '';\n\n if (utils.isDate(value)) {\n return value.toISOString();\n }\n\n if (!useBlob && utils.isBlob(value)) {\n throw new AxiosError('Blob is not supported. Use a Buffer instead.');\n }\n\n if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {\n return useBlob && typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value);\n }\n\n return value;\n }\n\n /**\n * Default visitor.\n *\n * @param {*} value\n * @param {String|Number} key\n * @param {Array} path\n * @this {FormData}\n *\n * @returns {boolean} return true to visit the each prop of the value recursively\n */\n function defaultVisitor(value, key, path) {\n let arr = value;\n\n if (value && !path && typeof value === 'object') {\n if (utils.endsWith(key, '{}')) {\n // eslint-disable-next-line no-param-reassign\n key = metaTokens ? key : key.slice(0, -2);\n // eslint-disable-next-line no-param-reassign\n value = JSON.stringify(value);\n } else if (\n (utils.isArray(value) && isFlatArray(value)) ||\n (utils.isFileList(value) || utils.endsWith(key, '[]') && (arr = utils.toArray(value))\n )) {\n // eslint-disable-next-line no-param-reassign\n key = removeBrackets(key);\n\n arr.forEach(function each(el, index) {\n !utils.isUndefined(el) && formData.append(\n // eslint-disable-next-line no-nested-ternary\n indexes === true ? renderKey([key], index, dots) : (indexes === null ? key : key + '[]'),\n convertValue(el)\n );\n });\n return false;\n }\n }\n\n if (isVisitable(value)) {\n return true;\n }\n\n formData.append(renderKey(path, key, dots), convertValue(value));\n\n return false;\n }\n\n const stack = [];\n\n const exposedHelpers = Object.assign(predicates, {\n defaultVisitor,\n convertValue,\n isVisitable\n });\n\n function build(value, path) {\n if (utils.isUndefined(value)) return;\n\n if (stack.indexOf(value) !== -1) {\n throw Error('Circular reference detected in ' + path.join('.'));\n }\n\n stack.push(value);\n\n utils.forEach(value, function each(el, key) {\n const result = !utils.isUndefined(el) && visitor.call(\n formData, el, utils.isString(key) ? key.trim() : key, path, exposedHelpers\n );\n\n if (result === true) {\n build(el, path ? path.concat(key) : [key]);\n }\n });\n\n stack.pop();\n }\n\n if (!utils.isObject(obj)) {\n throw new TypeError('data must be an object');\n }\n\n build(obj);\n\n return formData;\n}\n\nexport default toFormData;\n","'use strict';\n\nimport toFormData from './toFormData.js';\n\n/**\n * It encodes a string by replacing all characters that are not in the unreserved set with\n * their percent-encoded equivalents\n *\n * @param {string} str - The string to encode.\n *\n * @returns {string} The encoded string.\n */\nfunction encode(str) {\n const charMap = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+',\n '%00': '\\x00'\n };\n return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) {\n return charMap[match];\n });\n}\n\n/**\n * It takes a params object and converts it to a FormData object\n *\n * @param {Object} params - The parameters to be converted to a FormData object.\n * @param {Object} options - The options object passed to the Axios constructor.\n *\n * @returns {void}\n */\nfunction AxiosURLSearchParams(params, options) {\n this._pairs = [];\n\n params && toFormData(params, this, options);\n}\n\nconst prototype = AxiosURLSearchParams.prototype;\n\nprototype.append = function append(name, value) {\n this._pairs.push([name, value]);\n};\n\nprototype.toString = function toString(encoder) {\n const _encode = encoder ? function(value) {\n return encoder.call(this, value, encode);\n } : encode;\n\n return this._pairs.map(function each(pair) {\n return _encode(pair[0]) + '=' + _encode(pair[1]);\n }, '').join('&');\n};\n\nexport default AxiosURLSearchParams;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosURLSearchParams from '../helpers/AxiosURLSearchParams.js';\n\n/**\n * It replaces all instances of the characters `:`, `$`, `,`, `+`, `[`, and `]` with their\n * URI encoded counterparts\n *\n * @param {string} val The value to be encoded.\n *\n * @returns {string} The encoded value.\n */\nfunction encode(val) {\n return encodeURIComponent(val).\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 * @param {?object} options\n *\n * @returns {string} The formatted url\n */\nexport default function buildURL(url, params, options) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n\n const hashmarkIndex = url.indexOf('#');\n\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n\n const _encode = options && options.encode || encode;\n\n const serializerParams = utils.isURLSearchParams(params) ?\n params.toString() :\n new AxiosURLSearchParams(params, options).toString(_encode);\n\n if (serializerParams) {\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializerParams;\n }\n\n return url;\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\nclass InterceptorManager {\n constructor() {\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 */\n use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled,\n rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null\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 *\n * @returns {Boolean} `true` if the interceptor was removed, `false` otherwise\n */\n eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n }\n\n /**\n * Clear all interceptors from the stack\n *\n * @returns {void}\n */\n clear() {\n if (this.handlers) {\n this.handlers = [];\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 *\n * @returns {void}\n */\n forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n }\n}\n\nexport default InterceptorManager;\n","'use strict';\n\nexport default {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n};\n","'use strict';\n\nimport AxiosURLSearchParams from '../../../helpers/AxiosURLSearchParams.js';\nexport default typeof URLSearchParams !== 'undefined' ? URLSearchParams : AxiosURLSearchParams;\n","'use strict';\n\nexport default FormData;\n","import URLSearchParams from './classes/URLSearchParams.js'\nimport FormData from './classes/FormData.js'\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 *\n * @returns {boolean}\n */\nconst isStandardBrowserEnv = (() => {\n let product;\n if (typeof navigator !== 'undefined' && (\n (product = navigator.product) === 'ReactNative' ||\n product === 'NativeScript' ||\n product === 'NS')\n ) {\n return false;\n }\n\n return typeof window !== 'undefined' && typeof document !== 'undefined';\n})();\n\nexport default {\n isBrowser: true,\n classes: {\n URLSearchParams,\n FormData,\n Blob\n },\n isStandardBrowserEnv,\n protocols: ['http', 'https', 'file', 'blob', 'url', 'data']\n};\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * It takes a string like `foo[x][y][z]` and returns an array like `['foo', 'x', 'y', 'z']\n *\n * @param {string} name - The name of the property to get.\n *\n * @returns An array of strings.\n */\nfunction parsePropPath(name) {\n // foo[x][y][z]\n // foo.x.y.z\n // foo-x-y-z\n // foo x y z\n return utils.matchAll(/\\w+|\\[(\\w*)]/g, name).map(match => {\n return match[0] === '[]' ? '' : match[1] || match[0];\n });\n}\n\n/**\n * Convert an array to an object.\n *\n * @param {Array} arr - The array to convert to an object.\n *\n * @returns An object with the same keys and values as the array.\n */\nfunction arrayToObject(arr) {\n const obj = {};\n const keys = Object.keys(arr);\n let i;\n const len = keys.length;\n let key;\n for (i = 0; i < len; i++) {\n key = keys[i];\n obj[key] = arr[key];\n }\n return obj;\n}\n\n/**\n * It takes a FormData object and returns a JavaScript object\n *\n * @param {string} formData The FormData object to convert to JSON.\n *\n * @returns {Object | null} The converted object.\n */\nfunction formDataToJSON(formData) {\n function buildPath(path, value, target, index) {\n let name = path[index++];\n const isNumericKey = Number.isFinite(+name);\n const isLast = index >= path.length;\n name = !name && utils.isArray(target) ? target.length : name;\n\n if (isLast) {\n if (utils.hasOwnProp(target, name)) {\n target[name] = [target[name], value];\n } else {\n target[name] = value;\n }\n\n return !isNumericKey;\n }\n\n if (!target[name] || !utils.isObject(target[name])) {\n target[name] = [];\n }\n\n const result = buildPath(path, value, target[name], index);\n\n if (result && utils.isArray(target[name])) {\n target[name] = arrayToObject(target[name]);\n }\n\n return !isNumericKey;\n }\n\n if (utils.isFormData(formData) && utils.isFunction(formData.entries)) {\n const obj = {};\n\n utils.forEachEntry(formData, (name, value) => {\n buildPath(parsePropPath(name), value, obj, 0);\n });\n\n return obj;\n }\n\n return null;\n}\n\nexport default formDataToJSON;\n","'use strict';\n\nimport utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.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 const 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 const 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","'use strict';\n\nimport isAbsoluteURL from '../helpers/isAbsoluteURL.js';\nimport combineURLs from '../helpers/combineURLs.js';\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 *\n * @returns {string} The combined full path\n */\nexport default 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 * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n *\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nexport default 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\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 *\n * @returns {string} The combined URL\n */\nexport default function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n}\n","'use strict';\n\nimport utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.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 const msie = /(msie|trident)/i.test(navigator.userAgent);\n const urlParsingNode = document.createElement('a');\n let 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 let 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 const 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","'use strict';\n\nimport AxiosError from '../core/AxiosError.js';\nimport utils from '../utils.js';\n\n/**\n * A `CanceledError` is an object that is thrown when an operation is canceled.\n *\n * @param {string=} message The message.\n * @param {Object=} config The config.\n * @param {Object=} request The request.\n *\n * @returns {CanceledError} The created error.\n */\nfunction CanceledError(message, config, request) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n AxiosError.call(this, message == null ? 'canceled' : message, AxiosError.ERR_CANCELED, config, request);\n this.name = 'CanceledError';\n}\n\nutils.inherits(CanceledError, AxiosError, {\n __CANCEL__: true\n});\n\nexport default CanceledError;\n","'use strict';\n\nimport utils from './../utils.js';\n\n// RawAxiosHeaders whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nconst ignoreDuplicateOf = utils.toObjectSet([\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} rawHeaders Headers needing to be parsed\n *\n * @returns {Object} Headers parsed into an object\n */\nexport default rawHeaders => {\n const parsed = {};\n let key;\n let val;\n let i;\n\n rawHeaders && rawHeaders.split('\\n').forEach(function parser(line) {\n i = line.indexOf(':');\n key = line.substring(0, i).trim().toLowerCase();\n val = line.substring(i + 1).trim();\n\n if (!key || (parsed[key] && ignoreDuplicateOf[key])) {\n return;\n }\n\n if (key === 'set-cookie') {\n if (parsed[key]) {\n parsed[key].push(val);\n } else {\n parsed[key] = [val];\n }\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n });\n\n return parsed;\n};\n","'use strict';\n\nimport utils from '../utils.js';\nimport parseHeaders from '../helpers/parseHeaders.js';\n\nconst $internals = Symbol('internals');\nconst $defaults = Symbol('defaults');\n\nfunction normalizeHeader(header) {\n return header && String(header).trim().toLowerCase();\n}\n\nfunction normalizeValue(value) {\n if (value === false || value == null) {\n return value;\n }\n\n return String(value);\n}\n\nfunction parseTokens(str) {\n const tokens = Object.create(null);\n const tokensRE = /([^\\s,;=]+)\\s*(?:=\\s*([^,;]+))?/g;\n let match;\n\n while ((match = tokensRE.exec(str))) {\n tokens[match[1]] = match[2];\n }\n\n return tokens;\n}\n\nfunction matchHeaderValue(context, value, header, filter) {\n if (utils.isFunction(filter)) {\n return filter.call(this, value, header);\n }\n\n if (!utils.isString(value)) return;\n\n if (utils.isString(filter)) {\n return value.indexOf(filter) !== -1;\n }\n\n if (utils.isRegExp(filter)) {\n return filter.test(value);\n }\n}\n\nfunction formatHeader(header) {\n return header.trim()\n .toLowerCase().replace(/([a-z\\d])(\\w*)/g, (w, char, str) => {\n return char.toUpperCase() + str;\n });\n}\n\nfunction buildAccessors(obj, header) {\n const accessorName = utils.toCamelCase(' ' + header);\n\n ['get', 'set', 'has'].forEach(methodName => {\n Object.defineProperty(obj, methodName + accessorName, {\n value: function(arg1, arg2, arg3) {\n return this[methodName].call(this, header, arg1, arg2, arg3);\n },\n configurable: true\n });\n });\n}\n\nfunction findKey(obj, key) {\n key = key.toLowerCase();\n const keys = Object.keys(obj);\n let i = keys.length;\n let _key;\n while (i-- > 0) {\n _key = keys[i];\n if (key === _key.toLowerCase()) {\n return _key;\n }\n }\n return null;\n}\n\nfunction AxiosHeaders(headers, defaults) {\n headers && this.set(headers);\n this[$defaults] = defaults || null;\n}\n\nObject.assign(AxiosHeaders.prototype, {\n set: function(header, valueOrRewrite, rewrite) {\n const self = this;\n\n function setHeader(_value, _header, _rewrite) {\n const lHeader = normalizeHeader(_header);\n\n if (!lHeader) {\n throw new Error('header name must be a non-empty string');\n }\n\n const key = findKey(self, lHeader);\n\n if (key && _rewrite !== true && (self[key] === false || _rewrite === false)) {\n return;\n }\n\n if (utils.isArray(_value)) {\n _value = _value.map(normalizeValue);\n } else {\n _value = normalizeValue(_value);\n }\n\n self[key || _header] = _value;\n }\n\n if (utils.isPlainObject(header)) {\n utils.forEach(header, (_value, _header) => {\n setHeader(_value, _header, valueOrRewrite);\n });\n } else {\n setHeader(valueOrRewrite, header, rewrite);\n }\n\n return this;\n },\n\n get: function(header, parser) {\n header = normalizeHeader(header);\n\n if (!header) return undefined;\n\n const key = findKey(this, header);\n\n if (key) {\n const value = this[key];\n\n if (!parser) {\n return value;\n }\n\n if (parser === true) {\n return parseTokens(value);\n }\n\n if (utils.isFunction(parser)) {\n return parser.call(this, value, key);\n }\n\n if (utils.isRegExp(parser)) {\n return parser.exec(value);\n }\n\n throw new TypeError('parser must be boolean|regexp|function');\n }\n },\n\n has: function(header, matcher) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = findKey(this, header);\n\n return !!(key && (!matcher || matchHeaderValue(this, this[key], key, matcher)));\n }\n\n return false;\n },\n\n delete: function(header, matcher) {\n const self = this;\n let deleted = false;\n\n function deleteHeader(_header) {\n _header = normalizeHeader(_header);\n\n if (_header) {\n const key = findKey(self, _header);\n\n if (key && (!matcher || matchHeaderValue(self, self[key], key, matcher))) {\n delete self[key];\n\n deleted = true;\n }\n }\n }\n\n if (utils.isArray(header)) {\n header.forEach(deleteHeader);\n } else {\n deleteHeader(header);\n }\n\n return deleted;\n },\n\n clear: function() {\n return Object.keys(this).forEach(this.delete.bind(this));\n },\n\n normalize: function(format) {\n const self = this;\n const headers = {};\n\n utils.forEach(this, (value, header) => {\n const key = findKey(headers, header);\n\n if (key) {\n self[key] = normalizeValue(value);\n delete self[header];\n return;\n }\n\n const normalized = format ? formatHeader(header) : String(header).trim();\n\n if (normalized !== header) {\n delete self[header];\n }\n\n self[normalized] = normalizeValue(value);\n\n headers[normalized] = true;\n });\n\n return this;\n },\n\n toJSON: function() {\n const obj = Object.create(null);\n\n utils.forEach(Object.assign({}, this[$defaults] || null, this),\n (value, header) => {\n if (value == null || value === false) return;\n obj[header] = utils.isArray(value) ? value.join(', ') : value;\n });\n\n return obj;\n }\n});\n\nObject.assign(AxiosHeaders, {\n from: function(thing) {\n if (utils.isString(thing)) {\n return new this(parseHeaders(thing));\n }\n return thing instanceof this ? thing : new this(thing);\n },\n\n accessor: function(header) {\n const internals = this[$internals] = (this[$internals] = {\n accessors: {}\n });\n\n const accessors = internals.accessors;\n const prototype = this.prototype;\n\n function defineAccessor(_header) {\n const lHeader = normalizeHeader(_header);\n\n if (!accessors[lHeader]) {\n buildAccessors(prototype, _header);\n accessors[lHeader] = true;\n }\n }\n\n utils.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header);\n\n return this;\n }\n});\n\nAxiosHeaders.accessor(['Content-Type', 'Content-Length', 'Accept', 'Accept-Encoding', 'User-Agent']);\n\nutils.freezeMethods(AxiosHeaders.prototype);\nutils.freezeMethods(AxiosHeaders);\n\nexport default AxiosHeaders;\n","'use strict';\n\nimport utils from './../utils.js';\nimport settle from './../core/settle.js';\nimport cookies from './../helpers/cookies.js';\nimport buildURL from './../helpers/buildURL.js';\nimport buildFullPath from '../core/buildFullPath.js';\nimport isURLSameOrigin from './../helpers/isURLSameOrigin.js';\nimport transitionalDefaults from '../defaults/transitional.js';\nimport AxiosError from '../core/AxiosError.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport parseProtocol from '../helpers/parseProtocol.js';\nimport platform from '../platform/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport speedometer from '../helpers/speedometer.js';\n\nfunction progressEventReducer(listener, isDownloadStream) {\n let bytesNotified = 0;\n const _speedometer = speedometer(50, 250);\n\n return e => {\n const loaded = e.loaded;\n const total = e.lengthComputable ? e.total : undefined;\n const progressBytes = loaded - bytesNotified;\n const rate = _speedometer(progressBytes);\n const inRange = loaded <= total;\n\n bytesNotified = loaded;\n\n const data = {\n loaded,\n total,\n progress: total ? (loaded / total) : undefined,\n bytes: progressBytes,\n rate: rate ? rate : undefined,\n estimated: rate && total && inRange ? (total - loaded) / rate : undefined\n };\n\n data[isDownloadStream ? 'download' : 'upload'] = true;\n\n listener(data);\n };\n}\n\nexport default function xhrAdapter(config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n let requestData = config.data;\n const requestHeaders = AxiosHeaders.from(config.headers).normalize();\n const responseType = config.responseType;\n let onCanceled;\n function done() {\n if (config.cancelToken) {\n config.cancelToken.unsubscribe(onCanceled);\n }\n\n if (config.signal) {\n config.signal.removeEventListener('abort', onCanceled);\n }\n }\n\n if (utils.isFormData(requestData) && platform.isStandardBrowserEnv) {\n requestHeaders.setContentType(false); // Let the browser set it\n }\n\n let request = new XMLHttpRequest();\n\n // HTTP basic authentication\n if (config.auth) {\n const username = config.auth.username || '';\n const password = config.auth.password ? unescape(encodeURIComponent(config.auth.password)) : '';\n requestHeaders.set('Authorization', 'Basic ' + btoa(username + ':' + password));\n }\n\n const fullPath = buildFullPath(config.baseURL, config.url);\n\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 function onloadend() {\n if (!request) {\n return;\n }\n // Prepare the response\n const responseHeaders = AxiosHeaders.from(\n 'getAllResponseHeaders' in request && request.getAllResponseHeaders()\n );\n const responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n const response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config,\n request\n };\n\n settle(function _resolve(value) {\n resolve(value);\n done();\n }, function _reject(err) {\n reject(err);\n done();\n }, response);\n\n // Clean up request\n request = null;\n }\n\n if ('onloadend' in request) {\n // Use onloadend if available\n request.onloadend = onloadend;\n } else {\n // Listen for ready state to emulate onloadend\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 // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n setTimeout(onloadend);\n };\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(new AxiosError('Request aborted', AxiosError.ECONNABORTED, config, 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(new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n let timeoutErrorMessage = config.timeout ? 'timeout of ' + config.timeout + 'ms exceeded' : 'timeout exceeded';\n const transitional = config.transitional || transitionalDefaults;\n if (config.timeoutErrorMessage) {\n timeoutErrorMessage = config.timeoutErrorMessage;\n }\n reject(new AxiosError(\n timeoutErrorMessage,\n transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n config,\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 (platform.isStandardBrowserEnv) {\n // Add xsrf header\n const xsrfValue = (config.withCredentials || isURLSameOrigin(fullPath))\n && config.xsrfCookieName && cookies.read(config.xsrfCookieName);\n\n if (xsrfValue) {\n requestHeaders.set(config.xsrfHeaderName, xsrfValue);\n }\n }\n\n // Remove Content-Type if data is undefined\n requestData === undefined && requestHeaders.setContentType(null);\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) {\n request.setRequestHeader(key, val);\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 (responseType && responseType !== 'json') {\n request.responseType = config.responseType;\n }\n\n // Handle progress if needed\n if (typeof config.onDownloadProgress === 'function') {\n request.addEventListener('progress', progressEventReducer(config.onDownloadProgress, true));\n }\n\n // Not all browsers support upload events\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', progressEventReducer(config.onUploadProgress));\n }\n\n if (config.cancelToken || config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = cancel => {\n if (!request) {\n return;\n }\n reject(!cancel || cancel.type ? new CanceledError(null, config, request) : cancel);\n request.abort();\n request = null;\n };\n\n config.cancelToken && config.cancelToken.subscribe(onCanceled);\n if (config.signal) {\n config.signal.aborted ? onCanceled() : config.signal.addEventListener('abort', onCanceled);\n }\n }\n\n const protocol = parseProtocol(fullPath);\n\n if (protocol && platform.protocols.indexOf(protocol) === -1) {\n reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config));\n return;\n }\n\n\n // Send the request\n request.send(requestData || null);\n });\n}\n","'use strict';\n\n/**\n * Calculate data maxRate\n * @param {Number} [samplesCount= 10]\n * @param {Number} [min= 1000]\n * @returns {Function}\n */\nfunction speedometer(samplesCount, min) {\n samplesCount = samplesCount || 10;\n const bytes = new Array(samplesCount);\n const timestamps = new Array(samplesCount);\n let head = 0;\n let tail = 0;\n let firstSampleTS;\n\n min = min !== undefined ? min : 1000;\n\n return function push(chunkLength) {\n const now = Date.now();\n\n const startedAt = timestamps[tail];\n\n if (!firstSampleTS) {\n firstSampleTS = now;\n }\n\n bytes[head] = chunkLength;\n timestamps[head] = now;\n\n let i = tail;\n let bytesCount = 0;\n\n while (i !== head) {\n bytesCount += bytes[i++];\n i = i % samplesCount;\n }\n\n head = (head + 1) % samplesCount;\n\n if (head === tail) {\n tail = (tail + 1) % samplesCount;\n }\n\n if (now - firstSampleTS < min) {\n return;\n }\n\n const passed = startedAt && now - startedAt;\n\n return passed ? Math.round(bytesCount * 1000 / passed) : undefined;\n };\n}\n\nexport default speedometer;\n","'use strict';\n\nimport AxiosError from './AxiosError.js';\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 *\n * @returns {object} The response.\n */\nexport default function settle(resolve, reject, response) {\n const validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(new AxiosError(\n 'Request failed with status code ' + response.status,\n [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4],\n response.config,\n response.request,\n response\n ));\n }\n}\n","'use strict';\n\nexport default function parseProtocol(url) {\n const match = /^([-+\\w]{1,25})(:?\\/\\/|:)/.exec(url);\n return match && match[1] || '';\n}\n","import utils from '../utils.js';\nimport httpAdapter from './http.js';\nimport xhrAdapter from './xhr.js';\n\nconst adapters = {\n http: httpAdapter,\n xhr: xhrAdapter\n}\n\nexport default {\n getAdapter: (nameOrAdapter) => {\n if(utils.isString(nameOrAdapter)){\n const adapter = adapters[nameOrAdapter];\n\n if (!nameOrAdapter) {\n throw Error(\n utils.hasOwnProp(nameOrAdapter) ?\n `Adapter '${nameOrAdapter}' is not available in the build` :\n `Can not resolve adapter '${nameOrAdapter}'`\n );\n }\n\n return adapter\n }\n\n if (!utils.isFunction(nameOrAdapter)) {\n throw new TypeError('adapter is not a function');\n }\n\n return nameOrAdapter;\n },\n adapters\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\nimport transitionalDefaults from './transitional.js';\nimport toFormData from '../helpers/toFormData.js';\nimport toURLEncodedForm from '../helpers/toURLEncodedForm.js';\nimport platform from '../platform/index.js';\nimport formDataToJSON from '../helpers/formDataToJSON.js';\nimport adapters from '../adapters/index.js';\n\nconst DEFAULT_CONTENT_TYPE = {\n 'Content-Type': 'application/x-www-form-urlencoded'\n};\n\n/**\n * If the browser has an XMLHttpRequest object, use the XHR adapter, otherwise use the HTTP\n * adapter\n *\n * @returns {Function}\n */\nfunction getDefaultAdapter() {\n let adapter;\n if (typeof XMLHttpRequest !== 'undefined') {\n // For browsers use XHR adapter\n adapter = adapters.getAdapter('xhr');\n } else if (typeof process !== 'undefined' && utils.kindOf(process) === 'process') {\n // For node use HTTP adapter\n adapter = adapters.getAdapter('http');\n }\n return adapter;\n}\n\n/**\n * It takes a string, tries to parse it, and if it fails, it returns the stringified version\n * of the input\n *\n * @param {any} rawValue - The value to be stringified.\n * @param {Function} parser - A function that parses a string into a JavaScript object.\n * @param {Function} encoder - A function that takes a value and returns a string.\n *\n * @returns {string} A stringified version of the rawValue.\n */\nfunction stringifySafely(rawValue, parser, encoder) {\n if (utils.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils.trim(rawValue);\n } catch (e) {\n if (e.name !== 'SyntaxError') {\n throw e;\n }\n }\n }\n\n return (encoder || JSON.stringify)(rawValue);\n}\n\nconst defaults = {\n\n transitional: transitionalDefaults,\n\n adapter: getDefaultAdapter(),\n\n transformRequest: [function transformRequest(data, headers) {\n const contentType = headers.getContentType() || '';\n const hasJSONContentType = contentType.indexOf('application/json') > -1;\n const isObjectPayload = utils.isObject(data);\n\n if (isObjectPayload && utils.isHTMLForm(data)) {\n data = new FormData(data);\n }\n\n const isFormData = utils.isFormData(data);\n\n if (isFormData) {\n if (!hasJSONContentType) {\n return data;\n }\n return hasJSONContentType ? JSON.stringify(formDataToJSON(data)) : data;\n }\n\n if (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 headers.setContentType('application/x-www-form-urlencoded;charset=utf-8', false);\n return data.toString();\n }\n\n let isFileList;\n\n if (isObjectPayload) {\n if (contentType.indexOf('application/x-www-form-urlencoded') > -1) {\n return toURLEncodedForm(data, this.formSerializer).toString();\n }\n\n if ((isFileList = utils.isFileList(data)) || contentType.indexOf('multipart/form-data') > -1) {\n const _FormData = this.env && this.env.FormData;\n\n return toFormData(\n isFileList ? {'files[]': data} : data,\n _FormData && new _FormData(),\n this.formSerializer\n );\n }\n }\n\n if (isObjectPayload || hasJSONContentType ) {\n headers.setContentType('application/json', false);\n return stringifySafely(data);\n }\n\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n const transitional = this.transitional || defaults.transitional;\n const forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n const JSONRequested = this.responseType === 'json';\n\n if (data && utils.isString(data) && ((forcedJSONParsing && !this.responseType) || JSONRequested)) {\n const silentJSONParsing = transitional && transitional.silentJSONParsing;\n const strictJSONParsing = !silentJSONParsing && JSONRequested;\n\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response);\n }\n throw e;\n }\n }\n }\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 maxBodyLength: -1,\n\n env: {\n FormData: platform.classes.FormData,\n Blob: platform.classes.Blob\n },\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n },\n\n headers: {\n common: {\n 'Accept': 'application/json, text/plain, */*'\n }\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\nexport default defaults;\n","'use strict';\n\nimport utils from '../utils.js';\nimport toFormData from './toFormData.js';\nimport platform from '../platform/index.js';\n\nexport default function toURLEncodedForm(data, options) {\n return toFormData(data, new platform.classes.URLSearchParams(), Object.assign({\n visitor: function(value, key, path, helpers) {\n if (platform.isNode && utils.isBuffer(value)) {\n this.append(key, value.toString('base64'));\n return false;\n }\n\n return helpers.defaultVisitor.apply(this, arguments);\n }\n }, options));\n}\n","'use strict';\n\nimport utils from './../utils.js';\nimport defaults from '../defaults/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Array|Function} fns A single function or Array of functions\n * @param {?Object} response The response object\n *\n * @returns {*} The resulting transformed data\n */\nexport default function transformData(fns, response) {\n const config = this || defaults;\n const context = response || config;\n const headers = AxiosHeaders.from(context.headers);\n let data = context.data;\n\n utils.forEach(fns, function transform(fn) {\n data = fn.call(config, data, headers.normalize(), response ? response.status : undefined);\n });\n\n headers.normalize();\n\n return data;\n}\n","'use strict';\n\nexport default function isCancel(value) {\n return !!(value && value.__CANCEL__);\n}\n","'use strict';\n\nimport transformData from './transformData.js';\nimport isCancel from '../cancel/isCancel.js';\nimport defaults from '../defaults/index.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n *\n * @param {Object} config The config that is to be used for the request\n *\n * @returns {void}\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new CanceledError();\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 *\n * @returns {Promise} The Promise to be fulfilled\n */\nexport default function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n config.headers = AxiosHeaders.from(config.headers);\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.transformRequest\n );\n\n const 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.call(\n config,\n config.transformResponse,\n response\n );\n\n response.headers = AxiosHeaders.from(response.headers);\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.call(\n config,\n config.transformResponse,\n reason.response\n );\n reason.response.headers = AxiosHeaders.from(reason.response.headers);\n }\n }\n\n return Promise.reject(reason);\n });\n}\n","'use strict';\n\nimport utils from '../utils.js';\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 *\n * @returns {Object} New object resulting from merging config2 to config1\n */\nexport default function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n const config = {};\n\n function getMergedValue(target, source) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge(target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDeepProperties(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(config1[prop], config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n return getMergedValue(undefined, config1[prop]);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(undefined, config2[prop]);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(undefined, config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n return getMergedValue(undefined, config1[prop]);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(prop) {\n if (prop in config2) {\n return getMergedValue(config1[prop], config2[prop]);\n } else if (prop in config1) {\n return getMergedValue(undefined, config1[prop]);\n }\n }\n\n const mergeMap = {\n 'url': valueFromConfig2,\n 'method': valueFromConfig2,\n 'data': valueFromConfig2,\n 'baseURL': defaultToConfig2,\n 'transformRequest': defaultToConfig2,\n 'transformResponse': defaultToConfig2,\n 'paramsSerializer': defaultToConfig2,\n 'timeout': defaultToConfig2,\n 'timeoutMessage': defaultToConfig2,\n 'withCredentials': defaultToConfig2,\n 'adapter': defaultToConfig2,\n 'responseType': defaultToConfig2,\n 'xsrfCookieName': defaultToConfig2,\n 'xsrfHeaderName': defaultToConfig2,\n 'onUploadProgress': defaultToConfig2,\n 'onDownloadProgress': defaultToConfig2,\n 'decompress': defaultToConfig2,\n 'maxContentLength': defaultToConfig2,\n 'maxBodyLength': defaultToConfig2,\n 'beforeRedirect': defaultToConfig2,\n 'transport': defaultToConfig2,\n 'httpAgent': defaultToConfig2,\n 'httpsAgent': defaultToConfig2,\n 'cancelToken': defaultToConfig2,\n 'socketPath': defaultToConfig2,\n 'responseEncoding': defaultToConfig2,\n 'validateStatus': mergeDirectKeys\n };\n\n utils.forEach(Object.keys(config1).concat(Object.keys(config2)), function computeConfigValue(prop) {\n const merge = mergeMap[prop] || mergeDeepProperties;\n const configValue = merge(prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n}\n","export const VERSION = \"1.0.0\";","'use strict';\n\nimport {VERSION} from '../env/data.js';\nimport AxiosError from '../core/AxiosError.js';\n\nconst validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach((type, i) => {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nconst deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n *\n * @param {function|boolean?} validator - set to false if the transitional option has been removed\n * @param {string?} version - deprecated version / removed since version\n * @param {string?} message - some message with additional info\n *\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n function formatMessage(opt, desc) {\n return '[Axios v' + VERSION + '] Transitional option \\'' + opt + '\\'' + desc + (message ? '. ' + message : '');\n }\n\n // eslint-disable-next-line func-names\n return (value, opt, opts) => {\n if (validator === false) {\n throw new AxiosError(\n formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')),\n AxiosError.ERR_DEPRECATED\n );\n }\n\n if (version && !deprecatedWarnings[opt]) {\n deprecatedWarnings[opt] = true;\n // eslint-disable-next-line no-console\n console.warn(\n formatMessage(\n opt,\n ' has been deprecated since v' + version + ' and will be removed in the near future'\n )\n );\n }\n\n return validator ? validator(value, opt, opts) : true;\n };\n};\n\n/**\n * Assert object's properties type\n *\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n *\n * @returns {object}\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE);\n }\n const keys = Object.keys(options);\n let i = keys.length;\n while (i-- > 0) {\n const opt = keys[i];\n const validator = schema[opt];\n if (validator) {\n const value = options[opt];\n const result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new AxiosError('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION);\n }\n }\n}\n\nexport default {\n assertOptions,\n validators\n};\n","'use strict';\n\nimport utils from './../utils.js';\nimport buildURL from '../helpers/buildURL.js';\nimport InterceptorManager from './InterceptorManager.js';\nimport dispatchRequest from './dispatchRequest.js';\nimport mergeConfig from './mergeConfig.js';\nimport buildFullPath from './buildFullPath.js';\nimport validator from '../helpers/validator.js';\nimport AxiosHeaders from './AxiosHeaders.js';\n\nconst validators = validator.validators;\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n *\n * @return {Axios} A new instance of Axios\n */\nclass Axios {\n constructor(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 {String|Object} configOrUrl The config specific for this request (merged with this.defaults)\n * @param {?Object} config\n *\n * @returns {Promise} The Promise to be fulfilled\n */\n request(configOrUrl, config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof configOrUrl === 'string') {\n config = config || {};\n config.url = configOrUrl;\n } else {\n config = configOrUrl || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n const transitional = config.transitional;\n\n if (transitional !== undefined) {\n validator.assertOptions(transitional, {\n silentJSONParsing: validators.transitional(validators.boolean),\n forcedJSONParsing: validators.transitional(validators.boolean),\n clarifyTimeoutError: validators.transitional(validators.boolean)\n }, false);\n }\n\n // Set config.method\n config.method = (config.method || this.defaults.method || 'get').toLowerCase();\n\n // Flatten headers\n const defaultHeaders = config.headers && utils.merge(\n config.headers.common,\n config.headers[config.method]\n );\n\n defaultHeaders && utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n function cleanHeaderConfig(method) {\n delete config.headers[method];\n }\n );\n\n config.headers = new AxiosHeaders(config.headers, defaultHeaders);\n\n // filter out skipped interceptors\n const requestInterceptorChain = [];\n let synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n return;\n }\n\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n const responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n let promise;\n let i = 0;\n let len;\n\n if (!synchronousRequestInterceptors) {\n const chain = [dispatchRequest.bind(this), undefined];\n chain.unshift.apply(chain, requestInterceptorChain);\n chain.push.apply(chain, responseInterceptorChain);\n len = chain.length;\n\n promise = Promise.resolve(config);\n\n while (i < len) {\n promise = promise.then(chain[i++], chain[i++]);\n }\n\n return promise;\n }\n\n len = requestInterceptorChain.length;\n\n let newConfig = config;\n\n i = 0;\n\n while (i < len) {\n const onFulfilled = requestInterceptorChain[i++];\n const onRejected = requestInterceptorChain[i++];\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected.call(this, error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest.call(this, newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n i = 0;\n len = responseInterceptorChain.length;\n\n while (i < len) {\n promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]);\n }\n\n return promise;\n }\n\n getUri(config) {\n config = mergeConfig(this.defaults, config);\n const fullPath = buildFullPath(config.baseURL, config.url);\n return buildURL(fullPath, config.params, config.paramsSerializer);\n }\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(mergeConfig(config || {}, {\n method,\n url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n\n function generateHTTPMethod(isForm) {\n return function httpMethod(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n headers: isForm ? {\n 'Content-Type': 'multipart/form-data'\n } : {},\n url,\n data\n }));\n };\n }\n\n Axios.prototype[method] = generateHTTPMethod();\n\n Axios.prototype[method + 'Form'] = generateHTTPMethod(true);\n});\n\nexport default Axios;\n","'use strict';\n\nimport CanceledError from './CanceledError.js';\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @param {Function} executor The executor function.\n *\n * @returns {CancelToken}\n */\nclass CancelToken {\n constructor(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n let resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n const token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then(cancel => {\n if (!token._listeners) return;\n\n let i = token._listeners.length;\n\n while (i-- > 0) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = onfulfilled => {\n let _resolve;\n // eslint-disable-next-line func-names\n const promise = new Promise(resolve => {\n token.subscribe(resolve);\n _resolve = resolve;\n }).then(onfulfilled);\n\n promise.cancel = function reject() {\n token.unsubscribe(_resolve);\n };\n\n return promise;\n };\n\n executor(function cancel(message, config, request) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new CanceledError(message, config, request);\n resolvePromise(token.reason);\n });\n }\n\n /**\n * Throws a `CanceledError` if cancellation has been requested.\n */\n throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n }\n\n /**\n * Subscribe to the cancel signal\n */\n\n subscribe(listener) {\n if (this.reason) {\n listener(this.reason);\n return;\n }\n\n if (this._listeners) {\n this._listeners.push(listener);\n } else {\n this._listeners = [listener];\n }\n }\n\n /**\n * Unsubscribe from the cancel signal\n */\n\n unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n const index = this._listeners.indexOf(listener);\n if (index !== -1) {\n this._listeners.splice(index, 1);\n }\n }\n\n /**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\n static source() {\n let cancel;\n const token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token,\n cancel\n };\n }\n}\n\nexport default CancelToken;\n","'use strict';\n\nimport utils from './utils.js';\nimport bind from './helpers/bind.js';\nimport Axios from './core/Axios.js';\nimport mergeConfig from './core/mergeConfig.js';\nimport defaults from './defaults/index.js';\nimport formDataToJSON from './helpers/formDataToJSON.js';\nimport CanceledError from './cancel/CanceledError.js';\nimport CancelToken from'./cancel/CancelToken.js';\nimport isCancel from'./cancel/isCancel.js';\nimport {VERSION} from './env/data.js';\nimport toFormData from './helpers/toFormData.js';\nimport AxiosError from './core/AxiosError.js';\nimport spread from './helpers/spread.js';\nimport isAxiosError from './helpers/isAxiosError.js';\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n *\n * @returns {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n const context = new Axios(defaultConfig);\n const instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context, {allOwnKeys: true});\n\n // Copy context to instance\n utils.extend(instance, context, null, {allOwnKeys: true});\n\n // Factory for creating new instances\n instance.create = function create(instanceConfig) {\n return createInstance(mergeConfig(defaultConfig, instanceConfig));\n };\n\n return instance;\n}\n\n// Create the default instance to be exported\nconst axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.CanceledError = CanceledError;\naxios.CancelToken = CancelToken;\naxios.isCancel = isCancel;\naxios.VERSION = VERSION;\naxios.toFormData = toFormData;\n\n// Expose AxiosError class\naxios.AxiosError = AxiosError;\n\n// alias for CanceledError for backward compatibility\naxios.Cancel = axios.CanceledError;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\n\naxios.spread = spread;\n\n// Expose isAxiosError\naxios.isAxiosError = isAxiosError;\n\naxios.formToJSON = thing => {\n return formDataToJSON(utils.isHTMLForm(thing) ? new FormData(thing) : thing);\n};\n\nexport default axios;\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 *\n * @returns {Function}\n */\nexport default function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n *\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nexport default function isAxiosError(payload) {\n return utils.isObject(payload) && (payload.isAxiosError === true);\n}\n"],"names":["bind","fn","thisArg","apply","arguments","toString","Object","prototype","getPrototypeOf","kindOf","cache","create","thing","str","call","slice","toLowerCase","kindOfTest","type","typeOfTest","isArray","Array","isUndefined","isArrayBuffer","isString","isFunction","isNumber","isObject","isPlainObject","val","isDate","isFile","isBlob","isFileList","isURLSearchParams","forEach","obj","allOwnKeys","i","l","length","keys","getOwnPropertyNames","len","key","isTypedArray","TypedArray","Uint8Array","isHTMLForm","hasOwnProperty","prop","isRegExp","reduceDescriptors","reducer","descriptors","getOwnPropertyDescriptors","reducedDescriptors","descriptor","name","defineProperties","utils","isBuffer","constructor","isFormData","pattern","FormData","isArrayBufferView","result","ArrayBuffer","isView","buffer","isBoolean","isStream","pipe","merge","assignValue","extend","a","b","trim","replace","stripBOM","content","charCodeAt","inherits","superConstructor","props","defineProperty","value","assign","toFlatObject","sourceObj","destObj","filter","propFilter","merged","endsWith","searchString","position","String","undefined","lastIndex","indexOf","toArray","arr","forEachEntry","iterator","Symbol","next","done","pair","matchAll","regExp","matches","exec","push","hasOwnProp","freezeMethods","enumerable","writable","set","Error","toObjectSet","arrayOrString","delimiter","define","split","toCamelCase","m","p1","p2","toUpperCase","noop","toFiniteNumber","defaultValue","Number","isFinite","AxiosError","message","code","config","request","response","this","captureStackTrace","stack","toJSON","description","number","fileName","lineNumber","columnNumber","status","from","error","customProps","axiosError","cause","browser","self","window","isVisitable","removeBrackets","renderKey","path","dots","concat","map","token","join","predicates","test","toFormData","formData","options","TypeError","envFormData","metaTokens","indexes","option","source","visitor","defaultVisitor","useBlob","Blob","append","toStringTag","convertValue","toISOString","Buffer","JSON","stringify","some","isFlatArray","el","index","exposedHelpers","build","pop","encode","charMap","encodeURIComponent","match","AxiosURLSearchParams","params","_pairs","buildURL","url","hashmarkIndex","_encode","serializerParams","encoder","InterceptorManager","handlers","use","fulfilled","rejected","synchronous","runWhen","eject","id","clear","h","transitionalDefaults","silentJSONParsing","forcedJSONParsing","clarifyTimeoutError","URLSearchParams$1","URLSearchParams","FormData$1","isStandardBrowserEnv","product","navigator","document","platform","isBrowser","classes","protocols","formDataToJSON","buildPath","target","isNumericKey","isLast","arrayToObject","entries","parsePropPath","cookies","write","expires","domain","secure","cookie","Date","toGMTString","read","RegExp","decodeURIComponent","remove","now","buildFullPath","baseURL","requestedURL","relativeURL","combineURLs","isURLSameOrigin","msie","userAgent","urlParsingNode","createElement","originURL","resolveURL","href","setAttribute","protocol","host","search","hash","hostname","port","pathname","charAt","location","requestURL","parsed","CanceledError","ERR_CANCELED","__CANCEL__","ignoreDuplicateOf","$internals","$defaults","normalizeHeader","header","normalizeValue","matchHeaderValue","context","findKey","_key","AxiosHeaders","headers","defaults","progressEventReducer","listener","isDownloadStream","bytesNotified","_speedometer","samplesCount","min","bytes","timestamps","firstSampleTS","head","tail","chunkLength","startedAt","bytesCount","passed","Math","round","speedometer","e","loaded","total","lengthComputable","progressBytes","rate","data","progress","estimated","xhrAdapter","Promise","resolve","reject","requestData","requestHeaders","normalize","responseType","onCanceled","cancelToken","unsubscribe","signal","removeEventListener","setContentType","XMLHttpRequest","auth","username","password","unescape","btoa","fullPath","onloadend","responseHeaders","getAllResponseHeaders","validateStatus","ERR_BAD_REQUEST","ERR_BAD_RESPONSE","floor","settle","err","responseText","statusText","open","method","paramsSerializer","timeout","onreadystatechange","readyState","responseURL","setTimeout","onabort","ECONNABORTED","onerror","ERR_NETWORK","ontimeout","timeoutErrorMessage","transitional","ETIMEDOUT","xsrfValue","withCredentials","xsrfCookieName","xsrfHeaderName","setRequestHeader","onDownloadProgress","addEventListener","onUploadProgress","upload","cancel","abort","subscribe","aborted","parseProtocol","send","valueOrRewrite","rewrite","setHeader","_value","_header","_rewrite","lHeader","get","parser","tokens","tokensRE","parseTokens","has","matcher","delete","deleted","deleteHeader","format","normalized","w","char","formatHeader","rawHeaders","line","substring","parseHeaders","accessor","accessors","defineAccessor","accessorName","methodName","arg1","arg2","arg3","configurable","buildAccessors","adapters","http","httpAdapter","xhr","adapters$1","nameOrAdapter","adapter","DEFAULT_CONTENT_TYPE","process","getDefaultAdapter","transformRequest","contentType","getContentType","hasJSONContentType","isObjectPayload","helpers","isNode","toURLEncodedForm","formSerializer","_FormData","env","rawValue","parse","stringifySafely","transformResponse","JSONRequested","strictJSONParsing","maxContentLength","maxBodyLength","common","Accept","transformData","fns","isCancel","throwIfCancellationRequested","throwIfRequested","dispatchRequest","then","reason","mergeConfig","config1","config2","getMergedValue","mergeDeepProperties","valueFromConfig2","defaultToConfig2","mergeDirectKeys","mergeMap","timeoutMessage","decompress","beforeRedirect","transport","httpAgent","httpsAgent","socketPath","responseEncoding","configValue","validators","deprecatedWarnings","validator","version","formatMessage","opt","desc","opts","ERR_DEPRECATED","console","warn","assertOptions","schema","allowUnknown","ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","Axios","instanceConfig","interceptors","configOrUrl","boolean","defaultHeaders","requestInterceptorChain","synchronousRequestInterceptors","interceptor","unshift","responseInterceptorChain","promise","chain","newConfig","onFulfilled","onRejected","getUri","generateHTTPMethod","isForm","CancelToken","executor","resolvePromise","_listeners","onfulfilled","_resolve","splice","static","c","axios","createInstance","defaultConfig","instance","VERSION","Cancel","all","promises","spread","callback","isAxiosError","payload","formToJSON"],"mappings":"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"} \ No newline at end of file diff --git a/dist/node/axios.cjs b/dist/node/axios.cjs new file mode 100644 index 0000000..e3e5063 --- /dev/null +++ b/dist/node/axios.cjs @@ -0,0 +1,3750 @@ +// Axios v1.0.0 Copyright (c) 2022 Matt Zabriskie and contributors +'use strict'; + +const FormData$1 = require('form-data'); +const url = require('url'); +const proxyFromEnv = require('proxy-from-env'); +const http = require('http'); +const https = require('https'); +const followRedirects = require('follow-redirects'); +const zlib = require('zlib'); +const stream = require('stream'); +const EventEmitter = require('events'); + +function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; } + +const FormData__default = /*#__PURE__*/_interopDefaultLegacy(FormData$1); +const url__default = /*#__PURE__*/_interopDefaultLegacy(url); +const http__default = /*#__PURE__*/_interopDefaultLegacy(http); +const https__default = /*#__PURE__*/_interopDefaultLegacy(https); +const followRedirects__default = /*#__PURE__*/_interopDefaultLegacy(followRedirects); +const zlib__default = /*#__PURE__*/_interopDefaultLegacy(zlib); +const stream__default = /*#__PURE__*/_interopDefaultLegacy(stream); +const EventEmitter__default = /*#__PURE__*/_interopDefaultLegacy(EventEmitter); + +function bind(fn, thisArg) { + return function wrap() { + return fn.apply(thisArg, arguments); + }; +} + +// utils is a library of generic helper functions non-specific to axios + +const {toString} = Object.prototype; +const {getPrototypeOf} = Object; + +const kindOf = (cache => thing => { + const str = toString.call(thing); + return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase()); +})(Object.create(null)); + +const kindOfTest = (type) => { + type = type.toLowerCase(); + return (thing) => kindOf(thing) === type +}; + +const typeOfTest = type => thing => typeof thing === type; + +/** + * Determine if a value is an Array + * + * @param {Object} val The value to test + * + * @returns {boolean} True if value is an Array, otherwise false + */ +const {isArray} = Array; + +/** + * Determine if a value is undefined + * + * @param {*} val The value to test + * + * @returns {boolean} True if the value is undefined, otherwise false + */ +const isUndefined = typeOfTest('undefined'); + +/** + * Determine if a value is a Buffer + * + * @param {*} val The value to test + * + * @returns {boolean} True if value is a Buffer, otherwise false + */ +function isBuffer(val) { + return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor) + && isFunction(val.constructor.isBuffer) && val.constructor.isBuffer(val); +} + +/** + * Determine if a value is an ArrayBuffer + * + * @param {*} val The value to test + * + * @returns {boolean} True if value is an ArrayBuffer, otherwise false + */ +const isArrayBuffer = kindOfTest('ArrayBuffer'); + + +/** + * Determine if a value is a view on an ArrayBuffer + * + * @param {*} val The value to test + * + * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false + */ +function isArrayBufferView(val) { + let result; + if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) { + result = ArrayBuffer.isView(val); + } else { + result = (val) && (val.buffer) && (isArrayBuffer(val.buffer)); + } + return result; +} + +/** + * Determine if a value is a String + * + * @param {*} val The value to test + * + * @returns {boolean} True if value is a String, otherwise false + */ +const isString = typeOfTest('string'); + +/** + * Determine if a value is a Function + * + * @param {*} val The value to test + * @returns {boolean} True if value is a Function, otherwise false + */ +const isFunction = typeOfTest('function'); + +/** + * Determine if a value is a Number + * + * @param {*} val The value to test + * + * @returns {boolean} True if value is a Number, otherwise false + */ +const isNumber = typeOfTest('number'); + +/** + * Determine if a value is an Object + * + * @param {*} thing The value to test + * + * @returns {boolean} True if value is an Object, otherwise false + */ +const isObject = (thing) => thing !== null && typeof thing === 'object'; + +/** + * Determine if a value is a Boolean + * + * @param {*} thing The value to test + * @returns {boolean} True if value is a Boolean, otherwise false + */ +const isBoolean = thing => thing === true || thing === false; + +/** + * Determine if a value is a plain Object + * + * @param {*} val The value to test + * + * @returns {boolean} True if value is a plain Object, otherwise false + */ +const isPlainObject = (val) => { + if (kindOf(val) !== 'object') { + return false; + } + + const prototype = getPrototypeOf(val); + return prototype === null || prototype === Object.prototype; +}; + +/** + * Determine if a value is a Date + * + * @param {*} val The value to test + * + * @returns {boolean} True if value is a Date, otherwise false + */ +const isDate = kindOfTest('Date'); + +/** + * Determine if a value is a File + * + * @param {*} val The value to test + * + * @returns {boolean} True if value is a File, otherwise false + */ +const isFile = kindOfTest('File'); + +/** + * Determine if a value is a Blob + * + * @param {*} val The value to test + * + * @returns {boolean} True if value is a Blob, otherwise false + */ +const isBlob = kindOfTest('Blob'); + +/** + * Determine if a value is a FileList + * + * @param {*} val The value to test + * + * @returns {boolean} True if value is a File, otherwise false + */ +const isFileList = kindOfTest('FileList'); + +/** + * Determine if a value is a Stream + * + * @param {*} val The value to test + * + * @returns {boolean} True if value is a Stream, otherwise false + */ +const isStream = (val) => isObject(val) && isFunction(val.pipe); + +/** + * Determine if a value is a FormData + * + * @param {*} thing The value to test + * + * @returns {boolean} True if value is an FormData, otherwise false + */ +const isFormData = (thing) => { + const pattern = '[object FormData]'; + return thing && ( + (typeof FormData === 'function' && thing instanceof FormData) || + toString.call(thing) === pattern || + (isFunction(thing.toString) && thing.toString() === pattern) + ); +}; + +/** + * Determine if a value is a URLSearchParams object + * + * @param {*} val The value to test + * + * @returns {boolean} True if value is a URLSearchParams object, otherwise false + */ +const isURLSearchParams = kindOfTest('URLSearchParams'); + +/** + * Trim excess whitespace off the beginning and end of a string + * + * @param {String} str The String to trim + * + * @returns {String} The String freed of excess whitespace + */ +const trim = (str) => str.trim ? + str.trim() : str.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, ''); + +/** + * Iterate over an Array or an Object invoking a function for each item. + * + * If `obj` is an Array callback will be called passing + * the value, index, and complete array for each item. + * + * If 'obj' is an Object callback will be called passing + * the value, key, and complete object for each property. + * + * @param {Object|Array} obj The object to iterate + * @param {Function} fn The callback to invoke for each item + * + * @param {Boolean} [allOwnKeys = false] + * @returns {void} + */ +function forEach(obj, fn, {allOwnKeys = false} = {}) { + // Don't bother if no value provided + if (obj === null || typeof obj === 'undefined') { + return; + } + + let i; + let l; + + // Force an array if not already something iterable + if (typeof obj !== 'object') { + /*eslint no-param-reassign:0*/ + obj = [obj]; + } + + if (isArray(obj)) { + // Iterate over array values + for (i = 0, l = obj.length; i < l; i++) { + fn.call(null, obj[i], i, obj); + } + } else { + // Iterate over object keys + const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj); + const len = keys.length; + let key; + + for (i = 0; i < len; i++) { + key = keys[i]; + fn.call(null, obj[key], key, obj); + } + } +} + +/** + * Accepts varargs expecting each argument to be an object, then + * immutably merges the properties of each object and returns result. + * + * When multiple objects contain the same key the later object in + * the arguments list will take precedence. + * + * Example: + * + * ```js + * var result = merge({foo: 123}, {foo: 456}); + * console.log(result.foo); // outputs 456 + * ``` + * + * @param {Object} obj1 Object to merge + * + * @returns {Object} Result of all merge properties + */ +function merge(/* obj1, obj2, obj3, ... */) { + const result = {}; + const assignValue = (val, key) => { + if (isPlainObject(result[key]) && isPlainObject(val)) { + result[key] = merge(result[key], val); + } else if (isPlainObject(val)) { + result[key] = merge({}, val); + } else if (isArray(val)) { + result[key] = val.slice(); + } else { + result[key] = val; + } + }; + + for (let i = 0, l = arguments.length; i < l; i++) { + arguments[i] && forEach(arguments[i], assignValue); + } + return result; +} + +/** + * Extends object a by mutably adding to it the properties of object b. + * + * @param {Object} a The object to be extended + * @param {Object} b The object to copy properties from + * @param {Object} thisArg The object to bind function to + * + * @param {Boolean} [allOwnKeys] + * @returns {Object} The resulting value of object a + */ +const extend = (a, b, thisArg, {allOwnKeys}= {}) => { + forEach(b, (val, key) => { + if (thisArg && isFunction(val)) { + a[key] = bind(val, thisArg); + } else { + a[key] = val; + } + }, {allOwnKeys}); + return a; +}; + +/** + * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM) + * + * @param {string} content with BOM + * + * @returns {string} content value without BOM + */ +const stripBOM = (content) => { + if (content.charCodeAt(0) === 0xFEFF) { + content = content.slice(1); + } + return content; +}; + +/** + * Inherit the prototype methods from one constructor into another + * @param {function} constructor + * @param {function} superConstructor + * @param {object} [props] + * @param {object} [descriptors] + * + * @returns {void} + */ +const inherits = (constructor, superConstructor, props, descriptors) => { + constructor.prototype = Object.create(superConstructor.prototype, descriptors); + constructor.prototype.constructor = constructor; + Object.defineProperty(constructor, 'super', { + value: superConstructor.prototype + }); + props && Object.assign(constructor.prototype, props); +}; + +/** + * Resolve object with deep prototype chain to a flat object + * @param {Object} sourceObj source object + * @param {Object} [destObj] + * @param {Function|Boolean} [filter] + * @param {Function} [propFilter] + * + * @returns {Object} + */ +const toFlatObject = (sourceObj, destObj, filter, propFilter) => { + let props; + let i; + let prop; + const merged = {}; + + destObj = destObj || {}; + // eslint-disable-next-line no-eq-null,eqeqeq + if (sourceObj == null) return destObj; + + do { + props = Object.getOwnPropertyNames(sourceObj); + i = props.length; + while (i-- > 0) { + prop = props[i]; + if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) { + destObj[prop] = sourceObj[prop]; + merged[prop] = true; + } + } + sourceObj = filter !== false && getPrototypeOf(sourceObj); + } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype); + + return destObj; +}; + +/** + * Determines whether a string ends with the characters of a specified string + * + * @param {String} str + * @param {String} searchString + * @param {Number} [position= 0] + * + * @returns {boolean} + */ +const endsWith = (str, searchString, position) => { + str = String(str); + if (position === undefined || position > str.length) { + position = str.length; + } + position -= searchString.length; + const lastIndex = str.indexOf(searchString, position); + return lastIndex !== -1 && lastIndex === position; +}; + + +/** + * Returns new array from array like object or null if failed + * + * @param {*} [thing] + * + * @returns {?Array} + */ +const toArray = (thing) => { + if (!thing) return null; + if (isArray(thing)) return thing; + let i = thing.length; + if (!isNumber(i)) return null; + const arr = new Array(i); + while (i-- > 0) { + arr[i] = thing[i]; + } + return arr; +}; + +/** + * Checking if the Uint8Array exists and if it does, it returns a function that checks if the + * thing passed in is an instance of Uint8Array + * + * @param {TypedArray} + * + * @returns {Array} + */ +// eslint-disable-next-line func-names +const isTypedArray = (TypedArray => { + // eslint-disable-next-line func-names + return thing => { + return TypedArray && thing instanceof TypedArray; + }; +})(typeof Uint8Array !== 'undefined' && getPrototypeOf(Uint8Array)); + +/** + * For each entry in the object, call the function with the key and value. + * + * @param {Object} obj - The object to iterate over. + * @param {Function} fn - The function to call for each entry. + * + * @returns {void} + */ +const forEachEntry = (obj, fn) => { + const generator = obj && obj[Symbol.iterator]; + + const iterator = generator.call(obj); + + let result; + + while ((result = iterator.next()) && !result.done) { + const pair = result.value; + fn.call(obj, pair[0], pair[1]); + } +}; + +/** + * It takes a regular expression and a string, and returns an array of all the matches + * + * @param {string} regExp - The regular expression to match against. + * @param {string} str - The string to search. + * + * @returns {Array} + */ +const matchAll = (regExp, str) => { + let matches; + const arr = []; + + while ((matches = regExp.exec(str)) !== null) { + arr.push(matches); + } + + return arr; +}; + +/* Checking if the kindOfTest function returns true when passed an HTMLFormElement. */ +const isHTMLForm = kindOfTest('HTMLFormElement'); + +const toCamelCase = str => { + return str.toLowerCase().replace(/[_-\s]([a-z\d])(\w*)/g, + function replacer(m, p1, p2) { + return p1.toUpperCase() + p2; + } + ); +}; + +/* Creating a function that will check if an object has a property. */ +const hasOwnProperty = (({hasOwnProperty}) => (obj, prop) => hasOwnProperty.call(obj, prop))(Object.prototype); + +/** + * Determine if a value is a RegExp object + * + * @param {*} val The value to test + * + * @returns {boolean} True if value is a RegExp object, otherwise false + */ +const isRegExp = kindOfTest('RegExp'); + +const reduceDescriptors = (obj, reducer) => { + const descriptors = Object.getOwnPropertyDescriptors(obj); + const reducedDescriptors = {}; + + forEach(descriptors, (descriptor, name) => { + if (reducer(descriptor, name, obj) !== false) { + reducedDescriptors[name] = descriptor; + } + }); + + Object.defineProperties(obj, reducedDescriptors); +}; + +/** + * Makes all methods read-only + * @param {Object} obj + */ + +const freezeMethods = (obj) => { + reduceDescriptors(obj, (descriptor, name) => { + const value = obj[name]; + + if (!isFunction(value)) return; + + descriptor.enumerable = false; + + if ('writable' in descriptor) { + descriptor.writable = false; + return; + } + + if (!descriptor.set) { + descriptor.set = () => { + throw Error('Can not read-only method \'' + name + '\''); + }; + } + }); +}; + +const toObjectSet = (arrayOrString, delimiter) => { + const obj = {}; + + const define = (arr) => { + arr.forEach(value => { + obj[value] = true; + }); + }; + + isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter)); + + return obj; +}; + +const noop = () => {}; + +const toFiniteNumber = (value, defaultValue) => { + value = +value; + return Number.isFinite(value) ? value : defaultValue; +}; + +const utils = { + isArray, + isArrayBuffer, + isBuffer, + isFormData, + isArrayBufferView, + isString, + isNumber, + isBoolean, + isObject, + isPlainObject, + isUndefined, + isDate, + isFile, + isBlob, + isRegExp, + isFunction, + isStream, + isURLSearchParams, + isTypedArray, + isFileList, + forEach, + merge, + extend, + trim, + stripBOM, + inherits, + toFlatObject, + kindOf, + kindOfTest, + endsWith, + toArray, + forEachEntry, + matchAll, + isHTMLForm, + hasOwnProperty, + hasOwnProp: hasOwnProperty, // an alias to avoid ESLint no-prototype-builtins detection + reduceDescriptors, + freezeMethods, + toObjectSet, + toCamelCase, + noop, + toFiniteNumber +}; + +/** + * Create an Error with the specified message, config, error code, request and response. + * + * @param {string} message The error message. + * @param {string} [code] The error code (for example, 'ECONNABORTED'). + * @param {Object} [config] The config. + * @param {Object} [request] The request. + * @param {Object} [response] The response. + * + * @returns {Error} The created error. + */ +function AxiosError(message, code, config, request, response) { + Error.call(this); + + if (Error.captureStackTrace) { + Error.captureStackTrace(this, this.constructor); + } else { + this.stack = (new Error()).stack; + } + + this.message = message; + this.name = 'AxiosError'; + code && (this.code = code); + config && (this.config = config); + request && (this.request = request); + response && (this.response = response); +} + +utils.inherits(AxiosError, Error, { + toJSON: function toJSON() { + return { + // Standard + message: this.message, + name: this.name, + // Microsoft + description: this.description, + number: this.number, + // Mozilla + fileName: this.fileName, + lineNumber: this.lineNumber, + columnNumber: this.columnNumber, + stack: this.stack, + // Axios + config: this.config, + code: this.code, + status: this.response && this.response.status ? this.response.status : null + }; + } +}); + +const prototype$1 = AxiosError.prototype; +const descriptors = {}; + +[ + 'ERR_BAD_OPTION_VALUE', + 'ERR_BAD_OPTION', + 'ECONNABORTED', + 'ETIMEDOUT', + 'ERR_NETWORK', + 'ERR_FR_TOO_MANY_REDIRECTS', + 'ERR_DEPRECATED', + 'ERR_BAD_RESPONSE', + 'ERR_BAD_REQUEST', + 'ERR_CANCELED', + 'ERR_NOT_SUPPORT', + 'ERR_INVALID_URL' +// eslint-disable-next-line func-names +].forEach(code => { + descriptors[code] = {value: code}; +}); + +Object.defineProperties(AxiosError, descriptors); +Object.defineProperty(prototype$1, 'isAxiosError', {value: true}); + +// eslint-disable-next-line func-names +AxiosError.from = (error, code, config, request, response, customProps) => { + const axiosError = Object.create(prototype$1); + + utils.toFlatObject(error, axiosError, function filter(obj) { + return obj !== Error.prototype; + }, prop => { + return prop !== 'isAxiosError'; + }); + + AxiosError.call(axiosError, error.message, code, config, request, response); + + axiosError.cause = error; + + axiosError.name = error.name; + + customProps && Object.assign(axiosError, customProps); + + return axiosError; +}; + +/** + * Determines if the given thing is a array or js object. + * + * @param {string} thing - The object or array to be visited. + * + * @returns {boolean} + */ +function isVisitable(thing) { + return utils.isPlainObject(thing) || utils.isArray(thing); +} + +/** + * It removes the brackets from the end of a string + * + * @param {string} key - The key of the parameter. + * + * @returns {string} the key without the brackets. + */ +function removeBrackets(key) { + return utils.endsWith(key, '[]') ? key.slice(0, -2) : key; +} + +/** + * It takes a path, a key, and a boolean, and returns a string + * + * @param {string} path - The path to the current key. + * @param {string} key - The key of the current object being iterated over. + * @param {string} dots - If true, the key will be rendered with dots instead of brackets. + * + * @returns {string} The path to the current key. + */ +function renderKey(path, key, dots) { + if (!path) return key; + return path.concat(key).map(function each(token, i) { + // eslint-disable-next-line no-param-reassign + token = removeBrackets(token); + return !dots && i ? '[' + token + ']' : token; + }).join(dots ? '.' : ''); +} + +/** + * If the array is an array and none of its elements are visitable, then it's a flat array. + * + * @param {Array} arr - The array to check + * + * @returns {boolean} + */ +function isFlatArray(arr) { + return utils.isArray(arr) && !arr.some(isVisitable); +} + +const predicates = utils.toFlatObject(utils, {}, null, function filter(prop) { + return /^is[A-Z]/.test(prop); +}); + +/** + * If the thing is a FormData object, return true, otherwise return false. + * + * @param {unknown} thing - The thing to check. + * + * @returns {boolean} + */ +function isSpecCompliant(thing) { + return thing && utils.isFunction(thing.append) && thing[Symbol.toStringTag] === 'FormData' && thing[Symbol.iterator]; +} + +/** + * Convert a data object to FormData + * + * @param {Object} obj + * @param {?Object} [formData] + * @param {?Object} [options] + * @param {Function} [options.visitor] + * @param {Boolean} [options.metaTokens = true] + * @param {Boolean} [options.dots = false] + * @param {?Boolean} [options.indexes = false] + * + * @returns {Object} + **/ + +/** + * It converts an object into a FormData object + * + * @param {Object} obj - The object to convert to form data. + * @param {string} formData - The FormData object to append to. + * @param {Object} options + * + * @returns + */ +function toFormData(obj, formData, options) { + if (!utils.isObject(obj)) { + throw new TypeError('target must be an object'); + } + + // eslint-disable-next-line no-param-reassign + formData = formData || new (FormData__default["default"] || FormData)(); + + // eslint-disable-next-line no-param-reassign + options = utils.toFlatObject(options, { + metaTokens: true, + dots: false, + indexes: false + }, false, function defined(option, source) { + // eslint-disable-next-line no-eq-null,eqeqeq + return !utils.isUndefined(source[option]); + }); + + const metaTokens = options.metaTokens; + // eslint-disable-next-line no-use-before-define + const visitor = options.visitor || defaultVisitor; + const dots = options.dots; + const indexes = options.indexes; + const _Blob = options.Blob || typeof Blob !== 'undefined' && Blob; + const useBlob = _Blob && isSpecCompliant(formData); + + if (!utils.isFunction(visitor)) { + throw new TypeError('visitor must be a function'); + } + + function convertValue(value) { + if (value === null) return ''; + + if (utils.isDate(value)) { + return value.toISOString(); + } + + if (!useBlob && utils.isBlob(value)) { + throw new AxiosError('Blob is not supported. Use a Buffer instead.'); + } + + if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) { + return useBlob && typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value); + } + + return value; + } + + /** + * Default visitor. + * + * @param {*} value + * @param {String|Number} key + * @param {Array} path + * @this {FormData} + * + * @returns {boolean} return true to visit the each prop of the value recursively + */ + function defaultVisitor(value, key, path) { + let arr = value; + + if (value && !path && typeof value === 'object') { + if (utils.endsWith(key, '{}')) { + // eslint-disable-next-line no-param-reassign + key = metaTokens ? key : key.slice(0, -2); + // eslint-disable-next-line no-param-reassign + value = JSON.stringify(value); + } else if ( + (utils.isArray(value) && isFlatArray(value)) || + (utils.isFileList(value) || utils.endsWith(key, '[]') && (arr = utils.toArray(value)) + )) { + // eslint-disable-next-line no-param-reassign + key = removeBrackets(key); + + arr.forEach(function each(el, index) { + !utils.isUndefined(el) && formData.append( + // eslint-disable-next-line no-nested-ternary + indexes === true ? renderKey([key], index, dots) : (indexes === null ? key : key + '[]'), + convertValue(el) + ); + }); + return false; + } + } + + if (isVisitable(value)) { + return true; + } + + formData.append(renderKey(path, key, dots), convertValue(value)); + + return false; + } + + const stack = []; + + const exposedHelpers = Object.assign(predicates, { + defaultVisitor, + convertValue, + isVisitable + }); + + function build(value, path) { + if (utils.isUndefined(value)) return; + + if (stack.indexOf(value) !== -1) { + throw Error('Circular reference detected in ' + path.join('.')); + } + + stack.push(value); + + utils.forEach(value, function each(el, key) { + const result = !utils.isUndefined(el) && visitor.call( + formData, el, utils.isString(key) ? key.trim() : key, path, exposedHelpers + ); + + if (result === true) { + build(el, path ? path.concat(key) : [key]); + } + }); + + stack.pop(); + } + + if (!utils.isObject(obj)) { + throw new TypeError('data must be an object'); + } + + build(obj); + + return formData; +} + +/** + * It encodes a string by replacing all characters that are not in the unreserved set with + * their percent-encoded equivalents + * + * @param {string} str - The string to encode. + * + * @returns {string} The encoded string. + */ +function encode$1(str) { + const charMap = { + '!': '%21', + "'": '%27', + '(': '%28', + ')': '%29', + '~': '%7E', + '%20': '+', + '%00': '\x00' + }; + return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) { + return charMap[match]; + }); +} + +/** + * It takes a params object and converts it to a FormData object + * + * @param {Object} params - The parameters to be converted to a FormData object. + * @param {Object} options - The options object passed to the Axios constructor. + * + * @returns {void} + */ +function AxiosURLSearchParams(params, options) { + this._pairs = []; + + params && toFormData(params, this, options); +} + +const prototype = AxiosURLSearchParams.prototype; + +prototype.append = function append(name, value) { + this._pairs.push([name, value]); +}; + +prototype.toString = function toString(encoder) { + const _encode = encoder ? function(value) { + return encoder.call(this, value, encode$1); + } : encode$1; + + return this._pairs.map(function each(pair) { + return _encode(pair[0]) + '=' + _encode(pair[1]); + }, '').join('&'); +}; + +/** + * It replaces all instances of the characters `:`, `$`, `,`, `+`, `[`, and `]` with their + * URI encoded counterparts + * + * @param {string} val The value to be encoded. + * + * @returns {string} The encoded value. + */ +function encode(val) { + return encodeURIComponent(val). + replace(/%3A/gi, ':'). + replace(/%24/g, '$'). + replace(/%2C/gi, ','). + replace(/%20/g, '+'). + replace(/%5B/gi, '['). + replace(/%5D/gi, ']'); +} + +/** + * Build a URL by appending params to the end + * + * @param {string} url The base of the url (e.g., http://www.google.com) + * @param {object} [params] The params to be appended + * @param {?object} options + * + * @returns {string} The formatted url + */ +function buildURL(url, params, options) { + /*eslint no-param-reassign:0*/ + if (!params) { + return url; + } + + const hashmarkIndex = url.indexOf('#'); + + if (hashmarkIndex !== -1) { + url = url.slice(0, hashmarkIndex); + } + + const _encode = options && options.encode || encode; + + const serializerParams = utils.isURLSearchParams(params) ? + params.toString() : + new AxiosURLSearchParams(params, options).toString(_encode); + + if (serializerParams) { + url += (url.indexOf('?') === -1 ? '?' : '&') + serializerParams; + } + + return url; +} + +class InterceptorManager { + constructor() { + this.handlers = []; + } + + /** + * Add a new interceptor to the stack + * + * @param {Function} fulfilled The function to handle `then` for a `Promise` + * @param {Function} rejected The function to handle `reject` for a `Promise` + * + * @return {Number} An ID used to remove interceptor later + */ + use(fulfilled, rejected, options) { + this.handlers.push({ + fulfilled, + rejected, + synchronous: options ? options.synchronous : false, + runWhen: options ? options.runWhen : null + }); + return this.handlers.length - 1; + } + + /** + * Remove an interceptor from the stack + * + * @param {Number} id The ID that was returned by `use` + * + * @returns {Boolean} `true` if the interceptor was removed, `false` otherwise + */ + eject(id) { + if (this.handlers[id]) { + this.handlers[id] = null; + } + } + + /** + * Clear all interceptors from the stack + * + * @returns {void} + */ + clear() { + if (this.handlers) { + this.handlers = []; + } + } + + /** + * Iterate over all the registered interceptors + * + * This method is particularly useful for skipping over any + * interceptors that may have become `null` calling `eject`. + * + * @param {Function} fn The function to call for each interceptor + * + * @returns {void} + */ + forEach(fn) { + utils.forEach(this.handlers, function forEachHandler(h) { + if (h !== null) { + fn(h); + } + }); + } +} + +const transitionalDefaults = { + silentJSONParsing: true, + forcedJSONParsing: true, + clarifyTimeoutError: false +}; + +const URLSearchParams = url__default["default"].URLSearchParams; + +const platform = { + isNode: true, + classes: { + URLSearchParams, + FormData: FormData__default["default"], + Blob: typeof Blob !== 'undefined' && Blob || null + }, + protocols: [ 'http', 'https', 'file', 'data' ] +}; + +function toURLEncodedForm(data, options) { + return toFormData(data, new platform.classes.URLSearchParams(), Object.assign({ + visitor: function(value, key, path, helpers) { + if (utils.isBuffer(value)) { + this.append(key, value.toString('base64')); + return false; + } + + return helpers.defaultVisitor.apply(this, arguments); + } + }, options)); +} + +/** + * It takes a string like `foo[x][y][z]` and returns an array like `['foo', 'x', 'y', 'z'] + * + * @param {string} name - The name of the property to get. + * + * @returns An array of strings. + */ +function parsePropPath(name) { + // foo[x][y][z] + // foo.x.y.z + // foo-x-y-z + // foo x y z + return utils.matchAll(/\w+|\[(\w*)]/g, name).map(match => { + return match[0] === '[]' ? '' : match[1] || match[0]; + }); +} + +/** + * Convert an array to an object. + * + * @param {Array} arr - The array to convert to an object. + * + * @returns An object with the same keys and values as the array. + */ +function arrayToObject(arr) { + const obj = {}; + const keys = Object.keys(arr); + let i; + const len = keys.length; + let key; + for (i = 0; i < len; i++) { + key = keys[i]; + obj[key] = arr[key]; + } + return obj; +} + +/** + * It takes a FormData object and returns a JavaScript object + * + * @param {string} formData The FormData object to convert to JSON. + * + * @returns {Object | null} The converted object. + */ +function formDataToJSON(formData) { + function buildPath(path, value, target, index) { + let name = path[index++]; + const isNumericKey = Number.isFinite(+name); + const isLast = index >= path.length; + name = !name && utils.isArray(target) ? target.length : name; + + if (isLast) { + if (utils.hasOwnProp(target, name)) { + target[name] = [target[name], value]; + } else { + target[name] = value; + } + + return !isNumericKey; + } + + if (!target[name] || !utils.isObject(target[name])) { + target[name] = []; + } + + const result = buildPath(path, value, target[name], index); + + if (result && utils.isArray(target[name])) { + target[name] = arrayToObject(target[name]); + } + + return !isNumericKey; + } + + if (utils.isFormData(formData) && utils.isFunction(formData.entries)) { + const obj = {}; + + utils.forEachEntry(formData, (name, value) => { + buildPath(parsePropPath(name), value, obj, 0); + }); + + return obj; + } + + return null; +} + +/** + * Resolve or reject a Promise based on response status. + * + * @param {Function} resolve A function that resolves the promise. + * @param {Function} reject A function that rejects the promise. + * @param {object} response The response. + * + * @returns {object} The response. + */ +function settle(resolve, reject, response) { + const validateStatus = response.config.validateStatus; + if (!response.status || !validateStatus || validateStatus(response.status)) { + resolve(response); + } else { + reject(new AxiosError( + 'Request failed with status code ' + response.status, + [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4], + response.config, + response.request, + response + )); + } +} + +/** + * Determines whether the specified URL is absolute + * + * @param {string} url The URL to test + * + * @returns {boolean} True if the specified URL is absolute, otherwise false + */ +function isAbsoluteURL(url) { + // A URL is considered absolute if it begins with "://" or "//" (protocol-relative URL). + // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed + // by any combination of letters, digits, plus, period, or hyphen. + return /^([a-z][a-z\d+\-.]*:)?\/\//i.test(url); +} + +/** + * Creates a new URL by combining the specified URLs + * + * @param {string} baseURL The base URL + * @param {string} relativeURL The relative URL + * + * @returns {string} The combined URL + */ +function combineURLs(baseURL, relativeURL) { + return relativeURL + ? baseURL.replace(/\/+$/, '') + '/' + relativeURL.replace(/^\/+/, '') + : baseURL; +} + +/** + * Creates a new URL by combining the baseURL with the requestedURL, + * only when the requestedURL is not already an absolute URL. + * If the requestURL is absolute, this function returns the requestedURL untouched. + * + * @param {string} baseURL The base URL + * @param {string} requestedURL Absolute or relative URL to combine + * + * @returns {string} The combined full path + */ +function buildFullPath(baseURL, requestedURL) { + if (baseURL && !isAbsoluteURL(requestedURL)) { + return combineURLs(baseURL, requestedURL); + } + return requestedURL; +} + +const VERSION = "1.0.0"; + +/** + * A `CanceledError` is an object that is thrown when an operation is canceled. + * + * @param {string=} message The message. + * @param {Object=} config The config. + * @param {Object=} request The request. + * + * @returns {CanceledError} The created error. + */ +function CanceledError(message, config, request) { + // eslint-disable-next-line no-eq-null,eqeqeq + AxiosError.call(this, message == null ? 'canceled' : message, AxiosError.ERR_CANCELED, config, request); + this.name = 'CanceledError'; +} + +utils.inherits(CanceledError, AxiosError, { + __CANCEL__: true +}); + +function parseProtocol(url) { + const match = /^([-+\w]{1,25})(:?\/\/|:)/.exec(url); + return match && match[1] || ''; +} + +const DATA_URL_PATTERN = /^(?:([^;]+);)?(?:[^;]+;)?(base64|),([\s\S]*)$/; + +/** + * Parse data uri to a Buffer or Blob + * + * @param {String} uri + * @param {?Boolean} asBlob + * @param {?Object} options + * @param {?Function} options.Blob + * + * @returns {Buffer|Blob} + */ +function fromDataURI(uri, asBlob, options) { + const _Blob = options && options.Blob || platform.classes.Blob; + const protocol = parseProtocol(uri); + + if (asBlob === undefined && _Blob) { + asBlob = true; + } + + if (protocol === 'data') { + uri = protocol.length ? uri.slice(protocol.length + 1) : uri; + + const match = DATA_URL_PATTERN.exec(uri); + + if (!match) { + throw new AxiosError('Invalid URL', AxiosError.ERR_INVALID_URL); + } + + const mime = match[1]; + const isBase64 = match[2]; + const body = match[3]; + const buffer = Buffer.from(decodeURIComponent(body), isBase64 ? 'base64' : 'utf8'); + + if (asBlob) { + if (!_Blob) { + throw new AxiosError('Blob is not supported', AxiosError.ERR_NOT_SUPPORT); + } + + return new _Blob([buffer], {type: mime}); + } + + return buffer; + } + + throw new AxiosError('Unsupported protocol ' + protocol, AxiosError.ERR_NOT_SUPPORT); +} + +// RawAxiosHeaders whose duplicates are ignored by node +// c.f. https://nodejs.org/api/http.html#http_message_headers +const ignoreDuplicateOf = utils.toObjectSet([ + 'age', 'authorization', 'content-length', 'content-type', 'etag', + 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since', + 'last-modified', 'location', 'max-forwards', 'proxy-authorization', + 'referer', 'retry-after', 'user-agent' +]); + +/** + * Parse headers into an object + * + * ``` + * Date: Wed, 27 Aug 2014 08:58:49 GMT + * Content-Type: application/json + * Connection: keep-alive + * Transfer-Encoding: chunked + * ``` + * + * @param {String} rawHeaders Headers needing to be parsed + * + * @returns {Object} Headers parsed into an object + */ +const parseHeaders = rawHeaders => { + const parsed = {}; + let key; + let val; + let i; + + rawHeaders && rawHeaders.split('\n').forEach(function parser(line) { + i = line.indexOf(':'); + key = line.substring(0, i).trim().toLowerCase(); + val = line.substring(i + 1).trim(); + + if (!key || (parsed[key] && ignoreDuplicateOf[key])) { + return; + } + + if (key === 'set-cookie') { + if (parsed[key]) { + parsed[key].push(val); + } else { + parsed[key] = [val]; + } + } else { + parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val; + } + }); + + return parsed; +}; + +const $internals = Symbol('internals'); +const $defaults = Symbol('defaults'); + +function normalizeHeader(header) { + return header && String(header).trim().toLowerCase(); +} + +function normalizeValue(value) { + if (value === false || value == null) { + return value; + } + + return String(value); +} + +function parseTokens(str) { + const tokens = Object.create(null); + const tokensRE = /([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g; + let match; + + while ((match = tokensRE.exec(str))) { + tokens[match[1]] = match[2]; + } + + return tokens; +} + +function matchHeaderValue(context, value, header, filter) { + if (utils.isFunction(filter)) { + return filter.call(this, value, header); + } + + if (!utils.isString(value)) return; + + if (utils.isString(filter)) { + return value.indexOf(filter) !== -1; + } + + if (utils.isRegExp(filter)) { + return filter.test(value); + } +} + +function formatHeader(header) { + return header.trim() + .toLowerCase().replace(/([a-z\d])(\w*)/g, (w, char, str) => { + return char.toUpperCase() + str; + }); +} + +function buildAccessors(obj, header) { + const accessorName = utils.toCamelCase(' ' + header); + + ['get', 'set', 'has'].forEach(methodName => { + Object.defineProperty(obj, methodName + accessorName, { + value: function(arg1, arg2, arg3) { + return this[methodName].call(this, header, arg1, arg2, arg3); + }, + configurable: true + }); + }); +} + +function findKey(obj, key) { + key = key.toLowerCase(); + const keys = Object.keys(obj); + let i = keys.length; + let _key; + while (i-- > 0) { + _key = keys[i]; + if (key === _key.toLowerCase()) { + return _key; + } + } + return null; +} + +function AxiosHeaders(headers, defaults) { + headers && this.set(headers); + this[$defaults] = defaults || null; +} + +Object.assign(AxiosHeaders.prototype, { + set: function(header, valueOrRewrite, rewrite) { + const self = this; + + function setHeader(_value, _header, _rewrite) { + const lHeader = normalizeHeader(_header); + + if (!lHeader) { + throw new Error('header name must be a non-empty string'); + } + + const key = findKey(self, lHeader); + + if (key && _rewrite !== true && (self[key] === false || _rewrite === false)) { + return; + } + + if (utils.isArray(_value)) { + _value = _value.map(normalizeValue); + } else { + _value = normalizeValue(_value); + } + + self[key || _header] = _value; + } + + if (utils.isPlainObject(header)) { + utils.forEach(header, (_value, _header) => { + setHeader(_value, _header, valueOrRewrite); + }); + } else { + setHeader(valueOrRewrite, header, rewrite); + } + + return this; + }, + + get: function(header, parser) { + header = normalizeHeader(header); + + if (!header) return undefined; + + const key = findKey(this, header); + + if (key) { + const value = this[key]; + + if (!parser) { + return value; + } + + if (parser === true) { + return parseTokens(value); + } + + if (utils.isFunction(parser)) { + return parser.call(this, value, key); + } + + if (utils.isRegExp(parser)) { + return parser.exec(value); + } + + throw new TypeError('parser must be boolean|regexp|function'); + } + }, + + has: function(header, matcher) { + header = normalizeHeader(header); + + if (header) { + const key = findKey(this, header); + + return !!(key && (!matcher || matchHeaderValue(this, this[key], key, matcher))); + } + + return false; + }, + + delete: function(header, matcher) { + const self = this; + let deleted = false; + + function deleteHeader(_header) { + _header = normalizeHeader(_header); + + if (_header) { + const key = findKey(self, _header); + + if (key && (!matcher || matchHeaderValue(self, self[key], key, matcher))) { + delete self[key]; + + deleted = true; + } + } + } + + if (utils.isArray(header)) { + header.forEach(deleteHeader); + } else { + deleteHeader(header); + } + + return deleted; + }, + + clear: function() { + return Object.keys(this).forEach(this.delete.bind(this)); + }, + + normalize: function(format) { + const self = this; + const headers = {}; + + utils.forEach(this, (value, header) => { + const key = findKey(headers, header); + + if (key) { + self[key] = normalizeValue(value); + delete self[header]; + return; + } + + const normalized = format ? formatHeader(header) : String(header).trim(); + + if (normalized !== header) { + delete self[header]; + } + + self[normalized] = normalizeValue(value); + + headers[normalized] = true; + }); + + return this; + }, + + toJSON: function() { + const obj = Object.create(null); + + utils.forEach(Object.assign({}, this[$defaults] || null, this), + (value, header) => { + if (value == null || value === false) return; + obj[header] = utils.isArray(value) ? value.join(', ') : value; + }); + + return obj; + } +}); + +Object.assign(AxiosHeaders, { + from: function(thing) { + if (utils.isString(thing)) { + return new this(parseHeaders(thing)); + } + return thing instanceof this ? thing : new this(thing); + }, + + accessor: function(header) { + const internals = this[$internals] = (this[$internals] = { + accessors: {} + }); + + const accessors = internals.accessors; + const prototype = this.prototype; + + function defineAccessor(_header) { + const lHeader = normalizeHeader(_header); + + if (!accessors[lHeader]) { + buildAccessors(prototype, _header); + accessors[lHeader] = true; + } + } + + utils.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header); + + return this; + } +}); + +AxiosHeaders.accessor(['Content-Type', 'Content-Length', 'Accept', 'Accept-Encoding', 'User-Agent']); + +utils.freezeMethods(AxiosHeaders.prototype); +utils.freezeMethods(AxiosHeaders); + +/** + * Throttle decorator + * @param {Function} fn + * @param {Number} freq + * @return {Function} + */ +function throttle(fn, freq) { + let timestamp = 0; + const threshold = 1000 / freq; + let timer = null; + return function throttled(force, args) { + const now = Date.now(); + if (force || now - timestamp > threshold) { + if (timer) { + clearTimeout(timer); + timer = null; + } + timestamp = now; + return fn.apply(null, args); + } + if (!timer) { + timer = setTimeout(() => { + timer = null; + timestamp = Date.now(); + return fn.apply(null, args); + }, threshold - (now - timestamp)); + } + }; +} + +/** + * Calculate data maxRate + * @param {Number} [samplesCount= 10] + * @param {Number} [min= 1000] + * @returns {Function} + */ +function speedometer(samplesCount, min) { + samplesCount = samplesCount || 10; + const bytes = new Array(samplesCount); + const timestamps = new Array(samplesCount); + let head = 0; + let tail = 0; + let firstSampleTS; + + min = min !== undefined ? min : 1000; + + return function push(chunkLength) { + const now = Date.now(); + + const startedAt = timestamps[tail]; + + if (!firstSampleTS) { + firstSampleTS = now; + } + + bytes[head] = chunkLength; + timestamps[head] = now; + + let i = tail; + let bytesCount = 0; + + while (i !== head) { + bytesCount += bytes[i++]; + i = i % samplesCount; + } + + head = (head + 1) % samplesCount; + + if (head === tail) { + tail = (tail + 1) % samplesCount; + } + + if (now - firstSampleTS < min) { + return; + } + + const passed = startedAt && now - startedAt; + + return passed ? Math.round(bytesCount * 1000 / passed) : undefined; + }; +} + +const kInternals = Symbol('internals'); + +class AxiosTransformStream extends stream__default["default"].Transform{ + constructor(options) { + options = utils.toFlatObject(options, { + maxRate: 0, + chunkSize: 64 * 1024, + minChunkSize: 100, + timeWindow: 500, + ticksRate: 2, + samplesCount: 15 + }, null, (prop, source) => { + return !utils.isUndefined(source[prop]); + }); + + super({ + readableHighWaterMark: options.chunkSize + }); + + const self = this; + + const internals = this[kInternals] = { + length: options.length, + timeWindow: options.timeWindow, + ticksRate: options.ticksRate, + chunkSize: options.chunkSize, + maxRate: options.maxRate, + minChunkSize: options.minChunkSize, + bytesSeen: 0, + isCaptured: false, + notifiedBytesLoaded: 0, + ts: Date.now(), + bytes: 0, + onReadCallback: null + }; + + const _speedometer = speedometer(internals.ticksRate * options.samplesCount, internals.timeWindow); + + this.on('newListener', event => { + if (event === 'progress') { + if (!internals.isCaptured) { + internals.isCaptured = true; + } + } + }); + + let bytesNotified = 0; + + internals.updateProgress = throttle(function throttledHandler() { + const totalBytes = internals.length; + const bytesTransferred = internals.bytesSeen; + const progressBytes = bytesTransferred - bytesNotified; + if (!progressBytes || self.destroyed) return; + + const rate = _speedometer(progressBytes); + + bytesNotified = bytesTransferred; + + process.nextTick(() => { + self.emit('progress', { + 'loaded': bytesTransferred, + 'total': totalBytes, + 'progress': totalBytes ? (bytesTransferred / totalBytes) : undefined, + 'bytes': progressBytes, + 'rate': rate ? rate : undefined, + 'estimated': rate && totalBytes && bytesTransferred <= totalBytes ? + (totalBytes - bytesTransferred) / rate : undefined + }); + }); + }, internals.ticksRate); + + const onFinish = () => { + internals.updateProgress(true); + }; + + this.once('end', onFinish); + this.once('error', onFinish); + } + + _read(size) { + const internals = this[kInternals]; + + if (internals.onReadCallback) { + internals.onReadCallback(); + } + + return super._read(size); + } + + _transform(chunk, encoding, callback) { + const self = this; + const internals = this[kInternals]; + const maxRate = internals.maxRate; + + const readableHighWaterMark = this.readableHighWaterMark; + + const timeWindow = internals.timeWindow; + + const divider = 1000 / timeWindow; + const bytesThreshold = (maxRate / divider); + const minChunkSize = internals.minChunkSize !== false ? Math.max(internals.minChunkSize, bytesThreshold * 0.01) : 0; + + function pushChunk(_chunk, _callback) { + const bytes = Buffer.byteLength(_chunk); + internals.bytesSeen += bytes; + internals.bytes += bytes; + + if (internals.isCaptured) { + internals.updateProgress(); + } + + if (self.push(_chunk)) { + process.nextTick(_callback); + } else { + internals.onReadCallback = () => { + internals.onReadCallback = null; + process.nextTick(_callback); + }; + } + } + + const transformChunk = (_chunk, _callback) => { + const chunkSize = Buffer.byteLength(_chunk); + let chunkRemainder = null; + let maxChunkSize = readableHighWaterMark; + let bytesLeft; + let passed = 0; + + if (maxRate) { + const now = Date.now(); + + if (!internals.ts || (passed = (now - internals.ts)) >= timeWindow) { + internals.ts = now; + bytesLeft = bytesThreshold - internals.bytes; + internals.bytes = bytesLeft < 0 ? -bytesLeft : 0; + passed = 0; + } + + bytesLeft = bytesThreshold - internals.bytes; + } + + if (maxRate) { + if (bytesLeft <= 0) { + // next time window + return setTimeout(() => { + _callback(null, _chunk); + }, timeWindow - passed); + } + + if (bytesLeft < maxChunkSize) { + maxChunkSize = bytesLeft; + } + } + + if (maxChunkSize && chunkSize > maxChunkSize && (chunkSize - maxChunkSize) > minChunkSize) { + chunkRemainder = _chunk.subarray(maxChunkSize); + _chunk = _chunk.subarray(0, maxChunkSize); + } + + pushChunk(_chunk, chunkRemainder ? () => { + process.nextTick(_callback, null, chunkRemainder); + } : _callback); + }; + + transformChunk(chunk, function transformNextChunk(err, _chunk) { + if (err) { + return callback(err); + } + + if (_chunk) { + transformChunk(_chunk, transformNextChunk); + } else { + callback(null); + } + }); + } + + setLength(length) { + this[kInternals].length = +length; + return this; + } +} + +const isBrotliSupported = utils.isFunction(zlib__default["default"].createBrotliDecompress); + +const {http: httpFollow, https: httpsFollow} = followRedirects__default["default"]; + +const isHttps = /https:?/; + +const supportedProtocols = platform.protocols.map(protocol => { + return protocol + ':'; +}); + +/** + * If the proxy or config beforeRedirects functions are defined, call them with the options + * object. + * + * @param {Object} options - The options object that was passed to the request. + * + * @returns {Object} + */ +function dispatchBeforeRedirect(options) { + if (options.beforeRedirects.proxy) { + options.beforeRedirects.proxy(options); + } + if (options.beforeRedirects.config) { + options.beforeRedirects.config(options); + } +} + +/** + * If the proxy or config afterRedirects functions are defined, call them with the options + * + * @param {http.ClientRequestArgs} options + * @param {AxiosProxyConfig} configProxy + * @param {string} location + * + * @returns {http.ClientRequestArgs} + */ +function setProxy(options, configProxy, location) { + let proxy = configProxy; + if (!proxy && proxy !== false) { + const proxyUrl = proxyFromEnv.getProxyForUrl(location); + if (proxyUrl) { + proxy = new URL(proxyUrl); + } + } + if (proxy) { + // Basic proxy authorization + if (proxy.username) { + proxy.auth = (proxy.username || '') + ':' + (proxy.password || ''); + } + + if (proxy.auth) { + // Support proxy auth object form + if (proxy.auth.username || proxy.auth.password) { + proxy.auth = (proxy.auth.username || '') + ':' + (proxy.auth.password || ''); + } + const base64 = Buffer + .from(proxy.auth, 'utf8') + .toString('base64'); + options.headers['Proxy-Authorization'] = 'Basic ' + base64; + } + + options.headers.host = options.hostname + (options.port ? ':' + options.port : ''); + options.hostname = proxy.hostname; + // Replace 'host' since options is not a URL object + options.host = proxy.hostname; + options.port = proxy.port; + options.path = location; + if (proxy.protocol) { + options.protocol = proxy.protocol; + } + } + + options.beforeRedirects.proxy = function beforeRedirect(redirectOptions) { + // Configure proxy for redirected request, passing the original config proxy to apply + // the exact same logic as if the redirected request was performed by axios directly. + setProxy(redirectOptions, configProxy, redirectOptions.href); + }; +} + +/*eslint consistent-return:0*/ +function httpAdapter(config) { + return new Promise(function dispatchHttpRequest(resolvePromise, rejectPromise) { + let data = config.data; + const responseType = config.responseType; + const responseEncoding = config.responseEncoding; + const method = config.method.toUpperCase(); + let isFinished; + let isDone; + let rejected = false; + let req; + + // temporary internal emitter until the AxiosRequest class will be implemented + const emitter = new EventEmitter__default["default"](); + + function onFinished() { + if (isFinished) return; + isFinished = true; + + if (config.cancelToken) { + config.cancelToken.unsubscribe(abort); + } + + if (config.signal) { + config.signal.removeEventListener('abort', abort); + } + + emitter.removeAllListeners(); + } + + function done(value, isRejected) { + if (isDone) return; + + isDone = true; + + if (isRejected) { + rejected = true; + onFinished(); + } + + isRejected ? rejectPromise(value) : resolvePromise(value); + } + + const resolve = function resolve(value) { + done(value); + }; + + const reject = function reject(value) { + done(value, true); + }; + + function abort(reason) { + emitter.emit('abort', !reason || reason.type ? new CanceledError(null, config, req) : reason); + } + + emitter.once('abort', reject); + + if (config.cancelToken || config.signal) { + config.cancelToken && config.cancelToken.subscribe(abort); + if (config.signal) { + config.signal.aborted ? abort() : config.signal.addEventListener('abort', abort); + } + } + + // Parse url + const fullPath = buildFullPath(config.baseURL, config.url); + const parsed = new URL(fullPath); + const protocol = parsed.protocol || supportedProtocols[0]; + + if (protocol === 'data:') { + let convertedData; + + if (method !== 'GET') { + return settle(resolve, reject, { + status: 405, + statusText: 'method not allowed', + headers: {}, + config + }); + } + + try { + convertedData = fromDataURI(config.url, responseType === 'blob', { + Blob: config.env && config.env.Blob + }); + } catch (err) { + throw AxiosError.from(err, AxiosError.ERR_BAD_REQUEST, config); + } + + if (responseType === 'text') { + convertedData = convertedData.toString(responseEncoding); + + if (!responseEncoding || responseEncoding === 'utf8') { + data = utils.stripBOM(convertedData); + } + } else if (responseType === 'stream') { + convertedData = stream__default["default"].Readable.from(convertedData); + } + + return settle(resolve, reject, { + data: convertedData, + status: 200, + statusText: 'OK', + headers: {}, + config + }); + } + + if (supportedProtocols.indexOf(protocol) === -1) { + return reject(new AxiosError( + 'Unsupported protocol ' + protocol, + AxiosError.ERR_BAD_REQUEST, + config + )); + } + + const headers = AxiosHeaders.from(config.headers).normalize(); + + // Set User-Agent (required by some servers) + // See https://github.com/axios/axios/issues/69 + // User-Agent is specified; handle case where no UA header is desired + // Only set header if it hasn't been set in config + headers.set('User-Agent', 'axios/' + VERSION, false); + + const onDownloadProgress = config.onDownloadProgress; + const onUploadProgress = config.onUploadProgress; + const maxRate = config.maxRate; + let maxUploadRate = undefined; + let maxDownloadRate = undefined; + + // support for https://www.npmjs.com/package/form-data api + if (utils.isFormData(data) && utils.isFunction(data.getHeaders)) { + headers.set(data.getHeaders()); + } else if (data && !utils.isStream(data)) { + if (Buffer.isBuffer(data)) ; else if (utils.isArrayBuffer(data)) { + data = Buffer.from(new Uint8Array(data)); + } else if (utils.isString(data)) { + data = Buffer.from(data, 'utf-8'); + } else { + return reject(new AxiosError( + 'Data after transformation must be a string, an ArrayBuffer, a Buffer, or a Stream', + AxiosError.ERR_BAD_REQUEST, + config + )); + } + + // Add Content-Length header if data exists + headers.set('Content-Length', data.length, false); + + if (config.maxBodyLength > -1 && data.length > config.maxBodyLength) { + return reject(new AxiosError( + 'Request body larger than maxBodyLength limit', + AxiosError.ERR_BAD_REQUEST, + config + )); + } + } + + const contentLength = +headers.getContentLength(); + + if (utils.isArray(maxRate)) { + maxUploadRate = maxRate[0]; + maxDownloadRate = maxRate[1]; + } else { + maxUploadRate = maxDownloadRate = maxRate; + } + + if (data && (onUploadProgress || maxUploadRate)) { + if (!utils.isStream(data)) { + data = stream__default["default"].Readable.from(data, {objectMode: false}); + } + + data = stream__default["default"].pipeline([data, new AxiosTransformStream({ + length: utils.toFiniteNumber(contentLength), + maxRate: utils.toFiniteNumber(maxUploadRate) + })], utils.noop); + + onUploadProgress && data.on('progress', progress => { + onUploadProgress(Object.assign(progress, { + upload: true + })); + }); + } + + // HTTP basic authentication + let auth = undefined; + if (config.auth) { + const username = config.auth.username || ''; + const password = config.auth.password || ''; + auth = username + ':' + password; + } + + if (!auth && parsed.username) { + const urlUsername = parsed.username; + const urlPassword = parsed.password; + auth = urlUsername + ':' + urlPassword; + } + + auth && headers.delete('authorization'); + + const path = parsed.pathname.concat(parsed.searchParams); + try { + buildURL(path, config.params, config.paramsSerializer).replace(/^\?/, ''); + } catch (err) { + const customErr = new Error(err.message); + customErr.config = config; + customErr.url = config.url; + customErr.exists = true; + return reject(customErr); + } + + headers.set('Accept-Encoding', 'gzip, deflate, br', false); + + const options = { + path: buildURL(path, config.params, config.paramsSerializer).replace(/^\?/, ''), + method: method, + headers: headers.toJSON(), + agents: { http: config.httpAgent, https: config.httpsAgent }, + auth, + protocol, + beforeRedirect: dispatchBeforeRedirect, + beforeRedirects: {} + }; + + if (config.socketPath) { + options.socketPath = config.socketPath; + } else { + options.hostname = parsed.hostname; + options.port = parsed.port; + setProxy(options, config.proxy, protocol + '//' + parsed.hostname + (parsed.port ? ':' + parsed.port : '') + options.path); + } + + let transport; + const isHttpsRequest = isHttps.test(options.protocol); + options.agent = isHttpsRequest ? config.httpsAgent : config.httpAgent; + if (config.transport) { + transport = config.transport; + } else if (config.maxRedirects === 0) { + transport = isHttpsRequest ? https__default["default"] : http__default["default"]; + } else { + if (config.maxRedirects) { + options.maxRedirects = config.maxRedirects; + } + if (config.beforeRedirect) { + options.beforeRedirects.config = config.beforeRedirect; + } + transport = isHttpsRequest ? httpsFollow : httpFollow; + } + + if (config.maxBodyLength > -1) { + options.maxBodyLength = config.maxBodyLength; + } else { + // follow-redirects does not skip comparison, so it should always succeed for axios -1 unlimited + options.maxBodyLength = Infinity; + } + + if (config.insecureHTTPParser) { + options.insecureHTTPParser = config.insecureHTTPParser; + } + + // Create the request + req = transport.request(options, function handleResponse(res) { + if (req.destroyed) return; + + const streams = [res]; + + // uncompress the response body transparently if required + let responseStream = res; + + // return the last request in case of redirects + const lastRequest = res.req || req; + + // if decompress disabled we should not decompress + if (config.decompress !== false) { + // if no content, but headers still say that it is encoded, + // remove the header not confuse downstream operations + if (data && data.length === 0 && res.headers['content-encoding']) { + delete res.headers['content-encoding']; + } + + switch (res.headers['content-encoding']) { + /*eslint default-case:0*/ + case 'gzip': + case 'compress': + case 'deflate': + // add the unzipper to the body stream processing pipeline + streams.push(zlib__default["default"].createUnzip()); + + // remove the content-encoding in order to not confuse downstream operations + delete res.headers['content-encoding']; + break; + case 'br': + if (isBrotliSupported) { + streams.push(zlib__default["default"].createBrotliDecompress()); + delete res.headers['content-encoding']; + } + } + } + + if (onDownloadProgress) { + const responseLength = +res.headers['content-length']; + + const transformStream = new AxiosTransformStream({ + length: utils.toFiniteNumber(responseLength), + maxRate: utils.toFiniteNumber(maxDownloadRate) + }); + + onDownloadProgress && transformStream.on('progress', progress => { + onDownloadProgress(Object.assign(progress, { + download: true + })); + }); + + streams.push(transformStream); + } + + responseStream = streams.length > 1 ? stream__default["default"].pipeline(streams, utils.noop) : streams[0]; + + const offListeners = stream__default["default"].finished(responseStream, () => { + offListeners(); + onFinished(); + }); + + const response = { + status: res.statusCode, + statusText: res.statusMessage, + headers: new AxiosHeaders(res.headers), + config, + request: lastRequest + }; + + if (responseType === 'stream') { + response.data = responseStream; + settle(resolve, reject, response); + } else { + const responseBuffer = []; + let totalResponseBytes = 0; + + responseStream.on('data', function handleStreamData(chunk) { + responseBuffer.push(chunk); + totalResponseBytes += chunk.length; + + // make sure the content length is not over the maxContentLength if specified + if (config.maxContentLength > -1 && totalResponseBytes > config.maxContentLength) { + // stream.destroy() emit aborted event before calling reject() on Node.js v16 + rejected = true; + responseStream.destroy(); + reject(new AxiosError('maxContentLength size of ' + config.maxContentLength + ' exceeded', + AxiosError.ERR_BAD_RESPONSE, config, lastRequest)); + } + }); + + responseStream.on('aborted', function handlerStreamAborted() { + if (rejected) { + return; + } + + const err = new AxiosError( + 'maxContentLength size of ' + config.maxContentLength + ' exceeded', + AxiosError.ERR_BAD_RESPONSE, + config, + lastRequest + ); + responseStream.destroy(err); + reject(err); + }); + + responseStream.on('error', function handleStreamError(err) { + if (req.destroyed) return; + reject(AxiosError.from(err, null, config, lastRequest)); + }); + + responseStream.on('end', function handleStreamEnd() { + try { + let responseData = responseBuffer.length === 1 ? responseBuffer[0] : Buffer.concat(responseBuffer); + if (responseType !== 'arraybuffer') { + responseData = responseData.toString(responseEncoding); + if (!responseEncoding || responseEncoding === 'utf8') { + responseData = utils.stripBOM(responseData); + } + } + response.data = responseData; + } catch (err) { + reject(AxiosError.from(err, null, config, response.request, response)); + } + settle(resolve, reject, response); + }); + } + + emitter.once('abort', err => { + if (!responseStream.destroyed) { + responseStream.emit('error', err); + responseStream.destroy(); + } + }); + }); + + emitter.once('abort', err => { + reject(err); + req.destroy(err); + }); + + // Handle errors + req.on('error', function handleRequestError(err) { + // @todo remove + // if (req.aborted && err.code !== AxiosError.ERR_FR_TOO_MANY_REDIRECTS) return; + reject(AxiosError.from(err, null, config, req)); + }); + + // set tcp keep alive to prevent drop connection by peer + req.on('socket', function handleRequestSocket(socket) { + // default interval of sending ack packet is 1 minute + socket.setKeepAlive(true, 1000 * 60); + }); + + // Handle request timeout + if (config.timeout) { + // This is forcing a int timeout to avoid problems if the `req` interface doesn't handle other types. + const timeout = parseInt(config.timeout, 10); + + if (isNaN(timeout)) { + reject(new AxiosError( + 'error trying to parse `config.timeout` to int', + AxiosError.ERR_BAD_OPTION_VALUE, + config, + req + )); + + return; + } + + // Sometime, the response will be very slow, and does not respond, the connect event will be block by event loop system. + // And timer callback will be fired, and abort() will be invoked before connection, then get "socket hang up" and code ECONNRESET. + // At this time, if we have a large number of request, nodejs will hang up some socket on background. and the number will up and up. + // And then these socket which be hang up will devouring CPU little by little. + // ClientRequest.setTimeout will be fired on the specify milliseconds, and can make sure that abort() will be fired after connect. + req.setTimeout(timeout, function handleRequestTimeout() { + if (isDone) return; + let timeoutErrorMessage = config.timeout ? 'timeout of ' + config.timeout + 'ms exceeded' : 'timeout exceeded'; + const transitional = config.transitional || transitionalDefaults; + if (config.timeoutErrorMessage) { + timeoutErrorMessage = config.timeoutErrorMessage; + } + reject(new AxiosError( + timeoutErrorMessage, + transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED, + config, + req + )); + abort(); + }); + } + + + // Send the request + if (utils.isStream(data)) { + let ended = false; + let errored = false; + + data.on('end', () => { + ended = true; + }); + + data.once('error', err => { + errored = true; + req.destroy(err); + }); + + data.on('close', () => { + if (!ended && !errored) { + abort(new CanceledError('Request stream has been aborted', config, req)); + } + }); + + data.pipe(req); + } else { + req.end(data); + } + }); +} + +const cookies = platform.isStandardBrowserEnv ? + +// Standard browser envs support document.cookie + (function standardBrowserEnv() { + return { + write: function write(name, value, expires, path, domain, secure) { + const cookie = []; + cookie.push(name + '=' + encodeURIComponent(value)); + + if (utils.isNumber(expires)) { + cookie.push('expires=' + new Date(expires).toGMTString()); + } + + if (utils.isString(path)) { + cookie.push('path=' + path); + } + + if (utils.isString(domain)) { + cookie.push('domain=' + domain); + } + + if (secure === true) { + cookie.push('secure'); + } + + document.cookie = cookie.join('; '); + }, + + read: function read(name) { + const match = document.cookie.match(new RegExp('(^|;\\s*)(' + name + ')=([^;]*)')); + return (match ? decodeURIComponent(match[3]) : null); + }, + + remove: function remove(name) { + this.write(name, '', Date.now() - 86400000); + } + }; + })() : + +// Non standard browser env (web workers, react-native) lack needed support. + (function nonStandardBrowserEnv() { + return { + write: function write() {}, + read: function read() { return null; }, + remove: function remove() {} + }; + })(); + +const isURLSameOrigin = platform.isStandardBrowserEnv ? + +// Standard browser envs have full support of the APIs needed to test +// whether the request URL is of the same origin as current location. + (function standardBrowserEnv() { + const msie = /(msie|trident)/i.test(navigator.userAgent); + const urlParsingNode = document.createElement('a'); + let originURL; + + /** + * Parse a URL to discover it's components + * + * @param {String} url The URL to be parsed + * @returns {Object} + */ + function resolveURL(url) { + let href = url; + + if (msie) { + // IE needs attribute set twice to normalize properties + urlParsingNode.setAttribute('href', href); + href = urlParsingNode.href; + } + + urlParsingNode.setAttribute('href', href); + + // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils + return { + href: urlParsingNode.href, + protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '', + host: urlParsingNode.host, + search: urlParsingNode.search ? urlParsingNode.search.replace(/^\?/, '') : '', + hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '', + hostname: urlParsingNode.hostname, + port: urlParsingNode.port, + pathname: (urlParsingNode.pathname.charAt(0) === '/') ? + urlParsingNode.pathname : + '/' + urlParsingNode.pathname + }; + } + + originURL = resolveURL(window.location.href); + + /** + * Determine if a URL shares the same origin as the current location + * + * @param {String} requestURL The URL to test + * @returns {boolean} True if URL shares the same origin, otherwise false + */ + return function isURLSameOrigin(requestURL) { + const parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL; + return (parsed.protocol === originURL.protocol && + parsed.host === originURL.host); + }; + })() : + + // Non standard browser envs (web workers, react-native) lack needed support. + (function nonStandardBrowserEnv() { + return function isURLSameOrigin() { + return true; + }; + })(); + +function progressEventReducer(listener, isDownloadStream) { + let bytesNotified = 0; + const _speedometer = speedometer(50, 250); + + return e => { + const loaded = e.loaded; + const total = e.lengthComputable ? e.total : undefined; + const progressBytes = loaded - bytesNotified; + const rate = _speedometer(progressBytes); + const inRange = loaded <= total; + + bytesNotified = loaded; + + const data = { + loaded, + total, + progress: total ? (loaded / total) : undefined, + bytes: progressBytes, + rate: rate ? rate : undefined, + estimated: rate && total && inRange ? (total - loaded) / rate : undefined + }; + + data[isDownloadStream ? 'download' : 'upload'] = true; + + listener(data); + }; +} + +function xhrAdapter(config) { + return new Promise(function dispatchXhrRequest(resolve, reject) { + let requestData = config.data; + const requestHeaders = AxiosHeaders.from(config.headers).normalize(); + const responseType = config.responseType; + let onCanceled; + function done() { + if (config.cancelToken) { + config.cancelToken.unsubscribe(onCanceled); + } + + if (config.signal) { + config.signal.removeEventListener('abort', onCanceled); + } + } + + if (utils.isFormData(requestData) && platform.isStandardBrowserEnv) { + requestHeaders.setContentType(false); // Let the browser set it + } + + let request = new XMLHttpRequest(); + + // HTTP basic authentication + if (config.auth) { + const username = config.auth.username || ''; + const password = config.auth.password ? unescape(encodeURIComponent(config.auth.password)) : ''; + requestHeaders.set('Authorization', 'Basic ' + btoa(username + ':' + password)); + } + + const fullPath = buildFullPath(config.baseURL, config.url); + + request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true); + + // Set the request timeout in MS + request.timeout = config.timeout; + + function onloadend() { + if (!request) { + return; + } + // Prepare the response + const responseHeaders = AxiosHeaders.from( + 'getAllResponseHeaders' in request && request.getAllResponseHeaders() + ); + const responseData = !responseType || responseType === 'text' || responseType === 'json' ? + request.responseText : request.response; + const response = { + data: responseData, + status: request.status, + statusText: request.statusText, + headers: responseHeaders, + config, + request + }; + + settle(function _resolve(value) { + resolve(value); + done(); + }, function _reject(err) { + reject(err); + done(); + }, response); + + // Clean up request + request = null; + } + + if ('onloadend' in request) { + // Use onloadend if available + request.onloadend = onloadend; + } else { + // Listen for ready state to emulate onloadend + request.onreadystatechange = function handleLoad() { + if (!request || request.readyState !== 4) { + return; + } + + // The request errored out and we didn't get a response, this will be + // handled by onerror instead + // With one exception: request that using file: protocol, most browsers + // will return status as 0 even though it's a successful request + if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) { + return; + } + // readystate handler is calling before onerror or ontimeout handlers, + // so we should call onloadend on the next 'tick' + setTimeout(onloadend); + }; + } + + // Handle browser request cancellation (as opposed to a manual cancellation) + request.onabort = function handleAbort() { + if (!request) { + return; + } + + reject(new AxiosError('Request aborted', AxiosError.ECONNABORTED, config, request)); + + // Clean up request + request = null; + }; + + // Handle low level network errors + request.onerror = function handleError() { + // Real errors are hidden from us by the browser + // onerror should only fire if it's a network error + reject(new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request)); + + // Clean up request + request = null; + }; + + // Handle timeout + request.ontimeout = function handleTimeout() { + let timeoutErrorMessage = config.timeout ? 'timeout of ' + config.timeout + 'ms exceeded' : 'timeout exceeded'; + const transitional = config.transitional || transitionalDefaults; + if (config.timeoutErrorMessage) { + timeoutErrorMessage = config.timeoutErrorMessage; + } + reject(new AxiosError( + timeoutErrorMessage, + transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED, + config, + request)); + + // Clean up request + request = null; + }; + + // Add xsrf header + // This is only done if running in a standard browser environment. + // Specifically not if we're in a web worker, or react-native. + if (platform.isStandardBrowserEnv) { + // Add xsrf header + const xsrfValue = (config.withCredentials || isURLSameOrigin(fullPath)) + && config.xsrfCookieName && cookies.read(config.xsrfCookieName); + + if (xsrfValue) { + requestHeaders.set(config.xsrfHeaderName, xsrfValue); + } + } + + // Remove Content-Type if data is undefined + requestData === undefined && requestHeaders.setContentType(null); + + // Add headers to the request + if ('setRequestHeader' in request) { + utils.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) { + request.setRequestHeader(key, val); + }); + } + + // Add withCredentials to request if needed + if (!utils.isUndefined(config.withCredentials)) { + request.withCredentials = !!config.withCredentials; + } + + // Add responseType to request if needed + if (responseType && responseType !== 'json') { + request.responseType = config.responseType; + } + + // Handle progress if needed + if (typeof config.onDownloadProgress === 'function') { + request.addEventListener('progress', progressEventReducer(config.onDownloadProgress, true)); + } + + // Not all browsers support upload events + if (typeof config.onUploadProgress === 'function' && request.upload) { + request.upload.addEventListener('progress', progressEventReducer(config.onUploadProgress)); + } + + if (config.cancelToken || config.signal) { + // Handle cancellation + // eslint-disable-next-line func-names + onCanceled = cancel => { + if (!request) { + return; + } + reject(!cancel || cancel.type ? new CanceledError(null, config, request) : cancel); + request.abort(); + request = null; + }; + + config.cancelToken && config.cancelToken.subscribe(onCanceled); + if (config.signal) { + config.signal.aborted ? onCanceled() : config.signal.addEventListener('abort', onCanceled); + } + } + + const protocol = parseProtocol(fullPath); + + if (protocol && platform.protocols.indexOf(protocol) === -1) { + reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config)); + return; + } + + + // Send the request + request.send(requestData || null); + }); +} + +const adapters = { + http: httpAdapter, + xhr: xhrAdapter +}; + +const adapters$1 = { + getAdapter: (nameOrAdapter) => { + if(utils.isString(nameOrAdapter)){ + const adapter = adapters[nameOrAdapter]; + + if (!nameOrAdapter) { + throw Error( + utils.hasOwnProp(nameOrAdapter) ? + `Adapter '${nameOrAdapter}' is not available in the build` : + `Can not resolve adapter '${nameOrAdapter}'` + ); + } + + return adapter + } + + if (!utils.isFunction(nameOrAdapter)) { + throw new TypeError('adapter is not a function'); + } + + return nameOrAdapter; + }, + adapters +}; + +const DEFAULT_CONTENT_TYPE = { + 'Content-Type': 'application/x-www-form-urlencoded' +}; + +/** + * If the browser has an XMLHttpRequest object, use the XHR adapter, otherwise use the HTTP + * adapter + * + * @returns {Function} + */ +function getDefaultAdapter() { + let adapter; + if (typeof XMLHttpRequest !== 'undefined') { + // For browsers use XHR adapter + adapter = adapters$1.getAdapter('xhr'); + } else if (typeof process !== 'undefined' && utils.kindOf(process) === 'process') { + // For node use HTTP adapter + adapter = adapters$1.getAdapter('http'); + } + return adapter; +} + +/** + * It takes a string, tries to parse it, and if it fails, it returns the stringified version + * of the input + * + * @param {any} rawValue - The value to be stringified. + * @param {Function} parser - A function that parses a string into a JavaScript object. + * @param {Function} encoder - A function that takes a value and returns a string. + * + * @returns {string} A stringified version of the rawValue. + */ +function stringifySafely(rawValue, parser, encoder) { + if (utils.isString(rawValue)) { + try { + (parser || JSON.parse)(rawValue); + return utils.trim(rawValue); + } catch (e) { + if (e.name !== 'SyntaxError') { + throw e; + } + } + } + + return (encoder || JSON.stringify)(rawValue); +} + +const defaults = { + + transitional: transitionalDefaults, + + adapter: getDefaultAdapter(), + + transformRequest: [function transformRequest(data, headers) { + const contentType = headers.getContentType() || ''; + const hasJSONContentType = contentType.indexOf('application/json') > -1; + const isObjectPayload = utils.isObject(data); + + if (isObjectPayload && utils.isHTMLForm(data)) { + data = new FormData(data); + } + + const isFormData = utils.isFormData(data); + + if (isFormData) { + if (!hasJSONContentType) { + return data; + } + return hasJSONContentType ? JSON.stringify(formDataToJSON(data)) : data; + } + + if (utils.isArrayBuffer(data) || + utils.isBuffer(data) || + utils.isStream(data) || + utils.isFile(data) || + utils.isBlob(data) + ) { + return data; + } + if (utils.isArrayBufferView(data)) { + return data.buffer; + } + if (utils.isURLSearchParams(data)) { + headers.setContentType('application/x-www-form-urlencoded;charset=utf-8', false); + return data.toString(); + } + + let isFileList; + + if (isObjectPayload) { + if (contentType.indexOf('application/x-www-form-urlencoded') > -1) { + return toURLEncodedForm(data, this.formSerializer).toString(); + } + + if ((isFileList = utils.isFileList(data)) || contentType.indexOf('multipart/form-data') > -1) { + const _FormData = this.env && this.env.FormData; + + return toFormData( + isFileList ? {'files[]': data} : data, + _FormData && new _FormData(), + this.formSerializer + ); + } + } + + if (isObjectPayload || hasJSONContentType ) { + headers.setContentType('application/json', false); + return stringifySafely(data); + } + + return data; + }], + + transformResponse: [function transformResponse(data) { + const transitional = this.transitional || defaults.transitional; + const forcedJSONParsing = transitional && transitional.forcedJSONParsing; + const JSONRequested = this.responseType === 'json'; + + if (data && utils.isString(data) && ((forcedJSONParsing && !this.responseType) || JSONRequested)) { + const silentJSONParsing = transitional && transitional.silentJSONParsing; + const strictJSONParsing = !silentJSONParsing && JSONRequested; + + try { + return JSON.parse(data); + } catch (e) { + if (strictJSONParsing) { + if (e.name === 'SyntaxError') { + throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response); + } + throw e; + } + } + } + + return data; + }], + + /** + * A timeout in milliseconds to abort a request. If set to 0 (default) a + * timeout is not created. + */ + timeout: 0, + + xsrfCookieName: 'XSRF-TOKEN', + xsrfHeaderName: 'X-XSRF-TOKEN', + + maxContentLength: -1, + maxBodyLength: -1, + + env: { + FormData: platform.classes.FormData, + Blob: platform.classes.Blob + }, + + validateStatus: function validateStatus(status) { + return status >= 200 && status < 300; + }, + + headers: { + common: { + 'Accept': 'application/json, text/plain, */*' + } + } +}; + +utils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) { + defaults.headers[method] = {}; +}); + +utils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) { + defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE); +}); + +/** + * Transform the data for a request or a response + * + * @param {Array|Function} fns A single function or Array of functions + * @param {?Object} response The response object + * + * @returns {*} The resulting transformed data + */ +function transformData(fns, response) { + const config = this || defaults; + const context = response || config; + const headers = AxiosHeaders.from(context.headers); + let data = context.data; + + utils.forEach(fns, function transform(fn) { + data = fn.call(config, data, headers.normalize(), response ? response.status : undefined); + }); + + headers.normalize(); + + return data; +} + +function isCancel(value) { + return !!(value && value.__CANCEL__); +} + +/** + * Throws a `CanceledError` if cancellation has been requested. + * + * @param {Object} config The config that is to be used for the request + * + * @returns {void} + */ +function throwIfCancellationRequested(config) { + if (config.cancelToken) { + config.cancelToken.throwIfRequested(); + } + + if (config.signal && config.signal.aborted) { + throw new CanceledError(); + } +} + +/** + * Dispatch a request to the server using the configured adapter. + * + * @param {object} config The config that is to be used for the request + * + * @returns {Promise} The Promise to be fulfilled + */ +function dispatchRequest(config) { + throwIfCancellationRequested(config); + + config.headers = AxiosHeaders.from(config.headers); + + // Transform request data + config.data = transformData.call( + config, + config.transformRequest + ); + + const adapter = config.adapter || defaults.adapter; + + return adapter(config).then(function onAdapterResolution(response) { + throwIfCancellationRequested(config); + + // Transform response data + response.data = transformData.call( + config, + config.transformResponse, + response + ); + + response.headers = AxiosHeaders.from(response.headers); + + return response; + }, function onAdapterRejection(reason) { + if (!isCancel(reason)) { + throwIfCancellationRequested(config); + + // Transform response data + if (reason && reason.response) { + reason.response.data = transformData.call( + config, + config.transformResponse, + reason.response + ); + reason.response.headers = AxiosHeaders.from(reason.response.headers); + } + } + + return Promise.reject(reason); + }); +} + +/** + * Config-specific merge-function which creates a new config-object + * by merging two configuration objects together. + * + * @param {Object} config1 + * @param {Object} config2 + * + * @returns {Object} New object resulting from merging config2 to config1 + */ +function mergeConfig(config1, config2) { + // eslint-disable-next-line no-param-reassign + config2 = config2 || {}; + const config = {}; + + function getMergedValue(target, source) { + if (utils.isPlainObject(target) && utils.isPlainObject(source)) { + return utils.merge(target, source); + } else if (utils.isPlainObject(source)) { + return utils.merge({}, source); + } else if (utils.isArray(source)) { + return source.slice(); + } + return source; + } + + // eslint-disable-next-line consistent-return + function mergeDeepProperties(prop) { + if (!utils.isUndefined(config2[prop])) { + return getMergedValue(config1[prop], config2[prop]); + } else if (!utils.isUndefined(config1[prop])) { + return getMergedValue(undefined, config1[prop]); + } + } + + // eslint-disable-next-line consistent-return + function valueFromConfig2(prop) { + if (!utils.isUndefined(config2[prop])) { + return getMergedValue(undefined, config2[prop]); + } + } + + // eslint-disable-next-line consistent-return + function defaultToConfig2(prop) { + if (!utils.isUndefined(config2[prop])) { + return getMergedValue(undefined, config2[prop]); + } else if (!utils.isUndefined(config1[prop])) { + return getMergedValue(undefined, config1[prop]); + } + } + + // eslint-disable-next-line consistent-return + function mergeDirectKeys(prop) { + if (prop in config2) { + return getMergedValue(config1[prop], config2[prop]); + } else if (prop in config1) { + return getMergedValue(undefined, config1[prop]); + } + } + + const mergeMap = { + 'url': valueFromConfig2, + 'method': valueFromConfig2, + 'data': valueFromConfig2, + 'baseURL': defaultToConfig2, + 'transformRequest': defaultToConfig2, + 'transformResponse': defaultToConfig2, + 'paramsSerializer': defaultToConfig2, + 'timeout': defaultToConfig2, + 'timeoutMessage': defaultToConfig2, + 'withCredentials': defaultToConfig2, + 'adapter': defaultToConfig2, + 'responseType': defaultToConfig2, + 'xsrfCookieName': defaultToConfig2, + 'xsrfHeaderName': defaultToConfig2, + 'onUploadProgress': defaultToConfig2, + 'onDownloadProgress': defaultToConfig2, + 'decompress': defaultToConfig2, + 'maxContentLength': defaultToConfig2, + 'maxBodyLength': defaultToConfig2, + 'beforeRedirect': defaultToConfig2, + 'transport': defaultToConfig2, + 'httpAgent': defaultToConfig2, + 'httpsAgent': defaultToConfig2, + 'cancelToken': defaultToConfig2, + 'socketPath': defaultToConfig2, + 'responseEncoding': defaultToConfig2, + 'validateStatus': mergeDirectKeys + }; + + utils.forEach(Object.keys(config1).concat(Object.keys(config2)), function computeConfigValue(prop) { + const merge = mergeMap[prop] || mergeDeepProperties; + const configValue = merge(prop); + (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue); + }); + + return config; +} + +const validators$1 = {}; + +// eslint-disable-next-line func-names +['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach((type, i) => { + validators$1[type] = function validator(thing) { + return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type; + }; +}); + +const deprecatedWarnings = {}; + +/** + * Transitional option validator + * + * @param {function|boolean?} validator - set to false if the transitional option has been removed + * @param {string?} version - deprecated version / removed since version + * @param {string?} message - some message with additional info + * + * @returns {function} + */ +validators$1.transitional = function transitional(validator, version, message) { + function formatMessage(opt, desc) { + return '[Axios v' + VERSION + '] Transitional option \'' + opt + '\'' + desc + (message ? '. ' + message : ''); + } + + // eslint-disable-next-line func-names + return (value, opt, opts) => { + if (validator === false) { + throw new AxiosError( + formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')), + AxiosError.ERR_DEPRECATED + ); + } + + if (version && !deprecatedWarnings[opt]) { + deprecatedWarnings[opt] = true; + // eslint-disable-next-line no-console + console.warn( + formatMessage( + opt, + ' has been deprecated since v' + version + ' and will be removed in the near future' + ) + ); + } + + return validator ? validator(value, opt, opts) : true; + }; +}; + +/** + * Assert object's properties type + * + * @param {object} options + * @param {object} schema + * @param {boolean?} allowUnknown + * + * @returns {object} + */ + +function assertOptions(options, schema, allowUnknown) { + if (typeof options !== 'object') { + throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE); + } + const keys = Object.keys(options); + let i = keys.length; + while (i-- > 0) { + const opt = keys[i]; + const validator = schema[opt]; + if (validator) { + const value = options[opt]; + const result = value === undefined || validator(value, opt, options); + if (result !== true) { + throw new AxiosError('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE); + } + continue; + } + if (allowUnknown !== true) { + throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION); + } + } +} + +const validator = { + assertOptions, + validators: validators$1 +}; + +const validators = validator.validators; + +/** + * Create a new instance of Axios + * + * @param {Object} instanceConfig The default config for the instance + * + * @return {Axios} A new instance of Axios + */ +class Axios { + constructor(instanceConfig) { + this.defaults = instanceConfig; + this.interceptors = { + request: new InterceptorManager(), + response: new InterceptorManager() + }; + } + + /** + * Dispatch a request + * + * @param {String|Object} configOrUrl The config specific for this request (merged with this.defaults) + * @param {?Object} config + * + * @returns {Promise} The Promise to be fulfilled + */ + request(configOrUrl, config) { + /*eslint no-param-reassign:0*/ + // Allow for axios('example/url'[, config]) a la fetch API + if (typeof configOrUrl === 'string') { + config = config || {}; + config.url = configOrUrl; + } else { + config = configOrUrl || {}; + } + + config = mergeConfig(this.defaults, config); + + const transitional = config.transitional; + + if (transitional !== undefined) { + validator.assertOptions(transitional, { + silentJSONParsing: validators.transitional(validators.boolean), + forcedJSONParsing: validators.transitional(validators.boolean), + clarifyTimeoutError: validators.transitional(validators.boolean) + }, false); + } + + // Set config.method + config.method = (config.method || this.defaults.method || 'get').toLowerCase(); + + // Flatten headers + const defaultHeaders = config.headers && utils.merge( + config.headers.common, + config.headers[config.method] + ); + + defaultHeaders && utils.forEach( + ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'], + function cleanHeaderConfig(method) { + delete config.headers[method]; + } + ); + + config.headers = new AxiosHeaders(config.headers, defaultHeaders); + + // filter out skipped interceptors + const requestInterceptorChain = []; + let synchronousRequestInterceptors = true; + this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) { + if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) { + return; + } + + synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous; + + requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected); + }); + + const responseInterceptorChain = []; + this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) { + responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected); + }); + + let promise; + let i = 0; + let len; + + if (!synchronousRequestInterceptors) { + const chain = [dispatchRequest.bind(this), undefined]; + chain.unshift.apply(chain, requestInterceptorChain); + chain.push.apply(chain, responseInterceptorChain); + len = chain.length; + + promise = Promise.resolve(config); + + while (i < len) { + promise = promise.then(chain[i++], chain[i++]); + } + + return promise; + } + + len = requestInterceptorChain.length; + + let newConfig = config; + + i = 0; + + while (i < len) { + const onFulfilled = requestInterceptorChain[i++]; + const onRejected = requestInterceptorChain[i++]; + try { + newConfig = onFulfilled(newConfig); + } catch (error) { + onRejected.call(this, error); + break; + } + } + + try { + promise = dispatchRequest.call(this, newConfig); + } catch (error) { + return Promise.reject(error); + } + + i = 0; + len = responseInterceptorChain.length; + + while (i < len) { + promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]); + } + + return promise; + } + + getUri(config) { + config = mergeConfig(this.defaults, config); + const fullPath = buildFullPath(config.baseURL, config.url); + return buildURL(fullPath, config.params, config.paramsSerializer); + } +} + +// Provide aliases for supported request methods +utils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) { + /*eslint func-names:0*/ + Axios.prototype[method] = function(url, config) { + return this.request(mergeConfig(config || {}, { + method, + url, + data: (config || {}).data + })); + }; +}); + +utils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) { + /*eslint func-names:0*/ + + function generateHTTPMethod(isForm) { + return function httpMethod(url, data, config) { + return this.request(mergeConfig(config || {}, { + method, + headers: isForm ? { + 'Content-Type': 'multipart/form-data' + } : {}, + url, + data + })); + }; + } + + Axios.prototype[method] = generateHTTPMethod(); + + Axios.prototype[method + 'Form'] = generateHTTPMethod(true); +}); + +/** + * A `CancelToken` is an object that can be used to request cancellation of an operation. + * + * @param {Function} executor The executor function. + * + * @returns {CancelToken} + */ +class CancelToken { + constructor(executor) { + if (typeof executor !== 'function') { + throw new TypeError('executor must be a function.'); + } + + let resolvePromise; + + this.promise = new Promise(function promiseExecutor(resolve) { + resolvePromise = resolve; + }); + + const token = this; + + // eslint-disable-next-line func-names + this.promise.then(cancel => { + if (!token._listeners) return; + + let i = token._listeners.length; + + while (i-- > 0) { + token._listeners[i](cancel); + } + token._listeners = null; + }); + + // eslint-disable-next-line func-names + this.promise.then = onfulfilled => { + let _resolve; + // eslint-disable-next-line func-names + const promise = new Promise(resolve => { + token.subscribe(resolve); + _resolve = resolve; + }).then(onfulfilled); + + promise.cancel = function reject() { + token.unsubscribe(_resolve); + }; + + return promise; + }; + + executor(function cancel(message, config, request) { + if (token.reason) { + // Cancellation has already been requested + return; + } + + token.reason = new CanceledError(message, config, request); + resolvePromise(token.reason); + }); + } + + /** + * Throws a `CanceledError` if cancellation has been requested. + */ + throwIfRequested() { + if (this.reason) { + throw this.reason; + } + } + + /** + * Subscribe to the cancel signal + */ + + subscribe(listener) { + if (this.reason) { + listener(this.reason); + return; + } + + if (this._listeners) { + this._listeners.push(listener); + } else { + this._listeners = [listener]; + } + } + + /** + * Unsubscribe from the cancel signal + */ + + unsubscribe(listener) { + if (!this._listeners) { + return; + } + const index = this._listeners.indexOf(listener); + if (index !== -1) { + this._listeners.splice(index, 1); + } + } + + /** + * Returns an object that contains a new `CancelToken` and a function that, when called, + * cancels the `CancelToken`. + */ + static source() { + let cancel; + const token = new CancelToken(function executor(c) { + cancel = c; + }); + return { + token, + cancel + }; + } +} + +/** + * Syntactic sugar for invoking a function and expanding an array for arguments. + * + * Common use case would be to use `Function.prototype.apply`. + * + * ```js + * function f(x, y, z) {} + * var args = [1, 2, 3]; + * f.apply(null, args); + * ``` + * + * With `spread` this example can be re-written. + * + * ```js + * spread(function(x, y, z) {})([1, 2, 3]); + * ``` + * + * @param {Function} callback + * + * @returns {Function} + */ +function spread(callback) { + return function wrap(arr) { + return callback.apply(null, arr); + }; +} + +/** + * Determines whether the payload is an error thrown by Axios + * + * @param {*} payload The value to test + * + * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false + */ +function isAxiosError(payload) { + return utils.isObject(payload) && (payload.isAxiosError === true); +} + +/** + * Create an instance of Axios + * + * @param {Object} defaultConfig The default config for the instance + * + * @returns {Axios} A new instance of Axios + */ +function createInstance(defaultConfig) { + const context = new Axios(defaultConfig); + const instance = bind(Axios.prototype.request, context); + + // Copy axios.prototype to instance + utils.extend(instance, Axios.prototype, context, {allOwnKeys: true}); + + // Copy context to instance + utils.extend(instance, context, null, {allOwnKeys: true}); + + // Factory for creating new instances + instance.create = function create(instanceConfig) { + return createInstance(mergeConfig(defaultConfig, instanceConfig)); + }; + + return instance; +} + +// Create the default instance to be exported +const axios = createInstance(defaults); + +// Expose Axios class to allow class inheritance +axios.Axios = Axios; + +// Expose Cancel & CancelToken +axios.CanceledError = CanceledError; +axios.CancelToken = CancelToken; +axios.isCancel = isCancel; +axios.VERSION = VERSION; +axios.toFormData = toFormData; + +// Expose AxiosError class +axios.AxiosError = AxiosError; + +// alias for CanceledError for backward compatibility +axios.Cancel = axios.CanceledError; + +// Expose all/spread +axios.all = function all(promises) { + return Promise.all(promises); +}; + +axios.spread = spread; + +// Expose isAxiosError +axios.isAxiosError = isAxiosError; + +axios.formToJSON = thing => { + return formDataToJSON(utils.isHTMLForm(thing) ? new FormData(thing) : thing); +}; + +module.exports = axios; +//# sourceMappingURL=axios.cjs.map diff --git a/dist/node/axios.cjs.map b/dist/node/axios.cjs.map new file mode 100644 index 0000000..3c034ae --- /dev/null +++ b/dist/node/axios.cjs.map @@ -0,0 +1 @@ +{"version":3,"file":"axios.cjs","sources":["../../lib/helpers/bind.js","../../lib/utils.js","../../lib/core/AxiosError.js","../../lib/helpers/toFormData.js","../../lib/helpers/AxiosURLSearchParams.js","../../lib/helpers/buildURL.js","../../lib/core/InterceptorManager.js","../../lib/defaults/transitional.js","../../lib/platform/node/classes/URLSearchParams.js","../../lib/platform/node/index.js","../../lib/helpers/toURLEncodedForm.js","../../lib/helpers/formDataToJSON.js","../../lib/core/settle.js","../../lib/helpers/isAbsoluteURL.js","../../lib/helpers/combineURLs.js","../../lib/core/buildFullPath.js","../../lib/env/data.js","../../lib/cancel/CanceledError.js","../../lib/helpers/parseProtocol.js","../../lib/helpers/fromDataURI.js","../../lib/helpers/parseHeaders.js","../../lib/core/AxiosHeaders.js","../../lib/helpers/throttle.js","../../lib/helpers/speedometer.js","../../lib/helpers/AxiosTransformStream.js","../../lib/adapters/http.js","../../lib/helpers/cookies.js","../../lib/helpers/isURLSameOrigin.js","../../lib/adapters/xhr.js","../../lib/adapters/index.js","../../lib/defaults/index.js","../../lib/core/transformData.js","../../lib/cancel/isCancel.js","../../lib/core/dispatchRequest.js","../../lib/core/mergeConfig.js","../../lib/helpers/validator.js","../../lib/core/Axios.js","../../lib/cancel/CancelToken.js","../../lib/helpers/spread.js","../../lib/helpers/isAxiosError.js","../../lib/axios.js"],"sourcesContent":["'use strict';\n\nexport default function bind(fn, thisArg) {\n return function wrap() {\n return fn.apply(thisArg, arguments);\n };\n}\n","'use strict';\n\nimport bind from './helpers/bind.js';\n\n// utils is a library of generic helper functions non-specific to axios\n\nconst {toString} = Object.prototype;\nconst {getPrototypeOf} = Object;\n\nconst kindOf = (cache => thing => {\n const str = toString.call(thing);\n return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n})(Object.create(null));\n\nconst kindOfTest = (type) => {\n type = type.toLowerCase();\n return (thing) => kindOf(thing) === type\n}\n\nconst typeOfTest = type => thing => typeof thing === type;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n *\n * @returns {boolean} True if value is an Array, otherwise false\n */\nconst {isArray} = Array;\n\n/**\n * Determine if a value is undefined\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nconst isUndefined = typeOfTest('undefined');\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {*} val The value to test\n *\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 && isFunction(val.constructor.isBuffer) && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nconst isArrayBuffer = kindOfTest('ArrayBuffer');\n\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n let result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (isArrayBuffer(val.buffer));\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a String, otherwise false\n */\nconst isString = typeOfTest('string');\n\n/**\n * Determine if a value is a Function\n *\n * @param {*} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nconst isFunction = typeOfTest('function');\n\n/**\n * Determine if a value is a Number\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Number, otherwise false\n */\nconst isNumber = typeOfTest('number');\n\n/**\n * Determine if a value is an Object\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an Object, otherwise false\n */\nconst isObject = (thing) => thing !== null && typeof thing === 'object';\n\n/**\n * Determine if a value is a Boolean\n *\n * @param {*} thing The value to test\n * @returns {boolean} True if value is a Boolean, otherwise false\n */\nconst isBoolean = thing => thing === true || thing === false;\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a plain Object, otherwise false\n */\nconst isPlainObject = (val) => {\n if (kindOf(val) !== 'object') {\n return false;\n }\n\n const prototype = getPrototypeOf(val);\n return prototype === null || prototype === Object.prototype;\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Date, otherwise false\n */\nconst isDate = kindOfTest('Date');\n\n/**\n * Determine if a value is a File\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFile = kindOfTest('File');\n\n/**\n * Determine if a value is a Blob\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nconst isBlob = kindOfTest('Blob');\n\n/**\n * Determine if a value is a FileList\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFileList = kindOfTest('FileList');\n\n/**\n * Determine if a value is a Stream\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nconst isStream = (val) => isObject(val) && isFunction(val.pipe);\n\n/**\n * Determine if a value is a FormData\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nconst isFormData = (thing) => {\n const pattern = '[object FormData]';\n return thing && (\n (typeof FormData === 'function' && thing instanceof FormData) ||\n toString.call(thing) === pattern ||\n (isFunction(thing.toString) && thing.toString() === pattern)\n );\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nconst isURLSearchParams = kindOfTest('URLSearchParams');\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n *\n * @returns {String} The String freed of excess whitespace\n */\nconst trim = (str) => str.trim ?\n str.trim() : str.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '');\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 *\n * @param {Boolean} [allOwnKeys = false]\n * @returns {void}\n */\nfunction forEach(obj, fn, {allOwnKeys = false} = {}) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n let i;\n let l;\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 (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 const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj);\n const len = keys.length;\n let key;\n\n for (i = 0; i < len; i++) {\n key = keys[i];\n fn.call(null, obj[key], key, obj);\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 *\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n const result = {};\n const assignValue = (val, key) => {\n if (isPlainObject(result[key]) && isPlainObject(val)) {\n result[key] = merge(result[key], val);\n } else if (isPlainObject(val)) {\n result[key] = merge({}, val);\n } else if (isArray(val)) {\n result[key] = val.slice();\n } else {\n result[key] = val;\n }\n }\n\n for (let i = 0, l = arguments.length; i < l; i++) {\n arguments[i] && 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 *\n * @param {Boolean} [allOwnKeys]\n * @returns {Object} The resulting value of object a\n */\nconst extend = (a, b, thisArg, {allOwnKeys}= {}) => {\n forEach(b, (val, key) => {\n if (thisArg && isFunction(val)) {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n }, {allOwnKeys});\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n *\n * @returns {string} content value without BOM\n */\nconst stripBOM = (content) => {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\n/**\n * Inherit the prototype methods from one constructor into another\n * @param {function} constructor\n * @param {function} superConstructor\n * @param {object} [props]\n * @param {object} [descriptors]\n *\n * @returns {void}\n */\nconst inherits = (constructor, superConstructor, props, descriptors) => {\n constructor.prototype = Object.create(superConstructor.prototype, descriptors);\n constructor.prototype.constructor = constructor;\n Object.defineProperty(constructor, 'super', {\n value: superConstructor.prototype\n });\n props && Object.assign(constructor.prototype, props);\n}\n\n/**\n * Resolve object with deep prototype chain to a flat object\n * @param {Object} sourceObj source object\n * @param {Object} [destObj]\n * @param {Function|Boolean} [filter]\n * @param {Function} [propFilter]\n *\n * @returns {Object}\n */\nconst toFlatObject = (sourceObj, destObj, filter, propFilter) => {\n let props;\n let i;\n let prop;\n const merged = {};\n\n destObj = destObj || {};\n // eslint-disable-next-line no-eq-null,eqeqeq\n if (sourceObj == null) return destObj;\n\n do {\n props = Object.getOwnPropertyNames(sourceObj);\n i = props.length;\n while (i-- > 0) {\n prop = props[i];\n if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) {\n destObj[prop] = sourceObj[prop];\n merged[prop] = true;\n }\n }\n sourceObj = filter !== false && getPrototypeOf(sourceObj);\n } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);\n\n return destObj;\n}\n\n/**\n * Determines whether a string ends with the characters of a specified string\n *\n * @param {String} str\n * @param {String} searchString\n * @param {Number} [position= 0]\n *\n * @returns {boolean}\n */\nconst endsWith = (str, searchString, position) => {\n str = String(str);\n if (position === undefined || position > str.length) {\n position = str.length;\n }\n position -= searchString.length;\n const lastIndex = str.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n}\n\n\n/**\n * Returns new array from array like object or null if failed\n *\n * @param {*} [thing]\n *\n * @returns {?Array}\n */\nconst toArray = (thing) => {\n if (!thing) return null;\n if (isArray(thing)) return thing;\n let i = thing.length;\n if (!isNumber(i)) return null;\n const arr = new Array(i);\n while (i-- > 0) {\n arr[i] = thing[i];\n }\n return arr;\n}\n\n/**\n * Checking if the Uint8Array exists and if it does, it returns a function that checks if the\n * thing passed in is an instance of Uint8Array\n *\n * @param {TypedArray}\n *\n * @returns {Array}\n */\n// eslint-disable-next-line func-names\nconst isTypedArray = (TypedArray => {\n // eslint-disable-next-line func-names\n return thing => {\n return TypedArray && thing instanceof TypedArray;\n };\n})(typeof Uint8Array !== 'undefined' && getPrototypeOf(Uint8Array));\n\n/**\n * For each entry in the object, call the function with the key and value.\n *\n * @param {Object} obj - The object to iterate over.\n * @param {Function} fn - The function to call for each entry.\n *\n * @returns {void}\n */\nconst forEachEntry = (obj, fn) => {\n const generator = obj && obj[Symbol.iterator];\n\n const iterator = generator.call(obj);\n\n let result;\n\n while ((result = iterator.next()) && !result.done) {\n const pair = result.value;\n fn.call(obj, pair[0], pair[1]);\n }\n}\n\n/**\n * It takes a regular expression and a string, and returns an array of all the matches\n *\n * @param {string} regExp - The regular expression to match against.\n * @param {string} str - The string to search.\n *\n * @returns {Array}\n */\nconst matchAll = (regExp, str) => {\n let matches;\n const arr = [];\n\n while ((matches = regExp.exec(str)) !== null) {\n arr.push(matches);\n }\n\n return arr;\n}\n\n/* Checking if the kindOfTest function returns true when passed an HTMLFormElement. */\nconst isHTMLForm = kindOfTest('HTMLFormElement');\n\nconst toCamelCase = str => {\n return str.toLowerCase().replace(/[_-\\s]([a-z\\d])(\\w*)/g,\n function replacer(m, p1, p2) {\n return p1.toUpperCase() + p2;\n }\n );\n};\n\n/* Creating a function that will check if an object has a property. */\nconst hasOwnProperty = (({hasOwnProperty}) => (obj, prop) => hasOwnProperty.call(obj, prop))(Object.prototype);\n\n/**\n * Determine if a value is a RegExp object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a RegExp object, otherwise false\n */\nconst isRegExp = kindOfTest('RegExp');\n\nconst reduceDescriptors = (obj, reducer) => {\n const descriptors = Object.getOwnPropertyDescriptors(obj);\n const reducedDescriptors = {};\n\n forEach(descriptors, (descriptor, name) => {\n if (reducer(descriptor, name, obj) !== false) {\n reducedDescriptors[name] = descriptor;\n }\n });\n\n Object.defineProperties(obj, reducedDescriptors);\n}\n\n/**\n * Makes all methods read-only\n * @param {Object} obj\n */\n\nconst freezeMethods = (obj) => {\n reduceDescriptors(obj, (descriptor, name) => {\n const value = obj[name];\n\n if (!isFunction(value)) return;\n\n descriptor.enumerable = false;\n\n if ('writable' in descriptor) {\n descriptor.writable = false;\n return;\n }\n\n if (!descriptor.set) {\n descriptor.set = () => {\n throw Error('Can not read-only method \\'' + name + '\\'');\n };\n }\n });\n}\n\nconst toObjectSet = (arrayOrString, delimiter) => {\n const obj = {};\n\n const define = (arr) => {\n arr.forEach(value => {\n obj[value] = true;\n });\n }\n\n isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter));\n\n return obj;\n}\n\nconst noop = () => {}\n\nconst toFiniteNumber = (value, defaultValue) => {\n value = +value;\n return Number.isFinite(value) ? value : defaultValue;\n}\n\nexport default {\n isArray,\n isArrayBuffer,\n isBuffer,\n isFormData,\n isArrayBufferView,\n isString,\n isNumber,\n isBoolean,\n isObject,\n isPlainObject,\n isUndefined,\n isDate,\n isFile,\n isBlob,\n isRegExp,\n isFunction,\n isStream,\n isURLSearchParams,\n isTypedArray,\n isFileList,\n forEach,\n merge,\n extend,\n trim,\n stripBOM,\n inherits,\n toFlatObject,\n kindOf,\n kindOfTest,\n endsWith,\n toArray,\n forEachEntry,\n matchAll,\n isHTMLForm,\n hasOwnProperty,\n hasOwnProp: hasOwnProperty, // an alias to avoid ESLint no-prototype-builtins detection\n reduceDescriptors,\n freezeMethods,\n toObjectSet,\n toCamelCase,\n noop,\n toFiniteNumber\n};\n","'use strict';\n\nimport utils from '../utils.js';\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 {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [config] The config.\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n *\n * @returns {Error} The created error.\n */\nfunction AxiosError(message, code, config, request, response) {\n Error.call(this);\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n } else {\n this.stack = (new Error()).stack;\n }\n\n this.message = message;\n this.name = 'AxiosError';\n code && (this.code = code);\n config && (this.config = config);\n request && (this.request = request);\n response && (this.response = response);\n}\n\nutils.inherits(AxiosError, Error, {\n toJSON: function toJSON() {\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 status: this.response && this.response.status ? this.response.status : null\n };\n }\n});\n\nconst prototype = AxiosError.prototype;\nconst descriptors = {};\n\n[\n 'ERR_BAD_OPTION_VALUE',\n 'ERR_BAD_OPTION',\n 'ECONNABORTED',\n 'ETIMEDOUT',\n 'ERR_NETWORK',\n 'ERR_FR_TOO_MANY_REDIRECTS',\n 'ERR_DEPRECATED',\n 'ERR_BAD_RESPONSE',\n 'ERR_BAD_REQUEST',\n 'ERR_CANCELED',\n 'ERR_NOT_SUPPORT',\n 'ERR_INVALID_URL'\n// eslint-disable-next-line func-names\n].forEach(code => {\n descriptors[code] = {value: code};\n});\n\nObject.defineProperties(AxiosError, descriptors);\nObject.defineProperty(prototype, 'isAxiosError', {value: true});\n\n// eslint-disable-next-line func-names\nAxiosError.from = (error, code, config, request, response, customProps) => {\n const axiosError = Object.create(prototype);\n\n utils.toFlatObject(error, axiosError, function filter(obj) {\n return obj !== Error.prototype;\n }, prop => {\n return prop !== 'isAxiosError';\n });\n\n AxiosError.call(axiosError, error.message, code, config, request, response);\n\n axiosError.cause = error;\n\n axiosError.name = error.name;\n\n customProps && Object.assign(axiosError, customProps);\n\n return axiosError;\n};\n\nexport default AxiosError;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\nimport envFormData from '../env/classes/FormData.js';\n\n/**\n * Determines if the given thing is a array or js object.\n *\n * @param {string} thing - The object or array to be visited.\n *\n * @returns {boolean}\n */\nfunction isVisitable(thing) {\n return utils.isPlainObject(thing) || utils.isArray(thing);\n}\n\n/**\n * It removes the brackets from the end of a string\n *\n * @param {string} key - The key of the parameter.\n *\n * @returns {string} the key without the brackets.\n */\nfunction removeBrackets(key) {\n return utils.endsWith(key, '[]') ? key.slice(0, -2) : key;\n}\n\n/**\n * It takes a path, a key, and a boolean, and returns a string\n *\n * @param {string} path - The path to the current key.\n * @param {string} key - The key of the current object being iterated over.\n * @param {string} dots - If true, the key will be rendered with dots instead of brackets.\n *\n * @returns {string} The path to the current key.\n */\nfunction renderKey(path, key, dots) {\n if (!path) return key;\n return path.concat(key).map(function each(token, i) {\n // eslint-disable-next-line no-param-reassign\n token = removeBrackets(token);\n return !dots && i ? '[' + token + ']' : token;\n }).join(dots ? '.' : '');\n}\n\n/**\n * If the array is an array and none of its elements are visitable, then it's a flat array.\n *\n * @param {Array} arr - The array to check\n *\n * @returns {boolean}\n */\nfunction isFlatArray(arr) {\n return utils.isArray(arr) && !arr.some(isVisitable);\n}\n\nconst predicates = utils.toFlatObject(utils, {}, null, function filter(prop) {\n return /^is[A-Z]/.test(prop);\n});\n\n/**\n * If the thing is a FormData object, return true, otherwise return false.\n *\n * @param {unknown} thing - The thing to check.\n *\n * @returns {boolean}\n */\nfunction isSpecCompliant(thing) {\n return thing && utils.isFunction(thing.append) && thing[Symbol.toStringTag] === 'FormData' && thing[Symbol.iterator];\n}\n\n/**\n * Convert a data object to FormData\n *\n * @param {Object} obj\n * @param {?Object} [formData]\n * @param {?Object} [options]\n * @param {Function} [options.visitor]\n * @param {Boolean} [options.metaTokens = true]\n * @param {Boolean} [options.dots = false]\n * @param {?Boolean} [options.indexes = false]\n *\n * @returns {Object}\n **/\n\n/**\n * It converts an object into a FormData object\n *\n * @param {Object} obj - The object to convert to form data.\n * @param {string} formData - The FormData object to append to.\n * @param {Object} options\n *\n * @returns\n */\nfunction toFormData(obj, formData, options) {\n if (!utils.isObject(obj)) {\n throw new TypeError('target must be an object');\n }\n\n // eslint-disable-next-line no-param-reassign\n formData = formData || new (envFormData || FormData)();\n\n // eslint-disable-next-line no-param-reassign\n options = utils.toFlatObject(options, {\n metaTokens: true,\n dots: false,\n indexes: false\n }, false, function defined(option, source) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n return !utils.isUndefined(source[option]);\n });\n\n const metaTokens = options.metaTokens;\n // eslint-disable-next-line no-use-before-define\n const visitor = options.visitor || defaultVisitor;\n const dots = options.dots;\n const indexes = options.indexes;\n const _Blob = options.Blob || typeof Blob !== 'undefined' && Blob;\n const useBlob = _Blob && isSpecCompliant(formData);\n\n if (!utils.isFunction(visitor)) {\n throw new TypeError('visitor must be a function');\n }\n\n function convertValue(value) {\n if (value === null) return '';\n\n if (utils.isDate(value)) {\n return value.toISOString();\n }\n\n if (!useBlob && utils.isBlob(value)) {\n throw new AxiosError('Blob is not supported. Use a Buffer instead.');\n }\n\n if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {\n return useBlob && typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value);\n }\n\n return value;\n }\n\n /**\n * Default visitor.\n *\n * @param {*} value\n * @param {String|Number} key\n * @param {Array} path\n * @this {FormData}\n *\n * @returns {boolean} return true to visit the each prop of the value recursively\n */\n function defaultVisitor(value, key, path) {\n let arr = value;\n\n if (value && !path && typeof value === 'object') {\n if (utils.endsWith(key, '{}')) {\n // eslint-disable-next-line no-param-reassign\n key = metaTokens ? key : key.slice(0, -2);\n // eslint-disable-next-line no-param-reassign\n value = JSON.stringify(value);\n } else if (\n (utils.isArray(value) && isFlatArray(value)) ||\n (utils.isFileList(value) || utils.endsWith(key, '[]') && (arr = utils.toArray(value))\n )) {\n // eslint-disable-next-line no-param-reassign\n key = removeBrackets(key);\n\n arr.forEach(function each(el, index) {\n !utils.isUndefined(el) && formData.append(\n // eslint-disable-next-line no-nested-ternary\n indexes === true ? renderKey([key], index, dots) : (indexes === null ? key : key + '[]'),\n convertValue(el)\n );\n });\n return false;\n }\n }\n\n if (isVisitable(value)) {\n return true;\n }\n\n formData.append(renderKey(path, key, dots), convertValue(value));\n\n return false;\n }\n\n const stack = [];\n\n const exposedHelpers = Object.assign(predicates, {\n defaultVisitor,\n convertValue,\n isVisitable\n });\n\n function build(value, path) {\n if (utils.isUndefined(value)) return;\n\n if (stack.indexOf(value) !== -1) {\n throw Error('Circular reference detected in ' + path.join('.'));\n }\n\n stack.push(value);\n\n utils.forEach(value, function each(el, key) {\n const result = !utils.isUndefined(el) && visitor.call(\n formData, el, utils.isString(key) ? key.trim() : key, path, exposedHelpers\n );\n\n if (result === true) {\n build(el, path ? path.concat(key) : [key]);\n }\n });\n\n stack.pop();\n }\n\n if (!utils.isObject(obj)) {\n throw new TypeError('data must be an object');\n }\n\n build(obj);\n\n return formData;\n}\n\nexport default toFormData;\n","'use strict';\n\nimport toFormData from './toFormData.js';\n\n/**\n * It encodes a string by replacing all characters that are not in the unreserved set with\n * their percent-encoded equivalents\n *\n * @param {string} str - The string to encode.\n *\n * @returns {string} The encoded string.\n */\nfunction encode(str) {\n const charMap = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+',\n '%00': '\\x00'\n };\n return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) {\n return charMap[match];\n });\n}\n\n/**\n * It takes a params object and converts it to a FormData object\n *\n * @param {Object} params - The parameters to be converted to a FormData object.\n * @param {Object} options - The options object passed to the Axios constructor.\n *\n * @returns {void}\n */\nfunction AxiosURLSearchParams(params, options) {\n this._pairs = [];\n\n params && toFormData(params, this, options);\n}\n\nconst prototype = AxiosURLSearchParams.prototype;\n\nprototype.append = function append(name, value) {\n this._pairs.push([name, value]);\n};\n\nprototype.toString = function toString(encoder) {\n const _encode = encoder ? function(value) {\n return encoder.call(this, value, encode);\n } : encode;\n\n return this._pairs.map(function each(pair) {\n return _encode(pair[0]) + '=' + _encode(pair[1]);\n }, '').join('&');\n};\n\nexport default AxiosURLSearchParams;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosURLSearchParams from '../helpers/AxiosURLSearchParams.js';\n\n/**\n * It replaces all instances of the characters `:`, `$`, `,`, `+`, `[`, and `]` with their\n * URI encoded counterparts\n *\n * @param {string} val The value to be encoded.\n *\n * @returns {string} The encoded value.\n */\nfunction encode(val) {\n return encodeURIComponent(val).\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 * @param {?object} options\n *\n * @returns {string} The formatted url\n */\nexport default function buildURL(url, params, options) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n\n const hashmarkIndex = url.indexOf('#');\n\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n\n const _encode = options && options.encode || encode;\n\n const serializerParams = utils.isURLSearchParams(params) ?\n params.toString() :\n new AxiosURLSearchParams(params, options).toString(_encode);\n\n if (serializerParams) {\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializerParams;\n }\n\n return url;\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\nclass InterceptorManager {\n constructor() {\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 */\n use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled,\n rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null\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 *\n * @returns {Boolean} `true` if the interceptor was removed, `false` otherwise\n */\n eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n }\n\n /**\n * Clear all interceptors from the stack\n *\n * @returns {void}\n */\n clear() {\n if (this.handlers) {\n this.handlers = [];\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 *\n * @returns {void}\n */\n forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n }\n}\n\nexport default InterceptorManager;\n","'use strict';\n\nexport default {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n};\n","'use strict';\n\nimport url from 'url';\nexport default url.URLSearchParams;\n","import URLSearchParams from './classes/URLSearchParams.js'\nimport FormData from './classes/FormData.js'\n\nexport default {\n isNode: true,\n classes: {\n URLSearchParams,\n FormData,\n Blob: typeof Blob !== 'undefined' && Blob || null\n },\n protocols: [ 'http', 'https', 'file', 'data' ]\n};\n","'use strict';\n\nimport utils from '../utils.js';\nimport toFormData from './toFormData.js';\nimport platform from '../platform/index.js';\n\nexport default function toURLEncodedForm(data, options) {\n return toFormData(data, new platform.classes.URLSearchParams(), Object.assign({\n visitor: function(value, key, path, helpers) {\n if (platform.isNode && utils.isBuffer(value)) {\n this.append(key, value.toString('base64'));\n return false;\n }\n\n return helpers.defaultVisitor.apply(this, arguments);\n }\n }, options));\n}\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * It takes a string like `foo[x][y][z]` and returns an array like `['foo', 'x', 'y', 'z']\n *\n * @param {string} name - The name of the property to get.\n *\n * @returns An array of strings.\n */\nfunction parsePropPath(name) {\n // foo[x][y][z]\n // foo.x.y.z\n // foo-x-y-z\n // foo x y z\n return utils.matchAll(/\\w+|\\[(\\w*)]/g, name).map(match => {\n return match[0] === '[]' ? '' : match[1] || match[0];\n });\n}\n\n/**\n * Convert an array to an object.\n *\n * @param {Array} arr - The array to convert to an object.\n *\n * @returns An object with the same keys and values as the array.\n */\nfunction arrayToObject(arr) {\n const obj = {};\n const keys = Object.keys(arr);\n let i;\n const len = keys.length;\n let key;\n for (i = 0; i < len; i++) {\n key = keys[i];\n obj[key] = arr[key];\n }\n return obj;\n}\n\n/**\n * It takes a FormData object and returns a JavaScript object\n *\n * @param {string} formData The FormData object to convert to JSON.\n *\n * @returns {Object | null} The converted object.\n */\nfunction formDataToJSON(formData) {\n function buildPath(path, value, target, index) {\n let name = path[index++];\n const isNumericKey = Number.isFinite(+name);\n const isLast = index >= path.length;\n name = !name && utils.isArray(target) ? target.length : name;\n\n if (isLast) {\n if (utils.hasOwnProp(target, name)) {\n target[name] = [target[name], value];\n } else {\n target[name] = value;\n }\n\n return !isNumericKey;\n }\n\n if (!target[name] || !utils.isObject(target[name])) {\n target[name] = [];\n }\n\n const result = buildPath(path, value, target[name], index);\n\n if (result && utils.isArray(target[name])) {\n target[name] = arrayToObject(target[name]);\n }\n\n return !isNumericKey;\n }\n\n if (utils.isFormData(formData) && utils.isFunction(formData.entries)) {\n const obj = {};\n\n utils.forEachEntry(formData, (name, value) => {\n buildPath(parsePropPath(name), value, obj, 0);\n });\n\n return obj;\n }\n\n return null;\n}\n\nexport default formDataToJSON;\n","'use strict';\n\nimport AxiosError from './AxiosError.js';\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 *\n * @returns {object} The response.\n */\nexport default function settle(resolve, reject, response) {\n const validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(new AxiosError(\n 'Request failed with status code ' + response.status,\n [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4],\n response.config,\n response.request,\n response\n ));\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 *\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nexport default 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\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 *\n * @returns {string} The combined URL\n */\nexport default function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n}\n","'use strict';\n\nimport isAbsoluteURL from '../helpers/isAbsoluteURL.js';\nimport combineURLs from '../helpers/combineURLs.js';\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 *\n * @returns {string} The combined full path\n */\nexport default function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n}\n","export const VERSION = \"1.0.0\";","'use strict';\n\nimport AxiosError from '../core/AxiosError.js';\nimport utils from '../utils.js';\n\n/**\n * A `CanceledError` is an object that is thrown when an operation is canceled.\n *\n * @param {string=} message The message.\n * @param {Object=} config The config.\n * @param {Object=} request The request.\n *\n * @returns {CanceledError} The created error.\n */\nfunction CanceledError(message, config, request) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n AxiosError.call(this, message == null ? 'canceled' : message, AxiosError.ERR_CANCELED, config, request);\n this.name = 'CanceledError';\n}\n\nutils.inherits(CanceledError, AxiosError, {\n __CANCEL__: true\n});\n\nexport default CanceledError;\n","'use strict';\n\nexport default function parseProtocol(url) {\n const match = /^([-+\\w]{1,25})(:?\\/\\/|:)/.exec(url);\n return match && match[1] || '';\n}\n","'use strict';\n\nimport AxiosError from '../core/AxiosError.js';\nimport parseProtocol from './parseProtocol.js';\nimport platform from '../platform/index.js';\n\nconst DATA_URL_PATTERN = /^(?:([^;]+);)?(?:[^;]+;)?(base64|),([\\s\\S]*)$/;\n\n/**\n * Parse data uri to a Buffer or Blob\n *\n * @param {String} uri\n * @param {?Boolean} asBlob\n * @param {?Object} options\n * @param {?Function} options.Blob\n *\n * @returns {Buffer|Blob}\n */\nexport default function fromDataURI(uri, asBlob, options) {\n const _Blob = options && options.Blob || platform.classes.Blob;\n const protocol = parseProtocol(uri);\n\n if (asBlob === undefined && _Blob) {\n asBlob = true;\n }\n\n if (protocol === 'data') {\n uri = protocol.length ? uri.slice(protocol.length + 1) : uri;\n\n const match = DATA_URL_PATTERN.exec(uri);\n\n if (!match) {\n throw new AxiosError('Invalid URL', AxiosError.ERR_INVALID_URL);\n }\n\n const mime = match[1];\n const isBase64 = match[2];\n const body = match[3];\n const buffer = Buffer.from(decodeURIComponent(body), isBase64 ? 'base64' : 'utf8');\n\n if (asBlob) {\n if (!_Blob) {\n throw new AxiosError('Blob is not supported', AxiosError.ERR_NOT_SUPPORT);\n }\n\n return new _Blob([buffer], {type: mime});\n }\n\n return buffer;\n }\n\n throw new AxiosError('Unsupported protocol ' + protocol, AxiosError.ERR_NOT_SUPPORT);\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\n// RawAxiosHeaders whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nconst ignoreDuplicateOf = utils.toObjectSet([\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} rawHeaders Headers needing to be parsed\n *\n * @returns {Object} Headers parsed into an object\n */\nexport default rawHeaders => {\n const parsed = {};\n let key;\n let val;\n let i;\n\n rawHeaders && rawHeaders.split('\\n').forEach(function parser(line) {\n i = line.indexOf(':');\n key = line.substring(0, i).trim().toLowerCase();\n val = line.substring(i + 1).trim();\n\n if (!key || (parsed[key] && ignoreDuplicateOf[key])) {\n return;\n }\n\n if (key === 'set-cookie') {\n if (parsed[key]) {\n parsed[key].push(val);\n } else {\n parsed[key] = [val];\n }\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n });\n\n return parsed;\n};\n","'use strict';\n\nimport utils from '../utils.js';\nimport parseHeaders from '../helpers/parseHeaders.js';\n\nconst $internals = Symbol('internals');\nconst $defaults = Symbol('defaults');\n\nfunction normalizeHeader(header) {\n return header && String(header).trim().toLowerCase();\n}\n\nfunction normalizeValue(value) {\n if (value === false || value == null) {\n return value;\n }\n\n return String(value);\n}\n\nfunction parseTokens(str) {\n const tokens = Object.create(null);\n const tokensRE = /([^\\s,;=]+)\\s*(?:=\\s*([^,;]+))?/g;\n let match;\n\n while ((match = tokensRE.exec(str))) {\n tokens[match[1]] = match[2];\n }\n\n return tokens;\n}\n\nfunction matchHeaderValue(context, value, header, filter) {\n if (utils.isFunction(filter)) {\n return filter.call(this, value, header);\n }\n\n if (!utils.isString(value)) return;\n\n if (utils.isString(filter)) {\n return value.indexOf(filter) !== -1;\n }\n\n if (utils.isRegExp(filter)) {\n return filter.test(value);\n }\n}\n\nfunction formatHeader(header) {\n return header.trim()\n .toLowerCase().replace(/([a-z\\d])(\\w*)/g, (w, char, str) => {\n return char.toUpperCase() + str;\n });\n}\n\nfunction buildAccessors(obj, header) {\n const accessorName = utils.toCamelCase(' ' + header);\n\n ['get', 'set', 'has'].forEach(methodName => {\n Object.defineProperty(obj, methodName + accessorName, {\n value: function(arg1, arg2, arg3) {\n return this[methodName].call(this, header, arg1, arg2, arg3);\n },\n configurable: true\n });\n });\n}\n\nfunction findKey(obj, key) {\n key = key.toLowerCase();\n const keys = Object.keys(obj);\n let i = keys.length;\n let _key;\n while (i-- > 0) {\n _key = keys[i];\n if (key === _key.toLowerCase()) {\n return _key;\n }\n }\n return null;\n}\n\nfunction AxiosHeaders(headers, defaults) {\n headers && this.set(headers);\n this[$defaults] = defaults || null;\n}\n\nObject.assign(AxiosHeaders.prototype, {\n set: function(header, valueOrRewrite, rewrite) {\n const self = this;\n\n function setHeader(_value, _header, _rewrite) {\n const lHeader = normalizeHeader(_header);\n\n if (!lHeader) {\n throw new Error('header name must be a non-empty string');\n }\n\n const key = findKey(self, lHeader);\n\n if (key && _rewrite !== true && (self[key] === false || _rewrite === false)) {\n return;\n }\n\n if (utils.isArray(_value)) {\n _value = _value.map(normalizeValue);\n } else {\n _value = normalizeValue(_value);\n }\n\n self[key || _header] = _value;\n }\n\n if (utils.isPlainObject(header)) {\n utils.forEach(header, (_value, _header) => {\n setHeader(_value, _header, valueOrRewrite);\n });\n } else {\n setHeader(valueOrRewrite, header, rewrite);\n }\n\n return this;\n },\n\n get: function(header, parser) {\n header = normalizeHeader(header);\n\n if (!header) return undefined;\n\n const key = findKey(this, header);\n\n if (key) {\n const value = this[key];\n\n if (!parser) {\n return value;\n }\n\n if (parser === true) {\n return parseTokens(value);\n }\n\n if (utils.isFunction(parser)) {\n return parser.call(this, value, key);\n }\n\n if (utils.isRegExp(parser)) {\n return parser.exec(value);\n }\n\n throw new TypeError('parser must be boolean|regexp|function');\n }\n },\n\n has: function(header, matcher) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = findKey(this, header);\n\n return !!(key && (!matcher || matchHeaderValue(this, this[key], key, matcher)));\n }\n\n return false;\n },\n\n delete: function(header, matcher) {\n const self = this;\n let deleted = false;\n\n function deleteHeader(_header) {\n _header = normalizeHeader(_header);\n\n if (_header) {\n const key = findKey(self, _header);\n\n if (key && (!matcher || matchHeaderValue(self, self[key], key, matcher))) {\n delete self[key];\n\n deleted = true;\n }\n }\n }\n\n if (utils.isArray(header)) {\n header.forEach(deleteHeader);\n } else {\n deleteHeader(header);\n }\n\n return deleted;\n },\n\n clear: function() {\n return Object.keys(this).forEach(this.delete.bind(this));\n },\n\n normalize: function(format) {\n const self = this;\n const headers = {};\n\n utils.forEach(this, (value, header) => {\n const key = findKey(headers, header);\n\n if (key) {\n self[key] = normalizeValue(value);\n delete self[header];\n return;\n }\n\n const normalized = format ? formatHeader(header) : String(header).trim();\n\n if (normalized !== header) {\n delete self[header];\n }\n\n self[normalized] = normalizeValue(value);\n\n headers[normalized] = true;\n });\n\n return this;\n },\n\n toJSON: function() {\n const obj = Object.create(null);\n\n utils.forEach(Object.assign({}, this[$defaults] || null, this),\n (value, header) => {\n if (value == null || value === false) return;\n obj[header] = utils.isArray(value) ? value.join(', ') : value;\n });\n\n return obj;\n }\n});\n\nObject.assign(AxiosHeaders, {\n from: function(thing) {\n if (utils.isString(thing)) {\n return new this(parseHeaders(thing));\n }\n return thing instanceof this ? thing : new this(thing);\n },\n\n accessor: function(header) {\n const internals = this[$internals] = (this[$internals] = {\n accessors: {}\n });\n\n const accessors = internals.accessors;\n const prototype = this.prototype;\n\n function defineAccessor(_header) {\n const lHeader = normalizeHeader(_header);\n\n if (!accessors[lHeader]) {\n buildAccessors(prototype, _header);\n accessors[lHeader] = true;\n }\n }\n\n utils.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header);\n\n return this;\n }\n});\n\nAxiosHeaders.accessor(['Content-Type', 'Content-Length', 'Accept', 'Accept-Encoding', 'User-Agent']);\n\nutils.freezeMethods(AxiosHeaders.prototype);\nutils.freezeMethods(AxiosHeaders);\n\nexport default AxiosHeaders;\n","'use strict';\n\n/**\n * Throttle decorator\n * @param {Function} fn\n * @param {Number} freq\n * @return {Function}\n */\nfunction throttle(fn, freq) {\n let timestamp = 0;\n const threshold = 1000 / freq;\n let timer = null;\n return function throttled(force, args) {\n const now = Date.now();\n if (force || now - timestamp > threshold) {\n if (timer) {\n clearTimeout(timer);\n timer = null;\n }\n timestamp = now;\n return fn.apply(null, args);\n }\n if (!timer) {\n timer = setTimeout(() => {\n timer = null;\n timestamp = Date.now();\n return fn.apply(null, args);\n }, threshold - (now - timestamp));\n }\n };\n}\n\nexport default throttle;\n","'use strict';\n\n/**\n * Calculate data maxRate\n * @param {Number} [samplesCount= 10]\n * @param {Number} [min= 1000]\n * @returns {Function}\n */\nfunction speedometer(samplesCount, min) {\n samplesCount = samplesCount || 10;\n const bytes = new Array(samplesCount);\n const timestamps = new Array(samplesCount);\n let head = 0;\n let tail = 0;\n let firstSampleTS;\n\n min = min !== undefined ? min : 1000;\n\n return function push(chunkLength) {\n const now = Date.now();\n\n const startedAt = timestamps[tail];\n\n if (!firstSampleTS) {\n firstSampleTS = now;\n }\n\n bytes[head] = chunkLength;\n timestamps[head] = now;\n\n let i = tail;\n let bytesCount = 0;\n\n while (i !== head) {\n bytesCount += bytes[i++];\n i = i % samplesCount;\n }\n\n head = (head + 1) % samplesCount;\n\n if (head === tail) {\n tail = (tail + 1) % samplesCount;\n }\n\n if (now - firstSampleTS < min) {\n return;\n }\n\n const passed = startedAt && now - startedAt;\n\n return passed ? Math.round(bytesCount * 1000 / passed) : undefined;\n };\n}\n\nexport default speedometer;\n","'use strict';\n\nimport stream from 'stream';\nimport utils from '../utils.js';\nimport throttle from './throttle.js';\nimport speedometer from './speedometer.js';\n\nconst kInternals = Symbol('internals');\n\nclass AxiosTransformStream extends stream.Transform{\n constructor(options) {\n options = utils.toFlatObject(options, {\n maxRate: 0,\n chunkSize: 64 * 1024,\n minChunkSize: 100,\n timeWindow: 500,\n ticksRate: 2,\n samplesCount: 15\n }, null, (prop, source) => {\n return !utils.isUndefined(source[prop]);\n });\n\n super({\n readableHighWaterMark: options.chunkSize\n });\n\n const self = this;\n\n const internals = this[kInternals] = {\n length: options.length,\n timeWindow: options.timeWindow,\n ticksRate: options.ticksRate,\n chunkSize: options.chunkSize,\n maxRate: options.maxRate,\n minChunkSize: options.minChunkSize,\n bytesSeen: 0,\n isCaptured: false,\n notifiedBytesLoaded: 0,\n ts: Date.now(),\n bytes: 0,\n onReadCallback: null\n };\n\n const _speedometer = speedometer(internals.ticksRate * options.samplesCount, internals.timeWindow);\n\n this.on('newListener', event => {\n if (event === 'progress') {\n if (!internals.isCaptured) {\n internals.isCaptured = true;\n }\n }\n });\n\n let bytesNotified = 0;\n\n internals.updateProgress = throttle(function throttledHandler() {\n const totalBytes = internals.length;\n const bytesTransferred = internals.bytesSeen;\n const progressBytes = bytesTransferred - bytesNotified;\n if (!progressBytes || self.destroyed) return;\n\n const rate = _speedometer(progressBytes);\n\n bytesNotified = bytesTransferred;\n\n process.nextTick(() => {\n self.emit('progress', {\n 'loaded': bytesTransferred,\n 'total': totalBytes,\n 'progress': totalBytes ? (bytesTransferred / totalBytes) : undefined,\n 'bytes': progressBytes,\n 'rate': rate ? rate : undefined,\n 'estimated': rate && totalBytes && bytesTransferred <= totalBytes ?\n (totalBytes - bytesTransferred) / rate : undefined\n });\n });\n }, internals.ticksRate);\n\n const onFinish = () => {\n internals.updateProgress(true);\n };\n\n this.once('end', onFinish);\n this.once('error', onFinish);\n }\n\n _read(size) {\n const internals = this[kInternals];\n\n if (internals.onReadCallback) {\n internals.onReadCallback();\n }\n\n return super._read(size);\n }\n\n _transform(chunk, encoding, callback) {\n const self = this;\n const internals = this[kInternals];\n const maxRate = internals.maxRate;\n\n const readableHighWaterMark = this.readableHighWaterMark;\n\n const timeWindow = internals.timeWindow;\n\n const divider = 1000 / timeWindow;\n const bytesThreshold = (maxRate / divider);\n const minChunkSize = internals.minChunkSize !== false ? Math.max(internals.minChunkSize, bytesThreshold * 0.01) : 0;\n\n function pushChunk(_chunk, _callback) {\n const bytes = Buffer.byteLength(_chunk);\n internals.bytesSeen += bytes;\n internals.bytes += bytes;\n\n if (internals.isCaptured) {\n internals.updateProgress();\n }\n\n if (self.push(_chunk)) {\n process.nextTick(_callback);\n } else {\n internals.onReadCallback = () => {\n internals.onReadCallback = null;\n process.nextTick(_callback);\n };\n }\n }\n\n const transformChunk = (_chunk, _callback) => {\n const chunkSize = Buffer.byteLength(_chunk);\n let chunkRemainder = null;\n let maxChunkSize = readableHighWaterMark;\n let bytesLeft;\n let passed = 0;\n\n if (maxRate) {\n const now = Date.now();\n\n if (!internals.ts || (passed = (now - internals.ts)) >= timeWindow) {\n internals.ts = now;\n bytesLeft = bytesThreshold - internals.bytes;\n internals.bytes = bytesLeft < 0 ? -bytesLeft : 0;\n passed = 0;\n }\n\n bytesLeft = bytesThreshold - internals.bytes;\n }\n\n if (maxRate) {\n if (bytesLeft <= 0) {\n // next time window\n return setTimeout(() => {\n _callback(null, _chunk);\n }, timeWindow - passed);\n }\n\n if (bytesLeft < maxChunkSize) {\n maxChunkSize = bytesLeft;\n }\n }\n\n if (maxChunkSize && chunkSize > maxChunkSize && (chunkSize - maxChunkSize) > minChunkSize) {\n chunkRemainder = _chunk.subarray(maxChunkSize);\n _chunk = _chunk.subarray(0, maxChunkSize);\n }\n\n pushChunk(_chunk, chunkRemainder ? () => {\n process.nextTick(_callback, null, chunkRemainder);\n } : _callback);\n };\n\n transformChunk(chunk, function transformNextChunk(err, _chunk) {\n if (err) {\n return callback(err);\n }\n\n if (_chunk) {\n transformChunk(_chunk, transformNextChunk);\n } else {\n callback(null);\n }\n });\n }\n\n setLength(length) {\n this[kInternals].length = +length;\n return this;\n }\n}\n\nexport default AxiosTransformStream;\n","'use strict';\n\nimport utils from './../utils.js';\nimport settle from './../core/settle.js';\nimport buildFullPath from '../core/buildFullPath.js';\nimport buildURL from './../helpers/buildURL.js';\nimport {getProxyForUrl} from 'proxy-from-env';\nimport http from 'http';\nimport https from 'https';\nimport followRedirects from 'follow-redirects';\nimport zlib from 'zlib';\nimport {VERSION} from '../env/data.js';\nimport transitionalDefaults from '../defaults/transitional.js';\nimport AxiosError from '../core/AxiosError.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport platform from '../platform/index.js';\nimport fromDataURI from '../helpers/fromDataURI.js';\nimport stream from 'stream';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport AxiosTransformStream from '../helpers/AxiosTransformStream.js';\nimport EventEmitter from 'events';\n\nconst isBrotliSupported = utils.isFunction(zlib.createBrotliDecompress);\n\nconst {http: httpFollow, https: httpsFollow} = followRedirects;\n\nconst isHttps = /https:?/;\n\nconst supportedProtocols = platform.protocols.map(protocol => {\n return protocol + ':';\n});\n\n/**\n * If the proxy or config beforeRedirects functions are defined, call them with the options\n * object.\n *\n * @param {Object} options - The options object that was passed to the request.\n *\n * @returns {Object}\n */\nfunction dispatchBeforeRedirect(options) {\n if (options.beforeRedirects.proxy) {\n options.beforeRedirects.proxy(options);\n }\n if (options.beforeRedirects.config) {\n options.beforeRedirects.config(options);\n }\n}\n\n/**\n * If the proxy or config afterRedirects functions are defined, call them with the options\n *\n * @param {http.ClientRequestArgs} options\n * @param {AxiosProxyConfig} configProxy\n * @param {string} location\n *\n * @returns {http.ClientRequestArgs}\n */\nfunction setProxy(options, configProxy, location) {\n let proxy = configProxy;\n if (!proxy && proxy !== false) {\n const proxyUrl = getProxyForUrl(location);\n if (proxyUrl) {\n proxy = new URL(proxyUrl);\n }\n }\n if (proxy) {\n // Basic proxy authorization\n if (proxy.username) {\n proxy.auth = (proxy.username || '') + ':' + (proxy.password || '');\n }\n\n if (proxy.auth) {\n // Support proxy auth object form\n if (proxy.auth.username || proxy.auth.password) {\n proxy.auth = (proxy.auth.username || '') + ':' + (proxy.auth.password || '');\n }\n const base64 = Buffer\n .from(proxy.auth, 'utf8')\n .toString('base64');\n options.headers['Proxy-Authorization'] = 'Basic ' + base64;\n }\n\n options.headers.host = options.hostname + (options.port ? ':' + options.port : '');\n options.hostname = proxy.hostname;\n // Replace 'host' since options is not a URL object\n options.host = proxy.hostname;\n options.port = proxy.port;\n options.path = location;\n if (proxy.protocol) {\n options.protocol = proxy.protocol;\n }\n }\n\n options.beforeRedirects.proxy = function beforeRedirect(redirectOptions) {\n // Configure proxy for redirected request, passing the original config proxy to apply\n // the exact same logic as if the redirected request was performed by axios directly.\n setProxy(redirectOptions, configProxy, redirectOptions.href);\n };\n}\n\n/*eslint consistent-return:0*/\nexport default function httpAdapter(config) {\n return new Promise(function dispatchHttpRequest(resolvePromise, rejectPromise) {\n let data = config.data;\n const responseType = config.responseType;\n const responseEncoding = config.responseEncoding;\n const method = config.method.toUpperCase();\n let isFinished;\n let isDone;\n let rejected = false;\n let req;\n\n // temporary internal emitter until the AxiosRequest class will be implemented\n const emitter = new EventEmitter();\n\n function onFinished() {\n if (isFinished) return;\n isFinished = true;\n\n if (config.cancelToken) {\n config.cancelToken.unsubscribe(abort);\n }\n\n if (config.signal) {\n config.signal.removeEventListener('abort', abort);\n }\n\n emitter.removeAllListeners();\n }\n\n function done(value, isRejected) {\n if (isDone) return;\n\n isDone = true;\n\n if (isRejected) {\n rejected = true;\n onFinished();\n }\n\n isRejected ? rejectPromise(value) : resolvePromise(value);\n }\n\n const resolve = function resolve(value) {\n done(value);\n };\n\n const reject = function reject(value) {\n done(value, true);\n };\n\n function abort(reason) {\n emitter.emit('abort', !reason || reason.type ? new CanceledError(null, config, req) : reason);\n }\n\n emitter.once('abort', reject);\n\n if (config.cancelToken || config.signal) {\n config.cancelToken && config.cancelToken.subscribe(abort);\n if (config.signal) {\n config.signal.aborted ? abort() : config.signal.addEventListener('abort', abort);\n }\n }\n\n // Parse url\n const fullPath = buildFullPath(config.baseURL, config.url);\n const parsed = new URL(fullPath);\n const protocol = parsed.protocol || supportedProtocols[0];\n\n if (protocol === 'data:') {\n let convertedData;\n\n if (method !== 'GET') {\n return settle(resolve, reject, {\n status: 405,\n statusText: 'method not allowed',\n headers: {},\n config\n });\n }\n\n try {\n convertedData = fromDataURI(config.url, responseType === 'blob', {\n Blob: config.env && config.env.Blob\n });\n } catch (err) {\n throw AxiosError.from(err, AxiosError.ERR_BAD_REQUEST, config);\n }\n\n if (responseType === 'text') {\n convertedData = convertedData.toString(responseEncoding);\n\n if (!responseEncoding || responseEncoding === 'utf8') {\n data = utils.stripBOM(convertedData);\n }\n } else if (responseType === 'stream') {\n convertedData = stream.Readable.from(convertedData);\n }\n\n return settle(resolve, reject, {\n data: convertedData,\n status: 200,\n statusText: 'OK',\n headers: {},\n config\n });\n }\n\n if (supportedProtocols.indexOf(protocol) === -1) {\n return reject(new AxiosError(\n 'Unsupported protocol ' + protocol,\n AxiosError.ERR_BAD_REQUEST,\n config\n ));\n }\n\n const headers = AxiosHeaders.from(config.headers).normalize();\n\n // Set User-Agent (required by some servers)\n // See https://github.com/axios/axios/issues/69\n // User-Agent is specified; handle case where no UA header is desired\n // Only set header if it hasn't been set in config\n headers.set('User-Agent', 'axios/' + VERSION, false);\n\n const onDownloadProgress = config.onDownloadProgress;\n const onUploadProgress = config.onUploadProgress;\n const maxRate = config.maxRate;\n let maxUploadRate = undefined;\n let maxDownloadRate = undefined;\n\n // support for https://www.npmjs.com/package/form-data api\n if (utils.isFormData(data) && utils.isFunction(data.getHeaders)) {\n headers.set(data.getHeaders());\n } else if (data && !utils.isStream(data)) {\n if (Buffer.isBuffer(data)) {\n // Nothing to do...\n } else if (utils.isArrayBuffer(data)) {\n data = Buffer.from(new Uint8Array(data));\n } else if (utils.isString(data)) {\n data = Buffer.from(data, 'utf-8');\n } else {\n return reject(new AxiosError(\n 'Data after transformation must be a string, an ArrayBuffer, a Buffer, or a Stream',\n AxiosError.ERR_BAD_REQUEST,\n config\n ));\n }\n\n // Add Content-Length header if data exists\n headers.set('Content-Length', data.length, false);\n\n if (config.maxBodyLength > -1 && data.length > config.maxBodyLength) {\n return reject(new AxiosError(\n 'Request body larger than maxBodyLength limit',\n AxiosError.ERR_BAD_REQUEST,\n config\n ));\n }\n }\n\n const contentLength = +headers.getContentLength();\n\n if (utils.isArray(maxRate)) {\n maxUploadRate = maxRate[0];\n maxDownloadRate = maxRate[1];\n } else {\n maxUploadRate = maxDownloadRate = maxRate;\n }\n\n if (data && (onUploadProgress || maxUploadRate)) {\n if (!utils.isStream(data)) {\n data = stream.Readable.from(data, {objectMode: false});\n }\n\n data = stream.pipeline([data, new AxiosTransformStream({\n length: utils.toFiniteNumber(contentLength),\n maxRate: utils.toFiniteNumber(maxUploadRate)\n })], utils.noop);\n\n onUploadProgress && data.on('progress', progress => {\n onUploadProgress(Object.assign(progress, {\n upload: true\n }));\n });\n }\n\n // HTTP basic authentication\n let auth = undefined;\n if (config.auth) {\n const username = config.auth.username || '';\n const password = config.auth.password || '';\n auth = username + ':' + password;\n }\n\n if (!auth && parsed.username) {\n const urlUsername = parsed.username;\n const urlPassword = parsed.password;\n auth = urlUsername + ':' + urlPassword;\n }\n\n auth && headers.delete('authorization');\n\n const path = parsed.pathname.concat(parsed.searchParams);\n try {\n buildURL(path, config.params, config.paramsSerializer).replace(/^\\?/, '');\n } catch (err) {\n const customErr = new Error(err.message);\n customErr.config = config;\n customErr.url = config.url;\n customErr.exists = true;\n return reject(customErr);\n }\n\n headers.set('Accept-Encoding', 'gzip, deflate, br', false);\n\n const options = {\n path: buildURL(path, config.params, config.paramsSerializer).replace(/^\\?/, ''),\n method: method,\n headers: headers.toJSON(),\n agents: { http: config.httpAgent, https: config.httpsAgent },\n auth,\n protocol,\n beforeRedirect: dispatchBeforeRedirect,\n beforeRedirects: {}\n };\n\n if (config.socketPath) {\n options.socketPath = config.socketPath;\n } else {\n options.hostname = parsed.hostname;\n options.port = parsed.port;\n setProxy(options, config.proxy, protocol + '//' + parsed.hostname + (parsed.port ? ':' + parsed.port : '') + options.path);\n }\n\n let transport;\n const isHttpsRequest = isHttps.test(options.protocol);\n options.agent = isHttpsRequest ? config.httpsAgent : config.httpAgent;\n if (config.transport) {\n transport = config.transport;\n } else if (config.maxRedirects === 0) {\n transport = isHttpsRequest ? https : http;\n } else {\n if (config.maxRedirects) {\n options.maxRedirects = config.maxRedirects;\n }\n if (config.beforeRedirect) {\n options.beforeRedirects.config = config.beforeRedirect;\n }\n transport = isHttpsRequest ? httpsFollow : httpFollow;\n }\n\n if (config.maxBodyLength > -1) {\n options.maxBodyLength = config.maxBodyLength;\n } else {\n // follow-redirects does not skip comparison, so it should always succeed for axios -1 unlimited\n options.maxBodyLength = Infinity;\n }\n\n if (config.insecureHTTPParser) {\n options.insecureHTTPParser = config.insecureHTTPParser;\n }\n\n // Create the request\n req = transport.request(options, function handleResponse(res) {\n if (req.destroyed) return;\n\n const streams = [res];\n\n // uncompress the response body transparently if required\n let responseStream = res;\n\n // return the last request in case of redirects\n const lastRequest = res.req || req;\n\n // if decompress disabled we should not decompress\n if (config.decompress !== false) {\n // if no content, but headers still say that it is encoded,\n // remove the header not confuse downstream operations\n if (data && data.length === 0 && res.headers['content-encoding']) {\n delete res.headers['content-encoding'];\n }\n\n switch (res.headers['content-encoding']) {\n /*eslint default-case:0*/\n case 'gzip':\n case 'compress':\n case 'deflate':\n // add the unzipper to the body stream processing pipeline\n streams.push(zlib.createUnzip());\n\n // remove the content-encoding in order to not confuse downstream operations\n delete res.headers['content-encoding'];\n break;\n case 'br':\n if (isBrotliSupported) {\n streams.push(zlib.createBrotliDecompress());\n delete res.headers['content-encoding'];\n }\n }\n }\n\n if (onDownloadProgress) {\n const responseLength = +res.headers['content-length'];\n\n const transformStream = new AxiosTransformStream({\n length: utils.toFiniteNumber(responseLength),\n maxRate: utils.toFiniteNumber(maxDownloadRate)\n });\n\n onDownloadProgress && transformStream.on('progress', progress => {\n onDownloadProgress(Object.assign(progress, {\n download: true\n }));\n });\n\n streams.push(transformStream);\n }\n\n responseStream = streams.length > 1 ? stream.pipeline(streams, utils.noop) : streams[0];\n\n const offListeners = stream.finished(responseStream, () => {\n offListeners();\n onFinished();\n });\n\n const response = {\n status: res.statusCode,\n statusText: res.statusMessage,\n headers: new AxiosHeaders(res.headers),\n config,\n request: lastRequest\n };\n\n if (responseType === 'stream') {\n response.data = responseStream;\n settle(resolve, reject, response);\n } else {\n const responseBuffer = [];\n let totalResponseBytes = 0;\n\n responseStream.on('data', function handleStreamData(chunk) {\n responseBuffer.push(chunk);\n totalResponseBytes += chunk.length;\n\n // make sure the content length is not over the maxContentLength if specified\n if (config.maxContentLength > -1 && totalResponseBytes > config.maxContentLength) {\n // stream.destroy() emit aborted event before calling reject() on Node.js v16\n rejected = true;\n responseStream.destroy();\n reject(new AxiosError('maxContentLength size of ' + config.maxContentLength + ' exceeded',\n AxiosError.ERR_BAD_RESPONSE, config, lastRequest));\n }\n });\n\n responseStream.on('aborted', function handlerStreamAborted() {\n if (rejected) {\n return;\n }\n\n const err = new AxiosError(\n 'maxContentLength size of ' + config.maxContentLength + ' exceeded',\n AxiosError.ERR_BAD_RESPONSE,\n config,\n lastRequest\n );\n responseStream.destroy(err);\n reject(err);\n });\n\n responseStream.on('error', function handleStreamError(err) {\n if (req.destroyed) return;\n reject(AxiosError.from(err, null, config, lastRequest));\n });\n\n responseStream.on('end', function handleStreamEnd() {\n try {\n let responseData = responseBuffer.length === 1 ? responseBuffer[0] : Buffer.concat(responseBuffer);\n if (responseType !== 'arraybuffer') {\n responseData = responseData.toString(responseEncoding);\n if (!responseEncoding || responseEncoding === 'utf8') {\n responseData = utils.stripBOM(responseData);\n }\n }\n response.data = responseData;\n } catch (err) {\n reject(AxiosError.from(err, null, config, response.request, response));\n }\n settle(resolve, reject, response);\n });\n }\n\n emitter.once('abort', err => {\n if (!responseStream.destroyed) {\n responseStream.emit('error', err);\n responseStream.destroy();\n }\n });\n });\n\n emitter.once('abort', err => {\n reject(err);\n req.destroy(err);\n });\n\n // Handle errors\n req.on('error', function handleRequestError(err) {\n // @todo remove\n // if (req.aborted && err.code !== AxiosError.ERR_FR_TOO_MANY_REDIRECTS) return;\n reject(AxiosError.from(err, null, config, req));\n });\n\n // set tcp keep alive to prevent drop connection by peer\n req.on('socket', function handleRequestSocket(socket) {\n // default interval of sending ack packet is 1 minute\n socket.setKeepAlive(true, 1000 * 60);\n });\n\n // Handle request timeout\n if (config.timeout) {\n // This is forcing a int timeout to avoid problems if the `req` interface doesn't handle other types.\n const timeout = parseInt(config.timeout, 10);\n\n if (isNaN(timeout)) {\n reject(new AxiosError(\n 'error trying to parse `config.timeout` to int',\n AxiosError.ERR_BAD_OPTION_VALUE,\n config,\n req\n ));\n\n return;\n }\n\n // Sometime, the response will be very slow, and does not respond, the connect event will be block by event loop system.\n // And timer callback will be fired, and abort() will be invoked before connection, then get \"socket hang up\" and code ECONNRESET.\n // At this time, if we have a large number of request, nodejs will hang up some socket on background. and the number will up and up.\n // And then these socket which be hang up will devouring CPU little by little.\n // ClientRequest.setTimeout will be fired on the specify milliseconds, and can make sure that abort() will be fired after connect.\n req.setTimeout(timeout, function handleRequestTimeout() {\n if (isDone) return;\n let timeoutErrorMessage = config.timeout ? 'timeout of ' + config.timeout + 'ms exceeded' : 'timeout exceeded';\n const transitional = config.transitional || transitionalDefaults;\n if (config.timeoutErrorMessage) {\n timeoutErrorMessage = config.timeoutErrorMessage;\n }\n reject(new AxiosError(\n timeoutErrorMessage,\n transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n config,\n req\n ));\n abort();\n });\n }\n\n\n // Send the request\n if (utils.isStream(data)) {\n let ended = false;\n let errored = false;\n\n data.on('end', () => {\n ended = true;\n });\n\n data.once('error', err => {\n errored = true;\n req.destroy(err);\n });\n\n data.on('close', () => {\n if (!ended && !errored) {\n abort(new CanceledError('Request stream has been aborted', config, req));\n }\n });\n\n data.pipe(req);\n } else {\n req.end(data);\n }\n });\n}\n","'use strict';\n\nimport utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.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 const 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 const 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","'use strict';\n\nimport utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.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 const msie = /(msie|trident)/i.test(navigator.userAgent);\n const urlParsingNode = document.createElement('a');\n let 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 let 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 const 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","'use strict';\n\nimport utils from './../utils.js';\nimport settle from './../core/settle.js';\nimport cookies from './../helpers/cookies.js';\nimport buildURL from './../helpers/buildURL.js';\nimport buildFullPath from '../core/buildFullPath.js';\nimport isURLSameOrigin from './../helpers/isURLSameOrigin.js';\nimport transitionalDefaults from '../defaults/transitional.js';\nimport AxiosError from '../core/AxiosError.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport parseProtocol from '../helpers/parseProtocol.js';\nimport platform from '../platform/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport speedometer from '../helpers/speedometer.js';\n\nfunction progressEventReducer(listener, isDownloadStream) {\n let bytesNotified = 0;\n const _speedometer = speedometer(50, 250);\n\n return e => {\n const loaded = e.loaded;\n const total = e.lengthComputable ? e.total : undefined;\n const progressBytes = loaded - bytesNotified;\n const rate = _speedometer(progressBytes);\n const inRange = loaded <= total;\n\n bytesNotified = loaded;\n\n const data = {\n loaded,\n total,\n progress: total ? (loaded / total) : undefined,\n bytes: progressBytes,\n rate: rate ? rate : undefined,\n estimated: rate && total && inRange ? (total - loaded) / rate : undefined\n };\n\n data[isDownloadStream ? 'download' : 'upload'] = true;\n\n listener(data);\n };\n}\n\nexport default function xhrAdapter(config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n let requestData = config.data;\n const requestHeaders = AxiosHeaders.from(config.headers).normalize();\n const responseType = config.responseType;\n let onCanceled;\n function done() {\n if (config.cancelToken) {\n config.cancelToken.unsubscribe(onCanceled);\n }\n\n if (config.signal) {\n config.signal.removeEventListener('abort', onCanceled);\n }\n }\n\n if (utils.isFormData(requestData) && platform.isStandardBrowserEnv) {\n requestHeaders.setContentType(false); // Let the browser set it\n }\n\n let request = new XMLHttpRequest();\n\n // HTTP basic authentication\n if (config.auth) {\n const username = config.auth.username || '';\n const password = config.auth.password ? unescape(encodeURIComponent(config.auth.password)) : '';\n requestHeaders.set('Authorization', 'Basic ' + btoa(username + ':' + password));\n }\n\n const fullPath = buildFullPath(config.baseURL, config.url);\n\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 function onloadend() {\n if (!request) {\n return;\n }\n // Prepare the response\n const responseHeaders = AxiosHeaders.from(\n 'getAllResponseHeaders' in request && request.getAllResponseHeaders()\n );\n const responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n const response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config,\n request\n };\n\n settle(function _resolve(value) {\n resolve(value);\n done();\n }, function _reject(err) {\n reject(err);\n done();\n }, response);\n\n // Clean up request\n request = null;\n }\n\n if ('onloadend' in request) {\n // Use onloadend if available\n request.onloadend = onloadend;\n } else {\n // Listen for ready state to emulate onloadend\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 // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n setTimeout(onloadend);\n };\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(new AxiosError('Request aborted', AxiosError.ECONNABORTED, config, 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(new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n let timeoutErrorMessage = config.timeout ? 'timeout of ' + config.timeout + 'ms exceeded' : 'timeout exceeded';\n const transitional = config.transitional || transitionalDefaults;\n if (config.timeoutErrorMessage) {\n timeoutErrorMessage = config.timeoutErrorMessage;\n }\n reject(new AxiosError(\n timeoutErrorMessage,\n transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n config,\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 (platform.isStandardBrowserEnv) {\n // Add xsrf header\n const xsrfValue = (config.withCredentials || isURLSameOrigin(fullPath))\n && config.xsrfCookieName && cookies.read(config.xsrfCookieName);\n\n if (xsrfValue) {\n requestHeaders.set(config.xsrfHeaderName, xsrfValue);\n }\n }\n\n // Remove Content-Type if data is undefined\n requestData === undefined && requestHeaders.setContentType(null);\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) {\n request.setRequestHeader(key, val);\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 (responseType && responseType !== 'json') {\n request.responseType = config.responseType;\n }\n\n // Handle progress if needed\n if (typeof config.onDownloadProgress === 'function') {\n request.addEventListener('progress', progressEventReducer(config.onDownloadProgress, true));\n }\n\n // Not all browsers support upload events\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', progressEventReducer(config.onUploadProgress));\n }\n\n if (config.cancelToken || config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = cancel => {\n if (!request) {\n return;\n }\n reject(!cancel || cancel.type ? new CanceledError(null, config, request) : cancel);\n request.abort();\n request = null;\n };\n\n config.cancelToken && config.cancelToken.subscribe(onCanceled);\n if (config.signal) {\n config.signal.aborted ? onCanceled() : config.signal.addEventListener('abort', onCanceled);\n }\n }\n\n const protocol = parseProtocol(fullPath);\n\n if (protocol && platform.protocols.indexOf(protocol) === -1) {\n reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config));\n return;\n }\n\n\n // Send the request\n request.send(requestData || null);\n });\n}\n","import utils from '../utils.js';\nimport httpAdapter from './http.js';\nimport xhrAdapter from './xhr.js';\n\nconst adapters = {\n http: httpAdapter,\n xhr: xhrAdapter\n}\n\nexport default {\n getAdapter: (nameOrAdapter) => {\n if(utils.isString(nameOrAdapter)){\n const adapter = adapters[nameOrAdapter];\n\n if (!nameOrAdapter) {\n throw Error(\n utils.hasOwnProp(nameOrAdapter) ?\n `Adapter '${nameOrAdapter}' is not available in the build` :\n `Can not resolve adapter '${nameOrAdapter}'`\n );\n }\n\n return adapter\n }\n\n if (!utils.isFunction(nameOrAdapter)) {\n throw new TypeError('adapter is not a function');\n }\n\n return nameOrAdapter;\n },\n adapters\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\nimport transitionalDefaults from './transitional.js';\nimport toFormData from '../helpers/toFormData.js';\nimport toURLEncodedForm from '../helpers/toURLEncodedForm.js';\nimport platform from '../platform/index.js';\nimport formDataToJSON from '../helpers/formDataToJSON.js';\nimport adapters from '../adapters/index.js';\n\nconst DEFAULT_CONTENT_TYPE = {\n 'Content-Type': 'application/x-www-form-urlencoded'\n};\n\n/**\n * If the browser has an XMLHttpRequest object, use the XHR adapter, otherwise use the HTTP\n * adapter\n *\n * @returns {Function}\n */\nfunction getDefaultAdapter() {\n let adapter;\n if (typeof XMLHttpRequest !== 'undefined') {\n // For browsers use XHR adapter\n adapter = adapters.getAdapter('xhr');\n } else if (typeof process !== 'undefined' && utils.kindOf(process) === 'process') {\n // For node use HTTP adapter\n adapter = adapters.getAdapter('http');\n }\n return adapter;\n}\n\n/**\n * It takes a string, tries to parse it, and if it fails, it returns the stringified version\n * of the input\n *\n * @param {any} rawValue - The value to be stringified.\n * @param {Function} parser - A function that parses a string into a JavaScript object.\n * @param {Function} encoder - A function that takes a value and returns a string.\n *\n * @returns {string} A stringified version of the rawValue.\n */\nfunction stringifySafely(rawValue, parser, encoder) {\n if (utils.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils.trim(rawValue);\n } catch (e) {\n if (e.name !== 'SyntaxError') {\n throw e;\n }\n }\n }\n\n return (encoder || JSON.stringify)(rawValue);\n}\n\nconst defaults = {\n\n transitional: transitionalDefaults,\n\n adapter: getDefaultAdapter(),\n\n transformRequest: [function transformRequest(data, headers) {\n const contentType = headers.getContentType() || '';\n const hasJSONContentType = contentType.indexOf('application/json') > -1;\n const isObjectPayload = utils.isObject(data);\n\n if (isObjectPayload && utils.isHTMLForm(data)) {\n data = new FormData(data);\n }\n\n const isFormData = utils.isFormData(data);\n\n if (isFormData) {\n if (!hasJSONContentType) {\n return data;\n }\n return hasJSONContentType ? JSON.stringify(formDataToJSON(data)) : data;\n }\n\n if (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 headers.setContentType('application/x-www-form-urlencoded;charset=utf-8', false);\n return data.toString();\n }\n\n let isFileList;\n\n if (isObjectPayload) {\n if (contentType.indexOf('application/x-www-form-urlencoded') > -1) {\n return toURLEncodedForm(data, this.formSerializer).toString();\n }\n\n if ((isFileList = utils.isFileList(data)) || contentType.indexOf('multipart/form-data') > -1) {\n const _FormData = this.env && this.env.FormData;\n\n return toFormData(\n isFileList ? {'files[]': data} : data,\n _FormData && new _FormData(),\n this.formSerializer\n );\n }\n }\n\n if (isObjectPayload || hasJSONContentType ) {\n headers.setContentType('application/json', false);\n return stringifySafely(data);\n }\n\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n const transitional = this.transitional || defaults.transitional;\n const forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n const JSONRequested = this.responseType === 'json';\n\n if (data && utils.isString(data) && ((forcedJSONParsing && !this.responseType) || JSONRequested)) {\n const silentJSONParsing = transitional && transitional.silentJSONParsing;\n const strictJSONParsing = !silentJSONParsing && JSONRequested;\n\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response);\n }\n throw e;\n }\n }\n }\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 maxBodyLength: -1,\n\n env: {\n FormData: platform.classes.FormData,\n Blob: platform.classes.Blob\n },\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n },\n\n headers: {\n common: {\n 'Accept': 'application/json, text/plain, */*'\n }\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\nexport default defaults;\n","'use strict';\n\nimport utils from './../utils.js';\nimport defaults from '../defaults/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Array|Function} fns A single function or Array of functions\n * @param {?Object} response The response object\n *\n * @returns {*} The resulting transformed data\n */\nexport default function transformData(fns, response) {\n const config = this || defaults;\n const context = response || config;\n const headers = AxiosHeaders.from(context.headers);\n let data = context.data;\n\n utils.forEach(fns, function transform(fn) {\n data = fn.call(config, data, headers.normalize(), response ? response.status : undefined);\n });\n\n headers.normalize();\n\n return data;\n}\n","'use strict';\n\nexport default function isCancel(value) {\n return !!(value && value.__CANCEL__);\n}\n","'use strict';\n\nimport transformData from './transformData.js';\nimport isCancel from '../cancel/isCancel.js';\nimport defaults from '../defaults/index.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n *\n * @param {Object} config The config that is to be used for the request\n *\n * @returns {void}\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new CanceledError();\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 *\n * @returns {Promise} The Promise to be fulfilled\n */\nexport default function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n config.headers = AxiosHeaders.from(config.headers);\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.transformRequest\n );\n\n const 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.call(\n config,\n config.transformResponse,\n response\n );\n\n response.headers = AxiosHeaders.from(response.headers);\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.call(\n config,\n config.transformResponse,\n reason.response\n );\n reason.response.headers = AxiosHeaders.from(reason.response.headers);\n }\n }\n\n return Promise.reject(reason);\n });\n}\n","'use strict';\n\nimport utils from '../utils.js';\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 *\n * @returns {Object} New object resulting from merging config2 to config1\n */\nexport default function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n const config = {};\n\n function getMergedValue(target, source) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge(target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDeepProperties(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(config1[prop], config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n return getMergedValue(undefined, config1[prop]);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(undefined, config2[prop]);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(undefined, config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n return getMergedValue(undefined, config1[prop]);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(prop) {\n if (prop in config2) {\n return getMergedValue(config1[prop], config2[prop]);\n } else if (prop in config1) {\n return getMergedValue(undefined, config1[prop]);\n }\n }\n\n const mergeMap = {\n 'url': valueFromConfig2,\n 'method': valueFromConfig2,\n 'data': valueFromConfig2,\n 'baseURL': defaultToConfig2,\n 'transformRequest': defaultToConfig2,\n 'transformResponse': defaultToConfig2,\n 'paramsSerializer': defaultToConfig2,\n 'timeout': defaultToConfig2,\n 'timeoutMessage': defaultToConfig2,\n 'withCredentials': defaultToConfig2,\n 'adapter': defaultToConfig2,\n 'responseType': defaultToConfig2,\n 'xsrfCookieName': defaultToConfig2,\n 'xsrfHeaderName': defaultToConfig2,\n 'onUploadProgress': defaultToConfig2,\n 'onDownloadProgress': defaultToConfig2,\n 'decompress': defaultToConfig2,\n 'maxContentLength': defaultToConfig2,\n 'maxBodyLength': defaultToConfig2,\n 'beforeRedirect': defaultToConfig2,\n 'transport': defaultToConfig2,\n 'httpAgent': defaultToConfig2,\n 'httpsAgent': defaultToConfig2,\n 'cancelToken': defaultToConfig2,\n 'socketPath': defaultToConfig2,\n 'responseEncoding': defaultToConfig2,\n 'validateStatus': mergeDirectKeys\n };\n\n utils.forEach(Object.keys(config1).concat(Object.keys(config2)), function computeConfigValue(prop) {\n const merge = mergeMap[prop] || mergeDeepProperties;\n const configValue = merge(prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n}\n","'use strict';\n\nimport {VERSION} from '../env/data.js';\nimport AxiosError from '../core/AxiosError.js';\n\nconst validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach((type, i) => {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nconst deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n *\n * @param {function|boolean?} validator - set to false if the transitional option has been removed\n * @param {string?} version - deprecated version / removed since version\n * @param {string?} message - some message with additional info\n *\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n function formatMessage(opt, desc) {\n return '[Axios v' + VERSION + '] Transitional option \\'' + opt + '\\'' + desc + (message ? '. ' + message : '');\n }\n\n // eslint-disable-next-line func-names\n return (value, opt, opts) => {\n if (validator === false) {\n throw new AxiosError(\n formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')),\n AxiosError.ERR_DEPRECATED\n );\n }\n\n if (version && !deprecatedWarnings[opt]) {\n deprecatedWarnings[opt] = true;\n // eslint-disable-next-line no-console\n console.warn(\n formatMessage(\n opt,\n ' has been deprecated since v' + version + ' and will be removed in the near future'\n )\n );\n }\n\n return validator ? validator(value, opt, opts) : true;\n };\n};\n\n/**\n * Assert object's properties type\n *\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n *\n * @returns {object}\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE);\n }\n const keys = Object.keys(options);\n let i = keys.length;\n while (i-- > 0) {\n const opt = keys[i];\n const validator = schema[opt];\n if (validator) {\n const value = options[opt];\n const result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new AxiosError('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION);\n }\n }\n}\n\nexport default {\n assertOptions,\n validators\n};\n","'use strict';\n\nimport utils from './../utils.js';\nimport buildURL from '../helpers/buildURL.js';\nimport InterceptorManager from './InterceptorManager.js';\nimport dispatchRequest from './dispatchRequest.js';\nimport mergeConfig from './mergeConfig.js';\nimport buildFullPath from './buildFullPath.js';\nimport validator from '../helpers/validator.js';\nimport AxiosHeaders from './AxiosHeaders.js';\n\nconst validators = validator.validators;\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n *\n * @return {Axios} A new instance of Axios\n */\nclass Axios {\n constructor(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 {String|Object} configOrUrl The config specific for this request (merged with this.defaults)\n * @param {?Object} config\n *\n * @returns {Promise} The Promise to be fulfilled\n */\n request(configOrUrl, config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof configOrUrl === 'string') {\n config = config || {};\n config.url = configOrUrl;\n } else {\n config = configOrUrl || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n const transitional = config.transitional;\n\n if (transitional !== undefined) {\n validator.assertOptions(transitional, {\n silentJSONParsing: validators.transitional(validators.boolean),\n forcedJSONParsing: validators.transitional(validators.boolean),\n clarifyTimeoutError: validators.transitional(validators.boolean)\n }, false);\n }\n\n // Set config.method\n config.method = (config.method || this.defaults.method || 'get').toLowerCase();\n\n // Flatten headers\n const defaultHeaders = config.headers && utils.merge(\n config.headers.common,\n config.headers[config.method]\n );\n\n defaultHeaders && utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n function cleanHeaderConfig(method) {\n delete config.headers[method];\n }\n );\n\n config.headers = new AxiosHeaders(config.headers, defaultHeaders);\n\n // filter out skipped interceptors\n const requestInterceptorChain = [];\n let synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n return;\n }\n\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n const responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n let promise;\n let i = 0;\n let len;\n\n if (!synchronousRequestInterceptors) {\n const chain = [dispatchRequest.bind(this), undefined];\n chain.unshift.apply(chain, requestInterceptorChain);\n chain.push.apply(chain, responseInterceptorChain);\n len = chain.length;\n\n promise = Promise.resolve(config);\n\n while (i < len) {\n promise = promise.then(chain[i++], chain[i++]);\n }\n\n return promise;\n }\n\n len = requestInterceptorChain.length;\n\n let newConfig = config;\n\n i = 0;\n\n while (i < len) {\n const onFulfilled = requestInterceptorChain[i++];\n const onRejected = requestInterceptorChain[i++];\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected.call(this, error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest.call(this, newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n i = 0;\n len = responseInterceptorChain.length;\n\n while (i < len) {\n promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]);\n }\n\n return promise;\n }\n\n getUri(config) {\n config = mergeConfig(this.defaults, config);\n const fullPath = buildFullPath(config.baseURL, config.url);\n return buildURL(fullPath, config.params, config.paramsSerializer);\n }\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(mergeConfig(config || {}, {\n method,\n url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n\n function generateHTTPMethod(isForm) {\n return function httpMethod(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n headers: isForm ? {\n 'Content-Type': 'multipart/form-data'\n } : {},\n url,\n data\n }));\n };\n }\n\n Axios.prototype[method] = generateHTTPMethod();\n\n Axios.prototype[method + 'Form'] = generateHTTPMethod(true);\n});\n\nexport default Axios;\n","'use strict';\n\nimport CanceledError from './CanceledError.js';\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @param {Function} executor The executor function.\n *\n * @returns {CancelToken}\n */\nclass CancelToken {\n constructor(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n let resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n const token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then(cancel => {\n if (!token._listeners) return;\n\n let i = token._listeners.length;\n\n while (i-- > 0) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = onfulfilled => {\n let _resolve;\n // eslint-disable-next-line func-names\n const promise = new Promise(resolve => {\n token.subscribe(resolve);\n _resolve = resolve;\n }).then(onfulfilled);\n\n promise.cancel = function reject() {\n token.unsubscribe(_resolve);\n };\n\n return promise;\n };\n\n executor(function cancel(message, config, request) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new CanceledError(message, config, request);\n resolvePromise(token.reason);\n });\n }\n\n /**\n * Throws a `CanceledError` if cancellation has been requested.\n */\n throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n }\n\n /**\n * Subscribe to the cancel signal\n */\n\n subscribe(listener) {\n if (this.reason) {\n listener(this.reason);\n return;\n }\n\n if (this._listeners) {\n this._listeners.push(listener);\n } else {\n this._listeners = [listener];\n }\n }\n\n /**\n * Unsubscribe from the cancel signal\n */\n\n unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n const index = this._listeners.indexOf(listener);\n if (index !== -1) {\n this._listeners.splice(index, 1);\n }\n }\n\n /**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\n static source() {\n let cancel;\n const token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token,\n cancel\n };\n }\n}\n\nexport default CancelToken;\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 *\n * @returns {Function}\n */\nexport default function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n *\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nexport default function isAxiosError(payload) {\n return utils.isObject(payload) && (payload.isAxiosError === true);\n}\n","'use strict';\n\nimport utils from './utils.js';\nimport bind from './helpers/bind.js';\nimport Axios from './core/Axios.js';\nimport mergeConfig from './core/mergeConfig.js';\nimport defaults from './defaults/index.js';\nimport formDataToJSON from './helpers/formDataToJSON.js';\nimport CanceledError from './cancel/CanceledError.js';\nimport CancelToken from'./cancel/CancelToken.js';\nimport isCancel from'./cancel/isCancel.js';\nimport {VERSION} from './env/data.js';\nimport toFormData from './helpers/toFormData.js';\nimport AxiosError from './core/AxiosError.js';\nimport spread from './helpers/spread.js';\nimport isAxiosError from './helpers/isAxiosError.js';\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n *\n * @returns {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n const context = new Axios(defaultConfig);\n const instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context, {allOwnKeys: true});\n\n // Copy context to instance\n utils.extend(instance, context, null, {allOwnKeys: true});\n\n // Factory for creating new instances\n instance.create = function create(instanceConfig) {\n return createInstance(mergeConfig(defaultConfig, instanceConfig));\n };\n\n return instance;\n}\n\n// Create the default instance to be exported\nconst axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.CanceledError = CanceledError;\naxios.CancelToken = CancelToken;\naxios.isCancel = isCancel;\naxios.VERSION = VERSION;\naxios.toFormData = toFormData;\n\n// Expose AxiosError class\naxios.AxiosError = AxiosError;\n\n// alias for CanceledError for backward compatibility\naxios.Cancel = axios.CanceledError;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\n\naxios.spread = spread;\n\n// Expose isAxiosError\naxios.isAxiosError = isAxiosError;\n\naxios.formToJSON = thing => {\n return formDataToJSON(utils.isHTMLForm(thing) ? new FormData(thing) : thing);\n};\n\nexport default axios;\n"],"names":["prototype","envFormData","encode","url","FormData","stream","zlib","followRedirects","getProxyForUrl","EventEmitter","https","http","adapters","validators"],"mappings":"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"} \ No newline at end of file diff --git a/gulpfile.js b/gulpfile.js index d8494b5..7d35343 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -33,7 +33,8 @@ const bower = gulp.task('bower', async function () { async function getContributors(user, repo, maxCount = 1) { const contributors = (await axios.get( - `https://api.github.com/repos/${encodeURIComponent(user)}/${encodeURIComponent(repo)}/contributors?per_page=${maxCount}` + `https://api.github.com/repos/${encodeURIComponent(user)}/${encodeURIComponent(repo)}/contributors`, + { params: { per_page: maxCount } } )).data; return Promise.all(contributors.map(async (contributor)=> { diff --git a/lib/env/data.js b/lib/env/data.js index 736be67..efeaf95 100644 --- a/lib/env/data.js +++ b/lib/env/data.js @@ -1 +1 @@ -export const VERSION = "1.0.0-alpha.1"; \ No newline at end of file +export const VERSION = "1.0.0"; \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 3dae473..2638e09 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "axios", - "version": "1.0.0-alpha.1", + "version": "1.0.0", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "axios", - "version": "1.0.0-alpha.1", + "version": "1.0.0", "license": "MIT", "dependencies": { "follow-redirects": "^1.15.0", diff --git a/package.json b/package.json index 83a9341..c5b4c94 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "axios", - "version": "1.0.0-alpha.1", + "version": "1.0.0", "description": "Promise based HTTP client for the browser and node.js", "main": "index.js", "exports": { @@ -118,8 +118,8 @@ "Matt Zabriskie (https://github.com/mzabriskie)", "Nick Uraltsev (https://github.com/nickuraltsev)", "Jay (https://github.com/jasonsaayman)", - "Emily Morehouse (https://github.com/emilyemorehouse)", "Dmitriy Mozgovoy (https://github.com/DigitalBrainJS)", + "Emily Morehouse (https://github.com/emilyemorehouse)", "Rubén Norte (https://github.com/rubennorte)", "Justin Beckwith (https://github.com/JustinBeckwith)", "Martti Laine (https://github.com/codeclown)", @@ -130,4 +130,4 @@ "Ben Carp (https://github.com/carpben)", "Daniel Lopretto (https://github.com/timemachine3030)" ] -} +} \ No newline at end of file