From 55418b31da2acda0db39d69cd32260d640ba3574 Mon Sep 17 00:00:00 2001 From: Ben Durrant Date: Fri, 2 Jun 2023 01:28:17 +0100 Subject: [PATCH] unwrap promise type to ensure it's not carried forward --- packages/toolkit/src/query/endpointDefinitions.ts | 5 ++++- packages/toolkit/src/query/tests/createApi.test.ts | 7 ++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/packages/toolkit/src/query/endpointDefinitions.ts b/packages/toolkit/src/query/endpointDefinitions.ts index ae88e9573f..553a887282 100644 --- a/packages/toolkit/src/query/endpointDefinitions.ts +++ b/packages/toolkit/src/query/endpointDefinitions.ts @@ -17,6 +17,7 @@ import type { OmitFromUnion, CastAny, NonUndefined, + UnwrapPromise, } from './tsHelpers' import type { NEVER } from './fakeBaseQuery' import type { Api } from '@reduxjs/toolkit/query' @@ -797,7 +798,9 @@ export type TransformedResponse< > = K extends keyof NewDefinitions ? NewDefinitions[K]['transformResponse'] extends undefined ? ResultType - : ReturnType> + : UnwrapPromise< + ReturnType> + > : ResultType export type OverrideResultType = diff --git a/packages/toolkit/src/query/tests/createApi.test.ts b/packages/toolkit/src/query/tests/createApi.test.ts index 9ff827109a..198b96fff1 100644 --- a/packages/toolkit/src/query/tests/createApi.test.ts +++ b/packages/toolkit/src/query/tests/createApi.test.ts @@ -581,16 +581,13 @@ describe('endpoint definition typings', () => { enhancedApi.endpoints.query1.initiate() ) expect(queryResponse.data).toEqual({ value: 'transformed' }) - expectType | undefined>( - queryResponse.data - ) + expectType(queryResponse.data) const mutationResponse = await storeRef.store.dispatch( enhancedApi.endpoints.mutation1.initiate() ) expectType< - | { data: Transformed | Promise } - | { error: FetchBaseQueryError | SerializedError } + { data: Transformed } | { error: FetchBaseQueryError | SerializedError } >(mutationResponse) expect('data' in mutationResponse && mutationResponse.data).toEqual({ value: 'transformed',