@appello/services
Version:
Services package with api / graphql
23 lines (22 loc) • 887 B
TypeScript
import { AnyObject, ResponseErrors } from '@appello/common';
import { BaseQueryFn } from '@reduxjs/toolkit/query';
import { AxiosError, AxiosRequestConfig, AxiosResponse } from 'axios';
import { ApiServiceReturn, handleApiRequestError } from '../api';
export interface AxiosBaseQueryParams {
api: ApiServiceReturn;
transformResponse?: (data: AxiosResponse['data']) => AnyObject;
handleRequestError?: typeof handleApiRequestError;
}
export interface AxiosBaseQueryError {
data: ResponseErrors | AxiosError['response'];
status?: number;
extraOptions?: AnyObject;
}
export type AxiosBaseQueryReturn = BaseQueryFn<{
url: string;
method?: AxiosRequestConfig['method'];
data?: AxiosRequestConfig['data'];
params?: AxiosRequestConfig['params'];
headers?: AxiosRequestConfig['headers'];
extraOptions?: AnyObject;
}, unknown, AxiosBaseQueryError>;