UNPKG

@dioxide-js/silas

Version:

RPC utility for Silas

88 lines (67 loc) 2.55 kB
import utils from './utils.mjs'; import bind from './helpers/bind.mjs'; import Axios from './core/Axios.mjs'; import mergeConfig from './core/mergeConfig.mjs'; import defaults from './defaults/index.mjs'; import formDataToJSON from './helpers/formDataToJSON.mjs'; import CanceledError from './cancel/CanceledError.mjs'; import CancelToken from './cancel/CancelToken.mjs'; import isCancel from './cancel/isCancel.mjs'; import { VERSION } from './env/data.mjs'; import toFormData from './helpers/toFormData.mjs'; import AxiosError from './core/AxiosError.mjs'; import spread from './helpers/spread.mjs'; import isAxiosError from './helpers/isAxiosError.mjs'; import AxiosHeaders from './core/AxiosHeaders.mjs'; import adapters from './adapters/adapters.mjs'; import HttpStatusCode from './helpers/HttpStatusCode.mjs'; /** * 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.getAdapter = adapters.getAdapter; axios.HttpStatusCode = HttpStatusCode; axios.default = axios; export { axios as default }; //# sourceMappingURL=axios.mjs.map