Skip to content

Commit 04cb773

Browse files
authored
fix(types): Fix clone method type declaration to be an instance method rather than instance property (#4925)
1 parent 5145a7c commit 04cb773

2 files changed

Lines changed: 14 additions & 2 deletions

File tree

test/types/fetch.test-d.ts

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -188,3 +188,15 @@ expectNotAssignable<RequestInit>({ duplex: 'not valid' })
188188
expectType<string[]>(headers.getSetCookie())
189189

190190
expectType<Request>(new Request('https://example.com', request))
191+
192+
expectAssignable<Response>(new (class extends Response {
193+
override clone () {
194+
return this
195+
}
196+
})())
197+
198+
expectAssignable<Request>(new (class extends Request {
199+
override clone () {
200+
return this
201+
}
202+
})('https://example.com'))

types/fetch.d.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -193,7 +193,7 @@ export declare class Request extends BodyMixin {
193193
readonly signal: AbortSignal
194194
readonly duplex: RequestDuplex
195195

196-
readonly clone: () => Request
196+
public clone (): Request
197197
}
198198

199199
export interface ResponseInit {
@@ -223,7 +223,7 @@ export declare class Response extends BodyMixin {
223223
readonly url: string
224224
readonly redirected: boolean
225225

226-
readonly clone: () => Response
226+
public clone (): Response
227227

228228
static error (): Response
229229
static json (data: any, init?: ResponseInit): Response

0 commit comments

Comments
 (0)