14 lines
406 B
TypeScript
14 lines
406 B
TypeScript
type ApiResponse = {
|
|
status: number;
|
|
data: unknown;
|
|
};
|
|
|
|
export function dataForStatus<TResponse extends ApiResponse, TStatus extends TResponse['status']>(
|
|
response: TResponse | undefined,
|
|
status: TStatus
|
|
): Extract<TResponse, { status: TStatus }>['data'] | undefined {
|
|
return response?.status === status
|
|
? (response.data as Extract<TResponse, { status: TStatus }>['data'])
|
|
: undefined;
|
|
}
|