diff --git a/src/hooks.ts b/src/hooks.ts index 58a4a7b..bf05ac5 100644 --- a/src/hooks.ts +++ b/src/hooks.ts @@ -66,11 +66,14 @@ export class AdapterHookable { }; } } catch (error) { - const errResponse = (error as { response: Response }).response || error; - if (errResponse instanceof Response) { + if ( + error instanceof Response || + (error && typeof error === "object" && "response" in error && typeof error.response === "function") + ) { + const response = error instanceof Response ? error : (error as { response: () => Response }).response(); return { context, - endResponse: errResponse, + endResponse: response, }; } throw error; diff --git a/tsconfig.json b/tsconfig.json index c78b29f..f092f17 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,14 +1,20 @@ { "compilerOptions": { - "target": "ESNext", - "module": "ESNext", - "moduleResolution": "Node", - "esModuleInterop": true, + "allowJs": true, + "checkJs": true, "skipLibCheck": true, + "target": "esnext", + "module": "esnext", + "moduleResolution": "node", + "esModuleInterop": true, "strict": true, "allowImportingTsExtensions": true, + "allowSyntheticDefaultImports": true, "noEmit": true, - "types": ["node", "@cloudflare/workers-types", "deno"] - }, - "include": ["src", "test"] -} + "types": [ + "node", + "@cloudflare/workers-types", + "deno" + ] + } +} \ No newline at end of file