@xylabs/axios 5.0.79 → 5.0.81
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.
- package/README.md +35 -99
- package/dist/neutral/index.mjs.map +1 -1
- package/package.json +7 -9
- package/src/AxiosJson.ts +0 -26
- package/src/axiosJsonConfig.ts +0 -38
- package/src/index.ts +0 -13
package/README.md
CHANGED
|
@@ -23,18 +23,16 @@ Base functionality used throughout XY Labs TypeScript/JavaScript libraries
|
|
|
23
23
|
|
|
24
24
|
## Classes
|
|
25
25
|
|
|
26
|
-
- [AxiosJson](#classes/AxiosJson)
|
|
27
|
-
- [AxiosJsonUncompressed](#classes/AxiosJsonUncompressed)
|
|
26
|
+
- [~~AxiosJson~~](#classes/AxiosJson)
|
|
28
27
|
|
|
29
|
-
##
|
|
28
|
+
## Variables
|
|
30
29
|
|
|
31
|
-
- [
|
|
32
|
-
- [
|
|
30
|
+
- [axiosJson](#variables/axiosJson)
|
|
31
|
+
- [~~axios~~](#variables/axios)
|
|
33
32
|
|
|
34
|
-
##
|
|
33
|
+
## Functions
|
|
35
34
|
|
|
36
|
-
- [
|
|
37
|
-
- [axiosUncompressed](#variables/axiosUncompressed)
|
|
35
|
+
- [axiosJsonConfig](#functions/axiosJsonConfig)
|
|
38
36
|
|
|
39
37
|
### classes
|
|
40
38
|
|
|
@@ -44,6 +42,10 @@ Base functionality used throughout XY Labs TypeScript/JavaScript libraries
|
|
|
44
42
|
|
|
45
43
|
***
|
|
46
44
|
|
|
45
|
+
## Deprecated
|
|
46
|
+
|
|
47
|
+
use axiosJsonConfig instead
|
|
48
|
+
|
|
47
49
|
## Extends
|
|
48
50
|
|
|
49
51
|
- `Axios`
|
|
@@ -60,7 +62,7 @@ new AxiosJson(config?): AxiosJson;
|
|
|
60
62
|
|
|
61
63
|
#### config?
|
|
62
64
|
|
|
63
|
-
|
|
65
|
+
`RawAxiosJsonRequestConfig`
|
|
64
66
|
|
|
65
67
|
### Returns
|
|
66
68
|
|
|
@@ -72,133 +74,63 @@ new AxiosJson(config?): AxiosJson;
|
|
|
72
74
|
Axios.constructor
|
|
73
75
|
```
|
|
74
76
|
|
|
75
|
-
## Properties
|
|
76
|
-
|
|
77
|
-
### defaultLogger?
|
|
78
|
-
|
|
79
|
-
```ts
|
|
80
|
-
static optional defaultLogger: Logger;
|
|
81
|
-
```
|
|
82
|
-
|
|
83
77
|
## Methods
|
|
84
78
|
|
|
85
|
-
###
|
|
79
|
+
### ~~axiosConfig()~~
|
|
86
80
|
|
|
87
81
|
```ts
|
|
88
|
-
static
|
|
82
|
+
static axiosConfig(config?): RawAxiosJsonRequestConfig;
|
|
89
83
|
```
|
|
90
84
|
|
|
91
85
|
### Parameters
|
|
92
86
|
|
|
93
|
-
####
|
|
87
|
+
#### config?
|
|
94
88
|
|
|
95
|
-
`
|
|
89
|
+
`RawAxiosJsonRequestConfig` = `{}`
|
|
96
90
|
|
|
97
91
|
### Returns
|
|
98
92
|
|
|
99
|
-
`
|
|
100
|
-
|
|
101
|
-
### <a id="AxiosJsonUncompressed"></a>AxiosJsonUncompressed
|
|
102
|
-
|
|
103
|
-
[**@xylabs/axios**](#../README)
|
|
93
|
+
`RawAxiosJsonRequestConfig`
|
|
104
94
|
|
|
105
95
|
***
|
|
106
96
|
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
- `Axios`
|
|
110
|
-
|
|
111
|
-
## Constructors
|
|
112
|
-
|
|
113
|
-
### Constructor
|
|
97
|
+
### ~~create()~~
|
|
114
98
|
|
|
115
99
|
```ts
|
|
116
|
-
|
|
100
|
+
static create(config?): Axios;
|
|
117
101
|
```
|
|
118
102
|
|
|
119
103
|
### Parameters
|
|
120
104
|
|
|
121
105
|
#### config?
|
|
122
106
|
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
### Returns
|
|
126
|
-
|
|
127
|
-
`AxiosJsonUncompressed`
|
|
128
|
-
|
|
129
|
-
### Overrides
|
|
130
|
-
|
|
131
|
-
```ts
|
|
132
|
-
Axios.constructor
|
|
133
|
-
```
|
|
134
|
-
|
|
135
|
-
## Properties
|
|
136
|
-
|
|
137
|
-
### defaultLogger?
|
|
138
|
-
|
|
139
|
-
```ts
|
|
140
|
-
static optional defaultLogger: Logger;
|
|
141
|
-
```
|
|
142
|
-
|
|
143
|
-
## Methods
|
|
144
|
-
|
|
145
|
-
### finalPath()
|
|
146
|
-
|
|
147
|
-
```ts
|
|
148
|
-
static finalPath(response): any;
|
|
149
|
-
```
|
|
150
|
-
|
|
151
|
-
### Parameters
|
|
152
|
-
|
|
153
|
-
#### response
|
|
154
|
-
|
|
155
|
-
`AxiosResponse`
|
|
107
|
+
`RawAxiosJsonRequestConfig`
|
|
156
108
|
|
|
157
109
|
### Returns
|
|
158
110
|
|
|
159
|
-
`
|
|
111
|
+
`Axios`
|
|
160
112
|
|
|
161
|
-
###
|
|
113
|
+
### functions
|
|
162
114
|
|
|
163
|
-
### <a id="
|
|
115
|
+
### <a id="axiosJsonConfig"></a>axiosJsonConfig
|
|
164
116
|
|
|
165
117
|
[**@xylabs/axios**](#../README)
|
|
166
118
|
|
|
167
119
|
***
|
|
168
120
|
|
|
169
121
|
```ts
|
|
170
|
-
|
|
171
|
-
```
|
|
172
|
-
|
|
173
|
-
## Type declaration
|
|
174
|
-
|
|
175
|
-
### compressLength?
|
|
176
|
-
|
|
177
|
-
```ts
|
|
178
|
-
optional compressLength: number;
|
|
122
|
+
function axiosJsonConfig(__namedParameters?): RawAxiosJsonRequestConfig;
|
|
179
123
|
```
|
|
180
124
|
|
|
181
|
-
##
|
|
125
|
+
## Parameters
|
|
182
126
|
|
|
183
|
-
###
|
|
127
|
+
### \_\_namedParameters?
|
|
184
128
|
|
|
185
|
-
`
|
|
129
|
+
`RawAxiosJsonRequestConfig` = `{}`
|
|
186
130
|
|
|
187
|
-
|
|
131
|
+
## Returns
|
|
188
132
|
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
***
|
|
192
|
-
|
|
193
|
-
```ts
|
|
194
|
-
type RawAxiosJsonRequestUncompressedConfig<D> = RawAxiosRequestConfig<D>;
|
|
195
|
-
```
|
|
196
|
-
|
|
197
|
-
## Type Parameters
|
|
198
|
-
|
|
199
|
-
### D
|
|
200
|
-
|
|
201
|
-
`D` = `any`
|
|
133
|
+
`RawAxiosJsonRequestConfig`
|
|
202
134
|
|
|
203
135
|
### variables
|
|
204
136
|
|
|
@@ -209,17 +141,21 @@ type RawAxiosJsonRequestUncompressedConfig<D> = RawAxiosRequestConfig<D>;
|
|
|
209
141
|
***
|
|
210
142
|
|
|
211
143
|
```ts
|
|
212
|
-
const axios:
|
|
144
|
+
const axios: Axios = axiosJson;
|
|
213
145
|
```
|
|
214
146
|
|
|
215
|
-
|
|
147
|
+
## Deprecated
|
|
148
|
+
|
|
149
|
+
use axiosJson instead
|
|
150
|
+
|
|
151
|
+
### <a id="axiosJson"></a>axiosJson
|
|
216
152
|
|
|
217
153
|
[**@xylabs/axios**](#../README)
|
|
218
154
|
|
|
219
155
|
***
|
|
220
156
|
|
|
221
157
|
```ts
|
|
222
|
-
const
|
|
158
|
+
const axiosJson: Axios;
|
|
223
159
|
```
|
|
224
160
|
|
|
225
161
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/index.ts","../../src/axiosJsonConfig.ts","../../src/AxiosJson.ts"],"sourcesContent":["import { Axios } from 'axios'\n\nimport { axiosJsonConfig } from './axiosJsonConfig.ts'\n\nexport * from './AxiosJson.ts'\nexport { gzip } from 'pako'\n\nexport const axiosJson = new Axios(axiosJsonConfig())\n\n/** @deprecated use axiosJson instead */\nexport const axios = axiosJson\n\nexport { axiosJsonConfig } from './axiosJsonConfig.ts'\n","import type { RawAxiosRequestConfig } from 'axios'\nimport { AxiosHeaders } from 'axios'\nimport { gzip } from 'pako'\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport type RawAxiosJsonRequestConfig<D = any> = RawAxiosRequestConfig<D> & { compressLength?: number }\n\nfunction 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\nexport function axiosJsonConfig({\n compressLength, headers, ...config\n}: RawAxiosJsonRequestConfig = {}): RawAxiosJsonRequestConfig {\n return {\n headers: 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","import type { Logger } from '@xylabs/logger'\nimport { Axios } from 'axios'\n\nimport type { RawAxiosJsonRequestConfig } from './axiosJsonConfig.ts'\nimport { axiosJsonConfig } from './axiosJsonConfig.ts'\n\nfunction deprecated(from: string, to: string, logger: Logger = console) {\n logger.warn(`${from} is deprecated. Please use ${to} instead.`)\n}\n\n/** @deprecated use axiosJsonConfig instead */\nexport class AxiosJson extends Axios {\n constructor(config?: RawAxiosJsonRequestConfig) {\n deprecated('AxiosJson', 'axiosJsonConfig')\n // eslint-disable-next-line sonarjs/deprecation\n super(AxiosJson.axiosConfig(config))\n }\n\n static axiosConfig(config: RawAxiosJsonRequestConfig = {}): RawAxiosJsonRequestConfig {\n return axiosJsonConfig(config)\n }\n\n static create(config?: RawAxiosJsonRequestConfig) {\n return new Axios(this.axiosConfig(config))\n }\n}\n"],"mappings":";AAAA,SAAS,SAAAA,cAAa;;;ACCtB,SAAS,oBAAoB;AAC7B,SAAS,YAAY;AAKrB,SAAS,aAAa,SAA+C;AACnE,QAAM,eAAe,IAAI,aAAa;AACtC,eAAa,IAAI,UAAU,mCAAmC;AAC9D,eAAa,IAAI,gBAAgB,kBAAkB;AACnD,aAAW,CAAC,KAAK,KAAK,KAAK,OAAO,QAAQ,WAAW,CAAC,CAAC,EAAG,cAAa,IAAI,KAAK,KAAK;AACrF,SAAO;AACT;AAEO,SAAS,gBAAgB;AAAA,EAC9B;AAAA,EAAgB;AAAA,EAAS,GAAG;AAC9B,IAA+B,CAAC,GAA8B;AAC5D,SAAO;AAAA,IACL,SAAS,aAAa,OAAO;AAAA,IAC7B,kBAAkB,CAAC,MAAMC,aAAY;AACnC,YAAM,OAAO,KAAK,UAAU,IAAI;AAChC,UAAIA,aAAY,UAAa,QAAQ,KAAK,UAAU,kBAAkB,OAAO;AAC3E,QAAAA,SAAQ,IAAI,oBAAoB,MAAM;AACtC,eAAO,KAAK,IAAI,EAAE;AAAA,MACpB;AACA,aAAO;AAAA,IACT;AAAA,IACA,mBAAmB,CAAC,SAAS;AAC3B,UAAI;AACF,eAAO,KAAK,MAAM,IAAI;AAAA,MACxB,QAAQ;AACN,eAAO;AAAA,MACT;AAAA,IACF;AAAA,IACA,GAAG;AAAA,EACL;AACF;;;ACpCA,SAAS,aAAa;AAKtB,SAAS,WAAW,MAAc,IAAY,SAAiB,SAAS;AACtE,SAAO,KAAK,GAAG,IAAI,8BAA8B,EAAE,WAAW;AAChE;AAGO,IAAM,YAAN,MAAM,mBAAkB,MAAM;AAAA,EACnC,YAAY,QAAoC;AAC9C,eAAW,aAAa,iBAAiB;AAEzC,UAAM,WAAU,YAAY,MAAM,CAAC;AAAA,EACrC;AAAA,EAEA,OAAO,YAAY,SAAoC,CAAC,GAA8B;AACpF,WAAO,gBAAgB,MAAM;AAAA,EAC/B;AAAA,EAEA,OAAO,OAAO,QAAoC;AAChD,WAAO,IAAI,MAAM,KAAK,YAAY,MAAM,CAAC;AAAA,EAC3C;AACF;;;AFpBA,SAAS,QAAAC,aAAY;AAEd,IAAM,YAAY,IAAIC,OAAM,gBAAgB,CAAC;AAG7C,IAAM,QAAQ;","names":["Axios","headers","gzip","Axios"]}
|
|
1
|
+
{"version":3,"sources":["../../src/index.ts","../../src/axiosJsonConfig.ts","../../src/AxiosJson.ts"],"sourcesContent":["import { Axios } from 'axios'\n\nimport { axiosJsonConfig } from './axiosJsonConfig.ts'\n\nexport * from './AxiosJson.ts'\nexport { gzip } from 'pako'\n\nexport const axiosJson = new Axios(axiosJsonConfig())\n\n/** @deprecated use axiosJson instead */\nexport const axios = axiosJson\n\nexport { axiosJsonConfig } from './axiosJsonConfig.ts'\n","import type { RawAxiosRequestConfig } from 'axios'\nimport { AxiosHeaders } from 'axios'\nimport { gzip } from 'pako'\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport type RawAxiosJsonRequestConfig<D = any> = RawAxiosRequestConfig<D> & { compressLength?: number }\n\nfunction 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\nexport function axiosJsonConfig({\n compressLength, headers, ...config\n}: RawAxiosJsonRequestConfig = {}): RawAxiosJsonRequestConfig {\n return {\n headers: 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","import type { Logger } from '@xylabs/logger'\nimport { Axios } from 'axios'\n\nimport type { RawAxiosJsonRequestConfig } from './axiosJsonConfig.ts'\nimport { axiosJsonConfig } from './axiosJsonConfig.ts'\n\nfunction deprecated(from: string, to: string, logger: Logger = console) {\n logger.warn(`${from} is deprecated. Please use ${to} instead.`)\n}\n\n/** @deprecated use axiosJsonConfig instead */\nexport class AxiosJson extends Axios {\n constructor(config?: RawAxiosJsonRequestConfig) {\n deprecated('AxiosJson', 'axiosJsonConfig')\n // eslint-disable-next-line sonarjs/deprecation, @typescript-eslint/no-deprecated\n super(AxiosJson.axiosConfig(config))\n }\n\n static axiosConfig(config: RawAxiosJsonRequestConfig = {}): RawAxiosJsonRequestConfig {\n return axiosJsonConfig(config)\n }\n\n static create(config?: RawAxiosJsonRequestConfig) {\n return new Axios(this.axiosConfig(config))\n }\n}\n"],"mappings":";AAAA,SAAS,SAAAA,cAAa;;;ACCtB,SAAS,oBAAoB;AAC7B,SAAS,YAAY;AAKrB,SAAS,aAAa,SAA+C;AACnE,QAAM,eAAe,IAAI,aAAa;AACtC,eAAa,IAAI,UAAU,mCAAmC;AAC9D,eAAa,IAAI,gBAAgB,kBAAkB;AACnD,aAAW,CAAC,KAAK,KAAK,KAAK,OAAO,QAAQ,WAAW,CAAC,CAAC,EAAG,cAAa,IAAI,KAAK,KAAK;AACrF,SAAO;AACT;AAEO,SAAS,gBAAgB;AAAA,EAC9B;AAAA,EAAgB;AAAA,EAAS,GAAG;AAC9B,IAA+B,CAAC,GAA8B;AAC5D,SAAO;AAAA,IACL,SAAS,aAAa,OAAO;AAAA,IAC7B,kBAAkB,CAAC,MAAMC,aAAY;AACnC,YAAM,OAAO,KAAK,UAAU,IAAI;AAChC,UAAIA,aAAY,UAAa,QAAQ,KAAK,UAAU,kBAAkB,OAAO;AAC3E,QAAAA,SAAQ,IAAI,oBAAoB,MAAM;AACtC,eAAO,KAAK,IAAI,EAAE;AAAA,MACpB;AACA,aAAO;AAAA,IACT;AAAA,IACA,mBAAmB,CAAC,SAAS;AAC3B,UAAI;AACF,eAAO,KAAK,MAAM,IAAI;AAAA,MACxB,QAAQ;AACN,eAAO;AAAA,MACT;AAAA,IACF;AAAA,IACA,GAAG;AAAA,EACL;AACF;;;ACpCA,SAAS,aAAa;AAKtB,SAAS,WAAW,MAAc,IAAY,SAAiB,SAAS;AACtE,SAAO,KAAK,GAAG,IAAI,8BAA8B,EAAE,WAAW;AAChE;AAGO,IAAM,YAAN,MAAM,mBAAkB,MAAM;AAAA,EACnC,YAAY,QAAoC;AAC9C,eAAW,aAAa,iBAAiB;AAEzC,UAAM,WAAU,YAAY,MAAM,CAAC;AAAA,EACrC;AAAA,EAEA,OAAO,YAAY,SAAoC,CAAC,GAA8B;AACpF,WAAO,gBAAgB,MAAM;AAAA,EAC/B;AAAA,EAEA,OAAO,OAAO,QAAoC;AAChD,WAAO,IAAI,MAAM,KAAK,YAAY,MAAM,CAAC;AAAA,EAC3C;AACF;;;AFpBA,SAAS,QAAAC,aAAY;AAEd,IAAM,YAAY,IAAIC,OAAM,gBAAgB,CAAC;AAG7C,IAAM,QAAQ;","names":["Axios","headers","gzip","Axios"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@xylabs/axios",
|
|
3
|
-
"version": "5.0.
|
|
3
|
+
"version": "5.0.81",
|
|
4
4
|
"description": "Base functionality used throughout XY Labs TypeScript/JavaScript libraries",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"axios",
|
|
@@ -29,17 +29,14 @@
|
|
|
29
29
|
"exports": {
|
|
30
30
|
".": {
|
|
31
31
|
"types": "./dist/neutral/index.d.ts",
|
|
32
|
-
"source": "./src/index.ts",
|
|
33
32
|
"default": "./dist/neutral/index.mjs"
|
|
34
33
|
},
|
|
35
34
|
"./package.json": "./package.json"
|
|
36
35
|
},
|
|
37
36
|
"module": "./dist/neutral/index.mjs",
|
|
38
|
-
"source": "./src/index.ts",
|
|
39
37
|
"types": "./dist/neutral/index.d.ts",
|
|
40
38
|
"files": [
|
|
41
39
|
"dist",
|
|
42
|
-
"src",
|
|
43
40
|
"!**/*.bench.*",
|
|
44
41
|
"!**/*.spec.*",
|
|
45
42
|
"!**/*.test.*"
|
|
@@ -49,11 +46,12 @@
|
|
|
49
46
|
},
|
|
50
47
|
"devDependencies": {
|
|
51
48
|
"@types/pako": "~2.0.4",
|
|
52
|
-
"@xylabs/logger": "~5.0.
|
|
53
|
-
"@xylabs/ts-scripts-yarn3": "~7.
|
|
54
|
-
"@xylabs/tsconfig": "~7.
|
|
55
|
-
"axios": "^1.13.
|
|
56
|
-
"typescript": "~5.9.3"
|
|
49
|
+
"@xylabs/logger": "~5.0.81",
|
|
50
|
+
"@xylabs/ts-scripts-yarn3": "~7.4.11",
|
|
51
|
+
"@xylabs/tsconfig": "~7.4.11",
|
|
52
|
+
"axios": "^1.13.6",
|
|
53
|
+
"typescript": "~5.9.3",
|
|
54
|
+
"vitest": "~4.0.18"
|
|
57
55
|
},
|
|
58
56
|
"peerDependencies": {
|
|
59
57
|
"axios": "^1"
|
package/src/AxiosJson.ts
DELETED
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import type { Logger } from '@xylabs/logger'
|
|
2
|
-
import { Axios } from 'axios'
|
|
3
|
-
|
|
4
|
-
import type { RawAxiosJsonRequestConfig } from './axiosJsonConfig.ts'
|
|
5
|
-
import { axiosJsonConfig } from './axiosJsonConfig.ts'
|
|
6
|
-
|
|
7
|
-
function deprecated(from: string, to: string, logger: Logger = console) {
|
|
8
|
-
logger.warn(`${from} is deprecated. Please use ${to} instead.`)
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
/** @deprecated use axiosJsonConfig instead */
|
|
12
|
-
export class AxiosJson extends Axios {
|
|
13
|
-
constructor(config?: RawAxiosJsonRequestConfig) {
|
|
14
|
-
deprecated('AxiosJson', 'axiosJsonConfig')
|
|
15
|
-
// eslint-disable-next-line sonarjs/deprecation
|
|
16
|
-
super(AxiosJson.axiosConfig(config))
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
static axiosConfig(config: RawAxiosJsonRequestConfig = {}): RawAxiosJsonRequestConfig {
|
|
20
|
-
return axiosJsonConfig(config)
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
static create(config?: RawAxiosJsonRequestConfig) {
|
|
24
|
-
return new Axios(this.axiosConfig(config))
|
|
25
|
-
}
|
|
26
|
-
}
|
package/src/axiosJsonConfig.ts
DELETED
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
import type { RawAxiosRequestConfig } from 'axios'
|
|
2
|
-
import { AxiosHeaders } from 'axios'
|
|
3
|
-
import { gzip } from 'pako'
|
|
4
|
-
|
|
5
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
6
|
-
export type RawAxiosJsonRequestConfig<D = any> = RawAxiosRequestConfig<D> & { compressLength?: number }
|
|
7
|
-
|
|
8
|
-
function buildHeaders(headers: RawAxiosJsonRequestConfig['headers']) {
|
|
9
|
-
const axiosHeaders = new AxiosHeaders()
|
|
10
|
-
axiosHeaders.set('Accept', 'application/json, text/plain, *.*')
|
|
11
|
-
axiosHeaders.set('Content-Type', 'application/json')
|
|
12
|
-
for (const [key, value] of Object.entries(headers ?? {})) axiosHeaders.set(key, value)
|
|
13
|
-
return axiosHeaders
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
export function axiosJsonConfig({
|
|
17
|
-
compressLength, headers, ...config
|
|
18
|
-
}: RawAxiosJsonRequestConfig = {}): RawAxiosJsonRequestConfig {
|
|
19
|
-
return {
|
|
20
|
-
headers: buildHeaders(headers),
|
|
21
|
-
transformRequest: (data, headers) => {
|
|
22
|
-
const json = JSON.stringify(data)
|
|
23
|
-
if (headers !== undefined && data && json.length > (compressLength ?? 1024)) {
|
|
24
|
-
headers.set('Content-Encoding', 'gzip')
|
|
25
|
-
return gzip(json).buffer
|
|
26
|
-
}
|
|
27
|
-
return json
|
|
28
|
-
},
|
|
29
|
-
transformResponse: (data) => {
|
|
30
|
-
try {
|
|
31
|
-
return JSON.parse(data)
|
|
32
|
-
} catch {
|
|
33
|
-
return null
|
|
34
|
-
}
|
|
35
|
-
},
|
|
36
|
-
...config,
|
|
37
|
-
}
|
|
38
|
-
}
|
package/src/index.ts
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { Axios } from 'axios'
|
|
2
|
-
|
|
3
|
-
import { axiosJsonConfig } from './axiosJsonConfig.ts'
|
|
4
|
-
|
|
5
|
-
export * from './AxiosJson.ts'
|
|
6
|
-
export { gzip } from 'pako'
|
|
7
|
-
|
|
8
|
-
export const axiosJson = new Axios(axiosJsonConfig())
|
|
9
|
-
|
|
10
|
-
/** @deprecated use axiosJson instead */
|
|
11
|
-
export const axios = axiosJson
|
|
12
|
-
|
|
13
|
-
export { axiosJsonConfig } from './axiosJsonConfig.ts'
|