diff --git a/packages/swr-openapi/src/query-base.ts b/packages/swr-openapi/src/query-base.ts index 234101842..edd180812 100644 --- a/packages/swr-openapi/src/query-base.ts +++ b/packages/swr-openapi/src/query-base.ts @@ -4,6 +4,8 @@ import type { Fetcher, SWRHook } from "swr"; import type { TypesForGetRequest } from "./types.js"; import { useCallback, useDebugValue, useMemo } from "react"; +export const RESPONSE = Symbol.for("response"); + /** * @private */ @@ -35,8 +37,18 @@ export function configureBaseQueryHook(useHook: SWRHook) { // @ts-expect-error TODO: Improve internal init types const res = await client.GET(path, init); if (res.error) { + Object.defineProperty(res.error, RESPONSE, { + value: res.response, + enumerable: false, + }); throw res.error; } + if (res.data && typeof res.data === "object") { + Object.defineProperty(res.data, RESPONSE, { + value: res.response, + enumerable: false, + }); + } return res.data as Data; }, [client],