You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					65 lines
				
				1.8 KiB
			
		
		
			
		
	
	
					65 lines
				
				1.8 KiB
			| 
											3 years ago
										 | 'use strict'; | ||
|  | 
 | ||
|  | var utils = require('./utils'); | ||
|  | var bind = require('./helpers/bind'); | ||
|  | var Axios = require('./core/Axios'); | ||
|  | var mergeConfig = require('./core/mergeConfig'); | ||
|  | var defaults = require('./defaults'); | ||
|  | 
 | ||
|  | /** | ||
|  |  * Create an instance of Axios | ||
|  |  * | ||
|  |  * @param {Object} defaultConfig The default config for the instance | ||
|  |  * @return {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); | ||
|  | 
 | ||
|  |   // Copy context to instance
 | ||
|  |   utils.extend(instance, context); | ||
|  | 
 | ||
|  |   // 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 = require('./cancel/CanceledError'); | ||
|  | axios.CancelToken = require('./cancel/CancelToken'); | ||
|  | axios.isCancel = require('./cancel/isCancel'); | ||
|  | axios.VERSION = require('./env/data').version; | ||
|  | axios.toFormData = require('./helpers/toFormData'); | ||
|  | 
 | ||
|  | // Expose AxiosError class
 | ||
|  | axios.AxiosError = require('../lib/core/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 = require('./helpers/spread'); | ||
|  | 
 | ||
|  | // Expose isAxiosError
 | ||
|  | axios.isAxiosError = require('./helpers/isAxiosError'); | ||
|  | 
 | ||
|  | module.exports = axios; | ||
|  | 
 | ||
|  | // Allow use of default import syntax in TypeScript
 | ||
|  | module.exports.default = axios; |