From 5690e9d29f9978a8b21e9733f3d14edb1ae87042 Mon Sep 17 00:00:00 2001 From: Ben Durrant Date: Wed, 6 Dec 2023 13:22:41 +0000 Subject: [PATCH] Make retryCondition receive unknown error, as the user may not be using fetchBaseQuery --- packages/toolkit/src/query/retry.ts | 3 ++- packages/toolkit/src/query/tests/retry.test.ts | 7 +++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/toolkit/src/query/retry.ts b/packages/toolkit/src/query/retry.ts index 7bd960c69..3adfcc68e 100644 --- a/packages/toolkit/src/query/retry.ts +++ b/packages/toolkit/src/query/retry.ts @@ -2,6 +2,7 @@ import type { BaseQueryApi, BaseQueryArg, BaseQueryEnhancer, + BaseQueryError, BaseQueryExtraOptions, BaseQueryFn, } from './baseQueryTypes' @@ -31,7 +32,7 @@ async function defaultBackoff(attempt: number = 0, maxRetries: number = 5) { } type RetryConditionFunction = ( - error: FetchBaseQueryError, + error: BaseQueryError, args: BaseQueryArg, extraArgs: { attempt: number diff --git a/packages/toolkit/src/query/tests/retry.test.ts b/packages/toolkit/src/query/tests/retry.test.ts index 2bb35e89a..5f7087bd6 100644 --- a/packages/toolkit/src/query/tests/retry.test.ts +++ b/packages/toolkit/src/query/tests/retry.test.ts @@ -1,5 +1,5 @@ import { vi } from 'vitest' -import type { BaseQueryFn } from '@reduxjs/toolkit/query' +import type { BaseQueryFn, FetchBaseQueryError } from '@reduxjs/toolkit/query' import { createApi, retry } from '@reduxjs/toolkit/query' import { setupApiStore, waitMs } from './helpers' import type { RetryOptions } from '../retry' @@ -17,8 +17,6 @@ const loopTimers = async (max: number = 12) => { } } -vi.fn() - describe('configuration', () => { test('retrying without any config options', async () => { const baseBaseQuery = vi.fn< @@ -426,7 +424,8 @@ describe('configuration', () => { m1: build.mutation({ query: () => ({ method: 'PUT' }), extraOptions: { - retryCondition: (e) => e.data === 'hello retryCondition', + retryCondition: (e) => + (e as FetchBaseQueryError).data === 'hello retryCondition', }, }), }),