This commit is contained in:
Darius
2025-11-18 20:47:00 +01:00
commit 88ae2ac260
12 changed files with 2076 additions and 0 deletions

31
src/tidal/client.ts Normal file
View File

@@ -0,0 +1,31 @@
import { printNetworkError } from "@dpu/shared/dist/utility";
import type { AxiosInstance } from "axios";
export class TidalClient {
private axiosInstance: AxiosInstance;
constructor(axiosInstance: AxiosInstance) {
this.axiosInstance = axiosInstance;
}
async get<T>(endpoint: string): Promise<T> {
try {
const response = await this.axiosInstance.get<T>(`/${endpoint}`);
return response.data;
} catch (error) {
printNetworkError(error);
throw error;
}
}
async post<T>(endpoint: string, data: unknown): Promise<T> {
try {
const response = await this.axiosInstance.post<T>(`/${endpoint}`, data);
return response.data;
} catch (error) {
printNetworkError(error);
throw error;
}
}
}