Skip to content

Commit 0803473

Browse files
committed
update docs & fix type
1 parent 7b0d7ce commit 0803473

3 files changed

Lines changed: 7 additions & 23 deletions

File tree

docs/api/Util.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,9 @@ Arguments:
1010

1111
- **headers** `Record<string, string | string[]> | (Buffer | string | (Buffer | string)[])[]` (required) - Header object.
1212

13-
- **obj** `Record<string, string | string[]>` (optional) - Object to specify a proxy object. But, if **headers** is an object, it is not used.
13+
- **obj** `Record<string, string | string[]>` (optional) - Object to specify a proxy object. The parsed value is assigned to this object. But, if **headers** is an object, it is not used.
1414

15-
Returns: `Record<string, string | string[]>`
15+
Returns: `Record<string, string | string[]>` If **headers** is an object, it is `headers`. Otherwise, if **obj** is specified, it is equivalent to **obj**.
1616

1717
## `headerNameToString(value)`
1818

test/types/util.test-d.ts

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -10,16 +10,6 @@ expectAssignable<Record<string, string | string[]>>(
1010
util.parseHeaders({ 'content-type': 'text/plain' }, {})
1111
);
1212

13-
expectAssignable<Record<string, string | string[]>>(
14-
util.parseHeaders(
15-
{ 'content-type': 'text/plain' },
16-
//@ts-ignore
17-
{
18-
'content-length': 0,
19-
}
20-
)
21-
);
22-
2313
expectAssignable<Record<string, string | string[]>>(
2414
util.parseHeaders({} as Record<string, string> | string[], {})
2515
);

types/util.d.ts

Lines changed: 5 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -17,21 +17,15 @@ export namespace util {
1717
/**
1818
* Receives a header object and returns the parsed value.
1919
* @param headers Header object
20-
* @param obj Object to specify a proxy object. But, if `headers` is an object, it is not used.
20+
* @param obj Object to specify a proxy object. Used to assign parsed values. But, if `headers` is an object, it is not used.
21+
* @returns If `headers` is an object, it is `headers`. Otherwise, if `obj` is specified, it is equivalent to `obj`.
2122
*/
2223
export function parseHeaders<
2324
H extends
2425
| Record<string, string | string[]>
25-
| (Buffer | string | (Buffer | string)[])[],
26-
T extends Record<string, unknown>
26+
| (Buffer | string | (Buffer | string)[])[]
2727
>(
2828
headers: H,
29-
obj?: H extends any[] ? T : never
30-
): T extends Record<string, infer V>
31-
? unknown extends V
32-
? Record<string, string | string[]>
33-
: H extends any[]
34-
? Record<string, string | string[] | V>
35-
: Record<string, string | string[]>
36-
: never;
29+
obj?: H extends any[] ? Record<string, string | string[]> : never
30+
): Record<string, string | string[]>;
3731
}

0 commit comments

Comments
 (0)