diff --git a/css/app.css b/css/app.css index 04b5e0b..9711af0 100644 --- a/css/app.css +++ b/css/app.css @@ -2,8 +2,8 @@ * @Author: Kane * @Date: 2022-11-12 23:32:20 * @LastEditors: Kane - * @LastEditTime: 2022-11-16 11:08:23 - * @FilePath: \car_dealer\css\app.css + * @LastEditTime: 2022-11-22 17:15:41 + * @FilePath: \vue-learning\css\app.css * @Description: * * Copyright (c) ${2022} by Kane, All Rights Reserved. @@ -12,6 +12,10 @@ body { background-color: var(--backupground-color); +} + +#root, +#app { padding: 50px; } diff --git a/css/colors.css b/css/colors.css new file mode 100644 index 0000000..3ca3f30 --- /dev/null +++ b/css/colors.css @@ -0,0 +1,21 @@ +/* + * @Author: Kane + * @Date: 2022-11-12 23:22:59 + * @LastEditors: Kane + * @LastEditTime: 2022-11-16 15:26:04 + * @FilePath: \car_dealer\css\colors.css + * @Description: + * + * Copyright (c) ${2022} by Kane, All Rights Reserved. + */ + +html { + --backupground-color: #f4f5f7ff; + --btn-color-blue: #307dbe; + --btn-color-yellow: #f7b24d; + --btn-color-green: #5bad60; + --btn-color-red: #e56651; + --btn-font-color: #fff; + + --input-focus-color: #e56651; +} diff --git a/js/axios/1.1.3/axios.js b/js/axios/1.1.3/axios.js new file mode 100644 index 0000000..b7595d4 --- /dev/null +++ b/js/axios/1.1.3/axios.js @@ -0,0 +1,2659 @@ +// Axios v1.1.3 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'; + + 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; + 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)); + var kindOfTest = function kindOfTest(type) { + type = type.toLowerCase(); + 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 + */ + var isArray = Array.isArray; + + /** + * Determine if a value is undefined + * + * @param {*} val The value to test + * + * @returns {boolean} True if the value is undefined, otherwise false + */ + var 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 + */ + var 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) { + var 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 + */ + 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 {*} val The value to test + * + * @returns {boolean} True if value is a Number, otherwise false + */ + var 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 + */ + 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 {*} val The value to test + * + * @returns {boolean} True if value is a plain Object, otherwise false + */ + var isPlainObject = function isPlainObject(val) { + if (kindOf(val) !== 'object') { + return false; + } + var prototype = getPrototypeOf(val); + return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in val) && !(Symbol.iterator in val); + }; + + /** + * Determine if a value is a Date + * + * @param {*} 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 + * + * @param {*} 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 + * + * @param {*} 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 + * + * @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 Stream + * + * @param {*} val The value to test + * + * @returns {boolean} True if value is a Stream, otherwise false + */ + var isStream = function isStream(val) { + return 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 + */ + 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 + * + * @param {*} val The value to test + * + * @returns {boolean} True if value is a URLSearchParams object, otherwise false + */ + 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 + */ + var trim = function trim(str) { + return 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) { + 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; + } + 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 (i = 0, l = obj.length; i < l; i++) { + fn.call(null, obj[i], i, obj); + } + } else { + // Iterate over object keys + 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. + * + * 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 /* obj1, obj2, obj3, ... */ + merge() { + var result = {}; + var assignValue = function 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 (var 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 + */ + 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 + * + * @returns {string} content value without BOM + */ + var stripBOM = function 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} + */ + 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} + */ + 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 + 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} + */ + 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} + */ + 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; + }; + + /** + * 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) { + // eslint-disable-next-line func-names + return function (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} + */ + 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} + */ + var matchAll = function matchAll(regExp, str) { + var matches; + var arr = []; + while ((matches = regExp.exec(str)) !== null) { + arr.push(matches); + } + return arr; + }; + + /* Checking if the kindOfTest function returns true when passed an HTMLFormElement. */ + var isHTMLForm = kindOfTest('HTMLFormElement'); + 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); + + /** + * 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, + isArrayBuffer: isArrayBuffer, + isBuffer: isBuffer, + isFormData: isFormData, + 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, + isTypedArray: isTypedArray, + isFileList: isFileList, + forEach: forEach, + merge: merge, + extend: extend, + trim: trim, + stripBOM: stripBOM, + inherits: inherits, + toFlatObject: toFlatObject, + kindOf: kindOf, + kindOfTest: kindOfTest, + endsWith: endsWith, + toArray: toArray, + forEachEntry: forEachEntry, + matchAll: matchAll, + isHTMLForm: isHTMLForm, + 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 + }; + + /** + * 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 + }; + } + }); + 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 + }; + }); + 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); + 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; + }; + + /* eslint-env browser */ + var browser = (typeof self === "undefined" ? "undefined" : _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) { + // 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); + } + 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] + * @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 (browser || 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]); + }); + 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)) { + 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) { + var 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) || el === null) && 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; + } + var stack = []; + var exposedHelpers = Object.assign(predicates, { + defaultVisitor: defaultVisitor, + convertValue: convertValue, + isVisitable: 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) { + var result = !(utils.isUndefined(el) || el === null) && 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) { + var 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); + } + var prototype = AxiosURLSearchParams.prototype; + prototype.append = function append(name, value) { + this._pairs.push([name, value]); + }; + prototype.toString = function toString(encoder) { + var _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; + } + var _encode = options && options.encode || encode; + var serializeFn = options && options.serialize; + var serializedParams; + if (serializeFn) { + serializedParams = serializeFn(params, options); + } else { + serializedParams = utils.isURLSearchParams(params) ? params.toString() : new AxiosURLSearchParams(params, options).toString(_encode); + } + if (serializedParams) { + var hashmarkIndex = url.indexOf("#"); + if (hashmarkIndex !== -1) { + url = url.slice(0, hashmarkIndex); + } + url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams; + } + return url; + } + + var InterceptorManager = /*#__PURE__*/function () { + function InterceptorManager() { + _classCallCheck(this, 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 + */ + _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 + */ + }, { + key: "eject", + value: function eject(id) { + if (this.handlers[id]) { + this.handlers[id] = null; + } + } + + /** + * Clear all interceptors from the stack + * + * @returns {void} + */ + }, { + 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; + + var FormData$1 = FormData; + + /** + * 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, + Blob: Blob + }, + isStandardBrowserEnv: isStandardBrowserEnv, + protocols: ['http', 'https', 'file', 'blob', 'url', 'data'] + }; + + 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; + } + 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 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; + 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) { + var name = path[index++]; + var isNumericKey = Number.isFinite(+name); + var 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] = []; + } + var 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)) { + var obj = {}; + utils.forEachEntry(formData, function (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) { + var 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)); + } + } + + 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)); + 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); + } + }; + }() : + // 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 + */ + 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; + } + + 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] || ''; + } + + // RawAxiosHeaders whose duplicates are ignored by node + // c.f. https://nodejs.org/api/http.html#http_message_headers + 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 + * + * ``` + * 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 + */ + var parseHeaders = (function (rawHeaders) { + var parsed = {}; + var key; + var val; + var 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; + }); + + var $internals = Symbol('internals'); + var $defaults = Symbol('defaults'); + function normalizeHeader(header) { + return header && String(header).trim().toLowerCase(); + } + function normalizeValue(value) { + if (value === false || value == null) { + return value; + } + return utils.isArray(value) ? value.map(normalizeValue) : 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; + } + self[key || _header] = normalizeValue(_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(asStrings) { + var obj = Object.create(null); + utils.forEach(Object.assign({}, this[$defaults] || null, this), function (value, header) { + if (value == null || value === false) return; + obj[header] = asStrings && 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 = AxiosHeaders.from(config.headers).normalize(); + var responseType = config.responseType; + var 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 + } + + var 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.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.timeout = config.timeout; + function onloadend() { + if (!request) { + return; + } + // 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, + statusText: request.statusText, + headers: responseHeaders, + config: config, + request: 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() { + var timeoutErrorMessage = config.timeout ? 'timeout of ' + config.timeout + 'ms exceeded' : 'timeout exceeded'; + var 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 + var 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 = function 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); + } + } + var 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); + }); + } + + 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'); + } + return nameOrAdapter; + }, + adapters: adapters + }; + + var 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() { + var 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); + } + var defaults = { + transitional: transitionalDefaults, + adapter: getDefaultAdapter(), + transformRequest: [function transformRequest(data, headers) { + var contentType = headers.getContentType() || ''; + var hasJSONContentType = contentType.indexOf('application/json') > -1; + var isObjectPayload = utils.isObject(data); + if (isObjectPayload && utils.isHTMLForm(data)) { + data = new FormData(data); + } + var 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(); + } + var 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) { + var _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) { + 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)) { + var silentJSONParsing = transitional && transitional.silentJSONParsing; + var 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) { + 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(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); + var 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 || {}; + var 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]); + } + } + var 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) { + var merge = mergeMap[prop] || mergeDeepProperties; + var configValue = merge(prop); + utils.isUndefined(configValue) && merge !== mergeDirectKeys || (config[prop] = configValue); + }); + return config; + } + + var VERSION = "1.1.3"; + + var validators$1 = {}; + + // eslint-disable-next-line func-names + ['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; + }; + }); + 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 + return function (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); + } + 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('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE); + } + continue; + } + if (allowUnknown !== true) { + throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION); + } + } + } + var validator = { + assertOptions: assertOptions, + validators: validators$1 + }; + + var 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 + */ + 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 + */ + _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 || {}; + } + config = mergeConfig(this.defaults, config); + var _config = config, + transitional = _config.transitional, + paramsSerializer = _config.paramsSerializer; + if (transitional !== undefined) { + validator.assertOptions(transitional, { + silentJSONParsing: validators.transitional(validators["boolean"]), + forcedJSONParsing: validators.transitional(validators["boolean"]), + clarifyTimeoutError: validators.transitional(validators["boolean"]) + }, false); + } + if (paramsSerializer !== undefined) { + validator.assertOptions(paramsSerializer, { + encode: validators["function"], + serialize: validators["function"] + }, true); + } + + // Set config.method + 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; + } + }, { + 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 Axios; + }(); // 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, + 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: method, + headers: isForm ? { + 'Content-Type': 'multipart/form-data' + } : {}, + url: url, + data: 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} + */ + var CancelToken = /*#__PURE__*/function () { + function CancelToken(executor) { + _classCallCheck(this, CancelToken); + 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); + } + 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; + }; + 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 + */ + }, { + key: "subscribe", + value: 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 + */ + }, { + key: "unsubscribe", + value: 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`. + */ + }], [{ + key: "source", + value: function source() { + var cancel; + var token = new CancelToken(function executor(c) { + cancel = c; + }); + return { + token: token, + cancel: cancel + }; + } + }]); + return CancelToken; + }(); + + /** + * 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) { + var context = new Axios(defaultConfig); + var 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 + var 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 = function (thing) { + return formDataToJSON(utils.isHTMLForm(thing) ? new FormData(thing) : thing); + }; + + return axios; + +})); + //# sourceMappingURL=axios.js.map \ No newline at end of file diff --git a/js/axios/1.1.3/axios.js.map b/js/axios/1.1.3/axios.js.map new file mode 100644 index 0000000..055cf29 --- /dev/null +++ b/js/axios/1.1.3/axios.js.map @@ -0,0 +1,646 @@ +{ + "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 || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in val) && !(Symbol.iterator in val);\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) || el === null) && 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) || el === null) && 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 _encode = options && options.encode || encode;\n\n const serializeFn = options && options.serialize;\n\n let serializedParams;\n\n if (serializeFn) {\n serializedParams = serializeFn(params, options);\n } else {\n serializedParams = utils.isURLSearchParams(params) ?\n params.toString() :\n new AxiosURLSearchParams(params, options).toString(_encode);\n }\n\n if (serializedParams) {\n const hashmarkIndex = url.indexOf(\"#\");\n\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\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 utils.isArray(value) ? value.map(normalizeValue) : 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 self[key || _header] = normalizeValue(_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(asStrings) {\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] = asStrings && 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.1.3\";", + "'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, paramsSerializer} = config;\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 if (paramsSerializer !== undefined) {\n validator.assertOptions(paramsSerializer, {\n encode: validators.function,\n serialize: validators.function\n }, true);\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", + "Symbol", + "toStringTag", + "iterator", + "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", + "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", + "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", + "serializeFn", + "serialize", + "serializedParams", + "hashmarkIndex", + "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", + "asStrings", + "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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" +} diff --git a/js/vue/vue.global.js b/js/vue/vue.global.js new file mode 100644 index 0000000..ede9680 --- /dev/null +++ b/js/vue/vue.global.js @@ -0,0 +1,15929 @@ +var Vue = (function (exports) { + 'use strict'; + + /** + * Make a map and return a function for checking if a key + * is in that map. + * IMPORTANT: all calls of this function must be prefixed with + * \/\*#\_\_PURE\_\_\*\/ + * So that rollup can tree-shake them if necessary. + */ + function makeMap(str, expectsLowerCase) { + const map = Object.create(null); + const list = str.split(','); + for (let i = 0; i < list.length; i++) { + map[list[i]] = true; + } + return expectsLowerCase ? val => !!map[val.toLowerCase()] : val => !!map[val]; + } + + /** + * dev only flag -> name mapping + */ + const PatchFlagNames = { + [1 /* TEXT */]: `TEXT`, + [2 /* CLASS */]: `CLASS`, + [4 /* STYLE */]: `STYLE`, + [8 /* PROPS */]: `PROPS`, + [16 /* FULL_PROPS */]: `FULL_PROPS`, + [32 /* HYDRATE_EVENTS */]: `HYDRATE_EVENTS`, + [64 /* STABLE_FRAGMENT */]: `STABLE_FRAGMENT`, + [128 /* KEYED_FRAGMENT */]: `KEYED_FRAGMENT`, + [256 /* UNKEYED_FRAGMENT */]: `UNKEYED_FRAGMENT`, + [512 /* NEED_PATCH */]: `NEED_PATCH`, + [1024 /* DYNAMIC_SLOTS */]: `DYNAMIC_SLOTS`, + [2048 /* DEV_ROOT_FRAGMENT */]: `DEV_ROOT_FRAGMENT`, + [-1 /* HOISTED */]: `HOISTED`, + [-2 /* BAIL */]: `BAIL` + }; + + /** + * Dev only + */ + const slotFlagsText = { + [1 /* STABLE */]: 'STABLE', + [2 /* DYNAMIC */]: 'DYNAMIC', + [3 /* FORWARDED */]: 'FORWARDED' + }; + + const GLOBALS_WHITE_LISTED = 'Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,' + + 'decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,' + + 'Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt'; + const isGloballyWhitelisted = /*#__PURE__*/ makeMap(GLOBALS_WHITE_LISTED); + + const range = 2; + function generateCodeFrame(source, start = 0, end = source.length) { + // Split the content into individual lines but capture the newline sequence + // that separated each line. This is important because the actual sequence is + // needed to properly take into account the full line length for offset + // comparison + let lines = source.split(/(\r?\n)/); + // Separate the lines and newline sequences into separate arrays for easier referencing + const newlineSequences = lines.filter((_, idx) => idx % 2 === 1); + lines = lines.filter((_, idx) => idx % 2 === 0); + let count = 0; + const res = []; + for (let i = 0; i < lines.length; i++) { + count += + lines[i].length + + ((newlineSequences[i] && newlineSequences[i].length) || 0); + if (count >= start) { + for (let j = i - range; j <= i + range || end > count; j++) { + if (j < 0 || j >= lines.length) + continue; + const line = j + 1; + res.push(`${line}${' '.repeat(Math.max(3 - String(line).length, 0))}| ${lines[j]}`); + const lineLength = lines[j].length; + const newLineSeqLength = (newlineSequences[j] && newlineSequences[j].length) || 0; + if (j === i) { + // push underline + const pad = start - (count - (lineLength + newLineSeqLength)); + const length = Math.max(1, end > count ? lineLength - pad : end - start); + res.push(` | ` + ' '.repeat(pad) + '^'.repeat(length)); + } + else if (j > i) { + if (end > count) { + const length = Math.max(Math.min(end - count, lineLength), 1); + res.push(` | ` + '^'.repeat(length)); + } + count += lineLength + newLineSeqLength; + } + } + break; + } + } + return res.join('\n'); + } + + /** + * On the client we only need to offer special cases for boolean attributes that + * have different names from their corresponding dom properties: + * - itemscope -> N/A + * - allowfullscreen -> allowFullscreen + * - formnovalidate -> formNoValidate + * - ismap -> isMap + * - nomodule -> noModule + * - novalidate -> noValidate + * - readonly -> readOnly + */ + const specialBooleanAttrs = `itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly`; + const isSpecialBooleanAttr = /*#__PURE__*/ makeMap(specialBooleanAttrs); + /** + * Boolean attributes should be included if the value is truthy or ''. + * e.g. `