@xylabs/axios 5.0.28 → 5.0.29

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,17 +1,16 @@
1
1
  import type { Logger } from '@xylabs/logger';
2
- import type { AxiosInstance, AxiosResponse, RawAxiosRequestConfig } from 'axios';
2
+ import type { AxiosRequestConfig, AxiosResponse } from 'axios';
3
3
  import { Axios } from 'axios';
4
- import type { AxiosClassType } from './AxiosClassType.ts';
5
- export type RawAxiosJsonRequestConfig<D = any> = RawAxiosRequestConfig<D> & {
4
+ export type AxiosJsonRequestConfig<D = any> = AxiosRequestConfig<D> & {
6
5
  compressLength?: number;
7
6
  };
8
7
  export type AxiosType = typeof Axios;
9
- export declare class AxiosJson extends Axios implements AxiosClassType {
8
+ export declare class AxiosJson extends Axios {
10
9
  static defaultLogger?: Logger;
11
- constructor(config?: RawAxiosJsonRequestConfig);
10
+ constructor(config?: AxiosJsonRequestConfig);
11
+ static create(config?: AxiosJsonRequestConfig): Axios;
12
12
  static finalPath(response: AxiosResponse): any;
13
13
  private static axiosConfig;
14
14
  private static buildHeaders;
15
15
  }
16
- export declare const createAxiosJson: (config?: RawAxiosJsonRequestConfig) => AxiosInstance;
17
16
  //# sourceMappingURL=AxiosJson.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AxiosJson.d.ts","sourceRoot":"","sources":["../../src/AxiosJson.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAC5C,OAAO,KAAK,EACV,aAAa,EAAE,aAAa,EAAE,qBAAqB,EACpD,MAAM,OAAO,CAAA;AACd,OAAO,EAAE,KAAK,EAAgB,MAAM,OAAO,CAAA;AAG3C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAGzD,MAAM,MAAM,yBAAyB,CAAC,CAAC,GAAG,GAAG,IAAI,qBAAqB,CAAC,CAAC,CAAC,GAAG;IAAE,cAAc,CAAC,EAAE,MAAM,CAAA;CAAE,CAAA;AAEvG,MAAM,MAAM,SAAS,GAAG,OAAO,KAAK,CAAA;AAEpC,qBAAa,SAAU,SAAQ,KAAM,YAAW,cAAc;IAC5D,MAAM,CAAC,aAAa,CAAC,EAAE,MAAM,CAAA;gBAEjB,MAAM,CAAC,EAAE,yBAAyB;IAI9C,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,aAAa;IAYxC,OAAO,CAAC,MAAM,CAAC,WAAW;IAwB1B,OAAO,CAAC,MAAM,CAAC,YAAY;CAO5B;AAED,eAAO,MAAM,eAAe,GAAI,SAAS,yBAAyB,KAA8B,aAAa,CAAA"}
1
+ {"version":3,"file":"AxiosJson.d.ts","sourceRoot":"","sources":["../../src/AxiosJson.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAC5C,OAAO,KAAK,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,OAAO,CAAA;AAC9D,OAAO,EAAE,KAAK,EAAgB,MAAM,OAAO,CAAA;AAI3C,MAAM,MAAM,sBAAsB,CAAC,CAAC,GAAG,GAAG,IAAI,kBAAkB,CAAC,CAAC,CAAC,GAAG;IAAE,cAAc,CAAC,EAAE,MAAM,CAAA;CAAE,CAAA;AAEjG,MAAM,MAAM,SAAS,GAAG,OAAO,KAAK,CAAA;AAEpC,qBAAa,SAAU,SAAQ,KAAK;IAClC,MAAM,CAAC,aAAa,CAAC,EAAE,MAAM,CAAA;gBAEjB,MAAM,CAAC,EAAE,sBAAsB;IAI3C,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,sBAAsB,GAChB,KAAK;IAGlC,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,aAAa;IAYxC,OAAO,CAAC,MAAM,CAAC,WAAW;IAwB1B,OAAO,CAAC,MAAM,CAAC,YAAY;CAO5B"}
@@ -1,11 +1,11 @@
1
1
  import type { Logger } from '@xylabs/logger';
2
- import type { AxiosResponse, RawAxiosRequestConfig } from 'axios';
2
+ import type { AxiosRequestConfig, AxiosResponse } from 'axios';
3
3
  import { Axios } from 'axios';
4
- import type { AxiosClassType } from './AxiosClassType.ts';
5
- export type RawAxiosJsonRequestUncompressedConfig<D = any> = RawAxiosRequestConfig<D>;
6
- export declare class AxiosJsonUncompressed extends Axios implements AxiosClassType {
4
+ export type AxiosJsonRequestUncompressedConfig<D = any> = AxiosRequestConfig<D>;
5
+ export declare class AxiosJsonUncompressed extends Axios {
7
6
  static defaultLogger?: Logger;
8
- constructor(config?: RawAxiosJsonRequestUncompressedConfig);
7
+ constructor(config?: AxiosJsonRequestUncompressedConfig);
8
+ static create(config?: AxiosJsonRequestUncompressedConfig): Axios;
9
9
  static finalPath(response: AxiosResponse): any;
10
10
  private static axiosConfig;
11
11
  private static buildHeaders;
@@ -1 +1 @@
1
- {"version":3,"file":"AxiosJsonUncompressed.d.ts","sourceRoot":"","sources":["../../src/AxiosJsonUncompressed.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAC5C,OAAO,KAAK,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,OAAO,CAAA;AACjE,OAAO,EAAE,KAAK,EAAgB,MAAM,OAAO,CAAA;AAE3C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAGzD,MAAM,MAAM,qCAAqC,CAAC,CAAC,GAAG,GAAG,IAAI,qBAAqB,CAAC,CAAC,CAAC,CAAA;AAErF,qBAAa,qBAAsB,SAAQ,KAAM,YAAW,cAAc;IACxE,MAAM,CAAC,aAAa,CAAC,EAAE,MAAM,CAAA;gBAEjB,MAAM,CAAC,EAAE,qCAAqC;IAI1D,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,aAAa;IAYxC,OAAO,CAAC,MAAM,CAAC,WAAW;IAkB1B,OAAO,CAAC,MAAM,CAAC,YAAY;CAO5B"}
1
+ {"version":3,"file":"AxiosJsonUncompressed.d.ts","sourceRoot":"","sources":["../../src/AxiosJsonUncompressed.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAC5C,OAAO,KAAK,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,OAAO,CAAA;AAC9D,OAAO,EAAE,KAAK,EAAgB,MAAM,OAAO,CAAA;AAG3C,MAAM,MAAM,kCAAkC,CAAC,CAAC,GAAG,GAAG,IAAI,kBAAkB,CAAC,CAAC,CAAC,CAAA;AAE/E,qBAAa,qBAAsB,SAAQ,KAAK;IAC9C,MAAM,CAAC,aAAa,CAAC,EAAE,MAAM,CAAA;gBAEjB,MAAM,CAAC,EAAE,kCAAkC;IAIvD,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,kCAAkC,GAC5B,KAAK;IAGlC,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,aAAa;IAYxC,OAAO,CAAC,MAAM,CAAC,WAAW;IAkB1B,OAAO,CAAC,MAAM,CAAC,YAAY;CAO5B"}
@@ -1,6 +1,5 @@
1
1
  import { AxiosJson } from './AxiosJson.ts';
2
2
  import { AxiosJsonUncompressed } from './AxiosJsonUncompressed.ts';
3
- export * from './AxiosClassType.ts';
4
3
  export * from './AxiosJson.ts';
5
4
  export * from './AxiosJsonUncompressed.ts';
6
5
  export { gzip } from 'pako';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC1C,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAA;AAElE,cAAc,qBAAqB,CAAA;AACnC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,4BAA4B,CAAA;AAC1C,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAE3B,eAAO,MAAM,KAAK,WAAkB,CAAA;AACpC,eAAO,MAAM,iBAAiB,uBAA8B,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC1C,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAA;AAElE,cAAc,gBAAgB,CAAA;AAC9B,cAAc,4BAA4B,CAAA;AAC1C,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAE3B,eAAO,MAAM,KAAK,WAAkB,CAAA;AACpC,eAAO,MAAM,iBAAiB,uBAA8B,CAAA"}
@@ -1,10 +1,13 @@
1
1
  // src/AxiosJson.ts
2
2
  import { Axios, AxiosHeaders } from "axios";
3
3
  import { gzip } from "pako";
4
- var AxiosJson = class _AxiosJson extends Axios {
4
+ var AxiosJson = class extends Axios {
5
5
  static defaultLogger;
6
6
  constructor(config) {
7
- super(_AxiosJson.axiosConfig(config));
7
+ super(config);
8
+ }
9
+ static create(config) {
10
+ return new this(config);
8
11
  }
9
12
  static finalPath(response) {
10
13
  if (response.request.path) {
@@ -48,7 +51,6 @@ var AxiosJson = class _AxiosJson extends Axios {
48
51
  return axiosHeaders;
49
52
  }
50
53
  };
51
- var createAxiosJson = (config) => new AxiosJson(config);
52
54
 
53
55
  // src/AxiosJsonUncompressed.ts
54
56
  import { Axios as Axios2, AxiosHeaders as AxiosHeaders2 } from "axios";
@@ -57,6 +59,9 @@ var AxiosJsonUncompressed = class _AxiosJsonUncompressed extends Axios2 {
57
59
  constructor(config) {
58
60
  super(_AxiosJsonUncompressed.axiosConfig(config));
59
61
  }
62
+ static create(config) {
63
+ return new this(config);
64
+ }
60
65
  static finalPath(response) {
61
66
  if (response.request.path) {
62
67
  return response.request.path.split("/").pop();
@@ -101,7 +106,6 @@ export {
101
106
  AxiosJsonUncompressed,
102
107
  axios,
103
108
  axiosUncompressed,
104
- createAxiosJson,
105
109
  gzip2 as gzip
106
110
  };
107
111
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/AxiosJson.ts","../../src/AxiosJsonUncompressed.ts","../../src/index.ts"],"sourcesContent":["import type { Logger } from '@xylabs/logger'\nimport type {\n AxiosInstance, AxiosResponse, RawAxiosRequestConfig,\n} from 'axios'\nimport { Axios, AxiosHeaders } from 'axios'\nimport { gzip } from 'pako'\n\nimport type { AxiosClassType } from './AxiosClassType.ts'\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport type RawAxiosJsonRequestConfig<D = any> = RawAxiosRequestConfig<D> & { compressLength?: number }\n\nexport type AxiosType = typeof Axios\n\nexport class AxiosJson extends Axios implements AxiosClassType {\n static defaultLogger?: Logger\n\n constructor(config?: RawAxiosJsonRequestConfig) {\n super(AxiosJson.axiosConfig(config))\n }\n\n static finalPath(response: AxiosResponse) {\n if (response.request.path) {\n // nodejs\n return response.request.path.split('/').pop()\n } else if (response.request.responseURL) {\n // browser\n return response.request.responseURL.split('/').pop()\n } else {\n this.defaultLogger?.warn('Failed to get final path from response')\n }\n }\n\n private static axiosConfig({\n compressLength, headers, ...config\n }: RawAxiosJsonRequestConfig = {}): RawAxiosJsonRequestConfig {\n return {\n headers: this.buildHeaders(headers),\n transformRequest: (data, headers) => {\n const json = JSON.stringify(data)\n if (headers !== undefined && data && json.length > (compressLength ?? 1024)) {\n headers.set('Content-Encoding', 'gzip')\n return gzip(json).buffer\n }\n return json\n },\n transformResponse: (data) => {\n try {\n return JSON.parse(data)\n } catch {\n return null\n }\n },\n ...config,\n }\n }\n\n private static buildHeaders(headers: RawAxiosJsonRequestConfig['headers']) {\n const axiosHeaders = new AxiosHeaders()\n axiosHeaders.set('Accept', 'application/json, text/plain, *.*')\n axiosHeaders.set('Content-Type', 'application/json')\n for (const [key, value] of Object.entries(headers ?? {})) axiosHeaders.set(key, value)\n return axiosHeaders\n }\n}\n\nexport const createAxiosJson = (config?: RawAxiosJsonRequestConfig) => new AxiosJson(config) as AxiosInstance\n","import type { Logger } from '@xylabs/logger'\nimport type { AxiosResponse, RawAxiosRequestConfig } from 'axios'\nimport { Axios, AxiosHeaders } from 'axios'\n\nimport type { AxiosClassType } from './AxiosClassType.ts'\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport type RawAxiosJsonRequestUncompressedConfig<D = any> = RawAxiosRequestConfig<D>\n\nexport class AxiosJsonUncompressed extends Axios implements AxiosClassType {\n static defaultLogger?: Logger\n\n constructor(config?: RawAxiosJsonRequestUncompressedConfig) {\n super(AxiosJsonUncompressed.axiosConfig(config))\n }\n\n static finalPath(response: AxiosResponse) {\n if (response.request.path) {\n // nodejs\n return response.request.path.split('/').pop()\n } else if (response.request.responseURL) {\n // browser\n return response.request.responseURL.split('/').pop()\n } else {\n this.defaultLogger?.warn('Failed to get final path from response')\n }\n }\n\n private static axiosConfig({ headers, ...config }: RawAxiosJsonRequestUncompressedConfig = {}): RawAxiosJsonRequestUncompressedConfig {\n return {\n headers: this.buildHeaders(headers),\n transformRequest: (data) => {\n const json = JSON.stringify(data)\n return JSON.stringify(json)\n },\n transformResponse: (data) => {\n try {\n return JSON.parse(data)\n } catch {\n return null\n }\n },\n ...config,\n }\n }\n\n private static buildHeaders(headers: RawAxiosJsonRequestUncompressedConfig['headers']) {\n const axiosHeaders = new AxiosHeaders()\n axiosHeaders.set('Accept', 'application/json, text/plain, *.*')\n axiosHeaders.set('Content-Type', 'application/json')\n for (const [key, value] of Object.entries(headers ?? {})) axiosHeaders.set(key, value)\n return axiosHeaders\n }\n}\n","import { AxiosJson } from './AxiosJson.ts'\nimport { AxiosJsonUncompressed } from './AxiosJsonUncompressed.ts'\n\nexport * from './AxiosClassType.ts'\nexport * from './AxiosJson.ts'\nexport * from './AxiosJsonUncompressed.ts'\nexport { gzip } from 'pako'\n\nexport const axios = new AxiosJson()\nexport const axiosUncompressed = new AxiosJsonUncompressed()\n"],"mappings":"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","names":["headers","Axios","AxiosHeaders","gzip"]}
1
+ {"version":3,"sources":["../../src/AxiosJson.ts","../../src/AxiosJsonUncompressed.ts","../../src/index.ts"],"sourcesContent":["import type { Logger } from '@xylabs/logger'\nimport type { AxiosRequestConfig, AxiosResponse } from 'axios'\nimport { Axios, AxiosHeaders } from 'axios'\nimport { gzip } from 'pako'\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport type AxiosJsonRequestConfig<D = any> = AxiosRequestConfig<D> & { compressLength?: number }\n\nexport type AxiosType = typeof Axios\n\nexport class AxiosJson extends Axios {\n static defaultLogger?: Logger\n\n constructor(config?: AxiosJsonRequestConfig) {\n super(config)\n }\n\n static create(config?: AxiosJsonRequestConfig) {\n return new this(config) as Axios\n }\n\n static finalPath(response: AxiosResponse) {\n if (response.request.path) {\n // nodejs\n return response.request.path.split('/').pop()\n } else if (response.request.responseURL) {\n // browser\n return response.request.responseURL.split('/').pop()\n } else {\n this.defaultLogger?.warn('Failed to get final path from response')\n }\n }\n\n private static axiosConfig({\n compressLength, headers, ...config\n }: AxiosJsonRequestConfig = {}): AxiosJsonRequestConfig {\n return {\n headers: this.buildHeaders(headers),\n transformRequest: (data, headers) => {\n const json = JSON.stringify(data)\n if (headers !== undefined && data && json.length > (compressLength ?? 1024)) {\n headers.set('Content-Encoding', 'gzip')\n return gzip(json).buffer\n }\n return json\n },\n transformResponse: (data) => {\n try {\n return JSON.parse(data)\n } catch {\n return null\n }\n },\n ...config,\n }\n }\n\n private static buildHeaders(headers: AxiosJsonRequestConfig['headers']) {\n const axiosHeaders = new AxiosHeaders()\n axiosHeaders.set('Accept', 'application/json, text/plain, *.*')\n axiosHeaders.set('Content-Type', 'application/json')\n for (const [key, value] of Object.entries(headers ?? {})) axiosHeaders.set(key, value)\n return axiosHeaders\n }\n}\n","import type { Logger } from '@xylabs/logger'\nimport type { AxiosRequestConfig, AxiosResponse } from 'axios'\nimport { Axios, AxiosHeaders } from 'axios'\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport type AxiosJsonRequestUncompressedConfig<D = any> = AxiosRequestConfig<D>\n\nexport class AxiosJsonUncompressed extends Axios {\n static defaultLogger?: Logger\n\n constructor(config?: AxiosJsonRequestUncompressedConfig) {\n super(AxiosJsonUncompressed.axiosConfig(config))\n }\n\n static create(config?: AxiosJsonRequestUncompressedConfig) {\n return new this(config) as Axios\n }\n\n static finalPath(response: AxiosResponse) {\n if (response.request.path) {\n // nodejs\n return response.request.path.split('/').pop()\n } else if (response.request.responseURL) {\n // browser\n return response.request.responseURL.split('/').pop()\n } else {\n this.defaultLogger?.warn('Failed to get final path from response')\n }\n }\n\n private static axiosConfig({ headers, ...config }: AxiosJsonRequestUncompressedConfig = {}): AxiosJsonRequestUncompressedConfig {\n return {\n headers: this.buildHeaders(headers),\n transformRequest: (data) => {\n const json = JSON.stringify(data)\n return JSON.stringify(json)\n },\n transformResponse: (data) => {\n try {\n return JSON.parse(data)\n } catch {\n return null\n }\n },\n ...config,\n }\n }\n\n private static buildHeaders(headers: AxiosJsonRequestUncompressedConfig['headers']) {\n const axiosHeaders = new AxiosHeaders()\n axiosHeaders.set('Accept', 'application/json, text/plain, *.*')\n axiosHeaders.set('Content-Type', 'application/json')\n for (const [key, value] of Object.entries(headers ?? {})) axiosHeaders.set(key, value)\n return axiosHeaders\n }\n}\n","import { AxiosJson } from './AxiosJson.ts'\nimport { AxiosJsonUncompressed } from './AxiosJsonUncompressed.ts'\n\nexport * from './AxiosJson.ts'\nexport * from './AxiosJsonUncompressed.ts'\nexport { gzip } from 'pako'\n\nexport const axios = new AxiosJson()\nexport const axiosUncompressed = new AxiosJsonUncompressed()\n"],"mappings":"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","names":["headers","Axios","AxiosHeaders","gzip"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xylabs/axios",
3
- "version": "5.0.28",
3
+ "version": "5.0.29",
4
4
  "description": "Base functionality used throughout XY Labs TypeScript/JavaScript libraries",
5
5
  "keywords": [
6
6
  "axios",
@@ -42,7 +42,7 @@
42
42
  "src"
43
43
  ],
44
44
  "dependencies": {
45
- "@xylabs/logger": "~5.0.28",
45
+ "@xylabs/logger": "~5.0.29",
46
46
  "pako": "~2.1.0"
47
47
  },
48
48
  "devDependencies": {
package/src/AxiosJson.ts CHANGED
@@ -1,22 +1,22 @@
1
1
  import type { Logger } from '@xylabs/logger'
2
- import type {
3
- AxiosInstance, AxiosResponse, RawAxiosRequestConfig,
4
- } from 'axios'
2
+ import type { AxiosRequestConfig, AxiosResponse } from 'axios'
5
3
  import { Axios, AxiosHeaders } from 'axios'
6
4
  import { gzip } from 'pako'
7
5
 
8
- import type { AxiosClassType } from './AxiosClassType.ts'
9
-
10
6
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
11
- export type RawAxiosJsonRequestConfig<D = any> = RawAxiosRequestConfig<D> & { compressLength?: number }
7
+ export type AxiosJsonRequestConfig<D = any> = AxiosRequestConfig<D> & { compressLength?: number }
12
8
 
13
9
  export type AxiosType = typeof Axios
14
10
 
15
- export class AxiosJson extends Axios implements AxiosClassType {
11
+ export class AxiosJson extends Axios {
16
12
  static defaultLogger?: Logger
17
13
 
18
- constructor(config?: RawAxiosJsonRequestConfig) {
19
- super(AxiosJson.axiosConfig(config))
14
+ constructor(config?: AxiosJsonRequestConfig) {
15
+ super(config)
16
+ }
17
+
18
+ static create(config?: AxiosJsonRequestConfig) {
19
+ return new this(config) as Axios
20
20
  }
21
21
 
22
22
  static finalPath(response: AxiosResponse) {
@@ -33,7 +33,7 @@ export class AxiosJson extends Axios implements AxiosClassType {
33
33
 
34
34
  private static axiosConfig({
35
35
  compressLength, headers, ...config
36
- }: RawAxiosJsonRequestConfig = {}): RawAxiosJsonRequestConfig {
36
+ }: AxiosJsonRequestConfig = {}): AxiosJsonRequestConfig {
37
37
  return {
38
38
  headers: this.buildHeaders(headers),
39
39
  transformRequest: (data, headers) => {
@@ -55,7 +55,7 @@ export class AxiosJson extends Axios implements AxiosClassType {
55
55
  }
56
56
  }
57
57
 
58
- private static buildHeaders(headers: RawAxiosJsonRequestConfig['headers']) {
58
+ private static buildHeaders(headers: AxiosJsonRequestConfig['headers']) {
59
59
  const axiosHeaders = new AxiosHeaders()
60
60
  axiosHeaders.set('Accept', 'application/json, text/plain, *.*')
61
61
  axiosHeaders.set('Content-Type', 'application/json')
@@ -63,5 +63,3 @@ export class AxiosJson extends Axios implements AxiosClassType {
63
63
  return axiosHeaders
64
64
  }
65
65
  }
66
-
67
- export const createAxiosJson = (config?: RawAxiosJsonRequestConfig) => new AxiosJson(config) as AxiosInstance
@@ -1,19 +1,21 @@
1
1
  import type { Logger } from '@xylabs/logger'
2
- import type { AxiosResponse, RawAxiosRequestConfig } from 'axios'
2
+ import type { AxiosRequestConfig, AxiosResponse } from 'axios'
3
3
  import { Axios, AxiosHeaders } from 'axios'
4
4
 
5
- import type { AxiosClassType } from './AxiosClassType.ts'
6
-
7
5
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
8
- export type RawAxiosJsonRequestUncompressedConfig<D = any> = RawAxiosRequestConfig<D>
6
+ export type AxiosJsonRequestUncompressedConfig<D = any> = AxiosRequestConfig<D>
9
7
 
10
- export class AxiosJsonUncompressed extends Axios implements AxiosClassType {
8
+ export class AxiosJsonUncompressed extends Axios {
11
9
  static defaultLogger?: Logger
12
10
 
13
- constructor(config?: RawAxiosJsonRequestUncompressedConfig) {
11
+ constructor(config?: AxiosJsonRequestUncompressedConfig) {
14
12
  super(AxiosJsonUncompressed.axiosConfig(config))
15
13
  }
16
14
 
15
+ static create(config?: AxiosJsonRequestUncompressedConfig) {
16
+ return new this(config) as Axios
17
+ }
18
+
17
19
  static finalPath(response: AxiosResponse) {
18
20
  if (response.request.path) {
19
21
  // nodejs
@@ -26,7 +28,7 @@ export class AxiosJsonUncompressed extends Axios implements AxiosClassType {
26
28
  }
27
29
  }
28
30
 
29
- private static axiosConfig({ headers, ...config }: RawAxiosJsonRequestUncompressedConfig = {}): RawAxiosJsonRequestUncompressedConfig {
31
+ private static axiosConfig({ headers, ...config }: AxiosJsonRequestUncompressedConfig = {}): AxiosJsonRequestUncompressedConfig {
30
32
  return {
31
33
  headers: this.buildHeaders(headers),
32
34
  transformRequest: (data) => {
@@ -44,7 +46,7 @@ export class AxiosJsonUncompressed extends Axios implements AxiosClassType {
44
46
  }
45
47
  }
46
48
 
47
- private static buildHeaders(headers: RawAxiosJsonRequestUncompressedConfig['headers']) {
49
+ private static buildHeaders(headers: AxiosJsonRequestUncompressedConfig['headers']) {
48
50
  const axiosHeaders = new AxiosHeaders()
49
51
  axiosHeaders.set('Accept', 'application/json, text/plain, *.*')
50
52
  axiosHeaders.set('Content-Type', 'application/json')
package/src/index.ts CHANGED
@@ -1,7 +1,6 @@
1
1
  import { AxiosJson } from './AxiosJson.ts'
2
2
  import { AxiosJsonUncompressed } from './AxiosJsonUncompressed.ts'
3
3
 
4
- export * from './AxiosClassType.ts'
5
4
  export * from './AxiosJson.ts'
6
5
  export * from './AxiosJsonUncompressed.ts'
7
6
  export { gzip } from 'pako'
@@ -1,16 +0,0 @@
1
- import type { AxiosRequestConfig, AxiosResponse } from 'axios';
2
- export interface AxiosClassType {
3
- delete<T = any, R = AxiosResponse<T>, D = any>(url: string, config?: AxiosRequestConfig<D>): Promise<R>;
4
- get<T = any, R = AxiosResponse<T>, D = any>(url: string, config?: AxiosRequestConfig<D>): Promise<R>;
5
- getUri(config?: AxiosRequestConfig): string;
6
- head<T = any, R = AxiosResponse<T>, D = any>(url: string, config?: AxiosRequestConfig<D>): Promise<R>;
7
- options<T = any, R = AxiosResponse<T>, D = any>(url: string, config?: AxiosRequestConfig<D>): Promise<R>;
8
- patch<T = any, R = AxiosResponse<T>, D = any>(url: string, data?: D, config?: AxiosRequestConfig<D>): Promise<R>;
9
- patchForm<T = any, R = AxiosResponse<T>, D = any>(url: string, data?: D, config?: AxiosRequestConfig<D>): Promise<R>;
10
- post<T = any, R = AxiosResponse<T>, D = any>(url: string, data?: D, config?: AxiosRequestConfig<D>): Promise<R>;
11
- postForm<T = any, R = AxiosResponse<T>, D = any>(url: string, data?: D, config?: AxiosRequestConfig<D>): Promise<R>;
12
- put<T = any, R = AxiosResponse<T>, D = any>(url: string, data?: D, config?: AxiosRequestConfig<D>): Promise<R>;
13
- putForm<T = any, R = AxiosResponse<T>, D = any>(url: string, data?: D, config?: AxiosRequestConfig<D>): Promise<R>;
14
- request<T = any, R = AxiosResponse<T>, D = any>(config: AxiosRequestConfig<D>): Promise<R>;
15
- }
16
- //# sourceMappingURL=AxiosClassType.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"AxiosClassType.d.ts","sourceRoot":"","sources":["../../src/AxiosClassType.ts"],"names":[],"mappings":"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"}
@@ -1,17 +0,0 @@
1
- /* eslint-disable @typescript-eslint/no-explicit-any */
2
- import type { AxiosRequestConfig, AxiosResponse } from 'axios'
3
-
4
- export interface AxiosClassType {
5
- delete<T = any, R = AxiosResponse<T>, D = any>(url: string, config?: AxiosRequestConfig<D>): Promise<R>
6
- get<T = any, R = AxiosResponse<T>, D = any>(url: string, config?: AxiosRequestConfig<D>): Promise<R>
7
- getUri(config?: AxiosRequestConfig): string
8
- head<T = any, R = AxiosResponse<T>, D = any>(url: string, config?: AxiosRequestConfig<D>): Promise<R>
9
- options<T = any, R = AxiosResponse<T>, D = any>(url: string, config?: AxiosRequestConfig<D>): Promise<R>
10
- patch<T = any, R = AxiosResponse<T>, D = any>(url: string, data?: D, config?: AxiosRequestConfig<D>): Promise<R>
11
- patchForm<T = any, R = AxiosResponse<T>, D = any>(url: string, data?: D, config?: AxiosRequestConfig<D>): Promise<R>
12
- post<T = any, R = AxiosResponse<T>, D = any>(url: string, data?: D, config?: AxiosRequestConfig<D>): Promise<R>
13
- postForm<T = any, R = AxiosResponse<T>, D = any>(url: string, data?: D, config?: AxiosRequestConfig<D>): Promise<R>
14
- put<T = any, R = AxiosResponse<T>, D = any>(url: string, data?: D, config?: AxiosRequestConfig<D>): Promise<R>
15
- putForm<T = any, R = AxiosResponse<T>, D = any>(url: string, data?: D, config?: AxiosRequestConfig<D>): Promise<R>
16
- request<T = any, R = AxiosResponse<T>, D = any>(config: AxiosRequestConfig<D>): Promise<R>
17
- }