|  |  |  | 'use strict'; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | import utils from './utils.js'; | 
					
						
							|  |  |  | import bind from './helpers/bind.js'; | 
					
						
							|  |  |  | import Axios from './core/Axios.js'; | 
					
						
							|  |  |  | import mergeConfig from './core/mergeConfig.js'; | 
					
						
							|  |  |  | import defaults from './defaults/index.js'; | 
					
						
							|  |  |  | import formDataToJSON from './helpers/formDataToJSON.js'; | 
					
						
							|  |  |  | import CanceledError from './cancel/CanceledError.js'; | 
					
						
							|  |  |  | import CancelToken from './cancel/CancelToken.js'; | 
					
						
							|  |  |  | import isCancel from './cancel/isCancel.js'; | 
					
						
							|  |  |  | import {VERSION} from './env/data.js'; | 
					
						
							|  |  |  | import toFormData from './helpers/toFormData.js'; | 
					
						
							|  |  |  | import AxiosError from './core/AxiosError.js'; | 
					
						
							|  |  |  | import spread from './helpers/spread.js'; | 
					
						
							|  |  |  | import isAxiosError from './helpers/isAxiosError.js'; | 
					
						
							|  |  |  | import AxiosHeaders from "./core/AxiosHeaders.js"; | 
					
						
							|  |  |  | import HttpStatusCode from './helpers/HttpStatusCode.js'; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /** | 
					
						
							|  |  |  |  * Create an instance of Axios | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  * @param {Object} defaultConfig The default config for the instance | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  * @returns {Axios} A new instance of Axios | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | function createInstance(defaultConfig) { | 
					
						
							|  |  |  |   const context = new Axios(defaultConfig); | 
					
						
							|  |  |  |   const instance = bind(Axios.prototype.request, context); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   // Copy axios.prototype to instance
 | 
					
						
							|  |  |  |   utils.extend(instance, Axios.prototype, context, {allOwnKeys: true}); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   // Copy context to instance
 | 
					
						
							|  |  |  |   utils.extend(instance, context, null, {allOwnKeys: true}); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   // Factory for creating new instances
 | 
					
						
							|  |  |  |   instance.create = function create(instanceConfig) { | 
					
						
							|  |  |  |     return createInstance(mergeConfig(defaultConfig, instanceConfig)); | 
					
						
							|  |  |  |   }; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   return instance; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | // Create the default instance to be exported
 | 
					
						
							|  |  |  | const axios = createInstance(defaults); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | // Expose Axios class to allow class inheritance
 | 
					
						
							|  |  |  | axios.Axios = Axios; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | // Expose Cancel & CancelToken
 | 
					
						
							|  |  |  | axios.CanceledError = CanceledError; | 
					
						
							|  |  |  | axios.CancelToken = CancelToken; | 
					
						
							|  |  |  | axios.isCancel = isCancel; | 
					
						
							|  |  |  | axios.VERSION = VERSION; | 
					
						
							|  |  |  | axios.toFormData = toFormData; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | // Expose AxiosError class
 | 
					
						
							|  |  |  | axios.AxiosError = AxiosError; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | // alias for CanceledError for backward compatibility
 | 
					
						
							|  |  |  | axios.Cancel = axios.CanceledError; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | // Expose all/spread
 | 
					
						
							|  |  |  | axios.all = function all(promises) { | 
					
						
							|  |  |  |   return Promise.all(promises); | 
					
						
							|  |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | axios.spread = spread; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | // Expose isAxiosError
 | 
					
						
							|  |  |  | axios.isAxiosError = isAxiosError; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | // Expose mergeConfig
 | 
					
						
							|  |  |  | axios.mergeConfig = mergeConfig; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | axios.AxiosHeaders = AxiosHeaders; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | axios.formToJSON = thing => formDataToJSON(utils.isHTMLForm(thing) ? new FormData(thing) : thing); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | axios.HttpStatusCode = HttpStatusCode; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | axios.default = axios; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | // this module should only have a default export
 | 
					
						
							|  |  |  | export default axios |