UNPKG

denwa-react-shared

Version:
28 lines (27 loc) 1.2 kB
import { AxiosRequestConfig } from 'axios'; import { MethodType } from '../const/methods.js'; import { RoutePath, RouteQuery, RoutesForMethod, SchemaType } from './schemeTypes.js'; import { QuerySerializationParams } from './serializer.js'; import { MakeNeverEmpty } from './utils.js'; /** * @description Type for valid status codes used in OpenAPI requests */ export type ValidStatusType = 'all' | 'axios' | 'fetch'; /** * @description Interface for options passed to OpenAPI requests using Axios */ export interface IOpenApiAxiosOptions<Status extends ValidStatusType> { validStatus: Status; querySerializationParams?: QuerySerializationParams; } /** * @description Defines options that include path and query parameters, Axios configuration, and valid status codes */ export type OptionsType<Schema extends SchemaType, Method extends MethodType, Route extends RoutesForMethod<Schema, Method>, Status extends ValidStatusType | undefined = undefined> = MakeNeverEmpty<{ params: RoutePath<Schema, Method, Route>; query: RouteQuery<Schema, Method, Route>; }> & { axios?: AxiosRequestConfig; validStatus?: Status; querySerializationParams?: QuerySerializationParams; };