All files / projects-dev/libs/apis/src response.ts

100% Statements 17/17
100% Branches 1/1
100% Functions 0/0
100% Lines 17/17

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 181x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x  
export enum ApiResponseStatus {
    FAILURE = "failure",
    SUCCESS = "success",
}
 
export interface ApiResponseInterface<T, V extends ApiResponseStatus> {
    status: V;
    data: T;
}
 
export interface FailureApiResponse<T> extends ApiResponseInterface<T, ApiResponseStatus.FAILURE> {
    error: T;
}
 
export interface SuccessApiResponse<T> extends ApiResponseInterface<T, ApiResponseStatus.SUCCESS> {}
 
export type ApiResponse<Failure, Success> = FailureApiResponse<Failure> | SuccessApiResponse<Success>;