@uni-helper/axios-adapter 0.0.1

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 ADDED
@@ -0,0 +1,32 @@
1
+ # @uni-helper/axios-adapter
2
+
3
+ **WIP** this is an Axios adapter for uni-app
4
+
5
+ English | [简体中文](./README.zh-CN.md)
6
+
7
+ ## Installation
8
+
9
+ ```
10
+ pnpm i @uni-helper/axios-adapter axios
11
+ ```
12
+
13
+ ## Usage
14
+
15
+ ```ts
16
+ import axios from "axios";
17
+ import { createUniAppAxiosAdapter } from "@uni-helper/axios-adapter";
18
+
19
+ const $axios = axios.create({
20
+ adapter: createUniAppAxiosAdapter(),
21
+ });
22
+ ```
23
+
24
+ ## Client Types
25
+
26
+ ```ts
27
+ /// <reference types="@uni-helper/axios-adapter/client" />
28
+ ```
29
+
30
+ ## Configuration
31
+
32
+ see [types.ts](./src/types.ts)
@@ -0,0 +1,32 @@
1
+ # @uni-helper/axios-adapter
2
+
3
+ **WIP** 这是一个用于 uni-app 的 Axios 适配器
4
+
5
+ [English](./README.md) | 简体中文
6
+
7
+ ## 安装
8
+
9
+ ```
10
+ pnpm i @uni-helper/axios-adapter axios
11
+ ```
12
+
13
+ ## 使用
14
+
15
+ ```ts
16
+ import axios from "axios";
17
+ import { createUniAppAxiosAdapter } from "@uni-helper/axios-adapter";
18
+
19
+ const $axios = axios.create({
20
+ adapter: createUniAppAxiosAdapter(),
21
+ });
22
+ ```
23
+
24
+ ## 客户端类型
25
+
26
+ ```ts
27
+ /// <reference types="@uni-helper/axios-adapter/client" />
28
+ ```
29
+
30
+ ## 配置
31
+
32
+ 见 [types.ts](./src/types.ts)
package/client.d.ts ADDED
@@ -0,0 +1,22 @@
1
+ declare module "axios" {
2
+ export interface AxiosRequestConfig
3
+ extends Omit<
4
+ UniApp.RequestOptions,
5
+ "success" | "fail" | "complete" | "header"
6
+ >,
7
+ Omit<
8
+ UniApp.UploadFileOption,
9
+ "success" | "fail" | "complete" | "header" | "formData"
10
+ >,
11
+ Omit<
12
+ UniApp.DownloadFileOption,
13
+ "success" | "fail" | "complete" | "header"
14
+ >,
15
+ Partial<Pick<UniApp.RequestTask, "onHeadersReceived">> {}
16
+
17
+ export interface AxiosResponse {
18
+ cookies?: string[];
19
+ }
20
+ }
21
+
22
+ export {};
package/dist/index.cjs ADDED
@@ -0,0 +1,395 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
22
+ mod
23
+ ));
24
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
25
+
26
+ // src/index.ts
27
+ var src_exports = {};
28
+ __export(src_exports, {
29
+ createUniAppAxiosAdapter: () => createUniAppAxiosAdapter
30
+ });
31
+ module.exports = __toCommonJS(src_exports);
32
+
33
+ // src/utils.ts
34
+ var import_buildURL = __toESM(require("axios/lib/helpers/buildURL.js"), 1);
35
+ var import_buildFullPath = __toESM(require("axios/lib/core/buildFullPath.js"), 1);
36
+ var import_speedometer = __toESM(require("axios/lib/helpers/speedometer.js"), 1);
37
+ var getMethodType = (config) => {
38
+ const { method: rawMethod = "GET" } = config;
39
+ const method = rawMethod.toLocaleLowerCase();
40
+ switch (method) {
41
+ case "download":
42
+ return "download";
43
+ case "upload":
44
+ return "upload";
45
+ default:
46
+ return "request";
47
+ }
48
+ };
49
+ var resolveOptions = (userOptions) => {
50
+ return {
51
+ ...userOptions
52
+ };
53
+ };
54
+ var resolveUniAppRequestOptions = (config, options) => {
55
+ var _a;
56
+ const data = config.data;
57
+ const responseType = config.responseType === "arraybuffer" ? "arraybuffer" : "text";
58
+ const dataType = responseType === "text" ? "json" : void 0;
59
+ const requestHeaders = config.headers;
60
+ if (config.auth) {
61
+ const username = config.auth.username || "";
62
+ const password = config.auth.password ? unescape(encodeURIComponent(config.auth.password)) : "";
63
+ requestHeaders.set(
64
+ "Authorization",
65
+ "Basic " + btoa(username + ":" + password)
66
+ );
67
+ }
68
+ const fullPath = (0, import_buildFullPath.default)(config.baseURL, config.url);
69
+ const method = ((_a = config == null ? void 0 : config.method) == null ? void 0 : _a.toUpperCase()) ?? "GET";
70
+ const url = (0, import_buildURL.default)(fullPath, config.params, config.paramsSerializer);
71
+ const timeout = config.timeout || 6e4;
72
+ const withCredentials = config.withCredentials ?? false;
73
+ const sslVerify = config.sslVerify ?? true;
74
+ const firstIpv4 = config.firstIpv4 ?? false;
75
+ let formData = {};
76
+ if (data && typeof data === "string") {
77
+ try {
78
+ formData = JSON.parse(data);
79
+ } catch (error) {
80
+ }
81
+ }
82
+ const header = requestHeaders.toJSON();
83
+ return {
84
+ ...config,
85
+ url,
86
+ data,
87
+ header,
88
+ method,
89
+ responseType,
90
+ dataType,
91
+ timeout,
92
+ withCredentials,
93
+ sslVerify,
94
+ firstIpv4,
95
+ formData
96
+ };
97
+ };
98
+ var progressEventReducer = (listener, isDownloadStream) => {
99
+ let bytesNotified = 0;
100
+ const _speedometer = (0, import_speedometer.default)(50, 250);
101
+ return (result) => {
102
+ const loaded = result.totalBytesWritten;
103
+ const total = result.totalBytesExpectedToWrite;
104
+ const progressBytes = loaded - bytesNotified;
105
+ const rate = _speedometer(progressBytes);
106
+ const inRange = loaded <= total;
107
+ bytesNotified = loaded;
108
+ const data = {
109
+ loaded,
110
+ total,
111
+ progress: total ? loaded / total : void 0,
112
+ bytes: progressBytes,
113
+ rate: rate ? rate : void 0,
114
+ estimated: rate && total && inRange ? (total - loaded) / rate : void 0,
115
+ event: result
116
+ };
117
+ data[isDownloadStream ? "download" : "upload"] = true;
118
+ listener(data);
119
+ };
120
+ };
121
+
122
+ // src/methods/download.ts
123
+ var import_axios2 = require("axios");
124
+ var import_settle = __toESM(require("axios/lib/core/settle"), 1);
125
+
126
+ // src/methods/onCanceled.ts
127
+ var import_axios = require("axios");
128
+ var OnCanceled = class {
129
+ constructor(config) {
130
+ this.config = config;
131
+ }
132
+ subscribe(task, reject) {
133
+ if (this.config.cancelToken || this.config.signal) {
134
+ this.onCanceled = (cancel) => {
135
+ if (!task) {
136
+ return;
137
+ }
138
+ reject(
139
+ !cancel || cancel.type ? new import_axios.CanceledError(void 0, void 0, this.config, task) : cancel
140
+ );
141
+ task.abort();
142
+ task = null;
143
+ };
144
+ if (this.config.cancelToken) {
145
+ this.config.cancelToken.subscribe(this.onCanceled);
146
+ }
147
+ if (this.config.signal && this.config.signal.addEventListener) {
148
+ this.config.signal.aborted ? this.onCanceled() : this.config.signal.addEventListener("abort", this.onCanceled);
149
+ }
150
+ }
151
+ }
152
+ unsubscribe() {
153
+ if (this.config.cancelToken) {
154
+ this.config.cancelToken.unsubscribe(this.onCanceled);
155
+ }
156
+ if (this.config.signal && this.config.signal.removeEventListener) {
157
+ this.config.signal.removeEventListener("abort", this.onCanceled);
158
+ }
159
+ }
160
+ };
161
+
162
+ // src/methods/download.ts
163
+ var download = (config, options) => {
164
+ return new Promise((resolve, reject) => {
165
+ const { url, header, timeout, filePath } = resolveUniAppRequestOptions(
166
+ config,
167
+ options
168
+ );
169
+ const onCanceled = new OnCanceled(config);
170
+ let task = uni.downloadFile({
171
+ url,
172
+ header,
173
+ timeout,
174
+ filePath,
175
+ success(result) {
176
+ if (!task) {
177
+ return;
178
+ }
179
+ const response = {
180
+ config,
181
+ data: result.tempFilePath,
182
+ headers: {},
183
+ status: result.statusCode,
184
+ statusText: result.errMsg ?? "OK",
185
+ request: task
186
+ };
187
+ (0, import_settle.default)(resolve, reject, response);
188
+ task = null;
189
+ },
190
+ fail(error) {
191
+ const { errMsg = "" } = error ?? {};
192
+ if (errMsg) {
193
+ const isTimeoutError = errMsg === "downloadFile:fail timeout";
194
+ if (isTimeoutError) {
195
+ reject(new import_axios2.AxiosError(errMsg, import_axios2.AxiosError.ETIMEDOUT, config, task));
196
+ }
197
+ const isNetworkError = errMsg === "downloadFile:fail";
198
+ if (isNetworkError) {
199
+ reject(
200
+ new import_axios2.AxiosError(errMsg, import_axios2.AxiosError.ERR_NETWORK, config, task)
201
+ );
202
+ }
203
+ }
204
+ reject(new import_axios2.AxiosError(error.errMsg, void 0, config, task));
205
+ task = null;
206
+ },
207
+ complete() {
208
+ onCanceled.unsubscribe();
209
+ }
210
+ });
211
+ if (typeof config.onDownloadProgress === "function") {
212
+ task.onProgressUpdate(
213
+ progressEventReducer(config.onDownloadProgress, true)
214
+ );
215
+ }
216
+ if (typeof config.onHeadersReceived === "function") {
217
+ task.onHeadersReceived(config.onHeadersReceived);
218
+ }
219
+ onCanceled.subscribe(task, reject);
220
+ });
221
+ };
222
+ var download_default = download;
223
+
224
+ // src/methods/upload.ts
225
+ var import_settle2 = __toESM(require("axios/lib/core/settle"), 1);
226
+ var import_axios3 = require("axios");
227
+ var upload = (config, options) => {
228
+ return new Promise((resolve, reject) => {
229
+ const {
230
+ url,
231
+ files,
232
+ fileType,
233
+ file,
234
+ filePath,
235
+ name,
236
+ header,
237
+ timeout,
238
+ formData
239
+ } = resolveUniAppRequestOptions(config, options);
240
+ const onCanceled = new OnCanceled(config);
241
+ let task = uni.uploadFile({
242
+ url,
243
+ files,
244
+ fileType,
245
+ file,
246
+ filePath,
247
+ name,
248
+ header,
249
+ timeout,
250
+ formData,
251
+ success(result) {
252
+ if (!task) {
253
+ return;
254
+ }
255
+ const response = {
256
+ config,
257
+ data: result.data,
258
+ headers: {},
259
+ status: result.statusCode,
260
+ statusText: result.errMsg ?? "OK",
261
+ request: task
262
+ };
263
+ (0, import_settle2.default)(resolve, reject, response);
264
+ task = null;
265
+ },
266
+ fail(error) {
267
+ const { errMsg = "" } = error ?? {};
268
+ if (errMsg) {
269
+ const isTimeoutError = errMsg === "uploadFile:fail timeout";
270
+ const isNetworkError = errMsg === "uploadFile:fail file error";
271
+ if (isTimeoutError) {
272
+ reject(new import_axios3.AxiosError(errMsg, import_axios3.AxiosError.ETIMEDOUT, config, task));
273
+ }
274
+ if (isNetworkError) {
275
+ reject(
276
+ new import_axios3.AxiosError(errMsg, import_axios3.AxiosError.ERR_NETWORK, config, task)
277
+ );
278
+ }
279
+ }
280
+ reject(new import_axios3.AxiosError(error.errMsg, void 0, config, task));
281
+ task = null;
282
+ },
283
+ complete() {
284
+ onCanceled.unsubscribe();
285
+ }
286
+ });
287
+ if (typeof config.onHeadersReceived === "function") {
288
+ task.onHeadersReceived(config.onHeadersReceived);
289
+ }
290
+ onCanceled.subscribe(task, reject);
291
+ });
292
+ };
293
+ var upload_default = upload;
294
+
295
+ // src/methods/request.ts
296
+ var import_axios4 = require("axios");
297
+ var import_settle3 = __toESM(require("axios/lib/core/settle"), 1);
298
+ var request = (config, options) => {
299
+ return new Promise((resolve, reject) => {
300
+ const {
301
+ url,
302
+ data,
303
+ header,
304
+ method,
305
+ timeout,
306
+ dataType,
307
+ responseType,
308
+ sslVerify,
309
+ withCredentials,
310
+ firstIpv4
311
+ } = resolveUniAppRequestOptions(config, options);
312
+ const onCanceled = new OnCanceled(config);
313
+ let task = uni.request({
314
+ url,
315
+ data,
316
+ header,
317
+ method,
318
+ timeout,
319
+ dataType,
320
+ responseType,
321
+ sslVerify,
322
+ withCredentials,
323
+ firstIpv4,
324
+ success(result) {
325
+ if (!task) {
326
+ return;
327
+ }
328
+ const response = {
329
+ config,
330
+ data: result.data,
331
+ headers: result.header,
332
+ status: result.statusCode,
333
+ statusText: result.errMsg ?? "OK",
334
+ request: task,
335
+ cookies: result.cookies
336
+ };
337
+ (0, import_settle3.default)(resolve, reject, response);
338
+ task = null;
339
+ },
340
+ fail(error) {
341
+ const { errMsg = "" } = error ?? {};
342
+ if (errMsg) {
343
+ const isTimeoutError = errMsg === "request:fail timeout";
344
+ const isNetworkError = errMsg === "request:fail";
345
+ if (isTimeoutError) {
346
+ reject(new import_axios4.AxiosError(errMsg, import_axios4.AxiosError.ETIMEDOUT, config, task));
347
+ }
348
+ if (isNetworkError) {
349
+ reject(
350
+ new import_axios4.AxiosError(errMsg, import_axios4.AxiosError.ERR_NETWORK, config, task)
351
+ );
352
+ }
353
+ }
354
+ reject(new import_axios4.AxiosError(error.errMsg, void 0, config, task));
355
+ task = null;
356
+ },
357
+ complete() {
358
+ onCanceled.unsubscribe();
359
+ }
360
+ });
361
+ if (typeof config.onHeadersReceived === "function") {
362
+ task.onHeadersReceived(config.onHeadersReceived);
363
+ }
364
+ onCanceled.subscribe(task, reject);
365
+ });
366
+ };
367
+ var request_default = request;
368
+
369
+ // src/methods/index.ts
370
+ var getMethod = (config) => {
371
+ const methodType = getMethodType(config);
372
+ switch (methodType) {
373
+ case "download":
374
+ return download_default;
375
+ case "upload":
376
+ return upload_default;
377
+ default:
378
+ return request_default;
379
+ }
380
+ };
381
+
382
+ // src/index.ts
383
+ var createUniAppAxiosAdapter = (userOptions = {}) => {
384
+ const options = resolveOptions(userOptions);
385
+ const uniappAdapter = (config) => {
386
+ const method = getMethod(config);
387
+ return method(config, options);
388
+ };
389
+ return uniappAdapter;
390
+ };
391
+ // Annotate the CommonJS export names for ESM import in node:
392
+ 0 && (module.exports = {
393
+ createUniAppAxiosAdapter
394
+ });
395
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/index.ts","../src/utils.ts","../src/methods/download.ts","../src/methods/onCanceled.ts","../src/methods/upload.ts","../src/methods/request.ts","../src/methods/index.ts"],"sourcesContent":["import { AxiosAdapter, AxiosRequestConfig } from \"axios\";\nimport { getMethod } from \"./methods\";\nimport { UserOptions } from \"./types\";\nimport { resolveOptions } from \"./utils\";\n\nexport const createUniAppAxiosAdapter = (\n userOptions: UserOptions = {}\n): AxiosAdapter => {\n const options = resolveOptions(userOptions);\n const uniappAdapter: AxiosAdapter = (config: AxiosRequestConfig) => {\n const method = getMethod(config);\n return method(config, options);\n };\n return uniappAdapter;\n};\n","// @ts-ignore\nimport utils from \"axios/lib/utils.js\";\n// @ts-ignore\nimport buildURL from \"axios/lib/helpers/buildURL.js\";\n// @ts-ignore\nimport buildFullPath from \"axios/lib/core/buildFullPath.js\";\n// @ts-ignore\nimport speedometer from \"axios/lib/helpers/speedometer.js\";\n\nimport {\n ResolvedOptions,\n MethodType,\n UserOptions,\n UniNetworkRequestWithoutCallback,\n} from \"./types\";\nimport axios, {\n AxiosRequestConfig,\n AxiosHeaders as AxiosHeadersType,\n} from \"axios\";\n\nexport const getMethodType = <T>(config: AxiosRequestConfig<T>): MethodType => {\n const { method: rawMethod = \"GET\" } = config;\n const method = rawMethod.toLocaleLowerCase();\n switch (method) {\n case \"download\":\n return \"download\";\n case \"upload\":\n return \"upload\";\n default:\n return \"request\";\n }\n};\n\nexport const resolveOptions = (userOptions: UserOptions): ResolvedOptions => {\n return {\n ...userOptions,\n };\n};\n\nexport const resolveUniAppRequestOptions = (\n config: AxiosRequestConfig,\n options: ResolvedOptions\n): UniNetworkRequestWithoutCallback => {\n const data = config.data;\n const responseType =\n config.responseType === \"arraybuffer\" ? \"arraybuffer\" : \"text\";\n const dataType = responseType === \"text\" ? \"json\" : undefined;\n // @ts-ignore\n const requestHeaders: AxiosHeadersType = config.headers;\n\n if (config.auth) {\n const username = config.auth.username || \"\";\n const password = config.auth.password\n ? unescape(encodeURIComponent(config.auth.password))\n : \"\";\n requestHeaders.set(\n \"Authorization\",\n \"Basic \" + btoa(username + \":\" + password)\n );\n }\n\n const fullPath = buildFullPath(config.baseURL, config.url);\n const method = (config?.method?.toUpperCase() ?? \"GET\") as unknown as any;\n const url = buildURL(fullPath, config.params, config.paramsSerializer);\n\n // set uni-app default value\n // request\n const timeout = config.timeout || 60000;\n const withCredentials = config.withCredentials ?? false;\n const sslVerify = config.sslVerify ?? true;\n const firstIpv4 = config.firstIpv4 ?? false;\n // upload\n let formData = {};\n if (data && typeof data === \"string\") {\n try {\n formData = JSON.parse(data);\n } catch (error) {}\n }\n\n const header = requestHeaders.toJSON();\n\n return {\n ...config,\n url,\n data,\n header,\n method,\n responseType,\n dataType,\n timeout,\n withCredentials,\n sslVerify,\n firstIpv4,\n formData,\n };\n};\n\nexport const progressEventReducer = (\n listener: any,\n isDownloadStream: boolean\n) => {\n let bytesNotified = 0;\n const _speedometer = speedometer(50, 250);\n\n return (result: UniApp.OnProgressDownloadResult) => {\n const loaded = result.totalBytesWritten;\n const total = result.totalBytesExpectedToWrite;\n const progressBytes = loaded - bytesNotified;\n const rate = _speedometer(progressBytes);\n const inRange = loaded <= total;\n\n bytesNotified = loaded;\n\n const data: any = {\n loaded,\n total,\n progress: total ? loaded / total : undefined,\n bytes: progressBytes,\n rate: rate ? rate : undefined,\n estimated: rate && total && inRange ? (total - loaded) / rate : undefined,\n event: result,\n };\n data[isDownloadStream ? \"download\" : \"upload\"] = true;\n listener(data);\n };\n};\n","import { AxiosError, AxiosResponse } from \"axios\";\nimport { Method } from \"../types\";\nimport { progressEventReducer, resolveUniAppRequestOptions } from \"../utils\";\n// @ts-ignore\nimport settle from \"axios/lib/core/settle\";\nimport OnCanceled from \"./onCanceled\";\n\nconst download: Method = (config, options) => {\n return new Promise((resolve, reject) => {\n const { url, header, timeout, filePath } = resolveUniAppRequestOptions(\n config,\n options\n );\n const onCanceled = new OnCanceled(config);\n let task: UniApp.DownloadTask | null = uni.downloadFile({\n url,\n header,\n timeout,\n // @ts-ignore\n filePath,\n success(result) {\n if (!task) {\n return;\n }\n const response: AxiosResponse = {\n config,\n data: result.tempFilePath,\n headers: {},\n status: result.statusCode,\n // @ts-ignore\n statusText: result.errMsg ?? \"OK\",\n request: task,\n };\n settle(resolve, reject, response);\n task = null;\n },\n fail(error) {\n const { errMsg = \"\" } = error ?? {};\n if (errMsg) {\n const isTimeoutError = errMsg === \"downloadFile:fail timeout\";\n if (isTimeoutError) {\n reject(new AxiosError(errMsg, AxiosError.ETIMEDOUT, config, task));\n }\n const isNetworkError = errMsg === \"downloadFile:fail\";\n if (isNetworkError) {\n reject(\n new AxiosError(errMsg, AxiosError.ERR_NETWORK, config, task)\n );\n }\n }\n reject(new AxiosError(error.errMsg, undefined, config, task));\n task = null;\n },\n complete() {\n onCanceled.unsubscribe();\n },\n });\n\n if (typeof config.onDownloadProgress === \"function\") {\n task.onProgressUpdate(\n progressEventReducer(config.onDownloadProgress, true)\n );\n }\n\n if (typeof config.onHeadersReceived === \"function\") {\n task.onHeadersReceived(config.onHeadersReceived);\n }\n\n onCanceled.subscribe(task, reject);\n });\n};\n\nexport default download;\n","import { AxiosRequestConfig, CanceledError } from \"axios\";\n\nexport default class OnCanceled<T> {\n config: AxiosRequestConfig<T>;\n private onCanceled?: (cancel?: any) => void;\n constructor(config: AxiosRequestConfig<T>) {\n this.config = config;\n }\n\n subscribe(task: any, reject: any) {\n if (this.config.cancelToken || this.config.signal) {\n this.onCanceled = (cancel?: any) => {\n if (!task) {\n return;\n }\n reject(\n !cancel || cancel.type\n ? new CanceledError(undefined, undefined, this.config, task)\n : cancel\n );\n task.abort();\n task = null;\n };\n if (this.config.cancelToken) {\n // @ts-ignore\n this.config.cancelToken.subscribe(this.onCanceled);\n }\n\n if (this.config.signal && this.config.signal.addEventListener) {\n this.config.signal.aborted\n ? this.onCanceled()\n : this.config.signal.addEventListener(\"abort\", this.onCanceled);\n }\n }\n }\n\n unsubscribe() {\n if (this.config.cancelToken) {\n // @ts-ignore\n this.config.cancelToken.unsubscribe(this.onCanceled);\n }\n\n if (this.config.signal && this.config.signal.removeEventListener) {\n this.config.signal.removeEventListener(\"abort\", this.onCanceled);\n }\n }\n}\n","import { Method } from \"../types\";\nimport { resolveUniAppRequestOptions } from \"../utils\";\nimport OnCanceled from \"./onCanceled\";\n// @ts-ignore\nimport settle from \"axios/lib/core/settle\";\nimport { AxiosError, AxiosResponse } from \"axios\";\n\nconst upload: Method = (config, options) => {\n return new Promise((resolve, reject) => {\n const {\n url,\n files,\n fileType,\n file,\n filePath,\n name,\n header,\n timeout,\n formData,\n } = resolveUniAppRequestOptions(config, options);\n const onCanceled = new OnCanceled(config);\n\n let task: UniApp.UploadTask | null = uni.uploadFile({\n url,\n files,\n fileType,\n file,\n filePath,\n name,\n header,\n timeout,\n formData,\n success(result) {\n if (!task) {\n return;\n }\n const response: AxiosResponse = {\n config,\n data: result.data,\n headers: {},\n status: result.statusCode,\n // @ts-ignore\n statusText: result.errMsg ?? \"OK\",\n request: task,\n };\n settle(resolve, reject, response);\n task = null;\n },\n fail(error) {\n const { errMsg = \"\" } = error ?? {};\n if (errMsg) {\n const isTimeoutError = errMsg === \"uploadFile:fail timeout\";\n const isNetworkError = errMsg === \"uploadFile:fail file error\";\n if (isTimeoutError) {\n reject(new AxiosError(errMsg, AxiosError.ETIMEDOUT, config, task));\n }\n if (isNetworkError) {\n reject(\n new AxiosError(errMsg, AxiosError.ERR_NETWORK, config, task)\n );\n }\n }\n reject(new AxiosError(error.errMsg, undefined, config, task));\n task = null;\n },\n complete() {\n onCanceled.unsubscribe();\n },\n });\n if (typeof config.onHeadersReceived === \"function\") {\n task.onHeadersReceived(config.onHeadersReceived);\n }\n onCanceled.subscribe(task, reject);\n });\n};\n\nexport default upload;\n","import { AxiosError, AxiosResponse } from \"axios\";\nimport { Method } from \"../types\";\nimport { resolveUniAppRequestOptions } from \"../utils\";\n// @ts-ignore\nimport settle from \"axios/lib/core/settle\";\nimport OnCanceled from \"./onCanceled\";\n\nconst request: Method = (config, options) => {\n return new Promise((resolve, reject) => {\n const {\n url,\n data,\n header,\n method,\n timeout,\n dataType,\n responseType,\n sslVerify,\n withCredentials,\n firstIpv4,\n } = resolveUniAppRequestOptions(config, options);\n const onCanceled = new OnCanceled(config);\n let task: UniApp.RequestTask | null = uni.request({\n url,\n data,\n header,\n method,\n timeout,\n dataType,\n responseType,\n sslVerify,\n withCredentials,\n firstIpv4,\n success(result) {\n if (!task) {\n return;\n }\n const response: AxiosResponse = {\n config,\n data: result.data,\n headers: result.header,\n status: result.statusCode,\n // @ts-ignore\n statusText: result.errMsg ?? \"OK\",\n request: task,\n cookies: result.cookies,\n };\n settle(resolve, reject, response);\n task = null;\n },\n fail(error) {\n const { errMsg = \"\" } = error ?? {};\n if (errMsg) {\n const isTimeoutError = errMsg === \"request:fail timeout\";\n const isNetworkError = errMsg === \"request:fail\";\n if (isTimeoutError) {\n reject(new AxiosError(errMsg, AxiosError.ETIMEDOUT, config, task));\n }\n if (isNetworkError) {\n reject(\n new AxiosError(errMsg, AxiosError.ERR_NETWORK, config, task)\n );\n }\n }\n reject(new AxiosError(error.errMsg, undefined, config, task));\n task = null;\n },\n complete() {\n onCanceled.unsubscribe();\n },\n });\n\n if (typeof config.onHeadersReceived === \"function\") {\n task.onHeadersReceived(config.onHeadersReceived);\n }\n\n onCanceled.subscribe(task, reject);\n });\n};\n\nexport default request;\n","import { AxiosRequestConfig } from \"axios\";\nimport { Method } from \"../types\";\nimport { getMethodType } from \"../utils\";\nimport download from \"./download\";\nimport upload from \"./upload\";\nimport request from \"./request\";\n\nexport const getMethod = (config: AxiosRequestConfig): Method => {\n const methodType = getMethodType(config);\n switch (methodType) {\n case \"download\":\n return download;\n case \"upload\":\n return upload;\n default:\n return request;\n }\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACGA,sBAAqB;AAErB,2BAA0B;AAE1B,yBAAwB;AAajB,IAAM,gBAAgB,CAAI,WAA8C;AAC7E,QAAM,EAAE,QAAQ,YAAY,MAAM,IAAI;AACtC,QAAM,SAAS,UAAU,kBAAkB;AAC3C,UAAQ,QAAQ;AAAA,IACd,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT;AACE,aAAO;AAAA,EACX;AACF;AAEO,IAAM,iBAAiB,CAAC,gBAA8C;AAC3E,SAAO;AAAA,IACL,GAAG;AAAA,EACL;AACF;AAEO,IAAM,8BAA8B,CACzC,QACA,YACqC;AA1CvC;AA2CE,QAAM,OAAO,OAAO;AACpB,QAAM,eACJ,OAAO,iBAAiB,gBAAgB,gBAAgB;AAC1D,QAAM,WAAW,iBAAiB,SAAS,SAAS;AAEpD,QAAM,iBAAmC,OAAO;AAEhD,MAAI,OAAO,MAAM;AACf,UAAM,WAAW,OAAO,KAAK,YAAY;AACzC,UAAM,WAAW,OAAO,KAAK,WACzB,SAAS,mBAAmB,OAAO,KAAK,QAAQ,CAAC,IACjD;AACJ,mBAAe;AAAA,MACb;AAAA,MACA,WAAW,KAAK,WAAW,MAAM,QAAQ;AAAA,IAC3C;AAAA,EACF;AAEA,QAAM,eAAW,qBAAAA,SAAc,OAAO,SAAS,OAAO,GAAG;AACzD,QAAM,WAAU,sCAAQ,WAAR,mBAAgB,kBAAiB;AACjD,QAAM,UAAM,gBAAAC,SAAS,UAAU,OAAO,QAAQ,OAAO,gBAAgB;AAIrE,QAAM,UAAU,OAAO,WAAW;AAClC,QAAM,kBAAkB,OAAO,mBAAmB;AAClD,QAAM,YAAY,OAAO,aAAa;AACtC,QAAM,YAAY,OAAO,aAAa;AAEtC,MAAI,WAAW,CAAC;AAChB,MAAI,QAAQ,OAAO,SAAS,UAAU;AACpC,QAAI;AACF,iBAAW,KAAK,MAAM,IAAI;AAAA,IAC5B,SAAS,OAAP;AAAA,IAAe;AAAA,EACnB;AAEA,QAAM,SAAS,eAAe,OAAO;AAErC,SAAO;AAAA,IACL,GAAG;AAAA,IACH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;AAEO,IAAM,uBAAuB,CAClC,UACA,qBACG;AACH,MAAI,gBAAgB;AACpB,QAAM,mBAAe,mBAAAC,SAAY,IAAI,GAAG;AAExC,SAAO,CAAC,WAA4C;AAClD,UAAM,SAAS,OAAO;AACtB,UAAM,QAAQ,OAAO;AACrB,UAAM,gBAAgB,SAAS;AAC/B,UAAM,OAAO,aAAa,aAAa;AACvC,UAAM,UAAU,UAAU;AAE1B,oBAAgB;AAEhB,UAAM,OAAY;AAAA,MAChB;AAAA,MACA;AAAA,MACA,UAAU,QAAQ,SAAS,QAAQ;AAAA,MACnC,OAAO;AAAA,MACP,MAAM,OAAO,OAAO;AAAA,MACpB,WAAW,QAAQ,SAAS,WAAW,QAAQ,UAAU,OAAO;AAAA,MAChE,OAAO;AAAA,IACT;AACA,SAAK,mBAAmB,aAAa,YAAY;AACjD,aAAS,IAAI;AAAA,EACf;AACF;;;AC7HA,IAAAC,gBAA0C;AAI1C,oBAAmB;;;ACJnB,mBAAkD;AAElD,IAAqB,aAArB,MAAmC;AAAA,EAGjC,YAAY,QAA+B;AACzC,SAAK,SAAS;AAAA,EAChB;AAAA,EAEA,UAAU,MAAW,QAAa;AAChC,QAAI,KAAK,OAAO,eAAe,KAAK,OAAO,QAAQ;AACjD,WAAK,aAAa,CAAC,WAAiB;AAClC,YAAI,CAAC,MAAM;AACT;AAAA,QACF;AACA;AAAA,UACE,CAAC,UAAU,OAAO,OACd,IAAI,2BAAc,QAAW,QAAW,KAAK,QAAQ,IAAI,IACzD;AAAA,QACN;AACA,aAAK,MAAM;AACX,eAAO;AAAA,MACT;AACA,UAAI,KAAK,OAAO,aAAa;AAE3B,aAAK,OAAO,YAAY,UAAU,KAAK,UAAU;AAAA,MACnD;AAEA,UAAI,KAAK,OAAO,UAAU,KAAK,OAAO,OAAO,kBAAkB;AAC7D,aAAK,OAAO,OAAO,UACf,KAAK,WAAW,IAChB,KAAK,OAAO,OAAO,iBAAiB,SAAS,KAAK,UAAU;AAAA,MAClE;AAAA,IACF;AAAA,EACF;AAAA,EAEA,cAAc;AACZ,QAAI,KAAK,OAAO,aAAa;AAE3B,WAAK,OAAO,YAAY,YAAY,KAAK,UAAU;AAAA,IACrD;AAEA,QAAI,KAAK,OAAO,UAAU,KAAK,OAAO,OAAO,qBAAqB;AAChE,WAAK,OAAO,OAAO,oBAAoB,SAAS,KAAK,UAAU;AAAA,IACjE;AAAA,EACF;AACF;;;ADvCA,IAAM,WAAmB,CAAC,QAAQ,YAAY;AAC5C,SAAO,IAAI,QAAQ,CAAC,SAAS,WAAW;AACtC,UAAM,EAAE,KAAK,QAAQ,SAAS,SAAS,IAAI;AAAA,MACzC;AAAA,MACA;AAAA,IACF;AACA,UAAM,aAAa,IAAI,WAAW,MAAM;AACxC,QAAI,OAAmC,IAAI,aAAa;AAAA,MACtD;AAAA,MACA;AAAA,MACA;AAAA,MAEA;AAAA,MACA,QAAQ,QAAQ;AACd,YAAI,CAAC,MAAM;AACT;AAAA,QACF;AACA,cAAM,WAA0B;AAAA,UAC9B;AAAA,UACA,MAAM,OAAO;AAAA,UACb,SAAS,CAAC;AAAA,UACV,QAAQ,OAAO;AAAA,UAEf,YAAY,OAAO,UAAU;AAAA,UAC7B,SAAS;AAAA,QACX;AACA,0BAAAC,SAAO,SAAS,QAAQ,QAAQ;AAChC,eAAO;AAAA,MACT;AAAA,MACA,KAAK,OAAO;AACV,cAAM,EAAE,SAAS,GAAG,IAAI,SAAS,CAAC;AAClC,YAAI,QAAQ;AACV,gBAAM,iBAAiB,WAAW;AAClC,cAAI,gBAAgB;AAClB,mBAAO,IAAI,yBAAW,QAAQ,yBAAW,WAAW,QAAQ,IAAI,CAAC;AAAA,UACnE;AACA,gBAAM,iBAAiB,WAAW;AAClC,cAAI,gBAAgB;AAClB;AAAA,cACE,IAAI,yBAAW,QAAQ,yBAAW,aAAa,QAAQ,IAAI;AAAA,YAC7D;AAAA,UACF;AAAA,QACF;AACA,eAAO,IAAI,yBAAW,MAAM,QAAQ,QAAW,QAAQ,IAAI,CAAC;AAC5D,eAAO;AAAA,MACT;AAAA,MACA,WAAW;AACT,mBAAW,YAAY;AAAA,MACzB;AAAA,IACF,CAAC;AAED,QAAI,OAAO,OAAO,uBAAuB,YAAY;AACnD,WAAK;AAAA,QACH,qBAAqB,OAAO,oBAAoB,IAAI;AAAA,MACtD;AAAA,IACF;AAEA,QAAI,OAAO,OAAO,sBAAsB,YAAY;AAClD,WAAK,kBAAkB,OAAO,iBAAiB;AAAA,IACjD;AAEA,eAAW,UAAU,MAAM,MAAM;AAAA,EACnC,CAAC;AACH;AAEA,IAAO,mBAAQ;;;AEpEf,IAAAC,iBAAmB;AACnB,IAAAC,gBAA0C;AAE1C,IAAM,SAAiB,CAAC,QAAQ,YAAY;AAC1C,SAAO,IAAI,QAAQ,CAAC,SAAS,WAAW;AACtC,UAAM;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF,IAAI,4BAA4B,QAAQ,OAAO;AAC/C,UAAM,aAAa,IAAI,WAAW,MAAM;AAExC,QAAI,OAAiC,IAAI,WAAW;AAAA,MAClD;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,QAAQ,QAAQ;AACd,YAAI,CAAC,MAAM;AACT;AAAA,QACF;AACA,cAAM,WAA0B;AAAA,UAC9B;AAAA,UACA,MAAM,OAAO;AAAA,UACb,SAAS,CAAC;AAAA,UACV,QAAQ,OAAO;AAAA,UAEf,YAAY,OAAO,UAAU;AAAA,UAC7B,SAAS;AAAA,QACX;AACA,2BAAAC,SAAO,SAAS,QAAQ,QAAQ;AAChC,eAAO;AAAA,MACT;AAAA,MACA,KAAK,OAAO;AACV,cAAM,EAAE,SAAS,GAAG,IAAI,SAAS,CAAC;AAClC,YAAI,QAAQ;AACV,gBAAM,iBAAiB,WAAW;AAClC,gBAAM,iBAAiB,WAAW;AAClC,cAAI,gBAAgB;AAClB,mBAAO,IAAI,yBAAW,QAAQ,yBAAW,WAAW,QAAQ,IAAI,CAAC;AAAA,UACnE;AACA,cAAI,gBAAgB;AAClB;AAAA,cACE,IAAI,yBAAW,QAAQ,yBAAW,aAAa,QAAQ,IAAI;AAAA,YAC7D;AAAA,UACF;AAAA,QACF;AACA,eAAO,IAAI,yBAAW,MAAM,QAAQ,QAAW,QAAQ,IAAI,CAAC;AAC5D,eAAO;AAAA,MACT;AAAA,MACA,WAAW;AACT,mBAAW,YAAY;AAAA,MACzB;AAAA,IACF,CAAC;AACD,QAAI,OAAO,OAAO,sBAAsB,YAAY;AAClD,WAAK,kBAAkB,OAAO,iBAAiB;AAAA,IACjD;AACA,eAAW,UAAU,MAAM,MAAM;AAAA,EACnC,CAAC;AACH;AAEA,IAAO,iBAAQ;;;AC5Ef,IAAAC,gBAA0C;AAI1C,IAAAC,iBAAmB;AAGnB,IAAM,UAAkB,CAAC,QAAQ,YAAY;AAC3C,SAAO,IAAI,QAAQ,CAAC,SAAS,WAAW;AACtC,UAAM;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF,IAAI,4BAA4B,QAAQ,OAAO;AAC/C,UAAM,aAAa,IAAI,WAAW,MAAM;AACxC,QAAI,OAAkC,IAAI,QAAQ;AAAA,MAChD;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,QAAQ,QAAQ;AACd,YAAI,CAAC,MAAM;AACT;AAAA,QACF;AACA,cAAM,WAA0B;AAAA,UAC9B;AAAA,UACA,MAAM,OAAO;AAAA,UACb,SAAS,OAAO;AAAA,UAChB,QAAQ,OAAO;AAAA,UAEf,YAAY,OAAO,UAAU;AAAA,UAC7B,SAAS;AAAA,UACT,SAAS,OAAO;AAAA,QAClB;AACA,2BAAAC,SAAO,SAAS,QAAQ,QAAQ;AAChC,eAAO;AAAA,MACT;AAAA,MACA,KAAK,OAAO;AACV,cAAM,EAAE,SAAS,GAAG,IAAI,SAAS,CAAC;AAClC,YAAI,QAAQ;AACV,gBAAM,iBAAiB,WAAW;AAClC,gBAAM,iBAAiB,WAAW;AAClC,cAAI,gBAAgB;AAClB,mBAAO,IAAI,yBAAW,QAAQ,yBAAW,WAAW,QAAQ,IAAI,CAAC;AAAA,UACnE;AACA,cAAI,gBAAgB;AAClB;AAAA,cACE,IAAI,yBAAW,QAAQ,yBAAW,aAAa,QAAQ,IAAI;AAAA,YAC7D;AAAA,UACF;AAAA,QACF;AACA,eAAO,IAAI,yBAAW,MAAM,QAAQ,QAAW,QAAQ,IAAI,CAAC;AAC5D,eAAO;AAAA,MACT;AAAA,MACA,WAAW;AACT,mBAAW,YAAY;AAAA,MACzB;AAAA,IACF,CAAC;AAED,QAAI,OAAO,OAAO,sBAAsB,YAAY;AAClD,WAAK,kBAAkB,OAAO,iBAAiB;AAAA,IACjD;AAEA,eAAW,UAAU,MAAM,MAAM;AAAA,EACnC,CAAC;AACH;AAEA,IAAO,kBAAQ;;;ACzER,IAAM,YAAY,CAAC,WAAuC;AAC/D,QAAM,aAAa,cAAc,MAAM;AACvC,UAAQ,YAAY;AAAA,IAClB,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT;AACE,aAAO;AAAA,EACX;AACF;;;ANZO,IAAM,2BAA2B,CACtC,cAA2B,CAAC,MACX;AACjB,QAAM,UAAU,eAAe,WAAW;AAC1C,QAAM,gBAA8B,CAAC,WAA+B;AAClE,UAAM,SAAS,UAAU,MAAM;AAC/B,WAAO,OAAO,QAAQ,OAAO;AAAA,EAC/B;AACA,SAAO;AACT;","names":["buildFullPath","buildURL","speedometer","import_axios","settle","import_settle","import_axios","settle","import_axios","import_settle","settle"]}
@@ -0,0 +1,10 @@
1
+ import { AxiosAdapter } from 'axios';
2
+
3
+ interface Options {
4
+ }
5
+ interface UserOptions extends Partial<Options> {
6
+ }
7
+
8
+ declare const createUniAppAxiosAdapter: <D extends string | AnyObject | ArrayBuffer | undefined>(userOptions?: UserOptions) => AxiosAdapter;
9
+
10
+ export { createUniAppAxiosAdapter };
package/dist/index.js ADDED
@@ -0,0 +1,362 @@
1
+ // src/utils.ts
2
+ import buildURL from "axios/lib/helpers/buildURL.js";
3
+ import buildFullPath from "axios/lib/core/buildFullPath.js";
4
+ import speedometer from "axios/lib/helpers/speedometer.js";
5
+ var getMethodType = (config) => {
6
+ const { method: rawMethod = "GET" } = config;
7
+ const method = rawMethod.toLocaleLowerCase();
8
+ switch (method) {
9
+ case "download":
10
+ return "download";
11
+ case "upload":
12
+ return "upload";
13
+ default:
14
+ return "request";
15
+ }
16
+ };
17
+ var resolveOptions = (userOptions) => {
18
+ return {
19
+ ...userOptions
20
+ };
21
+ };
22
+ var resolveUniAppRequestOptions = (config, options) => {
23
+ var _a;
24
+ const data = config.data;
25
+ const responseType = config.responseType === "arraybuffer" ? "arraybuffer" : "text";
26
+ const dataType = responseType === "text" ? "json" : void 0;
27
+ const requestHeaders = config.headers;
28
+ if (config.auth) {
29
+ const username = config.auth.username || "";
30
+ const password = config.auth.password ? unescape(encodeURIComponent(config.auth.password)) : "";
31
+ requestHeaders.set(
32
+ "Authorization",
33
+ "Basic " + btoa(username + ":" + password)
34
+ );
35
+ }
36
+ const fullPath = buildFullPath(config.baseURL, config.url);
37
+ const method = ((_a = config == null ? void 0 : config.method) == null ? void 0 : _a.toUpperCase()) ?? "GET";
38
+ const url = buildURL(fullPath, config.params, config.paramsSerializer);
39
+ const timeout = config.timeout || 6e4;
40
+ const withCredentials = config.withCredentials ?? false;
41
+ const sslVerify = config.sslVerify ?? true;
42
+ const firstIpv4 = config.firstIpv4 ?? false;
43
+ let formData = {};
44
+ if (data && typeof data === "string") {
45
+ try {
46
+ formData = JSON.parse(data);
47
+ } catch (error) {
48
+ }
49
+ }
50
+ const header = requestHeaders.toJSON();
51
+ return {
52
+ ...config,
53
+ url,
54
+ data,
55
+ header,
56
+ method,
57
+ responseType,
58
+ dataType,
59
+ timeout,
60
+ withCredentials,
61
+ sslVerify,
62
+ firstIpv4,
63
+ formData
64
+ };
65
+ };
66
+ var progressEventReducer = (listener, isDownloadStream) => {
67
+ let bytesNotified = 0;
68
+ const _speedometer = speedometer(50, 250);
69
+ return (result) => {
70
+ const loaded = result.totalBytesWritten;
71
+ const total = result.totalBytesExpectedToWrite;
72
+ const progressBytes = loaded - bytesNotified;
73
+ const rate = _speedometer(progressBytes);
74
+ const inRange = loaded <= total;
75
+ bytesNotified = loaded;
76
+ const data = {
77
+ loaded,
78
+ total,
79
+ progress: total ? loaded / total : void 0,
80
+ bytes: progressBytes,
81
+ rate: rate ? rate : void 0,
82
+ estimated: rate && total && inRange ? (total - loaded) / rate : void 0,
83
+ event: result
84
+ };
85
+ data[isDownloadStream ? "download" : "upload"] = true;
86
+ listener(data);
87
+ };
88
+ };
89
+
90
+ // src/methods/download.ts
91
+ import { AxiosError } from "axios";
92
+ import settle from "axios/lib/core/settle";
93
+
94
+ // src/methods/onCanceled.ts
95
+ import { CanceledError } from "axios";
96
+ var OnCanceled = class {
97
+ constructor(config) {
98
+ this.config = config;
99
+ }
100
+ subscribe(task, reject) {
101
+ if (this.config.cancelToken || this.config.signal) {
102
+ this.onCanceled = (cancel) => {
103
+ if (!task) {
104
+ return;
105
+ }
106
+ reject(
107
+ !cancel || cancel.type ? new CanceledError(void 0, void 0, this.config, task) : cancel
108
+ );
109
+ task.abort();
110
+ task = null;
111
+ };
112
+ if (this.config.cancelToken) {
113
+ this.config.cancelToken.subscribe(this.onCanceled);
114
+ }
115
+ if (this.config.signal && this.config.signal.addEventListener) {
116
+ this.config.signal.aborted ? this.onCanceled() : this.config.signal.addEventListener("abort", this.onCanceled);
117
+ }
118
+ }
119
+ }
120
+ unsubscribe() {
121
+ if (this.config.cancelToken) {
122
+ this.config.cancelToken.unsubscribe(this.onCanceled);
123
+ }
124
+ if (this.config.signal && this.config.signal.removeEventListener) {
125
+ this.config.signal.removeEventListener("abort", this.onCanceled);
126
+ }
127
+ }
128
+ };
129
+
130
+ // src/methods/download.ts
131
+ var download = (config, options) => {
132
+ return new Promise((resolve, reject) => {
133
+ const { url, header, timeout, filePath } = resolveUniAppRequestOptions(
134
+ config,
135
+ options
136
+ );
137
+ const onCanceled = new OnCanceled(config);
138
+ let task = uni.downloadFile({
139
+ url,
140
+ header,
141
+ timeout,
142
+ filePath,
143
+ success(result) {
144
+ if (!task) {
145
+ return;
146
+ }
147
+ const response = {
148
+ config,
149
+ data: result.tempFilePath,
150
+ headers: {},
151
+ status: result.statusCode,
152
+ statusText: result.errMsg ?? "OK",
153
+ request: task
154
+ };
155
+ settle(resolve, reject, response);
156
+ task = null;
157
+ },
158
+ fail(error) {
159
+ const { errMsg = "" } = error ?? {};
160
+ if (errMsg) {
161
+ const isTimeoutError = errMsg === "downloadFile:fail timeout";
162
+ if (isTimeoutError) {
163
+ reject(new AxiosError(errMsg, AxiosError.ETIMEDOUT, config, task));
164
+ }
165
+ const isNetworkError = errMsg === "downloadFile:fail";
166
+ if (isNetworkError) {
167
+ reject(
168
+ new AxiosError(errMsg, AxiosError.ERR_NETWORK, config, task)
169
+ );
170
+ }
171
+ }
172
+ reject(new AxiosError(error.errMsg, void 0, config, task));
173
+ task = null;
174
+ },
175
+ complete() {
176
+ onCanceled.unsubscribe();
177
+ }
178
+ });
179
+ if (typeof config.onDownloadProgress === "function") {
180
+ task.onProgressUpdate(
181
+ progressEventReducer(config.onDownloadProgress, true)
182
+ );
183
+ }
184
+ if (typeof config.onHeadersReceived === "function") {
185
+ task.onHeadersReceived(config.onHeadersReceived);
186
+ }
187
+ onCanceled.subscribe(task, reject);
188
+ });
189
+ };
190
+ var download_default = download;
191
+
192
+ // src/methods/upload.ts
193
+ import settle2 from "axios/lib/core/settle";
194
+ import { AxiosError as AxiosError2 } from "axios";
195
+ var upload = (config, options) => {
196
+ return new Promise((resolve, reject) => {
197
+ const {
198
+ url,
199
+ files,
200
+ fileType,
201
+ file,
202
+ filePath,
203
+ name,
204
+ header,
205
+ timeout,
206
+ formData
207
+ } = resolveUniAppRequestOptions(config, options);
208
+ const onCanceled = new OnCanceled(config);
209
+ let task = uni.uploadFile({
210
+ url,
211
+ files,
212
+ fileType,
213
+ file,
214
+ filePath,
215
+ name,
216
+ header,
217
+ timeout,
218
+ formData,
219
+ success(result) {
220
+ if (!task) {
221
+ return;
222
+ }
223
+ const response = {
224
+ config,
225
+ data: result.data,
226
+ headers: {},
227
+ status: result.statusCode,
228
+ statusText: result.errMsg ?? "OK",
229
+ request: task
230
+ };
231
+ settle2(resolve, reject, response);
232
+ task = null;
233
+ },
234
+ fail(error) {
235
+ const { errMsg = "" } = error ?? {};
236
+ if (errMsg) {
237
+ const isTimeoutError = errMsg === "uploadFile:fail timeout";
238
+ const isNetworkError = errMsg === "uploadFile:fail file error";
239
+ if (isTimeoutError) {
240
+ reject(new AxiosError2(errMsg, AxiosError2.ETIMEDOUT, config, task));
241
+ }
242
+ if (isNetworkError) {
243
+ reject(
244
+ new AxiosError2(errMsg, AxiosError2.ERR_NETWORK, config, task)
245
+ );
246
+ }
247
+ }
248
+ reject(new AxiosError2(error.errMsg, void 0, config, task));
249
+ task = null;
250
+ },
251
+ complete() {
252
+ onCanceled.unsubscribe();
253
+ }
254
+ });
255
+ if (typeof config.onHeadersReceived === "function") {
256
+ task.onHeadersReceived(config.onHeadersReceived);
257
+ }
258
+ onCanceled.subscribe(task, reject);
259
+ });
260
+ };
261
+ var upload_default = upload;
262
+
263
+ // src/methods/request.ts
264
+ import { AxiosError as AxiosError3 } from "axios";
265
+ import settle3 from "axios/lib/core/settle";
266
+ var request = (config, options) => {
267
+ return new Promise((resolve, reject) => {
268
+ const {
269
+ url,
270
+ data,
271
+ header,
272
+ method,
273
+ timeout,
274
+ dataType,
275
+ responseType,
276
+ sslVerify,
277
+ withCredentials,
278
+ firstIpv4
279
+ } = resolveUniAppRequestOptions(config, options);
280
+ const onCanceled = new OnCanceled(config);
281
+ let task = uni.request({
282
+ url,
283
+ data,
284
+ header,
285
+ method,
286
+ timeout,
287
+ dataType,
288
+ responseType,
289
+ sslVerify,
290
+ withCredentials,
291
+ firstIpv4,
292
+ success(result) {
293
+ if (!task) {
294
+ return;
295
+ }
296
+ const response = {
297
+ config,
298
+ data: result.data,
299
+ headers: result.header,
300
+ status: result.statusCode,
301
+ statusText: result.errMsg ?? "OK",
302
+ request: task,
303
+ cookies: result.cookies
304
+ };
305
+ settle3(resolve, reject, response);
306
+ task = null;
307
+ },
308
+ fail(error) {
309
+ const { errMsg = "" } = error ?? {};
310
+ if (errMsg) {
311
+ const isTimeoutError = errMsg === "request:fail timeout";
312
+ const isNetworkError = errMsg === "request:fail";
313
+ if (isTimeoutError) {
314
+ reject(new AxiosError3(errMsg, AxiosError3.ETIMEDOUT, config, task));
315
+ }
316
+ if (isNetworkError) {
317
+ reject(
318
+ new AxiosError3(errMsg, AxiosError3.ERR_NETWORK, config, task)
319
+ );
320
+ }
321
+ }
322
+ reject(new AxiosError3(error.errMsg, void 0, config, task));
323
+ task = null;
324
+ },
325
+ complete() {
326
+ onCanceled.unsubscribe();
327
+ }
328
+ });
329
+ if (typeof config.onHeadersReceived === "function") {
330
+ task.onHeadersReceived(config.onHeadersReceived);
331
+ }
332
+ onCanceled.subscribe(task, reject);
333
+ });
334
+ };
335
+ var request_default = request;
336
+
337
+ // src/methods/index.ts
338
+ var getMethod = (config) => {
339
+ const methodType = getMethodType(config);
340
+ switch (methodType) {
341
+ case "download":
342
+ return download_default;
343
+ case "upload":
344
+ return upload_default;
345
+ default:
346
+ return request_default;
347
+ }
348
+ };
349
+
350
+ // src/index.ts
351
+ var createUniAppAxiosAdapter = (userOptions = {}) => {
352
+ const options = resolveOptions(userOptions);
353
+ const uniappAdapter = (config) => {
354
+ const method = getMethod(config);
355
+ return method(config, options);
356
+ };
357
+ return uniappAdapter;
358
+ };
359
+ export {
360
+ createUniAppAxiosAdapter
361
+ };
362
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/utils.ts","../src/methods/download.ts","../src/methods/onCanceled.ts","../src/methods/upload.ts","../src/methods/request.ts","../src/methods/index.ts","../src/index.ts"],"sourcesContent":["// @ts-ignore\nimport utils from \"axios/lib/utils.js\";\n// @ts-ignore\nimport buildURL from \"axios/lib/helpers/buildURL.js\";\n// @ts-ignore\nimport buildFullPath from \"axios/lib/core/buildFullPath.js\";\n// @ts-ignore\nimport speedometer from \"axios/lib/helpers/speedometer.js\";\n\nimport {\n ResolvedOptions,\n MethodType,\n UserOptions,\n UniNetworkRequestWithoutCallback,\n} from \"./types\";\nimport axios, {\n AxiosRequestConfig,\n AxiosHeaders as AxiosHeadersType,\n} from \"axios\";\n\nexport const getMethodType = <T>(config: AxiosRequestConfig<T>): MethodType => {\n const { method: rawMethod = \"GET\" } = config;\n const method = rawMethod.toLocaleLowerCase();\n switch (method) {\n case \"download\":\n return \"download\";\n case \"upload\":\n return \"upload\";\n default:\n return \"request\";\n }\n};\n\nexport const resolveOptions = (userOptions: UserOptions): ResolvedOptions => {\n return {\n ...userOptions,\n };\n};\n\nexport const resolveUniAppRequestOptions = (\n config: AxiosRequestConfig,\n options: ResolvedOptions\n): UniNetworkRequestWithoutCallback => {\n const data = config.data;\n const responseType =\n config.responseType === \"arraybuffer\" ? \"arraybuffer\" : \"text\";\n const dataType = responseType === \"text\" ? \"json\" : undefined;\n // @ts-ignore\n const requestHeaders: AxiosHeadersType = config.headers;\n\n if (config.auth) {\n const username = config.auth.username || \"\";\n const password = config.auth.password\n ? unescape(encodeURIComponent(config.auth.password))\n : \"\";\n requestHeaders.set(\n \"Authorization\",\n \"Basic \" + btoa(username + \":\" + password)\n );\n }\n\n const fullPath = buildFullPath(config.baseURL, config.url);\n const method = (config?.method?.toUpperCase() ?? \"GET\") as unknown as any;\n const url = buildURL(fullPath, config.params, config.paramsSerializer);\n\n // set uni-app default value\n // request\n const timeout = config.timeout || 60000;\n const withCredentials = config.withCredentials ?? false;\n const sslVerify = config.sslVerify ?? true;\n const firstIpv4 = config.firstIpv4 ?? false;\n // upload\n let formData = {};\n if (data && typeof data === \"string\") {\n try {\n formData = JSON.parse(data);\n } catch (error) {}\n }\n\n const header = requestHeaders.toJSON();\n\n return {\n ...config,\n url,\n data,\n header,\n method,\n responseType,\n dataType,\n timeout,\n withCredentials,\n sslVerify,\n firstIpv4,\n formData,\n };\n};\n\nexport const progressEventReducer = (\n listener: any,\n isDownloadStream: boolean\n) => {\n let bytesNotified = 0;\n const _speedometer = speedometer(50, 250);\n\n return (result: UniApp.OnProgressDownloadResult) => {\n const loaded = result.totalBytesWritten;\n const total = result.totalBytesExpectedToWrite;\n const progressBytes = loaded - bytesNotified;\n const rate = _speedometer(progressBytes);\n const inRange = loaded <= total;\n\n bytesNotified = loaded;\n\n const data: any = {\n loaded,\n total,\n progress: total ? loaded / total : undefined,\n bytes: progressBytes,\n rate: rate ? rate : undefined,\n estimated: rate && total && inRange ? (total - loaded) / rate : undefined,\n event: result,\n };\n data[isDownloadStream ? \"download\" : \"upload\"] = true;\n listener(data);\n };\n};\n","import { AxiosError, AxiosResponse } from \"axios\";\nimport { Method } from \"../types\";\nimport { progressEventReducer, resolveUniAppRequestOptions } from \"../utils\";\n// @ts-ignore\nimport settle from \"axios/lib/core/settle\";\nimport OnCanceled from \"./onCanceled\";\n\nconst download: Method = (config, options) => {\n return new Promise((resolve, reject) => {\n const { url, header, timeout, filePath } = resolveUniAppRequestOptions(\n config,\n options\n );\n const onCanceled = new OnCanceled(config);\n let task: UniApp.DownloadTask | null = uni.downloadFile({\n url,\n header,\n timeout,\n // @ts-ignore\n filePath,\n success(result) {\n if (!task) {\n return;\n }\n const response: AxiosResponse = {\n config,\n data: result.tempFilePath,\n headers: {},\n status: result.statusCode,\n // @ts-ignore\n statusText: result.errMsg ?? \"OK\",\n request: task,\n };\n settle(resolve, reject, response);\n task = null;\n },\n fail(error) {\n const { errMsg = \"\" } = error ?? {};\n if (errMsg) {\n const isTimeoutError = errMsg === \"downloadFile:fail timeout\";\n if (isTimeoutError) {\n reject(new AxiosError(errMsg, AxiosError.ETIMEDOUT, config, task));\n }\n const isNetworkError = errMsg === \"downloadFile:fail\";\n if (isNetworkError) {\n reject(\n new AxiosError(errMsg, AxiosError.ERR_NETWORK, config, task)\n );\n }\n }\n reject(new AxiosError(error.errMsg, undefined, config, task));\n task = null;\n },\n complete() {\n onCanceled.unsubscribe();\n },\n });\n\n if (typeof config.onDownloadProgress === \"function\") {\n task.onProgressUpdate(\n progressEventReducer(config.onDownloadProgress, true)\n );\n }\n\n if (typeof config.onHeadersReceived === \"function\") {\n task.onHeadersReceived(config.onHeadersReceived);\n }\n\n onCanceled.subscribe(task, reject);\n });\n};\n\nexport default download;\n","import { AxiosRequestConfig, CanceledError } from \"axios\";\n\nexport default class OnCanceled<T> {\n config: AxiosRequestConfig<T>;\n private onCanceled?: (cancel?: any) => void;\n constructor(config: AxiosRequestConfig<T>) {\n this.config = config;\n }\n\n subscribe(task: any, reject: any) {\n if (this.config.cancelToken || this.config.signal) {\n this.onCanceled = (cancel?: any) => {\n if (!task) {\n return;\n }\n reject(\n !cancel || cancel.type\n ? new CanceledError(undefined, undefined, this.config, task)\n : cancel\n );\n task.abort();\n task = null;\n };\n if (this.config.cancelToken) {\n // @ts-ignore\n this.config.cancelToken.subscribe(this.onCanceled);\n }\n\n if (this.config.signal && this.config.signal.addEventListener) {\n this.config.signal.aborted\n ? this.onCanceled()\n : this.config.signal.addEventListener(\"abort\", this.onCanceled);\n }\n }\n }\n\n unsubscribe() {\n if (this.config.cancelToken) {\n // @ts-ignore\n this.config.cancelToken.unsubscribe(this.onCanceled);\n }\n\n if (this.config.signal && this.config.signal.removeEventListener) {\n this.config.signal.removeEventListener(\"abort\", this.onCanceled);\n }\n }\n}\n","import { Method } from \"../types\";\nimport { resolveUniAppRequestOptions } from \"../utils\";\nimport OnCanceled from \"./onCanceled\";\n// @ts-ignore\nimport settle from \"axios/lib/core/settle\";\nimport { AxiosError, AxiosResponse } from \"axios\";\n\nconst upload: Method = (config, options) => {\n return new Promise((resolve, reject) => {\n const {\n url,\n files,\n fileType,\n file,\n filePath,\n name,\n header,\n timeout,\n formData,\n } = resolveUniAppRequestOptions(config, options);\n const onCanceled = new OnCanceled(config);\n\n let task: UniApp.UploadTask | null = uni.uploadFile({\n url,\n files,\n fileType,\n file,\n filePath,\n name,\n header,\n timeout,\n formData,\n success(result) {\n if (!task) {\n return;\n }\n const response: AxiosResponse = {\n config,\n data: result.data,\n headers: {},\n status: result.statusCode,\n // @ts-ignore\n statusText: result.errMsg ?? \"OK\",\n request: task,\n };\n settle(resolve, reject, response);\n task = null;\n },\n fail(error) {\n const { errMsg = \"\" } = error ?? {};\n if (errMsg) {\n const isTimeoutError = errMsg === \"uploadFile:fail timeout\";\n const isNetworkError = errMsg === \"uploadFile:fail file error\";\n if (isTimeoutError) {\n reject(new AxiosError(errMsg, AxiosError.ETIMEDOUT, config, task));\n }\n if (isNetworkError) {\n reject(\n new AxiosError(errMsg, AxiosError.ERR_NETWORK, config, task)\n );\n }\n }\n reject(new AxiosError(error.errMsg, undefined, config, task));\n task = null;\n },\n complete() {\n onCanceled.unsubscribe();\n },\n });\n if (typeof config.onHeadersReceived === \"function\") {\n task.onHeadersReceived(config.onHeadersReceived);\n }\n onCanceled.subscribe(task, reject);\n });\n};\n\nexport default upload;\n","import { AxiosError, AxiosResponse } from \"axios\";\nimport { Method } from \"../types\";\nimport { resolveUniAppRequestOptions } from \"../utils\";\n// @ts-ignore\nimport settle from \"axios/lib/core/settle\";\nimport OnCanceled from \"./onCanceled\";\n\nconst request: Method = (config, options) => {\n return new Promise((resolve, reject) => {\n const {\n url,\n data,\n header,\n method,\n timeout,\n dataType,\n responseType,\n sslVerify,\n withCredentials,\n firstIpv4,\n } = resolveUniAppRequestOptions(config, options);\n const onCanceled = new OnCanceled(config);\n let task: UniApp.RequestTask | null = uni.request({\n url,\n data,\n header,\n method,\n timeout,\n dataType,\n responseType,\n sslVerify,\n withCredentials,\n firstIpv4,\n success(result) {\n if (!task) {\n return;\n }\n const response: AxiosResponse = {\n config,\n data: result.data,\n headers: result.header,\n status: result.statusCode,\n // @ts-ignore\n statusText: result.errMsg ?? \"OK\",\n request: task,\n cookies: result.cookies,\n };\n settle(resolve, reject, response);\n task = null;\n },\n fail(error) {\n const { errMsg = \"\" } = error ?? {};\n if (errMsg) {\n const isTimeoutError = errMsg === \"request:fail timeout\";\n const isNetworkError = errMsg === \"request:fail\";\n if (isTimeoutError) {\n reject(new AxiosError(errMsg, AxiosError.ETIMEDOUT, config, task));\n }\n if (isNetworkError) {\n reject(\n new AxiosError(errMsg, AxiosError.ERR_NETWORK, config, task)\n );\n }\n }\n reject(new AxiosError(error.errMsg, undefined, config, task));\n task = null;\n },\n complete() {\n onCanceled.unsubscribe();\n },\n });\n\n if (typeof config.onHeadersReceived === \"function\") {\n task.onHeadersReceived(config.onHeadersReceived);\n }\n\n onCanceled.subscribe(task, reject);\n });\n};\n\nexport default request;\n","import { AxiosRequestConfig } from \"axios\";\nimport { Method } from \"../types\";\nimport { getMethodType } from \"../utils\";\nimport download from \"./download\";\nimport upload from \"./upload\";\nimport request from \"./request\";\n\nexport const getMethod = (config: AxiosRequestConfig): Method => {\n const methodType = getMethodType(config);\n switch (methodType) {\n case \"download\":\n return download;\n case \"upload\":\n return upload;\n default:\n return request;\n }\n};\n","import { AxiosAdapter, AxiosRequestConfig } from \"axios\";\nimport { getMethod } from \"./methods\";\nimport { UserOptions } from \"./types\";\nimport { resolveOptions } from \"./utils\";\n\nexport const createUniAppAxiosAdapter = (\n userOptions: UserOptions = {}\n): AxiosAdapter => {\n const options = resolveOptions(userOptions);\n const uniappAdapter: AxiosAdapter = (config: AxiosRequestConfig) => {\n const method = getMethod(config);\n return method(config, options);\n };\n return uniappAdapter;\n};\n"],"mappings":"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","names":["settle","AxiosError","AxiosError","settle","settle","AxiosError"]}
package/package.json ADDED
@@ -0,0 +1,68 @@
1
+ {
2
+ "name": "@uni-helper/axios-adapter",
3
+ "type": "module",
4
+ "version": "0.0.1",
5
+ "license": "MIT",
6
+ "packageManager": "pnpm@7.12.0",
7
+ "description": "The Axios adapter for uniapp",
8
+ "homepage": "https://github.com/uni-helper/axios-adapter",
9
+ "repository": {
10
+ "type": "git",
11
+ "url": "git+https://github.com/uni-helper/axios-adapter.git"
12
+ },
13
+ "keywords": [
14
+ "uniapp",
15
+ "axios",
16
+ "uni-app",
17
+ "axiosAdapter"
18
+ ],
19
+ "sideEffects": false,
20
+ "exports": {
21
+ ".": {
22
+ "types": "./dist/index.d.ts",
23
+ "require": "./dist/index.cjs",
24
+ "import": "./dist/index.js"
25
+ },
26
+ "./client": {
27
+ "types": "./client.d.ts"
28
+ }
29
+ },
30
+ "main": "./dist/index.js",
31
+ "module": "./dist/index.js",
32
+ "types": "./dist/index.d.ts",
33
+ "files": [
34
+ "dist",
35
+ "./client.d.ts"
36
+ ],
37
+ "scripts": {
38
+ "build": "tsup",
39
+ "dev": "tsup --watch",
40
+ "play": "nr -C playground dev:h5",
41
+ "prepublishOnly": "nr build",
42
+ "release": "bumpp && npm publish",
43
+ "test": "vitest",
44
+ "typecheck": "tsc --noEmit"
45
+ },
46
+ "peerDependencies": {
47
+ "axios": "*"
48
+ },
49
+ "devDependencies": {
50
+ "@dcloudio/types": "^3.0.19",
51
+ "@types/node": "^18.11.9",
52
+ "bumpp": "^8.2.1",
53
+ "eslint": "^8.27.0",
54
+ "pnpm": "^7.15.0",
55
+ "rimraf": "^3.0.2",
56
+ "tsup": "^6.4.0",
57
+ "typescript": "^4.8.4",
58
+ "vite": "^3.2.3"
59
+ },
60
+ "dependencies": {
61
+ "axios": "^1.1.3"
62
+ },
63
+ "pnpm": {
64
+ "patchedDependencies": {
65
+ "axios@1.1.3": "patches/axios@1.1.3.patch"
66
+ }
67
+ }
68
+ }