@lifeomic/axios-fetch
Advanced tools
Comparing version 2.0.3-pr-88-1317337924-1633629756.0 to 2.0.3-pr-90-1337554421-1634130165.0
{ | ||
"name": "@lifeomic/axios-fetch", | ||
"version": "2.0.3-pr-88-1317337924-1633629756.0", | ||
"version": "2.0.3-pr-90-1337554421-1634130165.0", | ||
"description": "A WebAPI Fetch implementation backed by an Axios client", | ||
@@ -14,2 +14,6 @@ "main": "src/index.js", | ||
}, | ||
"repository": { | ||
"type": "git", | ||
"url": "https://github.com/lifeomic/axios-fetch.git" | ||
}, | ||
"engines": { | ||
@@ -33,15 +37,15 @@ "node": ">=12" | ||
"devDependencies": { | ||
"@lifeomic/eslint-config-standards": "^1.2.1", | ||
"@types/lodash": "^4.14.175", | ||
"@lifeomic/eslint-plugin-node": "^2.0.1", | ||
"@types/sinon": "^10.0.0", | ||
"@typescript-eslint/eslint-plugin": "^4.22.0", | ||
"@typescript-eslint/parser": "^4.22.0", | ||
"ava": "^3.15.0", | ||
"axios": "0.22.0", | ||
"axios": "^0.21.4", | ||
"coveralls": "^3.1.0", | ||
"eslint": "^7.32.0", | ||
"lodash": "^4.17.21", | ||
"eslint": "^6.0.0", | ||
"nock": "^11.3.3", | ||
"nyc": "^15.0.0", | ||
"sinon": "^10.0.1", | ||
"ts-node": "^10.2.1", | ||
"typescript": "^4.4.3" | ||
"ts-node": "^9.1.1", | ||
"typescript": "^4.2.4" | ||
}, | ||
@@ -48,0 +52,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 typeUtils_1 = require("./typeUtils"); | ||
const form_data_1 = __importDefault(require("form-data")); | ||
/** | ||
* A Fetch WebAPI implementation based on the Axios client | ||
*/ | ||
const axiosFetch = (axios, transformer = (config) => config) => async (input, init = {}) => { | ||
const rawHeaders = (0, typeUtils_1.createAxiosHeaders)(init.headers); | ||
const lowerCasedHeaders = Object.keys(rawHeaders) | ||
async function axiosFetch(axios, | ||
// Convert the `fetch` style arguments into a Axios style config | ||
transformer, input, init = {}) { | ||
const rawHeaders = init.headers || {}; | ||
const lowerCasedHeaders = Object.keys(rawHeaders).filter(key => rawHeaders[key]) | ||
.reduce((acc, key) => { | ||
@@ -20,5 +25,5 @@ acc[key.toLowerCase()] = rawHeaders[key]; | ||
const rawConfig = { | ||
url: (0, typeUtils_1.getUrl)(input), | ||
url: input, | ||
method: init.method || 'GET', | ||
data: init.body, | ||
data: typeof init.body === 'undefined' || init.body instanceof form_data_1.default ? init.body : String(init.body), | ||
headers: lowerCasedHeaders, | ||
@@ -29,5 +34,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(rawConfig, input, init); | ||
const config = transformer ? transformer(rawConfig, input, init) : rawConfig; | ||
let result; | ||
@@ -45,12 +50,13 @@ 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: (0, typeUtils_1.createFetchHeaders)(result.headers), | ||
headers: fetchHeaders | ||
}); | ||
}; | ||
} | ||
function buildAxiosFetch(axios, transformer) { | ||
return axiosFetch(axios, transformer); | ||
return axiosFetch.bind(undefined, axios, transformer); | ||
} | ||
exports.buildAxiosFetch = buildAxiosFetch; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwyQ0FBZ0U7QUFFaEUsMkNBQTZFO0FBZ0I3RTs7R0FFRztBQUNILE1BQU0sVUFBVSxHQUF5RSxDQUN2RixLQUFLLEVBQ0wsV0FBVyxHQUFHLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxNQUFNLEVBQ2hDLEVBQUUsQ0FBQyxLQUFLLEVBQ1IsS0FBSyxFQUNMLElBQUksR0FBRSxFQUFFLEVBQ1IsRUFBRTtJQUNGLE1BQU0sVUFBVSxHQUEyQixJQUFBLDhCQUFrQixFQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM1RSxNQUFNLGlCQUFpQixHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDO1NBQzlDLE1BQU0sQ0FDTCxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsRUFBRTtRQUNYLEdBQUcsQ0FBQyxHQUFHLENBQUMsV0FBVyxFQUFFLENBQUMsR0FBRyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDekMsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDLEVBQ0QsRUFBRSxDQUNILENBQUM7SUFFSixJQUFJLENBQUMsQ0FBQyxjQUFjLElBQUksaUJBQWlCLENBQUMsRUFBRTtRQUMxQyxpQkFBaUIsQ0FBQyxjQUFjLENBQUMsR0FBRywwQkFBMEIsQ0FBQztLQUNoRTtJQUVELE1BQU0sU0FBUyxHQUF1QjtRQUNwQyxHQUFHLEVBQUUsSUFBQSxrQkFBTSxFQUFDLEtBQUssQ0FBQztRQUNsQixNQUFNLEVBQUcsSUFBSSxDQUFDLE1BQXVDLElBQUksS0FBSztRQUM5RCxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7UUFDZixPQUFPLEVBQUUsaUJBQWlCO1FBQzFCLHdFQUF3RTtRQUN4RSw0RUFBNEU7UUFDNUUsZ0JBQWdCO1FBQ2hCLHFFQUFxRTtRQUNyRSxZQUFZLEVBQUUsYUFBYTtLQUM1QixDQUFDO0lBRUYsTUFBTSxNQUFNLEdBQUcsV0FBVyxDQUFDLFNBQVMsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFFbkQsSUFBSSxNQUFNLENBQUM7SUFDWCxJQUFJO1FBQ0YsTUFBTSxHQUFHLE1BQU0sS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztLQUN0QztJQUFDLE9BQU8sR0FBUSxFQUFFO1FBQ2pCLElBQUksR0FBRyxDQUFDLFFBQVEsRUFBRTtZQUNoQixNQUFNLEdBQUcsR0FBRyxDQUFDLFFBQVEsQ0FBQztTQUN2QjthQUFNO1lBQ0wsTUFBTSxHQUFHLENBQUM7U0FDWDtLQUNGO0lBRUQsT0FBTyxJQUFJLHFCQUFRLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRTtRQUMvQixNQUFNLEVBQUUsTUFBTSxDQUFDLE1BQU07UUFDckIsVUFBVSxFQUFFLE1BQU0sQ0FBQyxVQUFVO1FBQzdCLE9BQU8sRUFBRSxJQUFBLDhCQUFrQixFQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUM7S0FDNUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDO0FBRUYsU0FBZ0IsZUFBZSxDQUFFLEtBQW9CLEVBQUUsV0FBOEI7SUFDbkYsT0FBTyxVQUFVLENBQUMsS0FBSyxFQUFFLFdBQVcsQ0FBQyxDQUFDO0FBQ3hDLENBQUM7QUFGRCwwQ0FFQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJlc3BvbnNlLCBSZXF1ZXN0SW5pdCwgUmVxdWVzdEluZm8gfSBmcm9tICdub2RlLWZldGNoJztcbmltcG9ydCB7IEF4aW9zSW5zdGFuY2UsIEF4aW9zUmVxdWVzdENvbmZpZyB9IGZyb20gJy4vdHlwZXMnO1xuaW1wb3J0IHsgY3JlYXRlRmV0Y2hIZWFkZXJzLCBjcmVhdGVBeGlvc0hlYWRlcnMsIGdldFVybCB9IGZyb20gJy4vdHlwZVV0aWxzJztcblxuZXhwb3J0IGludGVyZmFjZSBGZXRjaEluaXQgZXh0ZW5kcyBPbWl0PFJlcXVlc3RJbml0LCAnYm9keSc+IHtcbiAgbWV0aG9kPzogc3RyaW5nIHwgQXhpb3NSZXF1ZXN0Q29uZmlnWydtZXRob2QnXTtcbiAgYm9keT86IFJlcXVlc3RJbml0Wydib2R5J10gfCBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xuICBleHRyYT86IGFueTtcbn1cblxuZXhwb3J0IHR5cGUgQXhpb3NUcmFuc2Zvcm1lciA9IChcbiAgY29uZmlnOiBBeGlvc1JlcXVlc3RDb25maWcsXG4gIGlucHV0PzogUmVxdWVzdEluZm8sXG4gIGluaXQ/OiBGZXRjaEluaXQsXG4pID0+IEF4aW9zUmVxdWVzdENvbmZpZztcblxuZXhwb3J0IHR5cGUgQXhpb3NGZXRjaCA9IChpbnB1dD86IFJlcXVlc3RJbmZvLCBpbml0PzogRmV0Y2hJbml0KSA9PiBQcm9taXNlPFJlc3BvbnNlPjtcblxuLyoqXG4gKiBBIEZldGNoIFdlYkFQSSBpbXBsZW1lbnRhdGlvbiBiYXNlZCBvbiB0aGUgQXhpb3MgY2xpZW50XG4gKi9cbmNvbnN0IGF4aW9zRmV0Y2g6IChheGlvczogQXhpb3NJbnN0YW5jZSwgdHJhbnNmb3JtZXI/OiBBeGlvc1RyYW5zZm9ybWVyKSA9PiBBeGlvc0ZldGNoID0gKFxuICBheGlvcyxcbiAgdHJhbnNmb3JtZXIgPSAoY29uZmlnKSA9PiBjb25maWcsXG4pID0+IGFzeW5jIChcbiAgaW5wdXQsXG4gIGluaXQ9IHt9LFxuKSA9PiB7XG4gIGNvbnN0IHJhd0hlYWRlcnM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSBjcmVhdGVBeGlvc0hlYWRlcnMoaW5pdC5oZWFkZXJzKTtcbiAgY29uc3QgbG93ZXJDYXNlZEhlYWRlcnMgPSBPYmplY3Qua2V5cyhyYXdIZWFkZXJzKVxuICAgIC5yZWR1Y2U8UmVjb3JkPHN0cmluZywgc3RyaW5nPj4oXG4gICAgICAoYWNjLCBrZXkpID0+IHtcbiAgICAgICAgYWNjW2tleS50b0xvd2VyQ2FzZSgpXSA9IHJhd0hlYWRlcnNba2V5XTtcbiAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgIH0sXG4gICAgICB7fSxcbiAgICApO1xuXG4gIGlmICghKCdjb250ZW50LXR5cGUnIGluIGxvd2VyQ2FzZWRIZWFkZXJzKSkge1xuICAgIGxvd2VyQ2FzZWRIZWFkZXJzWydjb250ZW50LXR5cGUnXSA9ICd0ZXh0L3BsYWluO2NoYXJzZXQ9VVRGLTgnO1xuICB9XG5cbiAgY29uc3QgcmF3Q29uZmlnOiBBeGlvc1JlcXVlc3RDb25maWcgPSB7XG4gICAgdXJsOiBnZXRVcmwoaW5wdXQpLFxuICAgIG1ldGhvZDogKGluaXQubWV0aG9kIGFzIEF4aW9zUmVxdWVzdENvbmZpZ1snbWV0aG9kJ10pIHx8ICdHRVQnLFxuICAgIGRhdGE6IGluaXQuYm9keSxcbiAgICBoZWFkZXJzOiBsb3dlckNhc2VkSGVhZGVycyxcbiAgICAvLyBGb3JjZSB0aGUgcmVzcG9uc2UgdG8gYW4gYXJyYXlidWZmZXIgdHlwZS4gV2l0aG91dCB0aGlzLCB0aGUgUmVzcG9uc2VcbiAgICAvLyBvYmplY3Qgd2lsbCB0cnkgdG8gZ3Vlc3MgdGhlIGNvbnRlbnQgdHlwZSBhbmQgYWRkIGhlYWRlcnMgdGhhdCB3ZXJlbid0IGluXG4gICAgLy8gdGhlIHJlc3BvbnNlLlxuICAgIC8vIE5PVEU6IERvbid0IHVzZSAnc3RyZWFtJyBiZWNhdXNlIGl0J3Mgbm90IHN1cHBvcnRlZCBpbiB0aGUgYnJvd3NlclxuICAgIHJlc3BvbnNlVHlwZTogJ2FycmF5YnVmZmVyJyxcbiAgfTtcblxuICBjb25zdCBjb25maWcgPSB0cmFuc2Zvcm1lcihyYXdDb25maWcsIGlucHV0LCBpbml0KTtcblxuICBsZXQgcmVzdWx0O1xuICB0cnkge1xuICAgIHJlc3VsdCA9IGF3YWl0IGF4aW9zLnJlcXVlc3QoY29uZmlnKTtcbiAgfSBjYXRjaCAoZXJyOiBhbnkpIHtcbiAgICBpZiAoZXJyLnJlc3BvbnNlKSB7XG4gICAgICByZXN1bHQgPSBlcnIucmVzcG9uc2U7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IGVycjtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gbmV3IFJlc3BvbnNlKHJlc3VsdC5kYXRhLCB7XG4gICAgc3RhdHVzOiByZXN1bHQuc3RhdHVzLFxuICAgIHN0YXR1c1RleHQ6IHJlc3VsdC5zdGF0dXNUZXh0LFxuICAgIGhlYWRlcnM6IGNyZWF0ZUZldGNoSGVhZGVycyhyZXN1bHQuaGVhZGVycyksXG4gIH0pO1xufTtcblxuZXhwb3J0IGZ1bmN0aW9uIGJ1aWxkQXhpb3NGZXRjaCAoYXhpb3M6IEF4aW9zSW5zdGFuY2UsIHRyYW5zZm9ybWVyPzogQXhpb3NUcmFuc2Zvcm1lcik6IEF4aW9zRmV0Y2gge1xuICByZXR1cm4gYXhpb3NGZXRjaChheGlvcywgdHJhbnNmb3JtZXIpO1xufVxuIl19 | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSwyQ0FBK0Q7QUFDL0QsMERBQWlDO0FBY2pDOztHQUVHO0FBQ0gsS0FBSyxVQUFVLFVBQVUsQ0FDdkIsS0FBb0I7QUFDcEIsZ0VBQWdFO0FBQ2hFLFdBQThCLEVBQzlCLEtBQWMsRUFDZCxPQUFrQixFQUFFO0lBRXBCLE1BQU0sVUFBVSxHQUEyQixJQUFJLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBQztJQUM5RCxNQUFNLGlCQUFpQixHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQzdFLE1BQU0sQ0FDTCxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsRUFBRTtRQUNYLEdBQUcsQ0FBQyxHQUFHLENBQUMsV0FBVyxFQUFFLENBQUMsR0FBRyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDekMsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDLEVBQ0QsRUFBRSxDQUNILENBQUM7SUFFSixJQUFJLENBQUMsQ0FBQyxjQUFjLElBQUksaUJBQWlCLENBQUMsRUFBRTtRQUMxQyxpQkFBaUIsQ0FBQyxjQUFjLENBQUMsR0FBRywwQkFBMEIsQ0FBQztLQUNoRTtJQUVELE1BQU0sU0FBUyxHQUF1QjtRQUNwQyxHQUFHLEVBQUUsS0FBSztRQUNWLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTSxJQUFJLEtBQUs7UUFDNUIsSUFBSSxFQUFFLE9BQU8sSUFBSSxDQUFDLElBQUksS0FBSyxXQUFXLElBQUksSUFBSSxDQUFDLElBQUksWUFBWSxtQkFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztRQUN2RyxPQUFPLEVBQUUsaUJBQWlCO1FBQzFCLHdFQUF3RTtRQUN4RSw0RUFBNEU7UUFDNUUsZ0JBQWdCO1FBQ2hCLHFFQUFxRTtRQUNyRSxZQUFZLEVBQUUsYUFBYTtLQUM1QixDQUFDO0lBRUYsTUFBTSxNQUFNLEdBQUcsV0FBVyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0lBRTdFLElBQUksTUFBTSxDQUFDO0lBQ1gsSUFBSTtRQUNGLE1BQU0sR0FBRyxNQUFNLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7S0FDdEM7SUFBQyxPQUFPLEdBQVEsRUFBRTtRQUNqQixJQUFJLEdBQUcsQ0FBQyxRQUFRLEVBQUU7WUFDaEIsTUFBTSxHQUFHLEdBQUcsQ0FBQyxRQUFRLENBQUM7U0FDdkI7YUFBTTtZQUNMLE1BQU0sR0FBRyxDQUFDO1NBQ1g7S0FDRjtJQUVELE1BQU0sWUFBWSxHQUFHLElBQUksb0JBQVksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7SUFFdEQsT0FBTyxJQUFJLHFCQUFRLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRTtRQUMvQixNQUFNLEVBQUUsTUFBTSxDQUFDLE1BQU07UUFDckIsVUFBVSxFQUFFLE1BQU0sQ0FBQyxVQUFVO1FBQzdCLE9BQU8sRUFBRSxZQUFZO0tBQ3RCLENBQUMsQ0FBQztBQUNMLENBQUM7QUFFRCxTQUFnQixlQUFlLENBQUUsS0FBb0IsRUFBRSxXQUE4QjtJQUNuRixPQUFPLFVBQVUsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMsQ0FBQztBQUN4RCxDQUFDO0FBRkQsMENBRUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSZXNwb25zZSwgSGVhZGVycyBhcyBGZXRjaEhlYWRlcnMgfSBmcm9tICdub2RlLWZldGNoJztcbmltcG9ydCBGb3JtRGF0YSBmcm9tICdmb3JtLWRhdGEnO1xuaW1wb3J0IHsgQXhpb3NJbnN0YW5jZSwgQXhpb3NSZXF1ZXN0Q29uZmlnIH0gZnJvbSAnLi90eXBlcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmV0Y2hJbml0IGV4dGVuZHMgUmVjb3JkPHN0cmluZywgYW55PiB7XG4gIGhlYWRlcnM/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuICBtZXRob2Q/OiBBeGlvc1JlcXVlc3RDb25maWdbJ21ldGhvZCddO1xuICBib2R5PzogRm9ybURhdGEgfCBhbnk7XG4gIGV4dHJhPzogYW55O1xufVxuXG5leHBvcnQgdHlwZSBBeGlvc1RyYW5zZm9ybWVyID0gKGNvbmZpZzogQXhpb3NSZXF1ZXN0Q29uZmlnLCBpbnB1dDogc3RyaW5nIHwgdW5kZWZpbmVkLCBpbml0OiBGZXRjaEluaXQpID0+IEF4aW9zUmVxdWVzdENvbmZpZztcblxuZXhwb3J0IHR5cGUgQXhpb3NGZXRjaCA9IChpbnB1dD86IHN0cmluZywgaW5pdD86IEZldGNoSW5pdCkgPT4gUHJvbWlzZTxSZXNwb25zZT47XG5cbi8qKlxuICogQSBGZXRjaCBXZWJBUEkgaW1wbGVtZW50YXRpb24gYmFzZWQgb24gdGhlIEF4aW9zIGNsaWVudFxuICovXG5hc3luYyBmdW5jdGlvbiBheGlvc0ZldGNoIChcbiAgYXhpb3M6IEF4aW9zSW5zdGFuY2UsXG4gIC8vIENvbnZlcnQgdGhlIGBmZXRjaGAgc3R5bGUgYXJndW1lbnRzIGludG8gYSBBeGlvcyBzdHlsZSBjb25maWdcbiAgdHJhbnNmb3JtZXI/OiBBeGlvc1RyYW5zZm9ybWVyLFxuICBpbnB1dD86IHN0cmluZyxcbiAgaW5pdDogRmV0Y2hJbml0ID0ge31cbikge1xuICBjb25zdCByYXdIZWFkZXJzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0gaW5pdC5oZWFkZXJzIHx8IHt9O1xuICBjb25zdCBsb3dlckNhc2VkSGVhZGVycyA9IE9iamVjdC5rZXlzKHJhd0hlYWRlcnMpLmZpbHRlcihrZXkgPT4gcmF3SGVhZGVyc1trZXldKVxuICAgIC5yZWR1Y2U8UmVjb3JkPHN0cmluZywgc3RyaW5nPj4oXG4gICAgICAoYWNjLCBrZXkpID0+IHtcbiAgICAgICAgYWNjW2tleS50b0xvd2VyQ2FzZSgpXSA9IHJhd0hlYWRlcnNba2V5XTtcbiAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgIH0sXG4gICAgICB7fVxuICAgICk7XG5cbiAgaWYgKCEoJ2NvbnRlbnQtdHlwZScgaW4gbG93ZXJDYXNlZEhlYWRlcnMpKSB7XG4gICAgbG93ZXJDYXNlZEhlYWRlcnNbJ2NvbnRlbnQtdHlwZSddID0gJ3RleHQvcGxhaW47Y2hhcnNldD1VVEYtOCc7XG4gIH1cblxuICBjb25zdCByYXdDb25maWc6IEF4aW9zUmVxdWVzdENvbmZpZyA9IHtcbiAgICB1cmw6IGlucHV0LFxuICAgIG1ldGhvZDogaW5pdC5tZXRob2QgfHwgJ0dFVCcsXG4gICAgZGF0YTogdHlwZW9mIGluaXQuYm9keSA9PT0gJ3VuZGVmaW5lZCcgfHwgaW5pdC5ib2R5IGluc3RhbmNlb2YgRm9ybURhdGEgPyBpbml0LmJvZHkgOiBTdHJpbmcoaW5pdC5ib2R5KSxcbiAgICBoZWFkZXJzOiBsb3dlckNhc2VkSGVhZGVycyxcbiAgICAvLyBGb3JjZSB0aGUgcmVzcG9uc2UgdG8gYW4gYXJyYXlidWZmZXIgdHlwZS4gV2l0aG91dCB0aGlzLCB0aGUgUmVzcG9uc2VcbiAgICAvLyBvYmplY3Qgd2lsbCB0cnkgdG8gZ3Vlc3MgdGhlIGNvbnRlbnQgdHlwZSBhbmQgYWRkIGhlYWRlcnMgdGhhdCB3ZXJlbid0IGluXG4gICAgLy8gdGhlIHJlc3BvbnNlLlxuICAgIC8vIE5PVEU6IERvbid0IHVzZSAnc3RyZWFtJyBiZWNhdXNlIGl0J3Mgbm90IHN1cHBvcnRlZCBpbiB0aGUgYnJvd3NlclxuICAgIHJlc3BvbnNlVHlwZTogJ2FycmF5YnVmZmVyJ1xuICB9O1xuXG4gIGNvbnN0IGNvbmZpZyA9IHRyYW5zZm9ybWVyID8gdHJhbnNmb3JtZXIocmF3Q29uZmlnLCBpbnB1dCwgaW5pdCkgOiByYXdDb25maWc7XG5cbiAgbGV0IHJlc3VsdDtcbiAgdHJ5IHtcbiAgICByZXN1bHQgPSBhd2FpdCBheGlvcy5yZXF1ZXN0KGNvbmZpZyk7XG4gIH0gY2F0Y2ggKGVycjogYW55KSB7XG4gICAgaWYgKGVyci5yZXNwb25zZSkge1xuICAgICAgcmVzdWx0ID0gZXJyLnJlc3BvbnNlO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBlcnI7XG4gICAgfVxuICB9XG5cbiAgY29uc3QgZmV0Y2hIZWFkZXJzID0gbmV3IEZldGNoSGVhZGVycyhyZXN1bHQuaGVhZGVycyk7XG5cbiAgcmV0dXJuIG5ldyBSZXNwb25zZShyZXN1bHQuZGF0YSwge1xuICAgIHN0YXR1czogcmVzdWx0LnN0YXR1cyxcbiAgICBzdGF0dXNUZXh0OiByZXN1bHQuc3RhdHVzVGV4dCxcbiAgICBoZWFkZXJzOiBmZXRjaEhlYWRlcnNcbiAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBidWlsZEF4aW9zRmV0Y2ggKGF4aW9zOiBBeGlvc0luc3RhbmNlLCB0cmFuc2Zvcm1lcj86IEF4aW9zVHJhbnNmb3JtZXIpOiBBeGlvc0ZldGNoIHtcbiAgcmV0dXJuIGF4aW9zRmV0Y2guYmluZCh1bmRlZmluZWQsIGF4aW9zLCB0cmFuc2Zvcm1lcik7XG59XG4iXX0= |
@@ -1,18 +0,15 @@ | ||
import { Response, RequestInit, RequestInfo } from 'node-fetch'; | ||
import { Response, Headers as FetchHeaders } from 'node-fetch'; | ||
import FormData from 'form-data'; | ||
import { AxiosInstance, AxiosRequestConfig } from './types'; | ||
import { createFetchHeaders, createAxiosHeaders, getUrl } from './typeUtils'; | ||
export interface FetchInit extends Omit<RequestInit, 'body'> { | ||
method?: string | AxiosRequestConfig['method']; | ||
body?: RequestInit['body'] | Record<string, any>; | ||
export interface FetchInit extends Record<string, any> { | ||
headers?: Record<string, string>; | ||
method?: AxiosRequestConfig['method']; | ||
body?: FormData | any; | ||
extra?: any; | ||
} | ||
export type AxiosTransformer = ( | ||
config: AxiosRequestConfig, | ||
input?: RequestInfo, | ||
init?: FetchInit, | ||
) => AxiosRequestConfig; | ||
export type AxiosTransformer = (config: AxiosRequestConfig, input: string | undefined, init: FetchInit) => AxiosRequestConfig; | ||
export type AxiosFetch = (input?: RequestInfo, init?: FetchInit) => Promise<Response>; | ||
export type AxiosFetch = (input?: string, init?: FetchInit) => Promise<Response>; | ||
@@ -22,11 +19,11 @@ /** | ||
*/ | ||
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) | ||
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 lowerCasedHeaders = Object.keys(rawHeaders).filter(key => rawHeaders[key]) | ||
.reduce<Record<string, string>>( | ||
@@ -37,3 +34,3 @@ (acc, key) => { | ||
}, | ||
{}, | ||
{} | ||
); | ||
@@ -46,5 +43,5 @@ | ||
const rawConfig: AxiosRequestConfig = { | ||
url: getUrl(input), | ||
method: (init.method as AxiosRequestConfig['method']) || 'GET', | ||
data: init.body, | ||
url: input, | ||
method: init.method || 'GET', | ||
data: typeof init.body === 'undefined' || init.body instanceof FormData ? init.body : String(init.body), | ||
headers: lowerCasedHeaders, | ||
@@ -55,6 +52,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(rawConfig, input, init); | ||
const config = transformer ? transformer(rawConfig, input, init) : rawConfig; | ||
@@ -72,11 +69,13 @@ let result; | ||
const fetchHeaders = new FetchHeaders(result.headers); | ||
return new Response(result.data, { | ||
status: result.status, | ||
statusText: result.statusText, | ||
headers: createFetchHeaders(result.headers), | ||
headers: fetchHeaders | ||
}); | ||
}; | ||
} | ||
export function buildAxiosFetch (axios: AxiosInstance, transformer?: AxiosTransformer): AxiosFetch { | ||
return axiosFetch(axios, transformer); | ||
return axiosFetch.bind(undefined, 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/OiBhbnk7XG4gIHJlc3BvbnNlVHlwZT86IFJlc3BvbnNlVHlwZTtcbiAgW2tleTogc3RyaW5nXTogYW55O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEF4aW9zUmVzcG9uc2U8VCA9IGFueT4ge1xuICBkYXRhOiBUO1xuICBzdGF0dXM6IG51bWJlcjtcbiAgc3RhdHVzVGV4dDogc3RyaW5nO1xuICBoZWFkZXJzOiBhbnk7XG4gIGNvbmZpZzogQXhpb3NSZXF1ZXN0Q29uZmlnO1xuICByZXF1ZXN0PzogYW55O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEF4aW9zRXJyb3I8VCA9IG5ldmVyPiBleHRlbmRzIEVycm9yIHtcbiAgY29uZmlnOiBBeGlvc1JlcXVlc3RDb25maWc7XG4gIGNvZGU/OiBzdHJpbmc7XG4gIHJlcXVlc3Q/OiBhbnk7XG4gIHJlc3BvbnNlPzogQXhpb3NSZXNwb25zZTxUPjtcbiAgaXNBeGlvc0Vycm9yOiBib29sZWFuO1xuICB0b0pTT046ICgpID0+IG9iamVjdDtcbn1cblxuZXhwb3J0IHR5cGUgQXhpb3NQcm9taXNlPFQgPSBhbnk+ID0gUHJvbWlzZTxBeGlvc1Jlc3BvbnNlPFQ+PiAmIGFueVxuXG5leHBvcnQgaW50ZXJmYWNlIEF4aW9zSW5zdGFuY2Uge1xuICByZXF1ZXN0PFQgPSBhbnk+KGNvbmZpZzogQXhpb3NSZXF1ZXN0Q29uZmlnKTogQXhpb3NQcm9taXNlPFQ+O1xufVxuIl19 | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJ0eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEscUZBQXFGIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29waWVkIGFuZCBlZGl0ZWQgZnJvbSBheGlvc0AwLjIxLjEgYmVjYXVzZSB0eXBlcyBhcmVuJ3QgYXZhaWxhYmxlIGluIHZlcnNpb24gMC4xN1xuXG5leHBvcnQgdHlwZSBNZXRob2QgPVxuICB8ICdnZXQnIHwgJ0dFVCdcbiAgfCAnZGVsZXRlJyB8ICdERUxFVEUnXG4gIHwgJ2hlYWQnIHwgJ0hFQUQnXG4gIHwgJ29wdGlvbnMnIHwgJ09QVElPTlMnXG4gIHwgJ3Bvc3QnIHwgJ1BPU1QnXG4gIHwgJ3B1dCcgfCAnUFVUJ1xuICB8ICdwYXRjaCcgfCAnUEFUQ0gnXG4gIHwgJ3B1cmdlJyB8ICdQVVJHRSdcbiAgfCAnbGluaycgfCAnTElOSydcbiAgfCAndW5saW5rJyB8ICdVTkxJTksnO1xuXG5leHBvcnQgdHlwZSBSZXNwb25zZVR5cGUgPVxuICB8ICdhcnJheWJ1ZmZlcidcbiAgfCAnYmxvYidcbiAgfCAnZG9jdW1lbnQnXG4gIHwgJ2pzb24nXG4gIHwgJ3RleHQnXG4gIHwgJ3N0cmVhbSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQXhpb3NSZXF1ZXN0Q29uZmlnIHtcbiAgdXJsPzogc3RyaW5nO1xuICBtZXRob2Q/OiBNZXRob2Q7XG4gIGhlYWRlcnM/OiBhbnk7XG4gIGRhdGE/OiBhbnk7XG4gIHJlc3BvbnNlVHlwZT86IFJlc3BvbnNlVHlwZTtcbiAgW2tleTogc3RyaW5nXTogYW55O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEF4aW9zUmVzcG9uc2U8VCA9IGFueT4ge1xuICBkYXRhOiBUO1xuICBzdGF0dXM6IG51bWJlcjtcbiAgc3RhdHVzVGV4dDogc3RyaW5nO1xuICBoZWFkZXJzOiBhbnk7XG4gIGNvbmZpZzogQXhpb3NSZXF1ZXN0Q29uZmlnO1xuICByZXF1ZXN0PzogYW55O1xufVxuXG5leHBvcnQgdHlwZSBBeGlvc1Byb21pc2U8VCA9IGFueT4gPSBQcm9taXNlPEF4aW9zUmVzcG9uc2U8VD4+ICYgYW55XG5cbmV4cG9ydCBpbnRlcmZhY2UgQXhpb3NJbnN0YW5jZSB7XG4gIHJlcXVlc3Q8VCA9IGFueT4oY29uZmlnOiBBeGlvc1JlcXVlc3RDb25maWcpOiBBeGlvc1Byb21pc2U8VD47XG59XG4iXX0= |
@@ -41,11 +41,2 @@ // 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 | ||
@@ -52,0 +43,0 @@ |
@@ -25,4 +25,3 @@ { | ||
"src/**/*", | ||
"bin/*", | ||
"test/**/*" | ||
"bin/*" | ||
], | ||
@@ -29,0 +28,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
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
No repository
Supply chain riskPackage does not have a linked source code repository. Without this field, a package will have no reference to the location of the source code use to generate the package.
Found 1 instance in 1 package
0
18702
9
195