From 359b6048a58e2b8612e49bbe1cfc56a658726ef7 Mon Sep 17 00:00:00 2001 From: Taku Amano Date: Thu, 12 Mar 2026 10:13:32 +0900 Subject: [PATCH] fix(request): return error object instead of throwing --- src/request.ts | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/request.ts b/src/request.ts index 0130d81..6010751 100644 --- a/src/request.ts +++ b/src/request.ts @@ -131,12 +131,12 @@ const bodyConsumedDirectlyKey = Symbol('bodyConsumedDirectly') const bodyLockReaderKey = Symbol('bodyLockReader') const abortReasonKey = Symbol('abortReason') -const throwBodyUnusable = (): never => { - throw new TypeError('Body is unusable') +const newBodyUnusableError = (): TypeError => { + return new TypeError('Body is unusable') } const rejectBodyUnusable = (): Promise => { - return Promise.reject(throwBodyUnusable()) + return Promise.reject(newBodyUnusableError()) } const textDecoder = new TextDecoder() @@ -145,7 +145,7 @@ const consumeBodyDirectOnce = ( request: Record ): Promise | undefined => { if (request[bodyConsumedDirectlyKey]) { - return Promise.reject(throwBodyUnusable()) + return rejectBodyUnusable() } request[bodyConsumedDirectlyKey] = true return undefined @@ -488,7 +488,7 @@ const requestPrototype: Record = { value: function () { if (this[bodyConsumedDirectlyKey]) { if (k === 'clone') { - throwBodyUnusable() + throw newBodyUnusableError() } return rejectBodyUnusable() }