@redux-devtools/rtk-query-monitor
Version:
rtk-query monitor for Redux DevTools
50 lines • 1.38 kB
JavaScript
import { createSlice } from '@reduxjs/toolkit';
import { QueryPreviewTabs } from './types';
import { QueryComparators } from './utils/comparators';
import { QueryFilters } from './utils/filters';
const initialState = {
queryForm: {
values: {
queryComparator: QueryComparators.fulfilledTimeStamp,
isAscendingQueryComparatorOrder: false,
searchValue: '',
isRegexSearch: false,
queryFilter: QueryFilters.queryKey
}
},
selectedPreviewTab: QueryPreviewTabs.queryinfo,
selectedQueryKey: null
};
const monitorSlice = createSlice({
/**
* `@@` prefix is mandatory.
* @see lifedAction @ `packages/redux-devtools-app/src/actions/index.ts`
*/
name: '@@rtk-query-monitor',
initialState,
reducers: {
changeQueryFormValues(state, action) {
state.queryForm.values = {
...state.queryForm.values,
...action.payload
};
},
selectQueryKey(state, action) {
state.selectedQueryKey = {
queryKey: action.payload.queryKey,
reducerPath: action.payload.reducerPath
};
},
selectedPreviewTab(state, action) {
state.selectedPreviewTab = action.payload;
}
}
});
export function reducer(props, state, action) {
return monitorSlice.reducer(state, action);
}
export const {
selectQueryKey,
changeQueryFormValues,
selectedPreviewTab
} = monitorSlice.actions;