All files / src/utils ResolveAxiosObservable.ts

0% Statements 0/4
100% Branches 0/0
0% Functions 0/2
0% Lines 0/4

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                                 
import { AxiosResolveError } from "@/common/errors/Axios.error";
import { Logger } from "@nestjs/common";
import { AxiosError } from "axios";
import { Observable, catchError, firstValueFrom } from "rxjs";
 
export async function resolveAxiosObservable<T>(source: Observable<T>): Promise<T> {
	const logger = new Logger("ResolveAxiosObservable");
	return (await firstValueFrom(
		source.pipe(
			catchError((error: AxiosError) => {
				logger.error(error.response.data);
				throw new AxiosResolveError("An error happened!");
			}),
		),
	)) as T;
}