Skip to content

Commit 45b4430

Browse files
authored
Merge branch 'master' into fix/mutation-invalidates-codegen-bugs-3090
2 parents c141e14 + 1db06c2 commit 45b4430

1 file changed

Lines changed: 17 additions & 4 deletions

File tree

packages/fetch/src/index.ts

Lines changed: 17 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -388,6 +388,11 @@ ${override.fetch.forceSuccessResponse && hasSuccess ? '' : `export type ${respon
388388
const reviver = fetchReviver ? `, ${fetchReviver.name}` : '';
389389
const schemaValueRef =
390390
responseType === 'Error' ? 'ErrorSchema' : responseType;
391+
const fetchResponseType =
392+
override.fetch.forceSuccessResponse && hasSuccess
393+
? successName
394+
: responseTypeName;
395+
391396
const throwOnErrorImplementation = `if (!${isNdJson ? 'stream' : 'res'}.ok) {
392397
${isNdJson ? 'const body = [204, 205, 304].includes(stream.status) ? null : await stream.text();' : ''}
393398
const err: globalThis.Error & {info?: ${hasError ? `${errorName}${override.fetch.includeHttpResponseReturnType ? "['data']" : ''}` : 'any'}, status?: number} = new globalThis.Error();
@@ -399,7 +404,11 @@ ${override.fetch.forceSuccessResponse && hasSuccess ? '' : `export type ${respon
399404
const fetchResponseImplementation = isNdJson
400405
? ` const stream = await fetch(${fetchFnOptions});
401406
${override.fetch.forceSuccessResponse ? throwOnErrorImplementation : ''}
402-
${override.fetch.includeHttpResponseReturnType ? `return { status: stream.status, stream, headers: stream.headers } as ${override.fetch.forceSuccessResponse && hasSuccess ? successName : responseTypeName}` : `return stream`}
407+
${
408+
override.fetch.includeHttpResponseReturnType
409+
? `return { status: stream.status, stream, headers: stream.headers } as ${fetchResponseType}`
410+
: `return stream`
411+
}
403412
`
404413
: `const res = await fetch(${fetchFnOptions})
405414
@@ -409,11 +418,15 @@ ${override.fetch.forceSuccessResponse && hasSuccess ? '' : `export type ${respon
409418
isValidateResponse
410419
? `const parsedBody = body ? JSON.parse(body${reviver}) : {}
411420
const data = ${schemaValueRef}.parse(parsedBody)`
412-
: `const data: ${override.fetch.forceSuccessResponse && hasSuccess ? successName : responseTypeName}${override.fetch.includeHttpResponseReturnType ? `['data']` : ''} = body ? JSON.parse(body${reviver}) : {}`
421+
: `const data: ${fetchResponseType}${override.fetch.includeHttpResponseReturnType ? `['data']` : ''} = body ? JSON.parse(body${reviver}) : {}`
422+
}
423+
${
424+
override.fetch.includeHttpResponseReturnType
425+
? `return { data, status: res.status, headers: res.headers } as ${fetchResponseType}`
426+
: 'return data'
413427
}
414-
${override.fetch.includeHttpResponseReturnType ? `return { data, status: res.status, headers: res.headers } as ${override.fetch.forceSuccessResponse && hasSuccess ? successName : responseTypeName}` : 'return data'}
415428
`;
416-
let customFetchResponseImplementation = `return ${mutator?.name}<${override.fetch.forceSuccessResponse && hasSuccess ? successName : responseTypeName}>(${fetchFnOptions});`;
429+
let customFetchResponseImplementation = `return ${mutator?.name}<${fetchResponseType}>(${fetchFnOptions});`;
417430

418431
const bodyForm = generateFormDataAndUrlEncodedFunction({
419432
formData,

0 commit comments

Comments
 (0)