From c6e57e47fe3e7c4530452aaf9d8ac0c589bc41f6 Mon Sep 17 00:00:00 2001 From: David Fant Date: Thu, 16 Nov 2023 00:11:04 +0000 Subject: [PATCH] tsc --- .../react-urql/src/hooks/useQuery.spec.ts | 4 +- packages/react-urql/src/hooks/useQuery.ts | 46 +++++++++++-------- 2 files changed, 29 insertions(+), 21 deletions(-) diff --git a/packages/react-urql/src/hooks/useQuery.spec.ts b/packages/react-urql/src/hooks/useQuery.spec.ts index 70d1d2172f..e9d4edd5be 100644 --- a/packages/react-urql/src/hooks/useQuery.spec.ts +++ b/packages/react-urql/src/hooks/useQuery.spec.ts @@ -267,7 +267,9 @@ describe('useQuery', () => { expect(client.executeQuery).toBeCalledTimes(1); const [, executeQuery] = result.current; - act(() => executeQuery()); + act(() => { + executeQuery(); + }); await waitForNextUpdate(); expect(client.executeQuery).toBeCalledTimes(2); }); diff --git a/packages/react-urql/src/hooks/useQuery.ts b/packages/react-urql/src/hooks/useQuery.ts index aa9fb8d6c3..866d2a89e9 100644 --- a/packages/react-urql/src/hooks/useQuery.ts +++ b/packages/react-urql/src/hooks/useQuery.ts @@ -158,7 +158,9 @@ export interface UseQueryState< * }; * ``` */ -export type UseQueryExecute = (opts?: Partial) => Promise; +export type UseQueryExecute = ( + opts?: Partial +) => Promise; /** Result tuple returned by the {@link useQuery} hook. * @@ -355,26 +357,30 @@ export function useQuery< }, [cache, state[0], state[2][1]]); const executeQuery = React.useCallback( - (opts?: Partial) => new Promise((resolve) => { - const context = { - requestPolicy: args.requestPolicy, - ...args.context, - ...opts, - }; + (opts?: Partial) => + new Promise(resolve => { + const context = { + requestPolicy: args.requestPolicy, + ...args.context, + ...opts, + }; - deferDispatch(setState, state => { - const source = suspense - ? pipe( - client.executeQuery(request, context), - onPush(result => { - cache.set(request.key, result); - }) - ) - : client.executeQuery(request, context); - source.then(resolve); - return [source, state[1], deps]; - }); - }), + deferDispatch(setState, state => { + const source = suspense + ? pipe( + client.executeQuery(request, context), + onPush(result => { + cache.set(request.key, result); + resolve(); + }) + ) + : pipe(client.executeQuery(request, context), result => { + resolve(); + return result; + }); + return [source, state[1], deps]; + }); + }), [ client, cache,