@aspida/axios
Version:
axios client for aspida
43 lines • 1.97 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const aspida_1 = require("aspida");
const axios_1 = __importDefault(require("axios"));
exports.default = (client = axios_1.default, config) => ({
baseURL: (config === null || config === void 0 ? void 0 : config.baseURL) || client.defaults.baseURL,
fetch(baseURL, url, method, params, type) {
const send = (responseType) => async () => {
var _a;
const request = (0, aspida_1.optionToRequest)(params, type);
const res = await client.request({
paramsSerializer: params => (0, aspida_1.dataToURLString)(params),
...config,
url,
baseURL,
method,
responseType,
...request === null || request === void 0 ? void 0 : request.config,
data: request === null || request === void 0 ? void 0 : request.httpBody,
params: request === null || request === void 0 ? void 0 : request.query,
headers: {
...config === null || config === void 0 ? void 0 : config.headers,
...(_a = request === null || request === void 0 ? void 0 : request.config) === null || _a === void 0 ? void 0 : _a.headers,
...request === null || request === void 0 ? void 0 : request.headers,
},
});
const { status, headers, data } = res;
return { status, headers, body: data, originalResponse: res };
};
return {
send: send(),
json: send('json'),
text: send('text'),
arrayBuffer: send('arraybuffer'),
blob: send('blob'),
formData: send(),
};
},
});
//# sourceMappingURL=index.js.map