import initializeAxios from "./axiosSetup"; import { axiosRequestConfiguration } from "./config"; import { map } from "rxjs/operators"; // import { Observable } from "@reactivex/rxjs/compat"; import { defer, Observable } from "rxjs"; import { AxiosResponse } from "axios"; // https://ichi.pro/de/so-wickeln-sie-axios-mit-typescript-und-react-in-rxjs-ein-118892823169891 const axiosInstance = initializeAxios(axiosRequestConfiguration); const get = (url: string, queryParams?: any): Observable => { return defer(() => axiosInstance.get(url, { params: queryParams })).pipe(map((result: AxiosResponse) => result.data)); }; // const post = ( // url: string, // body: object, // queryParams?: object // ): Observable => { // return defer(() => // axiosInstance.post(url, body, { params: queryParams }) // ).pipe(map((result) => result.data)); // }; // const put = ( // url: string, // body: object, // queryParams?: object // ): Observable => { // return defer(() => // axiosInstance.put(url, body, { params: queryParams }) // ).pipe(map((result) => result.data)); // }; // const patch = ( // url: string, // body: object, // queryParams?: object // ): Observable => { // return defer(() => // axiosInstance.patch(url, body, { params: queryParams }) // ).pipe(map((result) => result.data)); // }; // const deleteR = (url: string, id: number): Observable => { // return defer(() => axiosInstance.delete(`${url}/${id}`)).pipe( // map((result) => result.data) // ); // }; export default { get };