123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- '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.Cancel = require('./cancel/Cancel');
- axios.CancelToken = require('./cancel/CancelToken');
- axios.isCancel = require('./cancel/isCancel');
- axios.VERSION = require('./env/data').version;
- // 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;
|