diff --git a/src/index.ts b/src/index.ts index 1b081f7..db3983f 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,10 +1,7 @@ -import defaultAxios, { AxiosResponse } from "axios"; -import { Observable } from "rxjs"; +import defaultAxios from "axios"; import { RxjsAxios } from "./lib/RxjsAxios"; -export type AxiosObservable = Observable>; - /** * Re-export everything from axios, except anything to do with promises or * types enhencements @@ -28,7 +25,6 @@ export { type AxiosProxyConfig, type AxiosRequestConfig, type AxiosRequestHeaders, - type AxiosResponse, type AxiosResponseHeaders, type CreateAxiosDefaults, type CustomParamsSerializer, @@ -56,8 +52,10 @@ export { */ export { RxjsAxios as Axios, - AxiosRequestTransformer, - AxiosResponseTransformer, + type AxiosObservable, + type AxiosRequestTransformer, + type AxiosResponse, + type AxiosResponseTransformer, } from "./lib/RxjsAxios"; export const axios = RxjsAxios.of(defaultAxios); diff --git a/src/lib/RxjsAxios.ts b/src/lib/RxjsAxios.ts index 1205e71..d69f27b 100644 --- a/src/lib/RxjsAxios.ts +++ b/src/lib/RxjsAxios.ts @@ -4,7 +4,7 @@ import axios, { AxiosInterceptorManager, AxiosRequestConfig, AxiosRequestHeaders, - AxiosResponse, + AxiosResponse as OriginalAxiosResponse, AxiosResponseHeaders, Cancel, CreateAxiosDefaults, @@ -16,6 +16,10 @@ import { Observable } from "rxjs"; import { observify } from "./observify"; +export type AxiosResponse = OriginalAxiosResponse; + +export type AxiosObservable = Observable>; + export type AxiosRequestTransformer = ( this: AxiosRequestConfig, data: T, diff --git a/src/lib/observify.ts b/src/lib/observify.ts index 104b7ce..99204b0 100644 --- a/src/lib/observify.ts +++ b/src/lib/observify.ts @@ -1,6 +1,7 @@ -import { AxiosResponse } from "axios"; import { Observable } from "rxjs"; +import type { AxiosResponse } from "./RxjsAxios"; + export function observify>( makeRequest: () => Promise, controller: AbortController, diff --git a/test/lib/observify.test.ts b/test/lib/observify.test.ts index 3d3a7ba..f8b3e17 100644 --- a/test/lib/observify.test.ts +++ b/test/lib/observify.test.ts @@ -1,7 +1,8 @@ import { expect } from "@assertive-ts/core"; -import { AxiosError, AxiosHeaders, AxiosResponse } from "axios"; +import { AxiosError, AxiosHeaders } from "axios"; import Sinon from "sinon"; +import { AxiosResponse } from "../../src/lib/RxjsAxios"; import { observify } from "../../src/lib/observify"; import { delay } from "../helpers/async.helpers"; @@ -23,7 +24,7 @@ describe("[Unit] observify.test.ts", () => { context("and the observable is not unsubscribed", () => { it("sets the axios response on the next value and completes the observable", done => { const observable = observify( - () => Promise.resolve(RESPONSE), + () => Promise.resolve>(RESPONSE), controller, );