UNPKG

@gentrace/core

Version:
34 lines (28 loc) 800 B
"use strict"; import utils from "../utils.js"; import defaults from "../defaults/index.js"; import AxiosHeaders from "./AxiosHeaders.js"; /** * Transform the data for a request or a response * * @param {Array|Function} fns A single function or Array of functions * @param {?Object} response The response object * * @returns {*} The resulting transformed data */ export default function transformData(fns, response) { const config = this || defaults; const context = response || config; const headers = AxiosHeaders.from(context.headers); let data = context.data; utils.forEach(fns, function transform(fn) { data = fn.call( config, data, headers.normalize(), response ? response.status : undefined ); }); headers.normalize(); return data; }