@lifeomic/axios-fetch
Advanced tools
Comparing version 2.0.3-pr-79-983716217-1624990782.0 to 2.0.3-pr-88-1317337924-1633629756.0
{ | ||
"name": "@lifeomic/axios-fetch", | ||
"version": "2.0.3-pr-79-983716217-1624990782.0", | ||
"version": "2.0.3-pr-88-1317337924-1633629756.0", | ||
"description": "A WebAPI Fetch implementation backed by an Axios client", | ||
@@ -32,15 +32,15 @@ "main": "src/index.js", | ||
"devDependencies": { | ||
"@lifeomic/eslint-plugin-node": "^2.0.1", | ||
"@lifeomic/eslint-config-standards": "^1.2.1", | ||
"@types/lodash": "^4.14.175", | ||
"@types/sinon": "^10.0.0", | ||
"@typescript-eslint/eslint-plugin": "^4.22.0", | ||
"@typescript-eslint/parser": "^4.22.0", | ||
"ava": "^3.15.0", | ||
"axios": "0.21.1", | ||
"axios": "0.22.0", | ||
"coveralls": "^3.1.0", | ||
"eslint": "^6.0.0", | ||
"eslint": "^7.32.0", | ||
"lodash": "^4.17.21", | ||
"nock": "^11.3.3", | ||
"nyc": "^15.0.0", | ||
"sinon": "^10.0.1", | ||
"ts-node": "^9.1.1", | ||
"typescript": "^4.2.4" | ||
"ts-node": "^10.2.1", | ||
"typescript": "^4.4.3" | ||
}, | ||
@@ -47,0 +47,0 @@ "dependencies": { |
"use strict"; | ||
var __importDefault = (this && this.__importDefault) || function (mod) { | ||
return (mod && mod.__esModule) ? mod : { "default": mod }; | ||
}; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.buildAxiosFetch = void 0; | ||
const node_fetch_1 = require("node-fetch"); | ||
const form_data_1 = __importDefault(require("form-data")); | ||
const typeUtils_1 = require("./typeUtils"); | ||
/** | ||
* A Fetch WebAPI implementation based on the Axios client | ||
*/ | ||
async function axiosFetch(axios, | ||
// Convert the `fetch` style arguments into a Axios style config | ||
transformer, input, init = {}) { | ||
const rawHeaders = init.headers || {}; | ||
const axiosFetch = (axios, transformer = (config) => config) => async (input, init = {}) => { | ||
const rawHeaders = (0, typeUtils_1.createAxiosHeaders)(init.headers); | ||
const lowerCasedHeaders = Object.keys(rawHeaders) | ||
@@ -25,5 +20,5 @@ .reduce((acc, key) => { | ||
const rawConfig = { | ||
url: input, | ||
url: (0, typeUtils_1.getUrl)(input), | ||
method: init.method || 'GET', | ||
data: typeof init.body === 'undefined' || init.body instanceof form_data_1.default ? init.body : String(init.body), | ||
data: init.body, | ||
headers: lowerCasedHeaders, | ||
@@ -34,5 +29,5 @@ // Force the response to an arraybuffer type. Without this, the Response | ||
// NOTE: Don't use 'stream' because it's not supported in the browser | ||
responseType: 'arraybuffer' | ||
responseType: 'arraybuffer', | ||
}; | ||
const config = transformer ? transformer(rawConfig, input, init) : rawConfig; | ||
const config = transformer(rawConfig, input, init); | ||
let result; | ||
@@ -50,13 +45,12 @@ try { | ||
} | ||
const fetchHeaders = new node_fetch_1.Headers(result.headers); | ||
return new node_fetch_1.Response(result.data, { | ||
status: result.status, | ||
statusText: result.statusText, | ||
headers: fetchHeaders | ||
headers: (0, typeUtils_1.createFetchHeaders)(result.headers), | ||
}); | ||
} | ||
}; | ||
function buildAxiosFetch(axios, transformer) { | ||
return axiosFetch.bind(undefined, axios, transformer); | ||
return axiosFetch(axios, transformer); | ||
} | ||
exports.buildAxiosFetch = buildAxiosFetch; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSwyQ0FBK0Q7QUFDL0QsMERBQWlDO0FBY2pDOztHQUVHO0FBQ0gsS0FBSyxVQUFVLFVBQVUsQ0FDdkIsS0FBb0I7QUFDcEIsZ0VBQWdFO0FBQ2hFLFdBQThCLEVBQzlCLEtBQWMsRUFDZCxPQUFrQixFQUFFO0lBRXBCLE1BQU0sVUFBVSxHQUEyQixJQUFJLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBQztJQUM5RCxNQUFNLGlCQUFpQixHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDO1NBQzlDLE1BQU0sQ0FDTCxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsRUFBRTtRQUNYLEdBQUcsQ0FBQyxHQUFHLENBQUMsV0FBVyxFQUFFLENBQUMsR0FBRyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDekMsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDLEVBQ0QsRUFBRSxDQUNILENBQUM7SUFFSixJQUFJLENBQUMsQ0FBQyxjQUFjLElBQUksaUJBQWlCLENBQUMsRUFBRTtRQUMxQyxpQkFBaUIsQ0FBQyxjQUFjLENBQUMsR0FBRywwQkFBMEIsQ0FBQztLQUNoRTtJQUVELE1BQU0sU0FBUyxHQUF1QjtRQUNwQyxHQUFHLEVBQUUsS0FBSztRQUNWLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTSxJQUFJLEtBQUs7UUFDNUIsSUFBSSxFQUFFLE9BQU8sSUFBSSxDQUFDLElBQUksS0FBSyxXQUFXLElBQUksSUFBSSxDQUFDLElBQUksWUFBWSxtQkFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztRQUN2RyxPQUFPLEVBQUUsaUJBQWlCO1FBQzFCLHdFQUF3RTtRQUN4RSw0RUFBNEU7UUFDNUUsZ0JBQWdCO1FBQ2hCLHFFQUFxRTtRQUNyRSxZQUFZLEVBQUUsYUFBYTtLQUM1QixDQUFDO0lBRUYsTUFBTSxNQUFNLEdBQUcsV0FBVyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0lBRTdFLElBQUksTUFBTSxDQUFDO0lBQ1gsSUFBSTtRQUNGLE1BQU0sR0FBRyxNQUFNLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7S0FDdEM7SUFBQyxPQUFPLEdBQUcsRUFBRTtRQUNaLElBQUksR0FBRyxDQUFDLFFBQVEsRUFBRTtZQUNoQixNQUFNLEdBQUcsR0FBRyxDQUFDLFFBQVEsQ0FBQztTQUN2QjthQUFNO1lBQ0wsTUFBTSxHQUFHLENBQUM7U0FDWDtLQUNGO0lBRUQsTUFBTSxZQUFZLEdBQUcsSUFBSSxvQkFBWSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUV0RCxPQUFPLElBQUkscUJBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFO1FBQy9CLE1BQU0sRUFBRSxNQUFNLENBQUMsTUFBTTtRQUNyQixVQUFVLEVBQUUsTUFBTSxDQUFDLFVBQVU7UUFDN0IsT0FBTyxFQUFFLFlBQVk7S0FDdEIsQ0FBQyxDQUFDO0FBQ0wsQ0FBQztBQUVELFNBQWdCLGVBQWUsQ0FBRSxLQUFvQixFQUFFLFdBQThCO0lBQ25GLE9BQU8sVUFBVSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsS0FBSyxFQUFFLFdBQVcsQ0FBQyxDQUFDO0FBQ3hELENBQUM7QUFGRCwwQ0FFQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJlc3BvbnNlLCBIZWFkZXJzIGFzIEZldGNoSGVhZGVycyB9IGZyb20gJ25vZGUtZmV0Y2gnO1xuaW1wb3J0IEZvcm1EYXRhIGZyb20gJ2Zvcm0tZGF0YSc7XG5pbXBvcnQgeyBBeGlvc0luc3RhbmNlLCBBeGlvc1JlcXVlc3RDb25maWcgfSBmcm9tICcuL3R5cGVzJztcblxuZXhwb3J0IGludGVyZmFjZSBGZXRjaEluaXQgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCBhbnk+IHtcbiAgaGVhZGVycz86IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG4gIG1ldGhvZD86IEF4aW9zUmVxdWVzdENvbmZpZ1snbWV0aG9kJ107XG4gIGJvZHk/OiBGb3JtRGF0YSB8IGFueTtcbiAgZXh0cmE/OiBhbnk7XG59XG5cbmV4cG9ydCB0eXBlIEF4aW9zVHJhbnNmb3JtZXIgPSAoY29uZmlnOiBBeGlvc1JlcXVlc3RDb25maWcsIGlucHV0OiBzdHJpbmcgfCB1bmRlZmluZWQsIGluaXQ6IEZldGNoSW5pdCkgPT4gQXhpb3NSZXF1ZXN0Q29uZmlnO1xuXG5leHBvcnQgdHlwZSBBeGlvc0ZldGNoID0gKGlucHV0Pzogc3RyaW5nLCBpbml0PzogRmV0Y2hJbml0KSA9PiBQcm9taXNlPFJlc3BvbnNlPjtcblxuLyoqXG4gKiBBIEZldGNoIFdlYkFQSSBpbXBsZW1lbnRhdGlvbiBiYXNlZCBvbiB0aGUgQXhpb3MgY2xpZW50XG4gKi9cbmFzeW5jIGZ1bmN0aW9uIGF4aW9zRmV0Y2ggKFxuICBheGlvczogQXhpb3NJbnN0YW5jZSxcbiAgLy8gQ29udmVydCB0aGUgYGZldGNoYCBzdHlsZSBhcmd1bWVudHMgaW50byBhIEF4aW9zIHN0eWxlIGNvbmZpZ1xuICB0cmFuc2Zvcm1lcj86IEF4aW9zVHJhbnNmb3JtZXIsXG4gIGlucHV0Pzogc3RyaW5nLFxuICBpbml0OiBGZXRjaEluaXQgPSB7fVxuKSB7XG4gIGNvbnN0IHJhd0hlYWRlcnM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSBpbml0LmhlYWRlcnMgfHwge307XG4gIGNvbnN0IGxvd2VyQ2FzZWRIZWFkZXJzID0gT2JqZWN0LmtleXMocmF3SGVhZGVycylcbiAgICAucmVkdWNlPFJlY29yZDxzdHJpbmcsIHN0cmluZz4+KFxuICAgICAgKGFjYywga2V5KSA9PiB7XG4gICAgICAgIGFjY1trZXkudG9Mb3dlckNhc2UoKV0gPSByYXdIZWFkZXJzW2tleV07XG4gICAgICAgIHJldHVybiBhY2M7XG4gICAgICB9LFxuICAgICAge31cbiAgICApO1xuXG4gIGlmICghKCdjb250ZW50LXR5cGUnIGluIGxvd2VyQ2FzZWRIZWFkZXJzKSkge1xuICAgIGxvd2VyQ2FzZWRIZWFkZXJzWydjb250ZW50LXR5cGUnXSA9ICd0ZXh0L3BsYWluO2NoYXJzZXQ9VVRGLTgnO1xuICB9XG5cbiAgY29uc3QgcmF3Q29uZmlnOiBBeGlvc1JlcXVlc3RDb25maWcgPSB7XG4gICAgdXJsOiBpbnB1dCxcbiAgICBtZXRob2Q6IGluaXQubWV0aG9kIHx8ICdHRVQnLFxuICAgIGRhdGE6IHR5cGVvZiBpbml0LmJvZHkgPT09ICd1bmRlZmluZWQnIHx8IGluaXQuYm9keSBpbnN0YW5jZW9mIEZvcm1EYXRhID8gaW5pdC5ib2R5IDogU3RyaW5nKGluaXQuYm9keSksXG4gICAgaGVhZGVyczogbG93ZXJDYXNlZEhlYWRlcnMsXG4gICAgLy8gRm9yY2UgdGhlIHJlc3BvbnNlIHRvIGFuIGFycmF5YnVmZmVyIHR5cGUuIFdpdGhvdXQgdGhpcywgdGhlIFJlc3BvbnNlXG4gICAgLy8gb2JqZWN0IHdpbGwgdHJ5IHRvIGd1ZXNzIHRoZSBjb250ZW50IHR5cGUgYW5kIGFkZCBoZWFkZXJzIHRoYXQgd2VyZW4ndCBpblxuICAgIC8vIHRoZSByZXNwb25zZS5cbiAgICAvLyBOT1RFOiBEb24ndCB1c2UgJ3N0cmVhbScgYmVjYXVzZSBpdCdzIG5vdCBzdXBwb3J0ZWQgaW4gdGhlIGJyb3dzZXJcbiAgICByZXNwb25zZVR5cGU6ICdhcnJheWJ1ZmZlcidcbiAgfTtcblxuICBjb25zdCBjb25maWcgPSB0cmFuc2Zvcm1lciA/IHRyYW5zZm9ybWVyKHJhd0NvbmZpZywgaW5wdXQsIGluaXQpIDogcmF3Q29uZmlnO1xuXG4gIGxldCByZXN1bHQ7XG4gIHRyeSB7XG4gICAgcmVzdWx0ID0gYXdhaXQgYXhpb3MucmVxdWVzdChjb25maWcpO1xuICB9IGNhdGNoIChlcnIpIHtcbiAgICBpZiAoZXJyLnJlc3BvbnNlKSB7XG4gICAgICByZXN1bHQgPSBlcnIucmVzcG9uc2U7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IGVycjtcbiAgICB9XG4gIH1cblxuICBjb25zdCBmZXRjaEhlYWRlcnMgPSBuZXcgRmV0Y2hIZWFkZXJzKHJlc3VsdC5oZWFkZXJzKTtcblxuICByZXR1cm4gbmV3IFJlc3BvbnNlKHJlc3VsdC5kYXRhLCB7XG4gICAgc3RhdHVzOiByZXN1bHQuc3RhdHVzLFxuICAgIHN0YXR1c1RleHQ6IHJlc3VsdC5zdGF0dXNUZXh0LFxuICAgIGhlYWRlcnM6IGZldGNoSGVhZGVyc1xuICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGJ1aWxkQXhpb3NGZXRjaCAoYXhpb3M6IEF4aW9zSW5zdGFuY2UsIHRyYW5zZm9ybWVyPzogQXhpb3NUcmFuc2Zvcm1lcik6IEF4aW9zRmV0Y2gge1xuICByZXR1cm4gYXhpb3NGZXRjaC5iaW5kKHVuZGVmaW5lZCwgYXhpb3MsIHRyYW5zZm9ybWVyKTtcbn1cbiJdfQ== | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwyQ0FBZ0U7QUFFaEUsMkNBQTZFO0FBZ0I3RTs7R0FFRztBQUNILE1BQU0sVUFBVSxHQUF5RSxDQUN2RixLQUFLLEVBQ0wsV0FBVyxHQUFHLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxNQUFNLEVBQ2hDLEVBQUUsQ0FBQyxLQUFLLEVBQ1IsS0FBSyxFQUNMLElBQUksR0FBRSxFQUFFLEVBQ1IsRUFBRTtJQUNGLE1BQU0sVUFBVSxHQUEyQixJQUFBLDhCQUFrQixFQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM1RSxNQUFNLGlCQUFpQixHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDO1NBQzlDLE1BQU0sQ0FDTCxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsRUFBRTtRQUNYLEdBQUcsQ0FBQyxHQUFHLENBQUMsV0FBVyxFQUFFLENBQUMsR0FBRyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDekMsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDLEVBQ0QsRUFBRSxDQUNILENBQUM7SUFFSixJQUFJLENBQUMsQ0FBQyxjQUFjLElBQUksaUJBQWlCLENBQUMsRUFBRTtRQUMxQyxpQkFBaUIsQ0FBQyxjQUFjLENBQUMsR0FBRywwQkFBMEIsQ0FBQztLQUNoRTtJQUVELE1BQU0sU0FBUyxHQUF1QjtRQUNwQyxHQUFHLEVBQUUsSUFBQSxrQkFBTSxFQUFDLEtBQUssQ0FBQztRQUNsQixNQUFNLEVBQUcsSUFBSSxDQUFDLE1BQXVDLElBQUksS0FBSztRQUM5RCxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7UUFDZixPQUFPLEVBQUUsaUJBQWlCO1FBQzFCLHdFQUF3RTtRQUN4RSw0RUFBNEU7UUFDNUUsZ0JBQWdCO1FBQ2hCLHFFQUFxRTtRQUNyRSxZQUFZLEVBQUUsYUFBYTtLQUM1QixDQUFDO0lBRUYsTUFBTSxNQUFNLEdBQUcsV0FBVyxDQUFDLFNBQVMsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFFbkQsSUFBSSxNQUFNLENBQUM7SUFDWCxJQUFJO1FBQ0YsTUFBTSxHQUFHLE1BQU0sS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztLQUN0QztJQUFDLE9BQU8sR0FBUSxFQUFFO1FBQ2pCLElBQUksR0FBRyxDQUFDLFFBQVEsRUFBRTtZQUNoQixNQUFNLEdBQUcsR0FBRyxDQUFDLFFBQVEsQ0FBQztTQUN2QjthQUFNO1lBQ0wsTUFBTSxHQUFHLENBQUM7U0FDWDtLQUNGO0lBRUQsT0FBTyxJQUFJLHFCQUFRLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRTtRQUMvQixNQUFNLEVBQUUsTUFBTSxDQUFDLE1BQU07UUFDckIsVUFBVSxFQUFFLE1BQU0sQ0FBQyxVQUFVO1FBQzdCLE9BQU8sRUFBRSxJQUFBLDhCQUFrQixFQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUM7S0FDNUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDO0FBRUYsU0FBZ0IsZUFBZSxDQUFFLEtBQW9CLEVBQUUsV0FBOEI7SUFDbkYsT0FBTyxVQUFVLENBQUMsS0FBSyxFQUFFLFdBQVcsQ0FBQyxDQUFDO0FBQ3hDLENBQUM7QUFGRCwwQ0FFQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJlc3BvbnNlLCBSZXF1ZXN0SW5pdCwgUmVxdWVzdEluZm8gfSBmcm9tICdub2RlLWZldGNoJztcbmltcG9ydCB7IEF4aW9zSW5zdGFuY2UsIEF4aW9zUmVxdWVzdENvbmZpZyB9IGZyb20gJy4vdHlwZXMnO1xuaW1wb3J0IHsgY3JlYXRlRmV0Y2hIZWFkZXJzLCBjcmVhdGVBeGlvc0hlYWRlcnMsIGdldFVybCB9IGZyb20gJy4vdHlwZVV0aWxzJztcblxuZXhwb3J0IGludGVyZmFjZSBGZXRjaEluaXQgZXh0ZW5kcyBPbWl0PFJlcXVlc3RJbml0LCAnYm9keSc+IHtcbiAgbWV0aG9kPzogc3RyaW5nIHwgQXhpb3NSZXF1ZXN0Q29uZmlnWydtZXRob2QnXTtcbiAgYm9keT86IFJlcXVlc3RJbml0Wydib2R5J10gfCBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xuICBleHRyYT86IGFueTtcbn1cblxuZXhwb3J0IHR5cGUgQXhpb3NUcmFuc2Zvcm1lciA9IChcbiAgY29uZmlnOiBBeGlvc1JlcXVlc3RDb25maWcsXG4gIGlucHV0PzogUmVxdWVzdEluZm8sXG4gIGluaXQ/OiBGZXRjaEluaXQsXG4pID0+IEF4aW9zUmVxdWVzdENvbmZpZztcblxuZXhwb3J0IHR5cGUgQXhpb3NGZXRjaCA9IChpbnB1dD86IFJlcXVlc3RJbmZvLCBpbml0PzogRmV0Y2hJbml0KSA9PiBQcm9taXNlPFJlc3BvbnNlPjtcblxuLyoqXG4gKiBBIEZldGNoIFdlYkFQSSBpbXBsZW1lbnRhdGlvbiBiYXNlZCBvbiB0aGUgQXhpb3MgY2xpZW50XG4gKi9cbmNvbnN0IGF4aW9zRmV0Y2g6IChheGlvczogQXhpb3NJbnN0YW5jZSwgdHJhbnNmb3JtZXI/OiBBeGlvc1RyYW5zZm9ybWVyKSA9PiBBeGlvc0ZldGNoID0gKFxuICBheGlvcyxcbiAgdHJhbnNmb3JtZXIgPSAoY29uZmlnKSA9PiBjb25maWcsXG4pID0+IGFzeW5jIChcbiAgaW5wdXQsXG4gIGluaXQ9IHt9LFxuKSA9PiB7XG4gIGNvbnN0IHJhd0hlYWRlcnM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSBjcmVhdGVBeGlvc0hlYWRlcnMoaW5pdC5oZWFkZXJzKTtcbiAgY29uc3QgbG93ZXJDYXNlZEhlYWRlcnMgPSBPYmplY3Qua2V5cyhyYXdIZWFkZXJzKVxuICAgIC5yZWR1Y2U8UmVjb3JkPHN0cmluZywgc3RyaW5nPj4oXG4gICAgICAoYWNjLCBrZXkpID0+IHtcbiAgICAgICAgYWNjW2tleS50b0xvd2VyQ2FzZSgpXSA9IHJhd0hlYWRlcnNba2V5XTtcbiAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgIH0sXG4gICAgICB7fSxcbiAgICApO1xuXG4gIGlmICghKCdjb250ZW50LXR5cGUnIGluIGxvd2VyQ2FzZWRIZWFkZXJzKSkge1xuICAgIGxvd2VyQ2FzZWRIZWFkZXJzWydjb250ZW50LXR5cGUnXSA9ICd0ZXh0L3BsYWluO2NoYXJzZXQ9VVRGLTgnO1xuICB9XG5cbiAgY29uc3QgcmF3Q29uZmlnOiBBeGlvc1JlcXVlc3RDb25maWcgPSB7XG4gICAgdXJsOiBnZXRVcmwoaW5wdXQpLFxuICAgIG1ldGhvZDogKGluaXQubWV0aG9kIGFzIEF4aW9zUmVxdWVzdENvbmZpZ1snbWV0aG9kJ10pIHx8ICdHRVQnLFxuICAgIGRhdGE6IGluaXQuYm9keSxcbiAgICBoZWFkZXJzOiBsb3dlckNhc2VkSGVhZGVycyxcbiAgICAvLyBGb3JjZSB0aGUgcmVzcG9uc2UgdG8gYW4gYXJyYXlidWZmZXIgdHlwZS4gV2l0aG91dCB0aGlzLCB0aGUgUmVzcG9uc2VcbiAgICAvLyBvYmplY3Qgd2lsbCB0cnkgdG8gZ3Vlc3MgdGhlIGNvbnRlbnQgdHlwZSBhbmQgYWRkIGhlYWRlcnMgdGhhdCB3ZXJlbid0IGluXG4gICAgLy8gdGhlIHJlc3BvbnNlLlxuICAgIC8vIE5PVEU6IERvbid0IHVzZSAnc3RyZWFtJyBiZWNhdXNlIGl0J3Mgbm90IHN1cHBvcnRlZCBpbiB0aGUgYnJvd3NlclxuICAgIHJlc3BvbnNlVHlwZTogJ2FycmF5YnVmZmVyJyxcbiAgfTtcblxuICBjb25zdCBjb25maWcgPSB0cmFuc2Zvcm1lcihyYXdDb25maWcsIGlucHV0LCBpbml0KTtcblxuICBsZXQgcmVzdWx0O1xuICB0cnkge1xuICAgIHJlc3VsdCA9IGF3YWl0IGF4aW9zLnJlcXVlc3QoY29uZmlnKTtcbiAgfSBjYXRjaCAoZXJyOiBhbnkpIHtcbiAgICBpZiAoZXJyLnJlc3BvbnNlKSB7XG4gICAgICByZXN1bHQgPSBlcnIucmVzcG9uc2U7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IGVycjtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gbmV3IFJlc3BvbnNlKHJlc3VsdC5kYXRhLCB7XG4gICAgc3RhdHVzOiByZXN1bHQuc3RhdHVzLFxuICAgIHN0YXR1c1RleHQ6IHJlc3VsdC5zdGF0dXNUZXh0LFxuICAgIGhlYWRlcnM6IGNyZWF0ZUZldGNoSGVhZGVycyhyZXN1bHQuaGVhZGVycyksXG4gIH0pO1xufTtcblxuZXhwb3J0IGZ1bmN0aW9uIGJ1aWxkQXhpb3NGZXRjaCAoYXhpb3M6IEF4aW9zSW5zdGFuY2UsIHRyYW5zZm9ybWVyPzogQXhpb3NUcmFuc2Zvcm1lcik6IEF4aW9zRmV0Y2gge1xuICByZXR1cm4gYXhpb3NGZXRjaChheGlvcywgdHJhbnNmb3JtZXIpO1xufVxuIl19 |
@@ -1,15 +0,18 @@ | ||
import { Response, Headers as FetchHeaders } from 'node-fetch'; | ||
import FormData from 'form-data'; | ||
import { Response, RequestInit, RequestInfo } from 'node-fetch'; | ||
import { AxiosInstance, AxiosRequestConfig } from './types'; | ||
import { createFetchHeaders, createAxiosHeaders, getUrl } from './typeUtils'; | ||
export interface FetchInit extends Record<string, any> { | ||
headers?: Record<string, string>; | ||
method?: AxiosRequestConfig['method']; | ||
body?: FormData | any; | ||
export interface FetchInit extends Omit<RequestInit, 'body'> { | ||
method?: string | AxiosRequestConfig['method']; | ||
body?: RequestInit['body'] | Record<string, any>; | ||
extra?: any; | ||
} | ||
export type AxiosTransformer = (config: AxiosRequestConfig, input: string | undefined, init: FetchInit) => AxiosRequestConfig; | ||
export type AxiosTransformer = ( | ||
config: AxiosRequestConfig, | ||
input?: RequestInfo, | ||
init?: FetchInit, | ||
) => AxiosRequestConfig; | ||
export type AxiosFetch = (input?: string, init?: FetchInit) => Promise<Response>; | ||
export type AxiosFetch = (input?: RequestInfo, init?: FetchInit) => Promise<Response>; | ||
@@ -19,10 +22,10 @@ /** | ||
*/ | ||
async function axiosFetch ( | ||
axios: AxiosInstance, | ||
// Convert the `fetch` style arguments into a Axios style config | ||
transformer?: AxiosTransformer, | ||
input?: string, | ||
init: FetchInit = {} | ||
) { | ||
const rawHeaders: Record<string, string> = init.headers || {}; | ||
const axiosFetch: (axios: AxiosInstance, transformer?: AxiosTransformer) => AxiosFetch = ( | ||
axios, | ||
transformer = (config) => config, | ||
) => async ( | ||
input, | ||
init= {}, | ||
) => { | ||
const rawHeaders: Record<string, string> = createAxiosHeaders(init.headers); | ||
const lowerCasedHeaders = Object.keys(rawHeaders) | ||
@@ -34,3 +37,3 @@ .reduce<Record<string, string>>( | ||
}, | ||
{} | ||
{}, | ||
); | ||
@@ -43,5 +46,5 @@ | ||
const rawConfig: AxiosRequestConfig = { | ||
url: input, | ||
method: init.method || 'GET', | ||
data: typeof init.body === 'undefined' || init.body instanceof FormData ? init.body : String(init.body), | ||
url: getUrl(input), | ||
method: (init.method as AxiosRequestConfig['method']) || 'GET', | ||
data: init.body, | ||
headers: lowerCasedHeaders, | ||
@@ -52,6 +55,6 @@ // Force the response to an arraybuffer type. Without this, the Response | ||
// NOTE: Don't use 'stream' because it's not supported in the browser | ||
responseType: 'arraybuffer' | ||
responseType: 'arraybuffer', | ||
}; | ||
const config = transformer ? transformer(rawConfig, input, init) : rawConfig; | ||
const config = transformer(rawConfig, input, init); | ||
@@ -61,3 +64,3 @@ let result; | ||
result = await axios.request(config); | ||
} catch (err) { | ||
} catch (err: any) { | ||
if (err.response) { | ||
@@ -70,13 +73,11 @@ result = err.response; | ||
const fetchHeaders = new FetchHeaders(result.headers); | ||
return new Response(result.data, { | ||
status: result.status, | ||
statusText: result.statusText, | ||
headers: fetchHeaders | ||
headers: createFetchHeaders(result.headers), | ||
}); | ||
} | ||
}; | ||
export function buildAxiosFetch (axios: AxiosInstance, transformer?: AxiosTransformer): AxiosFetch { | ||
return axiosFetch.bind(undefined, axios, transformer); | ||
return axiosFetch(axios, transformer); | ||
} |
"use strict"; | ||
// Copied and edited from axios@0.21.1 because types aren't available in version 0.17 | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJ0eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEscUZBQXFGIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29waWVkIGFuZCBlZGl0ZWQgZnJvbSBheGlvc0AwLjIxLjEgYmVjYXVzZSB0eXBlcyBhcmVuJ3QgYXZhaWxhYmxlIGluIHZlcnNpb24gMC4xN1xuXG5leHBvcnQgdHlwZSBNZXRob2QgPVxuICB8ICdnZXQnIHwgJ0dFVCdcbiAgfCAnZGVsZXRlJyB8ICdERUxFVEUnXG4gIHwgJ2hlYWQnIHwgJ0hFQUQnXG4gIHwgJ29wdGlvbnMnIHwgJ09QVElPTlMnXG4gIHwgJ3Bvc3QnIHwgJ1BPU1QnXG4gIHwgJ3B1dCcgfCAnUFVUJ1xuICB8ICdwYXRjaCcgfCAnUEFUQ0gnXG4gIHwgJ3B1cmdlJyB8ICdQVVJHRSdcbiAgfCAnbGluaycgfCAnTElOSydcbiAgfCAndW5saW5rJyB8ICdVTkxJTksnO1xuXG5leHBvcnQgdHlwZSBSZXNwb25zZVR5cGUgPVxuICB8ICdhcnJheWJ1ZmZlcidcbiAgfCAnYmxvYidcbiAgfCAnZG9jdW1lbnQnXG4gIHwgJ2pzb24nXG4gIHwgJ3RleHQnXG4gIHwgJ3N0cmVhbSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQXhpb3NSZXF1ZXN0Q29uZmlnIHtcbiAgdXJsPzogc3RyaW5nO1xuICBtZXRob2Q/OiBNZXRob2Q7XG4gIGhlYWRlcnM/OiBhbnk7XG4gIGRhdGE/OiBhbnk7XG4gIHJlc3BvbnNlVHlwZT86IFJlc3BvbnNlVHlwZTtcbiAgW2tleTogc3RyaW5nXTogYW55O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEF4aW9zUmVzcG9uc2U8VCA9IGFueT4ge1xuICBkYXRhOiBUO1xuICBzdGF0dXM6IG51bWJlcjtcbiAgc3RhdHVzVGV4dDogc3RyaW5nO1xuICBoZWFkZXJzOiBhbnk7XG4gIGNvbmZpZzogQXhpb3NSZXF1ZXN0Q29uZmlnO1xuICByZXF1ZXN0PzogYW55O1xufVxuXG5leHBvcnQgdHlwZSBBeGlvc1Byb21pc2U8VCA9IGFueT4gPSBQcm9taXNlPEF4aW9zUmVzcG9uc2U8VD4+ICYgYW55XG5cbmV4cG9ydCBpbnRlcmZhY2UgQXhpb3NJbnN0YW5jZSB7XG4gIHJlcXVlc3Q8VCA9IGFueT4oY29uZmlnOiBBeGlvc1JlcXVlc3RDb25maWcpOiBBeGlvc1Byb21pc2U8VD47XG59XG4iXX0= | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJ0eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEscUZBQXFGIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29waWVkIGFuZCBlZGl0ZWQgZnJvbSBheGlvc0AwLjIxLjEgYmVjYXVzZSB0eXBlcyBhcmVuJ3QgYXZhaWxhYmxlIGluIHZlcnNpb24gMC4xN1xuXG5leHBvcnQgdHlwZSBNZXRob2QgPVxuICB8ICdnZXQnIHwgJ0dFVCdcbiAgfCAnZGVsZXRlJyB8ICdERUxFVEUnXG4gIHwgJ2hlYWQnIHwgJ0hFQUQnXG4gIHwgJ29wdGlvbnMnIHwgJ09QVElPTlMnXG4gIHwgJ3Bvc3QnIHwgJ1BPU1QnXG4gIHwgJ3B1dCcgfCAnUFVUJ1xuICB8ICdwYXRjaCcgfCAnUEFUQ0gnXG4gIHwgJ3B1cmdlJyB8ICdQVVJHRSdcbiAgfCAnbGluaycgfCAnTElOSydcbiAgfCAndW5saW5rJyB8ICdVTkxJTksnO1xuXG5leHBvcnQgdHlwZSBSZXNwb25zZVR5cGUgPVxuICB8ICdhcnJheWJ1ZmZlcidcbiAgfCAnYmxvYidcbiAgfCAnZG9jdW1lbnQnXG4gIHwgJ2pzb24nXG4gIHwgJ3RleHQnXG4gIHwgJ3N0cmVhbSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQXhpb3NSZXF1ZXN0Q29uZmlnIHtcbiAgdXJsPzogc3RyaW5nO1xuICBtZXRob2Q/OiBNZXRob2Q7XG4gIGhlYWRlcnM/OiBhbnk7XG4gIGRhdGE/OiBhbnk7XG4gIHJlc3BvbnNlVHlwZT86IFJlc3BvbnNlVHlwZTtcbiAgW2tleTogc3RyaW5nXTogYW55O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEF4aW9zUmVzcG9uc2U8VCA9IGFueT4ge1xuICBkYXRhOiBUO1xuICBzdGF0dXM6IG51bWJlcjtcbiAgc3RhdHVzVGV4dDogc3RyaW5nO1xuICBoZWFkZXJzOiBhbnk7XG4gIGNvbmZpZzogQXhpb3NSZXF1ZXN0Q29uZmlnO1xuICByZXF1ZXN0PzogYW55O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEF4aW9zRXJyb3I8VCA9IG5ldmVyPiBleHRlbmRzIEVycm9yIHtcbiAgY29uZmlnOiBBeGlvc1JlcXVlc3RDb25maWc7XG4gIGNvZGU/OiBzdHJpbmc7XG4gIHJlcXVlc3Q/OiBhbnk7XG4gIHJlc3BvbnNlPzogQXhpb3NSZXNwb25zZTxUPjtcbiAgaXNBeGlvc0Vycm9yOiBib29sZWFuO1xuICB0b0pTT046ICgpID0+IG9iamVjdDtcbn1cblxuZXhwb3J0IHR5cGUgQXhpb3NQcm9taXNlPFQgPSBhbnk+ID0gUHJvbWlzZTxBeGlvc1Jlc3BvbnNlPFQ+PiAmIGFueVxuXG5leHBvcnQgaW50ZXJmYWNlIEF4aW9zSW5zdGFuY2Uge1xuICByZXF1ZXN0PFQgPSBhbnk+KGNvbmZpZzogQXhpb3NSZXF1ZXN0Q29uZmlnKTogQXhpb3NQcm9taXNlPFQ+O1xufVxuIl19 |
@@ -41,2 +41,11 @@ // Copied and edited from axios@0.21.1 because types aren't available in version 0.17 | ||
export interface AxiosError<T = never> extends Error { | ||
config: AxiosRequestConfig; | ||
code?: string; | ||
request?: any; | ||
response?: AxiosResponse<T>; | ||
isAxiosError: boolean; | ||
toJSON: () => object; | ||
} | ||
export type AxiosPromise<T = any> = Promise<AxiosResponse<T>> & any | ||
@@ -43,0 +52,0 @@ |
@@ -25,3 +25,4 @@ { | ||
"src/**/*", | ||
"bin/*" | ||
"bin/*", | ||
"test/**/*" | ||
], | ||
@@ -28,0 +29,0 @@ "exclude": [ |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
24435
11
298
1