@macrof/shared
Version:
React MicroFrontend Shared, Typescript, Webpack 5, ModuleFederation
22 lines (21 loc) • 1.22 kB
TypeScript
import { AxiosError, AxiosResponse } from 'axios';
import { Type } from 'io-ts';
export interface IResponseService {
getResponseData<T>(response: AxiosResponse<T> | T, typeName?: Type<any>): T;
getDtoResponse<T>(DTO: T | any): ({ data }: AxiosResponse) => T;
getResponseError<T>(error: Error | AxiosError<T>): Promise<Error>;
getResponseStatus(response: AxiosResponse): AxiosResponse | number;
processStatus(status: number, successMessage: string, failedMessage?: string): boolean | undefined;
decodeResponseData<T, U = T>(type: Type<U, T>): ({ data }: AxiosResponse<T>) => U;
}
export declare class Response implements IResponseService {
private logger;
getResponseData<T>(response: AxiosResponse<T> | T, typeName?: Type<any>): T;
getDtoResponse<T>(DTO: T | any): ({ data }: AxiosResponse) => T;
decodeResponseData<T, U = T>(type?: Type<U, T>): ({ data }: AxiosResponse<T>) => U;
getResponseStatus(response: AxiosResponse): AxiosResponse | number;
getResponseError<T>(error: Error | AxiosError<T>): Promise<Error>;
processStatus(status: number, successMessage: string, failedMessage?: string): boolean | undefined;
private checkType;
private handleTypeError;
}