Allow URL class object as an argument for fetch() (#1696)

* allow to fetch URL

* address comments
This commit is contained in:
Maxim Mazurok 2023-01-10 04:00:27 +11:00 committed by GitHub
parent 55a4870ae5
commit e093030b4a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 4 additions and 2 deletions

4
@types/index.d.ts vendored
View File

@ -147,7 +147,7 @@ export type RequestRedirect = 'error' | 'follow' | 'manual';
export type ReferrerPolicy = '' | 'no-referrer' | 'no-referrer-when-downgrade' | 'same-origin' | 'origin' | 'strict-origin' | 'origin-when-cross-origin' | 'strict-origin-when-cross-origin' | 'unsafe-url';
export type RequestInfo = string | Request;
export class Request extends BodyMixin {
constructor(input: RequestInfo, init?: RequestInit);
constructor(input: RequestInfo | URL, init?: RequestInit);
/**
* Returns a Headers object consisting of the headers associated with request. Note that headers added in the network layer by the user agent will not be accounted for in this object, e.g., the "Host" header.
@ -216,4 +216,4 @@ export class AbortError extends Error {
}
export function isRedirect(code: number): boolean;
export default function fetch(url: RequestInfo, init?: RequestInit): Promise<Response>;
export default function fetch(url: RequestInfo | URL, init?: RequestInit): Promise<Response>;

View File

@ -7,6 +7,7 @@ import * as _fetch from '.';
async function run() {
const getResponse = await fetch('https://bigfile.com/test.zip');
await fetch(new URL('https://bigfile.com/test.zip'));
expectType<boolean>(getResponse.ok);
expectType<number>(getResponse.size);
expectType<number>(getResponse.status);
@ -36,6 +37,7 @@ async function run() {
// Post
try {
const request = new Request('http://byjka.com/buka');
new Request(new URL('http://byjka.com/buka'));
expectType<string>(request.url);
expectType<Headers>(request.headers);