Skip to content

Commit

Permalink
Fix header class detection
Browse files Browse the repository at this point in the history
  • Loading branch information
ecl1ps committed Oct 4, 2022
1 parent 3532f5d commit 6cb0b17
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 2 deletions.
2 changes: 1 addition & 1 deletion src/typeUtils.ts
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ export function createFetchHeaders (axiosHeaders: Record<string, string> = {}):
return headers;
}

const isHeaders = (headers: HeadersLike): headers is Headers => headers.constructor.name === 'Headers';
const isHeaders = (headers: HeadersLike): headers is Headers => headers.constructor?.name === 'Headers';

export function createAxiosHeaders (headers: HeadersLike = {}): Record<string, string> {
const rawHeaders: Record<string, string> = {};
Expand Down
6 changes: 5 additions & 1 deletion test/typeUtils.test.ts
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
import test from 'ava';
import { Headers as NodeHeaders, Request } from 'node-fetch';
import {
createAxiosHeaders,
createFetchHeaders,
getUrl
} from '../src/typeUtils';
import { Request, Headers as NodeHeaders } from 'node-fetch';

const headersObject = {
key1: 'value1',
Expand Down Expand Up @@ -40,6 +40,10 @@ test('createAxiosHeaders will return an empty object on undefined', (t) => {
t.deepEqual(createAxiosHeaders({ 'undefined': undefined }), {});
});

test('createAxiosHeaders will work with Headers object without a prototype', (t) => {
t.deepEqual(createAxiosHeaders(Object.create(null)), {});
});

test('createAxiosHeaders will format fetch style Headers object for Axios', (t) => {
t.deepEqual(createAxiosHeaders(headersClass), headersObject);
});
Expand Down

0 comments on commit 6cb0b17

Please sign in to comment.