diff --git a/test/types/fetch.test-d.ts b/test/types/fetch.test-d.ts index 177158595f7..22d9d14c414 100644 --- a/test/types/fetch.test-d.ts +++ b/test/types/fetch.test-d.ts @@ -1,5 +1,6 @@ import { URL } from 'url' import { Blob } from 'buffer' +import { ReadableStream } from 'stream/web' import { expectType, expectError } from 'tsd' import { BodyInit, @@ -141,6 +142,7 @@ expectType(response.statusText) expectType(response.type) expectType(response.url) expectType(response.redirected) +expectType(response.body) expectType(response.bodyUsed) expectType>(response.arrayBuffer()) expectType>(response.blob()) diff --git a/types/fetch.d.ts b/types/fetch.d.ts index 2057c8c8e7f..4a23eabc503 100644 --- a/types/fetch.d.ts +++ b/types/fetch.d.ts @@ -4,6 +4,7 @@ import { Blob } from 'buffer' import { URL, URLSearchParams } from 'url' +import { ReadableStream } from 'stream/web' import { FormData } from './formdata' export type RequestInfo = string | URL | Request @@ -13,13 +14,6 @@ export declare function fetch ( init?: RequestInit ): Promise -declare class ControlledAsyncIterable implements AsyncIterable { - constructor (input: AsyncIterable | Iterable) - data: AsyncIterable - disturbed: boolean - readonly [Symbol.asyncIterator]: () => AsyncIterator -} - export type BodyInit = | ArrayBuffer | AsyncIterable @@ -32,7 +26,7 @@ export type BodyInit = | string export interface BodyMixin { - readonly body: ControlledAsyncIterable | null + readonly body: ReadableStream | null readonly bodyUsed: boolean readonly arrayBuffer: () => Promise @@ -139,7 +133,7 @@ export declare class Request implements BodyMixin { readonly keepalive: boolean readonly signal: AbortSignal - readonly body: ControlledAsyncIterable | null + readonly body: ReadableStream | null readonly bodyUsed: boolean readonly arrayBuffer: () => Promise @@ -178,7 +172,7 @@ export declare class Response implements BodyMixin { readonly url: string readonly redirected: boolean - readonly body: ControlledAsyncIterable | null + readonly body: ReadableStream | null readonly bodyUsed: boolean readonly arrayBuffer: () => Promise