@reduxjs/toolkit
Version:
The official, opinionated, batteries-included toolset for efficient Redux development
32 lines (28 loc) • 936 B
text/typescript
import type { FetchBaseQueryMeta } from '@reduxjs/toolkit/query'
import { createApi, fetchBaseQuery } from '@reduxjs/toolkit/query'
const api = createApi({
baseQuery: fetchBaseQuery({ baseUrl: 'https://example.com' }),
endpoints: () => ({}),
})
describe('type tests', () => {
test(`mutation: await cacheDataLoaded, await cacheEntryRemoved (success)`, () => {
const extended = api.injectEndpoints({
overrideExisting: true,
endpoints: (build) => ({
injected: build.mutation<number, string>({
query: () => '/success',
async onCacheEntryAdded(
arg,
{ dispatch, getState, cacheEntryRemoved, cacheDataLoaded },
) {
const firstValue = await cacheDataLoaded
expectTypeOf(firstValue).toMatchTypeOf<{
data: number
meta?: FetchBaseQueryMeta
}>()
},
}),
}),
})
})
})