@uni-helper/axios-adapter 0.0.7 → 1.4.0

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 CHANGED
@@ -2,19 +2,17 @@
2
2
 
3
3
  # @uni-helper/axios-adapter
4
4
 
5
- > Uniapp Axios Adapter for Vue2 and Vue3.
5
+ > 适用于 Vue2 Vue3 uniapp Axios 适配器
6
6
 
7
- English | [简体中文](./README.zh-CN.md)
8
-
9
- ## Installation
7
+ ## 安装
10
8
 
11
9
  ```
12
10
  pnpm i @uni-helper/axios-adapter axios
13
11
  ```
14
12
 
15
- ## Usage
13
+ ## 使用
16
14
 
17
- ### Basic Usage
15
+ ### 基本用法
18
16
 
19
17
  ```ts
20
18
  import axios from "axios";
@@ -25,7 +23,7 @@ const instance = axios.create({
25
23
  });
26
24
  ```
27
25
 
28
- ### with useAxios
26
+ ### useAxios 一起使用
29
27
 
30
28
  ```ts
31
29
  import axios from "axios";
@@ -39,7 +37,7 @@ const instance = axios.create({
39
37
  const { data, isFinished } = useAxios("/posts", instance);
40
38
  ```
41
39
 
42
- ### Upload and Download
40
+ ### 上传和下载
43
41
 
44
42
  ```ts
45
43
  import axios from "axios";
@@ -49,10 +47,10 @@ const instance = axios.create({
49
47
  adapter: createUniAppAxiosAdapter(),
50
48
  });
51
49
 
52
- // a fake file
50
+ // 一个假文件
53
51
  const data = new File([new Blob()], "emptyFile");
54
52
 
55
- // download
53
+ // 下载
56
54
  instance.download("/");
57
55
  // or
58
56
  instance.request({
@@ -60,7 +58,7 @@ instance.request({
60
58
  method: "download",
61
59
  });
62
60
 
63
- // upload
61
+ // 上传
64
62
  instance.upload("/", data);
65
63
  // or
66
64
  instance.request({
@@ -70,7 +68,71 @@ instance.request({
70
68
  });
71
69
  ```
72
70
 
73
- ## Client Types
71
+ ### 小程序
72
+
73
+ 小程序没有 FormData 和 Blob 对象, 需要自定义一个 vite 插件来兼容:
74
+
75
+ ```ts
76
+ {
77
+ name: "vite-plugin-uni-axios",
78
+ transform(code, id) {
79
+ if (process.env.UNI_PLATFORM?.includes("mp")) {
80
+ if (id.includes("/form-data/lib/browser.js")) {
81
+ return {
82
+ code: code.replace("window", "globalThis"),
83
+ };
84
+ }
85
+ if (id.includes("/axios/lib/platform/browser/classes/FormData.js")) {
86
+ return {
87
+ code: `class FormData {};\nexport default FormData;`,
88
+ };
89
+ }
90
+ if (id.includes("/axios/lib/platform/browser/classes/Blob.js")) {
91
+ return {
92
+ code: `class Blob {};\nexport default Blob;`,
93
+ };
94
+ }
95
+ }
96
+ },
97
+ },
98
+ ```
99
+
100
+ 如果你需要 FormData 和 Blob 的话:
101
+
102
+ ```bash
103
+ pnpm add miniprogram-formdata miniprogram-blob
104
+ ```
105
+
106
+ ```ts
107
+ {
108
+ name: "vite-plugin-uni-axios",
109
+ transform(code, id) {
110
+ if (process.env.UNI_PLATFORM?.includes("mp")) {
111
+ if (id.includes("/form-data/lib/browser.js")) {
112
+ return {
113
+ code: code.replace("window", "globalThis"),
114
+ };
115
+ }
116
+ if (id.includes("/axios/lib/platform/browser/classes/FormData.js")) {
117
+ return {
118
+ code: `import FormData from 'miniprogram-formdata';\nexport default FormData;`,
119
+ };
120
+ }
121
+ if (id.includes("/axios/lib/platform/browser/classes/Blob.js")) {
122
+ return {
123
+ code: `import Blob from 'miniprogram-blob';\nexport default Blob;`,
124
+ };
125
+ }
126
+ }
127
+ },
128
+ },
129
+ ```
130
+
131
+ 如果你使用的是 vue cli,那么你需要编写一个类似的 webpack 插件
132
+
133
+ ## 客户端类型
134
+
135
+ 提供了 upload 和 download 方法的类型提示,及 AxiosRequestConfig 支持传递 uniapp 特有参数
74
136
 
75
137
  ```ts
76
138
  /// <reference types="@uni-helper/axios-adapter/client" />
package/dist/index.cjs CHANGED
@@ -3,7 +3,11 @@
3
3
  var axios = require('axios');
4
4
  var xe = require('form-data');
5
5
 
6
- var{toString:oe}=Object.prototype,{getPrototypeOf:q}=Object,_=(e=>t=>{let n=oe.call(t);return e[n]||(e[n]=n.slice(8,-1).toLowerCase())})(Object.create(null)),E=e=>(e=e.toLowerCase(),t=>_(t)===e),re=E("URLSearchParams"),se=e=>{if(_(e)!=="object")return !1;let t=q(e);return (t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(Symbol.toStringTag in e)&&!(Symbol.iterator in e)},{isArray:F}=Array,ie=(e,t,n)=>{e=String(e),(n===void 0||n>e.length)&&(n=e.length),n-=t.length;let o=e.indexOf(t,n);return o!==-1&&o===n},M=e=>t=>typeof t===e,ae=M("function"),ue=e=>e!==null&&typeof e=="object",le=(e,t,n,o)=>{let r,i,u,y={};if(t=t||{},e==null)return t;do{for(r=Object.getOwnPropertyNames(e),i=r.length;i-- >0;)u=r[i],(!o||o(u,e,t))&&!y[u]&&(t[u]=e[u],y[u]=!0);e=n!==!1&&q(e);}while(e&&(!n||n(e,t))&&e!==Object.prototype);return t},de=E("FileList"),ce=M("undefined"),fe=E("Date"),pe=E("Blob"),me=E("ArrayBuffer"),ye=(e=>t=>e&&t instanceof e)(typeof Uint8Array!="undefined"&&q(Uint8Array)),he=e=>{if(!e)return null;if(F(e))return e;let t=e.length;if(!Ae(t))return null;let n=new Array(t);for(;t-- >0;)n[t]=e[t];return n};function we(e,t,{allOwnKeys:n=!1}={}){if(e===null||typeof e=="undefined")return;let o,r;if(typeof e!="object"&&(e=[e]),F(e))for(o=0,r=e.length;o<r;o++)t.call(null,e[o],o,e);else {let i=n?Object.getOwnPropertyNames(e):Object.keys(e),u=i.length,y;for(o=0;o<u;o++)y=i[o],t.call(null,e[y],y,e);}}var be=M("string"),Ae=M("number"),l={isURLSearchParams:re,isPlainObject:se,isArray:F,endsWith:ie,isFunction:ae,isObject:ue,toFlatObject:le,isUndefined:ce,isDate:fe,isBlob:pe,isArrayBuffer:me,isTypedArray:ye,isFileList:de,toArray:he,forEach:we,isString:be};var H=xe;function P(e){return l.isPlainObject(e)||l.isArray(e)}function W(e){return l.endsWith(e,"[]")?e.slice(0,-2):e}function I(e,t,n){return e?e.concat(t).map(function(r,i){return r=W(r),!n&&i?"["+r+"]":r}).join(n?".":""):t}function ge(e){return l.isArray(e)&&!e.some(P)}var Te=l.toFlatObject(l,{},null,function(t){return /^is[A-Z]/.test(t)});function Ee(e){return e&&l.isFunction(e.append)&&e[Symbol.toStringTag]==="FormData"&&e[Symbol.iterator]}function Oe(e,t,n){if(!l.isObject(e))throw new TypeError("target must be an object");t=t||new(H||FormData),n=l.toFlatObject(n,{metaTokens:!0,dots:!1,indexes:!1},!1,function(a,c){return !l.isUndefined(c[a])});let o=n.metaTokens,r=n.visitor||f,i=n.dots,u=n.indexes,h=(n.Blob||typeof Blob!="undefined"&&Blob)&&Ee(t);if(!l.isFunction(r))throw new TypeError("visitor must be a function");function d(s){if(s===null)return "";if(l.isDate(s))return s.toISOString();if(!h&&l.isBlob(s))throw new axios.AxiosError("Blob is not supported. Use a Buffer instead.");return l.isArrayBuffer(s)||l.isTypedArray(s)?h&&typeof Blob=="function"?new Blob([s]):Buffer.from(s):s}function f(s,a,c){let p=s;if(s&&!c&&typeof s=="object"){if(l.endsWith(a,"{}"))a=o?a:a.slice(0,-2),s=JSON.stringify(s);else if(l.isArray(s)&&ge(s)||l.isFileList(s)||l.endsWith(a,"[]")&&(p=l.toArray(s)))return a=W(a),p.forEach(function(x,S){!(l.isUndefined(x)||x===null)&&t.append(u===!0?I([a],S,i):u===null?a:a+"[]",d(x));}),!1}return P(s)?!0:(t.append(I(c,a,i),d(s)),!1)}let m=[],b=Object.assign(Te,{defaultVisitor:f,convertValue:d,isVisitable:P});function A(s,a){if(!l.isUndefined(s)){if(m.indexOf(s)!==-1)throw Error("Circular reference detected in "+a.join("."));m.push(s),l.forEach(s,function(p,w){(!(l.isUndefined(p)||p===null)&&r.call(t,p,l.isString(w)?w.trim():w,a,b))===!0&&A(p,a?a.concat(w):[w]);}),m.pop();}}if(!l.isObject(e))throw new TypeError("data must be an object");return A(e),t}var k=Oe;function z(e){let t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,function(o){return t[o]})}function K(e,t){this._pairs=[],e&&k(e,this,t);}var V=K.prototype;V.append=function(t,n){this._pairs.push([t,n]);};V.toString=function(t){let n=t?o=>t.call(this,o,z):z;return this._pairs.map(function(r){return n(r[0])+"="+n(r[1])},"").join("&")};var J=K;function Ue(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function B(e,t,n){if(!t)return e;let o=n&&n.encode||Ue,r=n&&n.serialize,i;if(r?i=r(t,n):i=l.isURLSearchParams(t)?t.toString():new J(t,n).toString(o),i){let u=e.indexOf("#");u!==-1&&(e=e.slice(0,u)),e+=(e.indexOf("?")===-1?"?":"&")+i;}return e}function L(e){return /^([a-z][a-z\d+\-.]*:)?\/\//i.test(e)}function N(e,t){return t?e.replace(/\/+$/,"")+"/"+t.replace(/^\/+/,""):e}function v(e,t){return e&&!L(t)?N(e,t):t}function Ce(e,t){e=e||10;let n=new Array(e),o=new Array(e),r=0,i=0,u;return t=t!==void 0?t:1e3,function(h){let d=Date.now(),f=o[i];u||(u=d),n[r]=h,o[r]=d;let m=i,b=0;for(;m!==r;)b+=n[m++],m=m%e;if(r=(r+1)%e,r===i&&(i=(i+1)%e),d-u<t)return;let A=f&&d-f;return A?Math.round(b*1e3/A):void 0}}var G=Ce;var $=e=>{let{method:t="GET"}=e;switch(t.toLocaleLowerCase()){case"download":return "download";case"upload":return "upload";default:return "request"}},Q=e=>({...e}),T=(e,t)=>{var a,c,p,w,x;let n=e.data,o=e.responseType==="arraybuffer"?"arraybuffer":"text",r=o==="text"?"json":void 0,i=e.headers;if(e.auth){let S=e.auth.username||"",ne=e.auth.password?unescape(encodeURIComponent(e.auth.password)):"";i.set("Authorization","Basic "+btoa(S+":"+ne));}let u=v(e.baseURL,e.url),y=(c=(a=e==null?void 0:e.method)==null?void 0:a.toUpperCase())!=null?c:"GET",h=B(u,e.params,e.paramsSerializer),d=e.timeout||6e4,f=(p=e.withCredentials)!=null?p:!1,m=(w=e.sslVerify)!=null?w:!0,b=(x=e.firstIpv4)!=null?x:!1,A={};if(n&&typeof n=="string")try{A=JSON.parse(n);}catch(S){}let s=i.toJSON();return {...e,url:h,data:n,header:s,method:y,responseType:o,dataType:r,timeout:d,withCredentials:f,sslVerify:m,firstIpv4:b,formData:A}},Z=(e,t)=>{let n=0,o=G(50,250);return r=>{let i=r.totalBytesWritten,u=r.totalBytesExpectedToWrite,y=i-n,h=o(y),d=i<=u;n=i;let f={loaded:i,total:u,progress:u?i/u:void 0,bytes:y,rate:h||void 0,estimated:h&&u&&d?(u-i)/h:void 0,event:r};f[t?"download":"upload"]=!0,e(f);}};function g(e,t,n){let o=n.config.validateStatus;!n.status||!o||o(n.status)?e(n):t(new axios.AxiosError("Request failed with status code "+n.status,[axios.AxiosError.ERR_BAD_REQUEST,axios.AxiosError.ERR_BAD_RESPONSE][Math.floor(n.status/100)-4],n.config,n.request,n));}var R=class{constructor(t){this.config=t;}subscribe(t,n){(this.config.cancelToken||this.config.signal)&&(this.onCanceled=o=>{!t||(n(!o||o.type?new axios.CanceledError(void 0,void 0,this.config,t):o),t.abort(),t=null);},this.config.cancelToken&&this.config.cancelToken.subscribe(this.onCanceled),this.config.signal&&this.config.signal.addEventListener&&(this.config.signal.aborted?this.onCanceled():this.config.signal.addEventListener("abort",this.onCanceled)));}unsubscribe(){this.config.cancelToken&&this.config.cancelToken.unsubscribe(this.onCanceled),this.config.signal&&this.config.signal.removeEventListener&&this.config.signal.removeEventListener("abort",this.onCanceled);}};var Me=(e,t)=>new Promise((n,o)=>{let{url:r,header:i,timeout:u,filePath:y}=T(e),h=new R(e),d=uni.downloadFile({url:r,header:i,timeout:u,filePath:y,success(f){var b;if(!d)return;let m={config:e,data:f.tempFilePath,headers:{},status:f.statusCode,statusText:(b=f.errMsg)!=null?b:"OK",request:d};g(n,o,m),d=null;},fail(f){let{errMsg:m=""}=f!=null?f:{};m&&(m==="downloadFile:fail timeout"&&o(new axios.AxiosError(m,axios.AxiosError.ETIMEDOUT,e,d)),m==="downloadFile:fail"&&o(new axios.AxiosError(m,axios.AxiosError.ERR_NETWORK,e,d))),o(new axios.AxiosError(f.errMsg,void 0,e,d)),d=null;},complete(){h.unsubscribe();}});typeof e.onDownloadProgress=="function"&&d.onProgressUpdate(Z(e.onDownloadProgress,!0)),typeof e.onHeadersReceived=="function"&&d.onHeadersReceived(e.onHeadersReceived),h.subscribe(d,o);}),X=Me;var qe=(e,t)=>new Promise((n,o)=>{let{url:r,files:i,fileType:u,file:y,filePath:h,name:d,header:f,timeout:m,formData:b}=T(e),A=new R(e),s=uni.uploadFile({url:r,files:i,fileType:u,file:y,filePath:h,name:d,header:f,timeout:m,formData:b,success(a){var p;if(!s)return;let c={config:e,data:a.data,headers:{},status:a.statusCode,statusText:(p=a.errMsg)!=null?p:"OK",request:s};g(n,o,c),s=null;},fail(a){let{errMsg:c=""}=a!=null?a:{};if(c){let p=c==="uploadFile:fail timeout",w=c==="uploadFile:fail file error";p&&o(new axios.AxiosError(c,axios.AxiosError.ETIMEDOUT,e,s)),w&&o(new axios.AxiosError(c,axios.AxiosError.ERR_NETWORK,e,s));}o(new axios.AxiosError(a.errMsg,void 0,e,s)),s=null;},complete(){A.unsubscribe();}});typeof e.onHeadersReceived=="function"&&s.onHeadersReceived(e.onHeadersReceived),A.subscribe(s,o);}),Y=qe;var Fe=(e,t)=>new Promise((n,o)=>{let{url:r,data:i,header:u,method:y,timeout:h,dataType:d,responseType:f,sslVerify:m,withCredentials:b,firstIpv4:A}=T(e),s=new R(e),a=uni.request({url:r,data:i,header:u,method:y,timeout:h,dataType:d,responseType:f,sslVerify:m,withCredentials:b,firstIpv4:A,success(c){var w;if(!a)return;let p={config:e,data:c.data,headers:c.header,status:c.statusCode,statusText:(w=c.errMsg)!=null?w:"OK",request:a,cookies:c.cookies};g(n,o,p),a=null;},fail(c){let{errMsg:p=""}=c!=null?c:{};if(p){let w=p==="request:fail timeout",x=p==="request:fail";w&&o(new axios.AxiosError(p,axios.AxiosError.ETIMEDOUT,e,a)),x&&o(new axios.AxiosError(p,axios.AxiosError.ERR_NETWORK,e,a));}o(new axios.AxiosError(c.errMsg,void 0,e,a)),a=null;},complete(){s.unsubscribe();}});typeof e.onHeadersReceived=="function"&&a.onHeadersReceived(e.onHeadersReceived),s.subscribe(a,o);}),j=Fe;var ee=e=>{switch($(e)){case"download":return X;case"upload":return Y;default:return j}};var Bt=(e={})=>{let t=Q(e);return axios.Axios.prototype.download=function(o,r){return this.request({url:o,method:"download",...r})},axios.Axios.prototype.upload=function(o,r,i){return this.request({url:o,method:"upload",data:r,...i})},o=>ee(o)(o,t)};
6
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
7
+
8
+ var xe__default = /*#__PURE__*/_interopDefault(xe);
9
+
10
+ var{toString:oe}=Object.prototype,{getPrototypeOf:q}=Object,_=(e=>t=>{let n=oe.call(t);return e[n]||(e[n]=n.slice(8,-1).toLowerCase())})(Object.create(null)),E=e=>(e=e.toLowerCase(),t=>_(t)===e),re=E("URLSearchParams"),se=e=>{if(_(e)!=="object")return !1;let t=q(e);return (t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(Symbol.toStringTag in e)&&!(Symbol.iterator in e)},{isArray:F}=Array,ie=(e,t,n)=>{e=String(e),(n===void 0||n>e.length)&&(n=e.length),n-=t.length;let o=e.indexOf(t,n);return o!==-1&&o===n},M=e=>t=>typeof t===e,ae=M("function"),ue=e=>e!==null&&typeof e=="object",le=(e,t,n,o)=>{let r,i,u,y={};if(t=t||{},e==null)return t;do{for(r=Object.getOwnPropertyNames(e),i=r.length;i-- >0;)u=r[i],(!o||o(u,e,t))&&!y[u]&&(t[u]=e[u],y[u]=!0);e=n!==!1&&q(e);}while(e&&(!n||n(e,t))&&e!==Object.prototype);return t},de=E("FileList"),ce=M("undefined"),fe=E("Date"),pe=E("Blob"),me=E("ArrayBuffer"),ye=(e=>t=>e&&t instanceof e)(typeof Uint8Array!="undefined"&&q(Uint8Array)),he=e=>{if(!e)return null;if(F(e))return e;let t=e.length;if(!Ae(t))return null;let n=new Array(t);for(;t-- >0;)n[t]=e[t];return n};function we(e,t,{allOwnKeys:n=!1}={}){if(e===null||typeof e=="undefined")return;let o,r;if(typeof e!="object"&&(e=[e]),F(e))for(o=0,r=e.length;o<r;o++)t.call(null,e[o],o,e);else {let i=n?Object.getOwnPropertyNames(e):Object.keys(e),u=i.length,y;for(o=0;o<u;o++)y=i[o],t.call(null,e[y],y,e);}}var be=M("string"),Ae=M("number"),l={isURLSearchParams:re,isPlainObject:se,isArray:F,endsWith:ie,isFunction:ae,isObject:ue,toFlatObject:le,isUndefined:ce,isDate:fe,isBlob:pe,isArrayBuffer:me,isTypedArray:ye,isFileList:de,toArray:he,forEach:we,isString:be};var H=xe__default.default;function P(e){return l.isPlainObject(e)||l.isArray(e)}function W(e){return l.endsWith(e,"[]")?e.slice(0,-2):e}function I(e,t,n){return e?e.concat(t).map(function(r,i){return r=W(r),!n&&i?"["+r+"]":r}).join(n?".":""):t}function ge(e){return l.isArray(e)&&!e.some(P)}var Te=l.toFlatObject(l,{},null,function(t){return /^is[A-Z]/.test(t)});function Ee(e){return e&&l.isFunction(e.append)&&e[Symbol.toStringTag]==="FormData"&&e[Symbol.iterator]}function Oe(e,t,n){if(!l.isObject(e))throw new TypeError("target must be an object");t=t||new(H||FormData),n=l.toFlatObject(n,{metaTokens:!0,dots:!1,indexes:!1},!1,function(a,c){return !l.isUndefined(c[a])});let o=n.metaTokens,r=n.visitor||f,i=n.dots,u=n.indexes,h=(n.Blob||typeof Blob!="undefined"&&Blob)&&Ee(t);if(!l.isFunction(r))throw new TypeError("visitor must be a function");function d(s){if(s===null)return "";if(l.isDate(s))return s.toISOString();if(!h&&l.isBlob(s))throw new axios.AxiosError("Blob is not supported. Use a Buffer instead.");return l.isArrayBuffer(s)||l.isTypedArray(s)?h&&typeof Blob=="function"?new Blob([s]):Buffer.from(s):s}function f(s,a,c){let p=s;if(s&&!c&&typeof s=="object"){if(l.endsWith(a,"{}"))a=o?a:a.slice(0,-2),s=JSON.stringify(s);else if(l.isArray(s)&&ge(s)||l.isFileList(s)||l.endsWith(a,"[]")&&(p=l.toArray(s)))return a=W(a),p.forEach(function(x,S){!(l.isUndefined(x)||x===null)&&t.append(u===!0?I([a],S,i):u===null?a:a+"[]",d(x));}),!1}return P(s)?!0:(t.append(I(c,a,i),d(s)),!1)}let m=[],b=Object.assign(Te,{defaultVisitor:f,convertValue:d,isVisitable:P});function A(s,a){if(!l.isUndefined(s)){if(m.indexOf(s)!==-1)throw Error("Circular reference detected in "+a.join("."));m.push(s),l.forEach(s,function(p,w){(!(l.isUndefined(p)||p===null)&&r.call(t,p,l.isString(w)?w.trim():w,a,b))===!0&&A(p,a?a.concat(w):[w]);}),m.pop();}}if(!l.isObject(e))throw new TypeError("data must be an object");return A(e),t}var k=Oe;function z(e){let t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,function(o){return t[o]})}function K(e,t){this._pairs=[],e&&k(e,this,t);}var V=K.prototype;V.append=function(t,n){this._pairs.push([t,n]);};V.toString=function(t){let n=t?o=>t.call(this,o,z):z;return this._pairs.map(function(r){return n(r[0])+"="+n(r[1])},"").join("&")};var J=K;function Ue(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function B(e,t,n){if(!t)return e;let o=n&&n.encode||Ue,r=n&&n.serialize,i;if(r?i=r(t,n):i=l.isURLSearchParams(t)?t.toString():new J(t,n).toString(o),i){let u=e.indexOf("#");u!==-1&&(e=e.slice(0,u)),e+=(e.indexOf("?")===-1?"?":"&")+i;}return e}function L(e){return /^([a-z][a-z\d+\-.]*:)?\/\//i.test(e)}function N(e,t){return t?e.replace(/\/+$/,"")+"/"+t.replace(/^\/+/,""):e}function v(e,t){return e&&!L(t)?N(e,t):t}function Ce(e,t){e=e||10;let n=new Array(e),o=new Array(e),r=0,i=0,u;return t=t!==void 0?t:1e3,function(h){let d=Date.now(),f=o[i];u||(u=d),n[r]=h,o[r]=d;let m=i,b=0;for(;m!==r;)b+=n[m++],m=m%e;if(r=(r+1)%e,r===i&&(i=(i+1)%e),d-u<t)return;let A=f&&d-f;return A?Math.round(b*1e3/A):void 0}}var G=Ce;var $=e=>{let{method:t="GET"}=e;switch(t.toLocaleLowerCase()){case"download":return "download";case"upload":return "upload";default:return "request"}},Q=e=>({...e}),T=(e,t)=>{var a,c,p,w,x;let n=e.data,o=e.responseType==="arraybuffer"?"arraybuffer":"text",r=o==="text"?"json":void 0,i=e.headers;if(e.auth){let S=e.auth.username||"",ne=e.auth.password?unescape(encodeURIComponent(e.auth.password)):"";i.set("Authorization","Basic "+btoa(S+":"+ne));}let u=v(e.baseURL,e.url),y=(c=(a=e==null?void 0:e.method)==null?void 0:a.toUpperCase())!=null?c:"GET",h=B(u,e.params,e.paramsSerializer),d=e.timeout||6e4,f=(p=e.withCredentials)!=null?p:!1,m=(w=e.sslVerify)!=null?w:!0,b=(x=e.firstIpv4)!=null?x:!1,A={};if(n&&typeof n=="string")try{A=JSON.parse(n);}catch(S){}let s=i.toJSON();return {...e,url:h,data:n,header:s,method:y,responseType:o,dataType:r,timeout:d,withCredentials:f,sslVerify:m,firstIpv4:b,formData:A}},Z=(e,t)=>{let n=0,o=G(50,250);return r=>{let i=r.totalBytesWritten,u=r.totalBytesExpectedToWrite,y=i-n,h=o(y),d=i<=u;n=i;let f={loaded:i,total:u,progress:u?i/u:void 0,bytes:y,rate:h||void 0,estimated:h&&u&&d?(u-i)/h:void 0,event:r};f[t?"download":"upload"]=!0,e(f);}};function g(e,t,n){let o=n.config.validateStatus;!n.status||!o||o(n.status)?e(n):t(new axios.AxiosError("Request failed with status code "+n.status,[axios.AxiosError.ERR_BAD_REQUEST,axios.AxiosError.ERR_BAD_RESPONSE][Math.floor(n.status/100)-4],n.config,n.request,n));}var R=class{constructor(t){this.config=t;}subscribe(t,n){(this.config.cancelToken||this.config.signal)&&(this.onCanceled=o=>{t&&(n(!o||o.type?new axios.CanceledError(void 0,void 0,this.config,t):o),t.abort(),t=null);},this.config.cancelToken&&this.config.cancelToken.subscribe(this.onCanceled),this.config.signal&&this.config.signal.addEventListener&&(this.config.signal.aborted?this.onCanceled():this.config.signal.addEventListener("abort",this.onCanceled)));}unsubscribe(){this.config.cancelToken&&this.config.cancelToken.unsubscribe(this.onCanceled),this.config.signal&&this.config.signal.removeEventListener&&this.config.signal.removeEventListener("abort",this.onCanceled);}};var Me=(e,t)=>new Promise((n,o)=>{let{url:r,header:i,timeout:u,filePath:y}=T(e),h=new R(e),d=uni.downloadFile({url:r,header:i,timeout:u,filePath:y,success(f){var b;if(!d)return;let m={config:e,data:f.tempFilePath,headers:{},status:f.statusCode,statusText:(b=f.errMsg)!=null?b:"OK",request:d};g(n,o,m),d=null;},fail(f){let{errMsg:m=""}=f!=null?f:{};m&&(m==="downloadFile:fail timeout"&&o(new axios.AxiosError(m,axios.AxiosError.ETIMEDOUT,e,d)),m==="downloadFile:fail"&&o(new axios.AxiosError(m,axios.AxiosError.ERR_NETWORK,e,d))),o(new axios.AxiosError(f.errMsg,void 0,e,d)),d=null;},complete(){h.unsubscribe();}});typeof e.onDownloadProgress=="function"&&d.onProgressUpdate(Z(e.onDownloadProgress,!0)),typeof e.onHeadersReceived=="function"&&d.onHeadersReceived(e.onHeadersReceived),h.subscribe(d,o);}),X=Me;var qe=(e,t)=>new Promise((n,o)=>{let{url:r,files:i,fileType:u,file:y,filePath:h,name:d,header:f,timeout:m,formData:b}=T(e),A=new R(e),s=uni.uploadFile({url:r,files:i,fileType:u,file:y,filePath:h,name:d,header:f,timeout:m,formData:b,success(a){var p;if(!s)return;let c={config:e,data:a.data,headers:{},status:a.statusCode,statusText:(p=a.errMsg)!=null?p:"OK",request:s};g(n,o,c),s=null;},fail(a){let{errMsg:c=""}=a!=null?a:{};if(c){let p=c==="uploadFile:fail timeout",w=c==="uploadFile:fail file error";p&&o(new axios.AxiosError(c,axios.AxiosError.ETIMEDOUT,e,s)),w&&o(new axios.AxiosError(c,axios.AxiosError.ERR_NETWORK,e,s));}o(new axios.AxiosError(a.errMsg,void 0,e,s)),s=null;},complete(){A.unsubscribe();}});typeof e.onHeadersReceived=="function"&&s.onHeadersReceived(e.onHeadersReceived),A.subscribe(s,o);}),Y=qe;var Fe=(e,t)=>new Promise((n,o)=>{let{url:r,data:i,header:u,method:y,timeout:h,dataType:d,responseType:f,sslVerify:m,withCredentials:b,firstIpv4:A}=T(e),s=new R(e),a=uni.request({url:r,data:i,header:u,method:y,timeout:h,dataType:d,responseType:f,sslVerify:m,withCredentials:b,firstIpv4:A,success(c){var w;if(!a)return;let p={config:e,data:c.data,headers:c.header,status:c.statusCode,statusText:(w=c.errMsg)!=null?w:"OK",request:a,cookies:c.cookies};g(n,o,p),a=null;},fail(c){let{errMsg:p=""}=c!=null?c:{};if(p){let w=p==="request:fail timeout",x=p==="request:fail";w&&o(new axios.AxiosError(p,axios.AxiosError.ETIMEDOUT,e,a)),x&&o(new axios.AxiosError(p,axios.AxiosError.ERR_NETWORK,e,a));}o(new axios.AxiosError(c.errMsg,void 0,e,a)),a=null;},complete(){s.unsubscribe();}});typeof e.onHeadersReceived=="function"&&a.onHeadersReceived(e.onHeadersReceived),s.subscribe(a,o);}),j=Fe;var ee=e=>{switch($(e)){case"download":return X;case"upload":return Y;default:return j}};var Bt=(e={})=>{let t=Q(e);return axios.Axios.prototype.download=function(o,r){return this.request({url:o,method:"download",...r})},axios.Axios.prototype.upload=function(o,r,i){return this.request({url:o,method:"upload",data:r,...i})},o=>ee(o)(o,t)};
7
11
 
8
12
  exports.createUniAppAxiosAdapter = Bt;
9
13
  //# sourceMappingURL=out.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts","../src/axiosLib/utils.ts","../src/axiosLib/env/classes/FormData.ts","../src/axiosLib/helpers/toFormData.ts","../src/axiosLib/helpers/AxiosURLSearchParams.ts","../src/axiosLib/helpers/buildURL.ts","../src/axiosLib/helpers/isAbsoluteURL.ts","../src/axiosLib/helpers/combineURLs.ts","../src/axiosLib/core/buildFullPath.ts","../src/axiosLib/helpers/speedometer.ts","../src/utils.ts","../src/methods/download.ts","../src/axiosLib/core/settle.ts","../src/methods/onCanceled.ts","../src/methods/upload.ts","../src/methods/request.ts","../src/methods/index.ts"],"names":["Axios","toString","getPrototypeOf","kindOf","cache","thing","str","kindOfTest","type","isURLSearchParams","isPlainObject","val","prototype","isArray","endsWith","searchString","position","lastIndex","typeOfTest","isFunction","isObject","toFlatObject","sourceObj","destObj","filter","propFilter","props","prop","merged","isFileList","isUndefined","isDate","isBlob","isArrayBuffer","isTypedArray","TypedArray","toArray","i","isNumber","arr","forEach","obj","fn","allOwnKeys","l","keys","len","key","isString","utils_default","FormData","FormData_default","AxiosError","isVisitable","removeBrackets","renderKey","path","dots","token","isFlatArray","predicates","isSpecCompliant","toFormData","formData","options","option","source","metaTokens","visitor","defaultVisitor","indexes","useBlob","convertValue","value","el","index","stack","exposedHelpers","build","toFormData_default","encode","charMap","match","AxiosURLSearchParams","params","name","encoder","_encode","pair","AxiosURLSearchParams_default","buildURL","url","serializeFn","serializedParams","hashmarkIndex","isAbsoluteURL","combineURLs","baseURL","relativeURL","buildFullPath","requestedURL","speedometer","samplesCount","min","bytes","timestamps","head","tail","firstSampleTS","chunkLength","now","startedAt","bytesCount","passed","speedometer_default","getMethodType","config","rawMethod","resolveOptions","userOptions","resolveUniAppRequestOptions","_a","_b","_c","_d","_e","data","responseType","dataType","requestHeaders","username","password","fullPath","method","timeout","withCredentials","sslVerify","firstIpv4","error","header","progressEventReducer","listener","isDownloadStream","bytesNotified","_speedometer","result","loaded","total","progressBytes","rate","inRange","settle","resolve","reject","response","validateStatus","CanceledError","OnCanceled","task","cancel","download","filePath","onCanceled","errMsg","download_default","upload","files","fileType","file","isTimeoutError","isNetworkError","upload_default","request","request_default","getMethod","createUniAppAxiosAdapter"],"mappings":"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","sourcesContent":["import { Axios, 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 Axios.prototype.download = function (url, config) {\n return this.request({\n url,\n method: \"download\",\n ...config,\n });\n };\n Axios.prototype.upload = function (url, data, config) {\n return this.request({\n url,\n method: \"upload\",\n data,\n ...config,\n });\n };\n const uniappAdapter: AxiosAdapter = (config: AxiosRequestConfig) => {\n const method = getMethod(config);\n return method(config, options);\n };\n return uniappAdapter;\n};\n","const { toString } = Object.prototype;\nconst { getPrototypeOf } = Object;\n\nconst kindOf = ((cache) => (thing: any) => {\n const str = toString.call(thing);\n return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n})(Object.create(null));\n\nconst kindOfTest = (type: string) => {\n type = type.toLowerCase();\n return (thing: any) => kindOf(thing) === type;\n};\n\nconst isURLSearchParams = kindOfTest(\"URLSearchParams\");\n/**\n * Determine if a value is a plain Object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a plain Object, otherwise false\n */\nconst isPlainObject = (val: any): boolean => {\n if (kindOf(val) !== \"object\") {\n return false;\n }\n\n const prototype = getPrototypeOf(val);\n return (\n (prototype === null ||\n prototype === Object.prototype ||\n Object.getPrototypeOf(prototype) === null) &&\n !(Symbol.toStringTag in val) &&\n !(Symbol.iterator in val)\n );\n};\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n *\n * @returns {boolean} True if value is an Array, otherwise false\n */\nconst { isArray } = Array;\n\n/**\n * Determines whether a string ends with the characters of a specified string\n *\n * @param {String} str\n * @param {String} searchString\n * @param {Number} [position= 0]\n *\n * @returns {boolean}\n */\nconst endsWith = (\n str: string,\n searchString: string,\n position?: number\n): boolean => {\n str = String(str);\n if (position === undefined || position > str.length) {\n position = str.length;\n }\n position -= searchString.length;\n const lastIndex = str.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n};\nconst typeOfTest = (type: string) => (thing: any) => typeof thing === type;\n\n/**\n * Determine if a value is a Function\n *\n * @param {*} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nconst isFunction = typeOfTest(\"function\");\n\n/**\n * Determine if a value is an Object\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an Object, otherwise false\n */\nconst isObject = (thing: any): boolean =>\n thing !== null && typeof thing === \"object\";\n\n/**\n * Resolve object with deep prototype chain to a flat object\n * @param {Object} sourceObj source object\n * @param {Object} [destObj]\n * @param {Function|Boolean} [filter]\n * @param {Function} [propFilter]\n *\n * @returns {Object}\n */\nconst toFlatObject = (\n sourceObj: object,\n destObj: object,\n filter: Function | boolean | null,\n propFilter: Function\n): object => {\n let props;\n let i;\n let prop;\n const merged = {};\n\n destObj = destObj || {};\n // eslint-disable-next-line no-eq-null,eqeqeq\n if (sourceObj == null) return destObj;\n\n do {\n props = Object.getOwnPropertyNames(sourceObj);\n i = props.length;\n while (i-- > 0) {\n prop = props[i];\n if (\n (!propFilter || propFilter(prop, sourceObj, destObj)) &&\n // @ts-expect-error\n !merged[prop]\n ) {\n // @ts-expect-error\n destObj[prop] = sourceObj[prop];\n // @ts-expect-error\n merged[prop] = true;\n }\n }\n sourceObj = filter !== false && getPrototypeOf(sourceObj);\n } while (\n sourceObj &&\n // @ts-expect-error\n (!filter || filter(sourceObj, destObj)) &&\n sourceObj !== Object.prototype\n );\n\n return destObj;\n};\n\n/**\n * Determine if a value is a FileList\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFileList = kindOfTest(\"FileList\");\n\n/**\n * Determine if a value is undefined\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nconst isUndefined = typeOfTest(\"undefined\");\n\n/**\n * Determine if a value is a Date\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Date, otherwise false\n */\nconst isDate = kindOfTest(\"Date\");\n\n/**\n * Determine if a value is a Blob\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nconst isBlob = kindOfTest(\"Blob\");\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nconst isArrayBuffer = kindOfTest(\"ArrayBuffer\");\n\n/**\n * Checking if the Uint8Array exists and if it does, it returns a function that checks if the\n * thing passed in is an instance of Uint8Array\n *\n * @param {TypedArray}\n *\n * @returns {Array}\n */\n// eslint-disable-next-line func-names\nconst isTypedArray = ((TypedArray) => {\n // eslint-disable-next-line func-names\n return (thing: any) => {\n return TypedArray && thing instanceof TypedArray;\n };\n})(typeof Uint8Array !== \"undefined\" && getPrototypeOf(Uint8Array));\n/**\n * Returns new array from array like object or null if failed\n *\n * @param {*} [thing]\n *\n * @returns {?Array}\n */\nconst toArray = (thing: any): Array<any> | null => {\n if (!thing) return null;\n if (isArray(thing)) return thing;\n let i = thing.length;\n if (!isNumber(i)) return null;\n const arr = new Array(i);\n while (i-- > 0) {\n arr[i] = thing[i];\n }\n return arr;\n};\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n *\n * @param {Boolean} [allOwnKeys = false]\n * @returns {any}\n */\nfunction forEach(\n obj: string | any[] | null,\n fn: {\n call: (arg0: null, arg1: any, arg2: string | number, arg3: any[]) => void;\n },\n { allOwnKeys = false } = {}\n) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === \"undefined\") {\n return;\n }\n\n let i;\n let l;\n\n // Force an array if not already something iterable\n if (typeof obj !== \"object\") {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n const keys = allOwnKeys\n ? Object.getOwnPropertyNames(obj)\n : Object.keys(obj);\n const len = keys.length;\n let key;\n\n for (i = 0; i < len; i++) {\n key = keys[i];\n fn.call(null, obj[key], key, obj);\n }\n }\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a String, otherwise false\n */\nconst isString = typeOfTest(\"string\");\nconst isNumber = typeOfTest(\"number\");\n\nexport default {\n isURLSearchParams,\n isPlainObject,\n isArray,\n endsWith,\n isFunction,\n isObject,\n toFlatObject,\n isUndefined,\n isDate,\n isBlob,\n isArrayBuffer,\n isTypedArray,\n isFileList,\n toArray,\n forEach,\n isString,\n};\n","import FormData from 'form-data';\nexport default FormData;\n","\"use strict\";\n\nimport utils from \"../utils\";\nimport envFormData from \"../env/classes/FormData\";\nimport { AxiosError } from \"axios\";\n\n/**\n * Determines if the given thing is a array or js object.\n *\n * @param {string} thing - The object or array to be visited.\n *\n * @returns {boolean}\n */\nfunction isVisitable(thing: any) {\n return utils.isPlainObject(thing) || utils.isArray(thing);\n}\n\n/**\n * It removes the brackets from the end of a string\n *\n * @param {string} key - The key of the parameter.\n *\n * @returns {string} the key without the brackets.\n */\nfunction removeBrackets(key: any) {\n return utils.endsWith(key, \"[]\") ? key.slice(0, -2) : key;\n}\n\n/**\n * It takes a path, a key, and a boolean, and returns a string\n *\n * @param {string} path - The path to the current key.\n * @param {string} key - The key of the current object being iterated over.\n * @param {string} dots - If true, the key will be rendered with dots instead of brackets.\n *\n * @returns {string} The path to the current key.\n */\nfunction renderKey(path: any, key: any, dots: any) {\n if (!path) return key;\n return path\n .concat(key)\n .map(function each(token: any, i: any) {\n // eslint-disable-next-line no-param-reassign\n token = removeBrackets(token);\n return !dots && i ? \"[\" + token + \"]\" : token;\n })\n .join(dots ? \".\" : \"\");\n}\n\n/**\n * If the array is an array and none of its elements are visitable, then it's a flat array.\n *\n * @param {Array<any>} arr - The array to check\n *\n * @returns {boolean}\n */\nfunction isFlatArray(arr: any) {\n return utils.isArray(arr) && !arr.some(isVisitable);\n}\n\nconst predicates = utils.toFlatObject(\n utils,\n {},\n null,\n function filter(prop: any) {\n return /^is[A-Z]/.test(prop);\n }\n);\n\n/**\n * If the thing is a FormData object, return true, otherwise return false.\n *\n * @param {unknown} thing - The thing to check.\n *\n * @returns {boolean}\n */\nfunction isSpecCompliant(thing: any) {\n return (\n thing &&\n utils.isFunction(thing.append) &&\n thing[Symbol.toStringTag] === \"FormData\" &&\n thing[Symbol.iterator]\n );\n}\n\n/**\n * Convert a data object to FormData\n *\n * @param {Object} obj\n * @param {?Object} [formData]\n * @param {?Object} [options]\n * @param {Function} [options.visitor]\n * @param {Boolean} [options.metaTokens = true]\n * @param {Boolean} [options.dots = false]\n * @param {?Boolean} [options.indexes = false]\n *\n * @returns {Object}\n **/\n\n/**\n * It converts an object into a FormData object\n *\n * @param {Object<any, any>} obj - The object to convert to form data.\n * @param {string} formData - The FormData object to append to.\n * @param {Object<string, any>} options\n *\n * @returns\n */\nfunction toFormData(obj: any, formData: any, options: any) {\n if (!utils.isObject(obj)) {\n throw new TypeError(\"target must be an object\");\n }\n\n // eslint-disable-next-line no-param-reassign\n formData = formData || new (envFormData || FormData)();\n\n // eslint-disable-next-line no-param-reassign\n options = utils.toFlatObject(\n options,\n {\n metaTokens: true,\n dots: false,\n indexes: false,\n },\n false,\n function defined(option: any, source: any) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n return !utils.isUndefined(source[option]);\n }\n );\n\n const metaTokens = options.metaTokens;\n // eslint-disable-next-line no-use-before-define\n const visitor = options.visitor || defaultVisitor;\n const dots = options.dots;\n const indexes = options.indexes;\n const _Blob = options.Blob || (typeof Blob !== \"undefined\" && Blob);\n const useBlob = _Blob && isSpecCompliant(formData);\n\n if (!utils.isFunction(visitor)) {\n throw new TypeError(\"visitor must be a function\");\n }\n\n function convertValue(value: any) {\n if (value === null) return \"\";\n\n if (utils.isDate(value)) {\n return value.toISOString();\n }\n\n if (!useBlob && utils.isBlob(value)) {\n throw new AxiosError(\"Blob is not supported. Use a Buffer instead.\");\n }\n\n if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {\n return useBlob && typeof Blob === \"function\"\n ? new Blob([value])\n : Buffer.from(value);\n }\n\n return value;\n }\n\n /**\n * Default visitor.\n *\n * @param {*} value\n * @param {String|Number} key\n * @param {Array<String|Number>} path\n * @this {FormData}\n *\n * @returns {boolean} return true to visit the each prop of the value recursively\n */\n function defaultVisitor(value: any, key: any, path: any) {\n let arr = value;\n\n if (value && !path && typeof value === \"object\") {\n if (utils.endsWith(key, \"{}\")) {\n // eslint-disable-next-line no-param-reassign\n key = metaTokens ? key : key.slice(0, -2);\n // eslint-disable-next-line no-param-reassign\n value = JSON.stringify(value);\n } else if (\n (utils.isArray(value) && isFlatArray(value)) ||\n utils.isFileList(value) ||\n (utils.endsWith(key, \"[]\") && (arr = utils.toArray(value)))\n ) {\n // eslint-disable-next-line no-param-reassign\n key = removeBrackets(key);\n\n arr.forEach(function each(el: any, index: any) {\n !(utils.isUndefined(el) || el === null) &&\n formData.append(\n // eslint-disable-next-line no-nested-ternary\n indexes === true\n ? renderKey([key], index, dots)\n : indexes === null\n ? key\n : key + \"[]\",\n convertValue(el)\n );\n });\n return false;\n }\n }\n\n if (isVisitable(value)) {\n return true;\n }\n\n formData.append(renderKey(path, key, dots), convertValue(value));\n\n return false;\n }\n\n const stack: any[] = [];\n\n const exposedHelpers = Object.assign(predicates, {\n defaultVisitor,\n convertValue,\n isVisitable,\n });\n\n function build(value: any, path?: any) {\n if (utils.isUndefined(value)) return;\n\n if (stack.indexOf(value) !== -1) {\n throw Error(\"Circular reference detected in \" + path.join(\".\"));\n }\n\n stack.push(value);\n\n utils.forEach(value, function each(el: any, key: any) {\n const result =\n !(utils.isUndefined(el) || el === null) &&\n visitor.call(\n formData,\n el,\n utils.isString(key) ? key.trim() : key,\n path,\n exposedHelpers\n );\n\n if (result === true) {\n build(el, path ? path.concat(key) : [key]);\n }\n });\n\n stack.pop();\n }\n\n if (!utils.isObject(obj)) {\n throw new TypeError(\"data must be an object\");\n }\n\n build(obj);\n\n return formData;\n}\n\nexport default toFormData;\n","\"use strict\";\n\nimport toFormData from \"./toFormData\";\n\n/**\n * It encodes a string by replacing all characters that are not in the unreserved set with\n * their percent-encoded equivalents\n *\n * @param {string} str - The string to encode.\n *\n * @returns {string} The encoded string.\n */\nfunction encode(str: string) {\n const charMap: any = {\n \"!\": \"%21\",\n \"'\": \"%27\",\n \"(\": \"%28\",\n \")\": \"%29\",\n \"~\": \"%7E\",\n \"%20\": \"+\",\n \"%00\": \"\\x00\",\n };\n return encodeURIComponent(str).replace(\n /[!'()~]|%20|%00/g,\n function replacer(match) {\n return charMap[match];\n }\n );\n}\n\n/**\n * It takes a params object and converts it to a FormData object\n *\n * @param {Object<string, any>} params - The parameters to be converted to a FormData object.\n * @param {Object<string, any>} options - The options object passed to the Axios constructor.\n *\n * @returns {void}\n */\nfunction AxiosURLSearchParams(this: any, params: any, options: any) {\n this._pairs = [];\n\n params && toFormData(params, this, options);\n}\n\nconst prototype = AxiosURLSearchParams.prototype;\n\nprototype.append = function append(name: string, value: any) {\n this._pairs.push([name, value]);\n};\n\nprototype.toString = function toString(encoder: any) {\n const _encode = encoder\n ? (value: any) => {\n return encoder.call(this, value, encode);\n }\n : encode;\n\n return this._pairs\n .map(function each(pair: string[]) {\n return _encode(pair[0]) + \"=\" + _encode(pair[1]);\n }, \"\")\n .join(\"&\");\n};\n\nexport default AxiosURLSearchParams;\n","\"use strict\";\n\nimport utils from \"../utils\";\nimport AxiosURLSearchParams from \"../helpers/AxiosURLSearchParams\";\n\n/**\n * It replaces all instances of the characters `:`, `$`, `,`, `+`, `[`, and `]` with their\n * URI encoded counterparts\n *\n * @param {string} val The value to be encoded.\n *\n * @returns {string} The encoded value.\n */\nfunction encode(val: string) {\n return encodeURIComponent(val)\n .replace(/%3A/gi, \":\")\n .replace(/%24/g, \"$\")\n .replace(/%2C/gi, \",\")\n .replace(/%20/g, \"+\")\n .replace(/%5B/gi, \"[\")\n .replace(/%5D/gi, \"]\");\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @param {?object} options\n *\n * @returns {string} The formatted url\n */\nexport default function buildURL(url: string, params?: any, options?: any) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n\n const _encode = (options && options.encode) || encode;\n\n const serializeFn = options && options.serialize;\n\n let serializedParams;\n\n if (serializeFn) {\n serializedParams = serializeFn(params, options);\n } else {\n serializedParams = utils.isURLSearchParams(params)\n ? params.toString()\n : // @ts-expect-error\n new AxiosURLSearchParams(params, options).toString(_encode);\n }\n\n if (serializedParams) {\n const hashmarkIndex = url.indexOf(\"#\");\n\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n url += (url.indexOf(\"?\") === -1 ? \"?\" : \"&\") + serializedParams;\n }\n\n return url;\n}\n","\"use strict\";\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n *\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nexport default function isAbsoluteURL(url: string) {\n // A URL is considered absolute if it begins with \"<scheme>://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d+\\-.]*:)?\\/\\//i.test(url);\n}\n","\"use strict\";\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n *\n * @returns {string} The combined URL\n */\nexport default function combineURLs(baseURL: string, relativeURL: string) {\n return relativeURL\n ? baseURL.replace(/\\/+$/, \"\") + \"/\" + relativeURL.replace(/^\\/+/, \"\")\n : baseURL;\n}\n","\"use strict\";\n\nimport isAbsoluteURL from \"../helpers/isAbsoluteURL\";\nimport combineURLs from \"../helpers/combineURLs\";\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n *\n * @returns {string} The combined full path\n */\nexport default function buildFullPath(baseURL: string, requestedURL: string) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n}\n","\"use strict\";\n\n/**\n * Calculate data maxRate\n * @param {Number} [samplesCount= 10]\n * @param {Number} [min= 1000]\n * @returns {Function}\n */\nfunction speedometer(samplesCount: number, min: number | undefined) {\n samplesCount = samplesCount || 10;\n const bytes = new Array(samplesCount);\n const timestamps = new Array(samplesCount);\n let head = 0;\n let tail = 0;\n let firstSampleTS: number;\n\n min = min !== undefined ? min : 1000;\n\n return function push(chunkLength: any) {\n const now = Date.now();\n\n const startedAt = timestamps[tail];\n\n if (!firstSampleTS) {\n firstSampleTS = now;\n }\n\n bytes[head] = chunkLength;\n timestamps[head] = now;\n\n let i = tail;\n let bytesCount = 0;\n\n while (i !== head) {\n bytesCount += bytes[i++];\n i = i % samplesCount;\n }\n\n head = (head + 1) % samplesCount;\n\n if (head === tail) {\n tail = (tail + 1) % samplesCount;\n }\n\n // @ts-expect-error\n if (now - firstSampleTS < min) {\n return;\n }\n\n const passed = startedAt && now - startedAt;\n\n return passed ? Math.round((bytesCount * 1000) / passed) : undefined;\n };\n}\n\nexport default speedometer;\n","import buildURL from \"./axiosLib/helpers/buildURL\";\nimport buildFullPath from \"./axiosLib/core/buildFullPath\";\nimport speedometer from \"./axiosLib/helpers/speedometer\";\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\";\nimport settle from \"../axiosLib/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 { AxiosError } from \"axios\";\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n *\n * @returns {object} The response.\n */\nexport default function settle(\n resolve: Function,\n reject: Function,\n response: any\n) {\n const validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(\n new AxiosError(\n \"Request failed with status code \" + response.status,\n [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][\n Math.floor(response.status / 100) - 4\n ],\n response.config,\n response.request,\n response\n )\n );\n }\n}\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\";\nimport settle from \"../axiosLib/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\";\nimport settle from \"../axiosLib/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"]}
1
+ {"version":3,"sources":["../src/index.ts","../src/axiosLib/utils.ts","../src/axiosLib/env/classes/FormData.ts","../src/axiosLib/helpers/toFormData.ts","../src/axiosLib/helpers/AxiosURLSearchParams.ts","../src/axiosLib/helpers/buildURL.ts","../src/axiosLib/helpers/isAbsoluteURL.ts","../src/axiosLib/helpers/combineURLs.ts","../src/axiosLib/core/buildFullPath.ts","../src/axiosLib/helpers/speedometer.ts","../src/utils.ts","../src/methods/download.ts","../src/axiosLib/core/settle.ts","../src/methods/onCanceled.ts","../src/methods/upload.ts","../src/methods/request.ts","../src/methods/index.ts"],"names":["Axios","toString","getPrototypeOf","kindOf","cache","thing","str","kindOfTest","type","isURLSearchParams","isPlainObject","val","prototype","isArray","endsWith","searchString","position","lastIndex","typeOfTest","isFunction","isObject","toFlatObject","sourceObj","destObj","filter","propFilter","props","prop","merged","isFileList","isUndefined","isDate","isBlob","isArrayBuffer","isTypedArray","TypedArray","toArray","i","isNumber","arr","forEach","obj","fn","allOwnKeys","l","keys","len","key","isString","utils_default","FormData","FormData_default","AxiosError","isVisitable","removeBrackets","renderKey","path","dots","token","isFlatArray","predicates","isSpecCompliant","toFormData","formData","options","option","source","metaTokens","visitor","defaultVisitor","indexes","useBlob","convertValue","value","el","index","stack","exposedHelpers","build","toFormData_default","encode","charMap","match","AxiosURLSearchParams","params","name","encoder","_encode","pair","AxiosURLSearchParams_default","buildURL","url","serializeFn","serializedParams","hashmarkIndex","isAbsoluteURL","combineURLs","baseURL","relativeURL","buildFullPath","requestedURL","speedometer","samplesCount","min","bytes","timestamps","head","tail","firstSampleTS","chunkLength","now","startedAt","bytesCount","passed","speedometer_default","getMethodType","config","rawMethod","resolveOptions","userOptions","resolveUniAppRequestOptions","_a","_b","_c","_d","_e","data","responseType","dataType","requestHeaders","username","password","fullPath","method","timeout","withCredentials","sslVerify","firstIpv4","error","header","progressEventReducer","listener","isDownloadStream","bytesNotified","_speedometer","result","loaded","total","progressBytes","rate","inRange","settle","resolve","reject","response","validateStatus","CanceledError","OnCanceled","task","cancel","download","filePath","onCanceled","errMsg","download_default","upload","files","fileType","file","isTimeoutError","isNetworkError","upload_default","request","request_default","getMethod","createUniAppAxiosAdapter"],"mappings":"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","sourcesContent":["import { Axios, 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 Axios.prototype.download = function (url, config) {\n return this.request({\n url,\n method: \"download\",\n ...config,\n });\n };\n Axios.prototype.upload = function (url, data, config) {\n return this.request({\n url,\n method: \"upload\",\n data,\n ...config,\n });\n };\n const uniappAdapter: AxiosAdapter = (config: AxiosRequestConfig) => {\n const method = getMethod(config);\n return method(config, options);\n };\n return uniappAdapter;\n};\n","const { toString } = Object.prototype;\nconst { getPrototypeOf } = Object;\n\nconst kindOf = ((cache) => (thing: any) => {\n const str = toString.call(thing);\n return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n})(Object.create(null));\n\nconst kindOfTest = (type: string) => {\n type = type.toLowerCase();\n return (thing: any) => kindOf(thing) === type;\n};\n\nconst isURLSearchParams = kindOfTest(\"URLSearchParams\");\n/**\n * Determine if a value is a plain Object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a plain Object, otherwise false\n */\nconst isPlainObject = (val: any): boolean => {\n if (kindOf(val) !== \"object\") {\n return false;\n }\n\n const prototype = getPrototypeOf(val);\n return (\n (prototype === null ||\n prototype === Object.prototype ||\n Object.getPrototypeOf(prototype) === null) &&\n !(Symbol.toStringTag in val) &&\n !(Symbol.iterator in val)\n );\n};\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n *\n * @returns {boolean} True if value is an Array, otherwise false\n */\nconst { isArray } = Array;\n\n/**\n * Determines whether a string ends with the characters of a specified string\n *\n * @param {String} str\n * @param {String} searchString\n * @param {Number} [position= 0]\n *\n * @returns {boolean}\n */\nconst endsWith = (\n str: string,\n searchString: string,\n position?: number\n): boolean => {\n str = String(str);\n if (position === undefined || position > str.length) {\n position = str.length;\n }\n position -= searchString.length;\n const lastIndex = str.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n};\nconst typeOfTest = (type: string) => (thing: any) => typeof thing === type;\n\n/**\n * Determine if a value is a Function\n *\n * @param {*} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nconst isFunction = typeOfTest(\"function\");\n\n/**\n * Determine if a value is an Object\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an Object, otherwise false\n */\nconst isObject = (thing: any): boolean =>\n thing !== null && typeof thing === \"object\";\n\n/**\n * Resolve object with deep prototype chain to a flat object\n * @param {Object} sourceObj source object\n * @param {Object} [destObj]\n * @param {Function|Boolean} [filter]\n * @param {Function} [propFilter]\n *\n * @returns {Object}\n */\nconst toFlatObject = (\n sourceObj: object,\n destObj: object,\n filter: Function | boolean | null,\n propFilter: Function\n): object => {\n let props;\n let i;\n let prop;\n const merged = {};\n\n destObj = destObj || {};\n // eslint-disable-next-line no-eq-null,eqeqeq\n if (sourceObj == null) return destObj;\n\n do {\n props = Object.getOwnPropertyNames(sourceObj);\n i = props.length;\n while (i-- > 0) {\n prop = props[i];\n if (\n (!propFilter || propFilter(prop, sourceObj, destObj)) &&\n // @ts-expect-error\n !merged[prop]\n ) {\n // @ts-expect-error\n destObj[prop] = sourceObj[prop];\n // @ts-expect-error\n merged[prop] = true;\n }\n }\n sourceObj = filter !== false && getPrototypeOf(sourceObj);\n } while (\n sourceObj &&\n // @ts-expect-error\n (!filter || filter(sourceObj, destObj)) &&\n sourceObj !== Object.prototype\n );\n\n return destObj;\n};\n\n/**\n * Determine if a value is a FileList\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFileList = kindOfTest(\"FileList\");\n\n/**\n * Determine if a value is undefined\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nconst isUndefined = typeOfTest(\"undefined\");\n\n/**\n * Determine if a value is a Date\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Date, otherwise false\n */\nconst isDate = kindOfTest(\"Date\");\n\n/**\n * Determine if a value is a Blob\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nconst isBlob = kindOfTest(\"Blob\");\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nconst isArrayBuffer = kindOfTest(\"ArrayBuffer\");\n\n/**\n * Checking if the Uint8Array exists and if it does, it returns a function that checks if the\n * thing passed in is an instance of Uint8Array\n *\n * @param {TypedArray}\n *\n * @returns {Array}\n */\n// eslint-disable-next-line func-names\nconst isTypedArray = ((TypedArray) => {\n // eslint-disable-next-line func-names\n return (thing: any) => {\n return TypedArray && thing instanceof TypedArray;\n };\n})(typeof Uint8Array !== \"undefined\" && getPrototypeOf(Uint8Array));\n/**\n * Returns new array from array like object or null if failed\n *\n * @param {*} [thing]\n *\n * @returns {?Array}\n */\nconst toArray = (thing: any): Array<any> | null => {\n if (!thing) return null;\n if (isArray(thing)) return thing;\n let i = thing.length;\n if (!isNumber(i)) return null;\n const arr = new Array(i);\n while (i-- > 0) {\n arr[i] = thing[i];\n }\n return arr;\n};\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n *\n * @param {Boolean} [allOwnKeys = false]\n * @returns {any}\n */\nfunction forEach(\n obj: string | any[] | null,\n fn: {\n call: (arg0: null, arg1: any, arg2: string | number, arg3: any[]) => void;\n },\n { allOwnKeys = false } = {}\n) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === \"undefined\") {\n return;\n }\n\n let i;\n let l;\n\n // Force an array if not already something iterable\n if (typeof obj !== \"object\") {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n const keys = allOwnKeys\n ? Object.getOwnPropertyNames(obj)\n : Object.keys(obj);\n const len = keys.length;\n let key;\n\n for (i = 0; i < len; i++) {\n key = keys[i];\n fn.call(null, obj[key], key, obj);\n }\n }\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a String, otherwise false\n */\nconst isString = typeOfTest(\"string\");\nconst isNumber = typeOfTest(\"number\");\n\nexport default {\n isURLSearchParams,\n isPlainObject,\n isArray,\n endsWith,\n isFunction,\n isObject,\n toFlatObject,\n isUndefined,\n isDate,\n isBlob,\n isArrayBuffer,\n isTypedArray,\n isFileList,\n toArray,\n forEach,\n isString,\n};\n","import FormData from 'form-data';\nexport default FormData;\n","\"use strict\";\n\nimport utils from \"../utils\";\nimport envFormData from \"../env/classes/FormData\";\nimport { AxiosError } from \"axios\";\n\n/**\n * Determines if the given thing is a array or js object.\n *\n * @param {string} thing - The object or array to be visited.\n *\n * @returns {boolean}\n */\nfunction isVisitable(thing: any) {\n return utils.isPlainObject(thing) || utils.isArray(thing);\n}\n\n/**\n * It removes the brackets from the end of a string\n *\n * @param {string} key - The key of the parameter.\n *\n * @returns {string} the key without the brackets.\n */\nfunction removeBrackets(key: any) {\n return utils.endsWith(key, \"[]\") ? key.slice(0, -2) : key;\n}\n\n/**\n * It takes a path, a key, and a boolean, and returns a string\n *\n * @param {string} path - The path to the current key.\n * @param {string} key - The key of the current object being iterated over.\n * @param {string} dots - If true, the key will be rendered with dots instead of brackets.\n *\n * @returns {string} The path to the current key.\n */\nfunction renderKey(path: any, key: any, dots: any) {\n if (!path) return key;\n return path\n .concat(key)\n .map(function each(token: any, i: any) {\n // eslint-disable-next-line no-param-reassign\n token = removeBrackets(token);\n return !dots && i ? \"[\" + token + \"]\" : token;\n })\n .join(dots ? \".\" : \"\");\n}\n\n/**\n * If the array is an array and none of its elements are visitable, then it's a flat array.\n *\n * @param {Array<any>} arr - The array to check\n *\n * @returns {boolean}\n */\nfunction isFlatArray(arr: any) {\n return utils.isArray(arr) && !arr.some(isVisitable);\n}\n\nconst predicates = utils.toFlatObject(\n utils,\n {},\n null,\n function filter(prop: any) {\n return /^is[A-Z]/.test(prop);\n }\n);\n\n/**\n * If the thing is a FormData object, return true, otherwise return false.\n *\n * @param {unknown} thing - The thing to check.\n *\n * @returns {boolean}\n */\nfunction isSpecCompliant(thing: any) {\n return (\n thing &&\n utils.isFunction(thing.append) &&\n thing[Symbol.toStringTag] === \"FormData\" &&\n thing[Symbol.iterator]\n );\n}\n\n/**\n * Convert a data object to FormData\n *\n * @param {Object} obj\n * @param {?Object} [formData]\n * @param {?Object} [options]\n * @param {Function} [options.visitor]\n * @param {Boolean} [options.metaTokens = true]\n * @param {Boolean} [options.dots = false]\n * @param {?Boolean} [options.indexes = false]\n *\n * @returns {Object}\n **/\n\n/**\n * It converts an object into a FormData object\n *\n * @param {Object<any, any>} obj - The object to convert to form data.\n * @param {string} formData - The FormData object to append to.\n * @param {Object<string, any>} options\n *\n * @returns\n */\nfunction toFormData(obj: any, formData: any, options: any) {\n if (!utils.isObject(obj)) {\n throw new TypeError(\"target must be an object\");\n }\n\n // eslint-disable-next-line no-param-reassign\n formData = formData || new (envFormData || FormData)();\n\n // eslint-disable-next-line no-param-reassign\n options = utils.toFlatObject(\n options,\n {\n metaTokens: true,\n dots: false,\n indexes: false,\n },\n false,\n function defined(option: any, source: any) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n return !utils.isUndefined(source[option]);\n }\n );\n\n const metaTokens = options.metaTokens;\n // eslint-disable-next-line no-use-before-define\n const visitor = options.visitor || defaultVisitor;\n const dots = options.dots;\n const indexes = options.indexes;\n const _Blob = options.Blob || (typeof Blob !== \"undefined\" && Blob);\n const useBlob = _Blob && isSpecCompliant(formData);\n\n if (!utils.isFunction(visitor)) {\n throw new TypeError(\"visitor must be a function\");\n }\n\n function convertValue(value: any) {\n if (value === null) return \"\";\n\n if (utils.isDate(value)) {\n return value.toISOString();\n }\n\n if (!useBlob && utils.isBlob(value)) {\n throw new AxiosError(\"Blob is not supported. Use a Buffer instead.\");\n }\n\n if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {\n return useBlob && typeof Blob === \"function\"\n ? new Blob([value])\n : Buffer.from(value);\n }\n\n return value;\n }\n\n /**\n * Default visitor.\n *\n * @param {*} value\n * @param {String|Number} key\n * @param {Array<String|Number>} path\n * @this {FormData}\n *\n * @returns {boolean} return true to visit the each prop of the value recursively\n */\n function defaultVisitor(value: any, key: any, path: any) {\n let arr = value;\n\n if (value && !path && typeof value === \"object\") {\n if (utils.endsWith(key, \"{}\")) {\n // eslint-disable-next-line no-param-reassign\n key = metaTokens ? key : key.slice(0, -2);\n // eslint-disable-next-line no-param-reassign\n value = JSON.stringify(value);\n } else if (\n (utils.isArray(value) && isFlatArray(value)) ||\n utils.isFileList(value) ||\n (utils.endsWith(key, \"[]\") && (arr = utils.toArray(value)))\n ) {\n // eslint-disable-next-line no-param-reassign\n key = removeBrackets(key);\n\n arr.forEach(function each(el: any, index: any) {\n !(utils.isUndefined(el) || el === null) &&\n formData.append(\n // eslint-disable-next-line no-nested-ternary\n indexes === true\n ? renderKey([key], index, dots)\n : indexes === null\n ? key\n : key + \"[]\",\n convertValue(el)\n );\n });\n return false;\n }\n }\n\n if (isVisitable(value)) {\n return true;\n }\n\n formData.append(renderKey(path, key, dots), convertValue(value));\n\n return false;\n }\n\n const stack: any[] = [];\n\n const exposedHelpers = Object.assign(predicates, {\n defaultVisitor,\n convertValue,\n isVisitable,\n });\n\n function build(value: any, path?: any) {\n if (utils.isUndefined(value)) return;\n\n if (stack.indexOf(value) !== -1) {\n throw Error(\"Circular reference detected in \" + path.join(\".\"));\n }\n\n stack.push(value);\n\n utils.forEach(value, function each(el: any, key: any) {\n const result =\n !(utils.isUndefined(el) || el === null) &&\n visitor.call(\n formData,\n el,\n utils.isString(key) ? key.trim() : key,\n path,\n exposedHelpers\n );\n\n if (result === true) {\n build(el, path ? path.concat(key) : [key]);\n }\n });\n\n stack.pop();\n }\n\n if (!utils.isObject(obj)) {\n throw new TypeError(\"data must be an object\");\n }\n\n build(obj);\n\n return formData;\n}\n\nexport default toFormData;\n","\"use strict\";\n\nimport toFormData from \"./toFormData\";\n\n/**\n * It encodes a string by replacing all characters that are not in the unreserved set with\n * their percent-encoded equivalents\n *\n * @param {string} str - The string to encode.\n *\n * @returns {string} The encoded string.\n */\nfunction encode(str: string) {\n const charMap: any = {\n \"!\": \"%21\",\n \"'\": \"%27\",\n \"(\": \"%28\",\n \")\": \"%29\",\n \"~\": \"%7E\",\n \"%20\": \"+\",\n \"%00\": \"\\x00\",\n };\n return encodeURIComponent(str).replace(\n /[!'()~]|%20|%00/g,\n function replacer(match) {\n return charMap[match];\n }\n );\n}\n\n/**\n * It takes a params object and converts it to a FormData object\n *\n * @param {Object<string, any>} params - The parameters to be converted to a FormData object.\n * @param {Object<string, any>} options - The options object passed to the Axios constructor.\n *\n * @returns {void}\n */\nfunction AxiosURLSearchParams(this: any, params: any, options: any) {\n this._pairs = [];\n\n params && toFormData(params, this, options);\n}\n\nconst prototype = AxiosURLSearchParams.prototype;\n\nprototype.append = function append(name: string, value: any) {\n this._pairs.push([name, value]);\n};\n\nprototype.toString = function toString(encoder: any) {\n const _encode = encoder\n ? (value: any) => {\n return encoder.call(this, value, encode);\n }\n : encode;\n\n return this._pairs\n .map(function each(pair: string[]) {\n return _encode(pair[0]) + \"=\" + _encode(pair[1]);\n }, \"\")\n .join(\"&\");\n};\n\nexport default AxiosURLSearchParams;\n","\"use strict\";\n\nimport utils from \"../utils\";\nimport AxiosURLSearchParams from \"../helpers/AxiosURLSearchParams\";\n\n/**\n * It replaces all instances of the characters `:`, `$`, `,`, `+`, `[`, and `]` with their\n * URI encoded counterparts\n *\n * @param {string} val The value to be encoded.\n *\n * @returns {string} The encoded value.\n */\nfunction encode(val: string) {\n return encodeURIComponent(val)\n .replace(/%3A/gi, \":\")\n .replace(/%24/g, \"$\")\n .replace(/%2C/gi, \",\")\n .replace(/%20/g, \"+\")\n .replace(/%5B/gi, \"[\")\n .replace(/%5D/gi, \"]\");\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @param {?object} options\n *\n * @returns {string} The formatted url\n */\nexport default function buildURL(url: string, params?: any, options?: any) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n\n const _encode = (options && options.encode) || encode;\n\n const serializeFn = options && options.serialize;\n\n let serializedParams;\n\n if (serializeFn) {\n serializedParams = serializeFn(params, options);\n } else {\n serializedParams = utils.isURLSearchParams(params)\n ? params.toString()\n : // @ts-expect-error\n new AxiosURLSearchParams(params, options).toString(_encode);\n }\n\n if (serializedParams) {\n const hashmarkIndex = url.indexOf(\"#\");\n\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n url += (url.indexOf(\"?\") === -1 ? \"?\" : \"&\") + serializedParams;\n }\n\n return url;\n}\n","\"use strict\";\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n *\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nexport default function isAbsoluteURL(url: string) {\n // A URL is considered absolute if it begins with \"<scheme>://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d+\\-.]*:)?\\/\\//i.test(url);\n}\n","\"use strict\";\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n *\n * @returns {string} The combined URL\n */\nexport default function combineURLs(baseURL: string, relativeURL: string) {\n return relativeURL\n ? baseURL.replace(/\\/+$/, \"\") + \"/\" + relativeURL.replace(/^\\/+/, \"\")\n : baseURL;\n}\n","\"use strict\";\n\nimport isAbsoluteURL from \"../helpers/isAbsoluteURL\";\nimport combineURLs from \"../helpers/combineURLs\";\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n *\n * @returns {string} The combined full path\n */\nexport default function buildFullPath(baseURL: string, requestedURL: string) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n}\n","\"use strict\";\n\n/**\n * Calculate data maxRate\n * @param {Number} [samplesCount= 10]\n * @param {Number} [min= 1000]\n * @returns {Function}\n */\nfunction speedometer(samplesCount: number, min: number | undefined) {\n samplesCount = samplesCount || 10;\n const bytes = new Array(samplesCount);\n const timestamps = new Array(samplesCount);\n let head = 0;\n let tail = 0;\n let firstSampleTS: number;\n\n min = min !== undefined ? min : 1000;\n\n return function push(chunkLength: any) {\n const now = Date.now();\n\n const startedAt = timestamps[tail];\n\n if (!firstSampleTS) {\n firstSampleTS = now;\n }\n\n bytes[head] = chunkLength;\n timestamps[head] = now;\n\n let i = tail;\n let bytesCount = 0;\n\n while (i !== head) {\n bytesCount += bytes[i++];\n i = i % samplesCount;\n }\n\n head = (head + 1) % samplesCount;\n\n if (head === tail) {\n tail = (tail + 1) % samplesCount;\n }\n\n // @ts-expect-error\n if (now - firstSampleTS < min) {\n return;\n }\n\n const passed = startedAt && now - startedAt;\n\n return passed ? Math.round((bytesCount * 1000) / passed) : undefined;\n };\n}\n\nexport default speedometer;\n","import buildURL from \"./axiosLib/helpers/buildURL\";\nimport buildFullPath from \"./axiosLib/core/buildFullPath\";\nimport speedometer from \"./axiosLib/helpers/speedometer\";\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\";\nimport settle from \"../axiosLib/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 { AxiosError } from \"axios\";\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n *\n * @returns {object} The response.\n */\nexport default function settle(\n resolve: Function,\n reject: Function,\n response: any\n) {\n const validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(\n new AxiosError(\n \"Request failed with status code \" + response.status,\n [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][\n Math.floor(response.status / 100) - 4\n ],\n response.config,\n response.request,\n response\n )\n );\n }\n}\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\";\nimport settle from \"../axiosLib/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\";\nimport settle from \"../axiosLib/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"]}
package/dist/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { Axios, AxiosError, CanceledError } from 'axios';
2
2
  import xe from 'form-data';
3
3
 
4
- var{toString:oe}=Object.prototype,{getPrototypeOf:q}=Object,_=(e=>t=>{let n=oe.call(t);return e[n]||(e[n]=n.slice(8,-1).toLowerCase())})(Object.create(null)),E=e=>(e=e.toLowerCase(),t=>_(t)===e),re=E("URLSearchParams"),se=e=>{if(_(e)!=="object")return !1;let t=q(e);return (t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(Symbol.toStringTag in e)&&!(Symbol.iterator in e)},{isArray:F}=Array,ie=(e,t,n)=>{e=String(e),(n===void 0||n>e.length)&&(n=e.length),n-=t.length;let o=e.indexOf(t,n);return o!==-1&&o===n},M=e=>t=>typeof t===e,ae=M("function"),ue=e=>e!==null&&typeof e=="object",le=(e,t,n,o)=>{let r,i,u,y={};if(t=t||{},e==null)return t;do{for(r=Object.getOwnPropertyNames(e),i=r.length;i-- >0;)u=r[i],(!o||o(u,e,t))&&!y[u]&&(t[u]=e[u],y[u]=!0);e=n!==!1&&q(e);}while(e&&(!n||n(e,t))&&e!==Object.prototype);return t},de=E("FileList"),ce=M("undefined"),fe=E("Date"),pe=E("Blob"),me=E("ArrayBuffer"),ye=(e=>t=>e&&t instanceof e)(typeof Uint8Array!="undefined"&&q(Uint8Array)),he=e=>{if(!e)return null;if(F(e))return e;let t=e.length;if(!Ae(t))return null;let n=new Array(t);for(;t-- >0;)n[t]=e[t];return n};function we(e,t,{allOwnKeys:n=!1}={}){if(e===null||typeof e=="undefined")return;let o,r;if(typeof e!="object"&&(e=[e]),F(e))for(o=0,r=e.length;o<r;o++)t.call(null,e[o],o,e);else {let i=n?Object.getOwnPropertyNames(e):Object.keys(e),u=i.length,y;for(o=0;o<u;o++)y=i[o],t.call(null,e[y],y,e);}}var be=M("string"),Ae=M("number"),l={isURLSearchParams:re,isPlainObject:se,isArray:F,endsWith:ie,isFunction:ae,isObject:ue,toFlatObject:le,isUndefined:ce,isDate:fe,isBlob:pe,isArrayBuffer:me,isTypedArray:ye,isFileList:de,toArray:he,forEach:we,isString:be};var H=xe;function P(e){return l.isPlainObject(e)||l.isArray(e)}function W(e){return l.endsWith(e,"[]")?e.slice(0,-2):e}function I(e,t,n){return e?e.concat(t).map(function(r,i){return r=W(r),!n&&i?"["+r+"]":r}).join(n?".":""):t}function ge(e){return l.isArray(e)&&!e.some(P)}var Te=l.toFlatObject(l,{},null,function(t){return /^is[A-Z]/.test(t)});function Ee(e){return e&&l.isFunction(e.append)&&e[Symbol.toStringTag]==="FormData"&&e[Symbol.iterator]}function Oe(e,t,n){if(!l.isObject(e))throw new TypeError("target must be an object");t=t||new(H||FormData),n=l.toFlatObject(n,{metaTokens:!0,dots:!1,indexes:!1},!1,function(a,c){return !l.isUndefined(c[a])});let o=n.metaTokens,r=n.visitor||f,i=n.dots,u=n.indexes,h=(n.Blob||typeof Blob!="undefined"&&Blob)&&Ee(t);if(!l.isFunction(r))throw new TypeError("visitor must be a function");function d(s){if(s===null)return "";if(l.isDate(s))return s.toISOString();if(!h&&l.isBlob(s))throw new AxiosError("Blob is not supported. Use a Buffer instead.");return l.isArrayBuffer(s)||l.isTypedArray(s)?h&&typeof Blob=="function"?new Blob([s]):Buffer.from(s):s}function f(s,a,c){let p=s;if(s&&!c&&typeof s=="object"){if(l.endsWith(a,"{}"))a=o?a:a.slice(0,-2),s=JSON.stringify(s);else if(l.isArray(s)&&ge(s)||l.isFileList(s)||l.endsWith(a,"[]")&&(p=l.toArray(s)))return a=W(a),p.forEach(function(x,S){!(l.isUndefined(x)||x===null)&&t.append(u===!0?I([a],S,i):u===null?a:a+"[]",d(x));}),!1}return P(s)?!0:(t.append(I(c,a,i),d(s)),!1)}let m=[],b=Object.assign(Te,{defaultVisitor:f,convertValue:d,isVisitable:P});function A(s,a){if(!l.isUndefined(s)){if(m.indexOf(s)!==-1)throw Error("Circular reference detected in "+a.join("."));m.push(s),l.forEach(s,function(p,w){(!(l.isUndefined(p)||p===null)&&r.call(t,p,l.isString(w)?w.trim():w,a,b))===!0&&A(p,a?a.concat(w):[w]);}),m.pop();}}if(!l.isObject(e))throw new TypeError("data must be an object");return A(e),t}var k=Oe;function z(e){let t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,function(o){return t[o]})}function K(e,t){this._pairs=[],e&&k(e,this,t);}var V=K.prototype;V.append=function(t,n){this._pairs.push([t,n]);};V.toString=function(t){let n=t?o=>t.call(this,o,z):z;return this._pairs.map(function(r){return n(r[0])+"="+n(r[1])},"").join("&")};var J=K;function Ue(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function B(e,t,n){if(!t)return e;let o=n&&n.encode||Ue,r=n&&n.serialize,i;if(r?i=r(t,n):i=l.isURLSearchParams(t)?t.toString():new J(t,n).toString(o),i){let u=e.indexOf("#");u!==-1&&(e=e.slice(0,u)),e+=(e.indexOf("?")===-1?"?":"&")+i;}return e}function L(e){return /^([a-z][a-z\d+\-.]*:)?\/\//i.test(e)}function N(e,t){return t?e.replace(/\/+$/,"")+"/"+t.replace(/^\/+/,""):e}function v(e,t){return e&&!L(t)?N(e,t):t}function Ce(e,t){e=e||10;let n=new Array(e),o=new Array(e),r=0,i=0,u;return t=t!==void 0?t:1e3,function(h){let d=Date.now(),f=o[i];u||(u=d),n[r]=h,o[r]=d;let m=i,b=0;for(;m!==r;)b+=n[m++],m=m%e;if(r=(r+1)%e,r===i&&(i=(i+1)%e),d-u<t)return;let A=f&&d-f;return A?Math.round(b*1e3/A):void 0}}var G=Ce;var $=e=>{let{method:t="GET"}=e;switch(t.toLocaleLowerCase()){case"download":return "download";case"upload":return "upload";default:return "request"}},Q=e=>({...e}),T=(e,t)=>{var a,c,p,w,x;let n=e.data,o=e.responseType==="arraybuffer"?"arraybuffer":"text",r=o==="text"?"json":void 0,i=e.headers;if(e.auth){let S=e.auth.username||"",ne=e.auth.password?unescape(encodeURIComponent(e.auth.password)):"";i.set("Authorization","Basic "+btoa(S+":"+ne));}let u=v(e.baseURL,e.url),y=(c=(a=e==null?void 0:e.method)==null?void 0:a.toUpperCase())!=null?c:"GET",h=B(u,e.params,e.paramsSerializer),d=e.timeout||6e4,f=(p=e.withCredentials)!=null?p:!1,m=(w=e.sslVerify)!=null?w:!0,b=(x=e.firstIpv4)!=null?x:!1,A={};if(n&&typeof n=="string")try{A=JSON.parse(n);}catch(S){}let s=i.toJSON();return {...e,url:h,data:n,header:s,method:y,responseType:o,dataType:r,timeout:d,withCredentials:f,sslVerify:m,firstIpv4:b,formData:A}},Z=(e,t)=>{let n=0,o=G(50,250);return r=>{let i=r.totalBytesWritten,u=r.totalBytesExpectedToWrite,y=i-n,h=o(y),d=i<=u;n=i;let f={loaded:i,total:u,progress:u?i/u:void 0,bytes:y,rate:h||void 0,estimated:h&&u&&d?(u-i)/h:void 0,event:r};f[t?"download":"upload"]=!0,e(f);}};function g(e,t,n){let o=n.config.validateStatus;!n.status||!o||o(n.status)?e(n):t(new AxiosError("Request failed with status code "+n.status,[AxiosError.ERR_BAD_REQUEST,AxiosError.ERR_BAD_RESPONSE][Math.floor(n.status/100)-4],n.config,n.request,n));}var R=class{constructor(t){this.config=t;}subscribe(t,n){(this.config.cancelToken||this.config.signal)&&(this.onCanceled=o=>{!t||(n(!o||o.type?new CanceledError(void 0,void 0,this.config,t):o),t.abort(),t=null);},this.config.cancelToken&&this.config.cancelToken.subscribe(this.onCanceled),this.config.signal&&this.config.signal.addEventListener&&(this.config.signal.aborted?this.onCanceled():this.config.signal.addEventListener("abort",this.onCanceled)));}unsubscribe(){this.config.cancelToken&&this.config.cancelToken.unsubscribe(this.onCanceled),this.config.signal&&this.config.signal.removeEventListener&&this.config.signal.removeEventListener("abort",this.onCanceled);}};var Me=(e,t)=>new Promise((n,o)=>{let{url:r,header:i,timeout:u,filePath:y}=T(e),h=new R(e),d=uni.downloadFile({url:r,header:i,timeout:u,filePath:y,success(f){var b;if(!d)return;let m={config:e,data:f.tempFilePath,headers:{},status:f.statusCode,statusText:(b=f.errMsg)!=null?b:"OK",request:d};g(n,o,m),d=null;},fail(f){let{errMsg:m=""}=f!=null?f:{};m&&(m==="downloadFile:fail timeout"&&o(new AxiosError(m,AxiosError.ETIMEDOUT,e,d)),m==="downloadFile:fail"&&o(new AxiosError(m,AxiosError.ERR_NETWORK,e,d))),o(new AxiosError(f.errMsg,void 0,e,d)),d=null;},complete(){h.unsubscribe();}});typeof e.onDownloadProgress=="function"&&d.onProgressUpdate(Z(e.onDownloadProgress,!0)),typeof e.onHeadersReceived=="function"&&d.onHeadersReceived(e.onHeadersReceived),h.subscribe(d,o);}),X=Me;var qe=(e,t)=>new Promise((n,o)=>{let{url:r,files:i,fileType:u,file:y,filePath:h,name:d,header:f,timeout:m,formData:b}=T(e),A=new R(e),s=uni.uploadFile({url:r,files:i,fileType:u,file:y,filePath:h,name:d,header:f,timeout:m,formData:b,success(a){var p;if(!s)return;let c={config:e,data:a.data,headers:{},status:a.statusCode,statusText:(p=a.errMsg)!=null?p:"OK",request:s};g(n,o,c),s=null;},fail(a){let{errMsg:c=""}=a!=null?a:{};if(c){let p=c==="uploadFile:fail timeout",w=c==="uploadFile:fail file error";p&&o(new AxiosError(c,AxiosError.ETIMEDOUT,e,s)),w&&o(new AxiosError(c,AxiosError.ERR_NETWORK,e,s));}o(new AxiosError(a.errMsg,void 0,e,s)),s=null;},complete(){A.unsubscribe();}});typeof e.onHeadersReceived=="function"&&s.onHeadersReceived(e.onHeadersReceived),A.subscribe(s,o);}),Y=qe;var Fe=(e,t)=>new Promise((n,o)=>{let{url:r,data:i,header:u,method:y,timeout:h,dataType:d,responseType:f,sslVerify:m,withCredentials:b,firstIpv4:A}=T(e),s=new R(e),a=uni.request({url:r,data:i,header:u,method:y,timeout:h,dataType:d,responseType:f,sslVerify:m,withCredentials:b,firstIpv4:A,success(c){var w;if(!a)return;let p={config:e,data:c.data,headers:c.header,status:c.statusCode,statusText:(w=c.errMsg)!=null?w:"OK",request:a,cookies:c.cookies};g(n,o,p),a=null;},fail(c){let{errMsg:p=""}=c!=null?c:{};if(p){let w=p==="request:fail timeout",x=p==="request:fail";w&&o(new AxiosError(p,AxiosError.ETIMEDOUT,e,a)),x&&o(new AxiosError(p,AxiosError.ERR_NETWORK,e,a));}o(new AxiosError(c.errMsg,void 0,e,a)),a=null;},complete(){s.unsubscribe();}});typeof e.onHeadersReceived=="function"&&a.onHeadersReceived(e.onHeadersReceived),s.subscribe(a,o);}),j=Fe;var ee=e=>{switch($(e)){case"download":return X;case"upload":return Y;default:return j}};var Bt=(e={})=>{let t=Q(e);return Axios.prototype.download=function(o,r){return this.request({url:o,method:"download",...r})},Axios.prototype.upload=function(o,r,i){return this.request({url:o,method:"upload",data:r,...i})},o=>ee(o)(o,t)};
4
+ var{toString:oe}=Object.prototype,{getPrototypeOf:q}=Object,_=(e=>t=>{let n=oe.call(t);return e[n]||(e[n]=n.slice(8,-1).toLowerCase())})(Object.create(null)),E=e=>(e=e.toLowerCase(),t=>_(t)===e),re=E("URLSearchParams"),se=e=>{if(_(e)!=="object")return !1;let t=q(e);return (t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(Symbol.toStringTag in e)&&!(Symbol.iterator in e)},{isArray:F}=Array,ie=(e,t,n)=>{e=String(e),(n===void 0||n>e.length)&&(n=e.length),n-=t.length;let o=e.indexOf(t,n);return o!==-1&&o===n},M=e=>t=>typeof t===e,ae=M("function"),ue=e=>e!==null&&typeof e=="object",le=(e,t,n,o)=>{let r,i,u,y={};if(t=t||{},e==null)return t;do{for(r=Object.getOwnPropertyNames(e),i=r.length;i-- >0;)u=r[i],(!o||o(u,e,t))&&!y[u]&&(t[u]=e[u],y[u]=!0);e=n!==!1&&q(e);}while(e&&(!n||n(e,t))&&e!==Object.prototype);return t},de=E("FileList"),ce=M("undefined"),fe=E("Date"),pe=E("Blob"),me=E("ArrayBuffer"),ye=(e=>t=>e&&t instanceof e)(typeof Uint8Array!="undefined"&&q(Uint8Array)),he=e=>{if(!e)return null;if(F(e))return e;let t=e.length;if(!Ae(t))return null;let n=new Array(t);for(;t-- >0;)n[t]=e[t];return n};function we(e,t,{allOwnKeys:n=!1}={}){if(e===null||typeof e=="undefined")return;let o,r;if(typeof e!="object"&&(e=[e]),F(e))for(o=0,r=e.length;o<r;o++)t.call(null,e[o],o,e);else {let i=n?Object.getOwnPropertyNames(e):Object.keys(e),u=i.length,y;for(o=0;o<u;o++)y=i[o],t.call(null,e[y],y,e);}}var be=M("string"),Ae=M("number"),l={isURLSearchParams:re,isPlainObject:se,isArray:F,endsWith:ie,isFunction:ae,isObject:ue,toFlatObject:le,isUndefined:ce,isDate:fe,isBlob:pe,isArrayBuffer:me,isTypedArray:ye,isFileList:de,toArray:he,forEach:we,isString:be};var H=xe;function P(e){return l.isPlainObject(e)||l.isArray(e)}function W(e){return l.endsWith(e,"[]")?e.slice(0,-2):e}function I(e,t,n){return e?e.concat(t).map(function(r,i){return r=W(r),!n&&i?"["+r+"]":r}).join(n?".":""):t}function ge(e){return l.isArray(e)&&!e.some(P)}var Te=l.toFlatObject(l,{},null,function(t){return /^is[A-Z]/.test(t)});function Ee(e){return e&&l.isFunction(e.append)&&e[Symbol.toStringTag]==="FormData"&&e[Symbol.iterator]}function Oe(e,t,n){if(!l.isObject(e))throw new TypeError("target must be an object");t=t||new(H||FormData),n=l.toFlatObject(n,{metaTokens:!0,dots:!1,indexes:!1},!1,function(a,c){return !l.isUndefined(c[a])});let o=n.metaTokens,r=n.visitor||f,i=n.dots,u=n.indexes,h=(n.Blob||typeof Blob!="undefined"&&Blob)&&Ee(t);if(!l.isFunction(r))throw new TypeError("visitor must be a function");function d(s){if(s===null)return "";if(l.isDate(s))return s.toISOString();if(!h&&l.isBlob(s))throw new AxiosError("Blob is not supported. Use a Buffer instead.");return l.isArrayBuffer(s)||l.isTypedArray(s)?h&&typeof Blob=="function"?new Blob([s]):Buffer.from(s):s}function f(s,a,c){let p=s;if(s&&!c&&typeof s=="object"){if(l.endsWith(a,"{}"))a=o?a:a.slice(0,-2),s=JSON.stringify(s);else if(l.isArray(s)&&ge(s)||l.isFileList(s)||l.endsWith(a,"[]")&&(p=l.toArray(s)))return a=W(a),p.forEach(function(x,S){!(l.isUndefined(x)||x===null)&&t.append(u===!0?I([a],S,i):u===null?a:a+"[]",d(x));}),!1}return P(s)?!0:(t.append(I(c,a,i),d(s)),!1)}let m=[],b=Object.assign(Te,{defaultVisitor:f,convertValue:d,isVisitable:P});function A(s,a){if(!l.isUndefined(s)){if(m.indexOf(s)!==-1)throw Error("Circular reference detected in "+a.join("."));m.push(s),l.forEach(s,function(p,w){(!(l.isUndefined(p)||p===null)&&r.call(t,p,l.isString(w)?w.trim():w,a,b))===!0&&A(p,a?a.concat(w):[w]);}),m.pop();}}if(!l.isObject(e))throw new TypeError("data must be an object");return A(e),t}var k=Oe;function z(e){let t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,function(o){return t[o]})}function K(e,t){this._pairs=[],e&&k(e,this,t);}var V=K.prototype;V.append=function(t,n){this._pairs.push([t,n]);};V.toString=function(t){let n=t?o=>t.call(this,o,z):z;return this._pairs.map(function(r){return n(r[0])+"="+n(r[1])},"").join("&")};var J=K;function Ue(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function B(e,t,n){if(!t)return e;let o=n&&n.encode||Ue,r=n&&n.serialize,i;if(r?i=r(t,n):i=l.isURLSearchParams(t)?t.toString():new J(t,n).toString(o),i){let u=e.indexOf("#");u!==-1&&(e=e.slice(0,u)),e+=(e.indexOf("?")===-1?"?":"&")+i;}return e}function L(e){return /^([a-z][a-z\d+\-.]*:)?\/\//i.test(e)}function N(e,t){return t?e.replace(/\/+$/,"")+"/"+t.replace(/^\/+/,""):e}function v(e,t){return e&&!L(t)?N(e,t):t}function Ce(e,t){e=e||10;let n=new Array(e),o=new Array(e),r=0,i=0,u;return t=t!==void 0?t:1e3,function(h){let d=Date.now(),f=o[i];u||(u=d),n[r]=h,o[r]=d;let m=i,b=0;for(;m!==r;)b+=n[m++],m=m%e;if(r=(r+1)%e,r===i&&(i=(i+1)%e),d-u<t)return;let A=f&&d-f;return A?Math.round(b*1e3/A):void 0}}var G=Ce;var $=e=>{let{method:t="GET"}=e;switch(t.toLocaleLowerCase()){case"download":return "download";case"upload":return "upload";default:return "request"}},Q=e=>({...e}),T=(e,t)=>{var a,c,p,w,x;let n=e.data,o=e.responseType==="arraybuffer"?"arraybuffer":"text",r=o==="text"?"json":void 0,i=e.headers;if(e.auth){let S=e.auth.username||"",ne=e.auth.password?unescape(encodeURIComponent(e.auth.password)):"";i.set("Authorization","Basic "+btoa(S+":"+ne));}let u=v(e.baseURL,e.url),y=(c=(a=e==null?void 0:e.method)==null?void 0:a.toUpperCase())!=null?c:"GET",h=B(u,e.params,e.paramsSerializer),d=e.timeout||6e4,f=(p=e.withCredentials)!=null?p:!1,m=(w=e.sslVerify)!=null?w:!0,b=(x=e.firstIpv4)!=null?x:!1,A={};if(n&&typeof n=="string")try{A=JSON.parse(n);}catch(S){}let s=i.toJSON();return {...e,url:h,data:n,header:s,method:y,responseType:o,dataType:r,timeout:d,withCredentials:f,sslVerify:m,firstIpv4:b,formData:A}},Z=(e,t)=>{let n=0,o=G(50,250);return r=>{let i=r.totalBytesWritten,u=r.totalBytesExpectedToWrite,y=i-n,h=o(y),d=i<=u;n=i;let f={loaded:i,total:u,progress:u?i/u:void 0,bytes:y,rate:h||void 0,estimated:h&&u&&d?(u-i)/h:void 0,event:r};f[t?"download":"upload"]=!0,e(f);}};function g(e,t,n){let o=n.config.validateStatus;!n.status||!o||o(n.status)?e(n):t(new AxiosError("Request failed with status code "+n.status,[AxiosError.ERR_BAD_REQUEST,AxiosError.ERR_BAD_RESPONSE][Math.floor(n.status/100)-4],n.config,n.request,n));}var R=class{constructor(t){this.config=t;}subscribe(t,n){(this.config.cancelToken||this.config.signal)&&(this.onCanceled=o=>{t&&(n(!o||o.type?new CanceledError(void 0,void 0,this.config,t):o),t.abort(),t=null);},this.config.cancelToken&&this.config.cancelToken.subscribe(this.onCanceled),this.config.signal&&this.config.signal.addEventListener&&(this.config.signal.aborted?this.onCanceled():this.config.signal.addEventListener("abort",this.onCanceled)));}unsubscribe(){this.config.cancelToken&&this.config.cancelToken.unsubscribe(this.onCanceled),this.config.signal&&this.config.signal.removeEventListener&&this.config.signal.removeEventListener("abort",this.onCanceled);}};var Me=(e,t)=>new Promise((n,o)=>{let{url:r,header:i,timeout:u,filePath:y}=T(e),h=new R(e),d=uni.downloadFile({url:r,header:i,timeout:u,filePath:y,success(f){var b;if(!d)return;let m={config:e,data:f.tempFilePath,headers:{},status:f.statusCode,statusText:(b=f.errMsg)!=null?b:"OK",request:d};g(n,o,m),d=null;},fail(f){let{errMsg:m=""}=f!=null?f:{};m&&(m==="downloadFile:fail timeout"&&o(new AxiosError(m,AxiosError.ETIMEDOUT,e,d)),m==="downloadFile:fail"&&o(new AxiosError(m,AxiosError.ERR_NETWORK,e,d))),o(new AxiosError(f.errMsg,void 0,e,d)),d=null;},complete(){h.unsubscribe();}});typeof e.onDownloadProgress=="function"&&d.onProgressUpdate(Z(e.onDownloadProgress,!0)),typeof e.onHeadersReceived=="function"&&d.onHeadersReceived(e.onHeadersReceived),h.subscribe(d,o);}),X=Me;var qe=(e,t)=>new Promise((n,o)=>{let{url:r,files:i,fileType:u,file:y,filePath:h,name:d,header:f,timeout:m,formData:b}=T(e),A=new R(e),s=uni.uploadFile({url:r,files:i,fileType:u,file:y,filePath:h,name:d,header:f,timeout:m,formData:b,success(a){var p;if(!s)return;let c={config:e,data:a.data,headers:{},status:a.statusCode,statusText:(p=a.errMsg)!=null?p:"OK",request:s};g(n,o,c),s=null;},fail(a){let{errMsg:c=""}=a!=null?a:{};if(c){let p=c==="uploadFile:fail timeout",w=c==="uploadFile:fail file error";p&&o(new AxiosError(c,AxiosError.ETIMEDOUT,e,s)),w&&o(new AxiosError(c,AxiosError.ERR_NETWORK,e,s));}o(new AxiosError(a.errMsg,void 0,e,s)),s=null;},complete(){A.unsubscribe();}});typeof e.onHeadersReceived=="function"&&s.onHeadersReceived(e.onHeadersReceived),A.subscribe(s,o);}),Y=qe;var Fe=(e,t)=>new Promise((n,o)=>{let{url:r,data:i,header:u,method:y,timeout:h,dataType:d,responseType:f,sslVerify:m,withCredentials:b,firstIpv4:A}=T(e),s=new R(e),a=uni.request({url:r,data:i,header:u,method:y,timeout:h,dataType:d,responseType:f,sslVerify:m,withCredentials:b,firstIpv4:A,success(c){var w;if(!a)return;let p={config:e,data:c.data,headers:c.header,status:c.statusCode,statusText:(w=c.errMsg)!=null?w:"OK",request:a,cookies:c.cookies};g(n,o,p),a=null;},fail(c){let{errMsg:p=""}=c!=null?c:{};if(p){let w=p==="request:fail timeout",x=p==="request:fail";w&&o(new AxiosError(p,AxiosError.ETIMEDOUT,e,a)),x&&o(new AxiosError(p,AxiosError.ERR_NETWORK,e,a));}o(new AxiosError(c.errMsg,void 0,e,a)),a=null;},complete(){s.unsubscribe();}});typeof e.onHeadersReceived=="function"&&a.onHeadersReceived(e.onHeadersReceived),s.subscribe(a,o);}),j=Fe;var ee=e=>{switch($(e)){case"download":return X;case"upload":return Y;default:return j}};var Bt=(e={})=>{let t=Q(e);return Axios.prototype.download=function(o,r){return this.request({url:o,method:"download",...r})},Axios.prototype.upload=function(o,r,i){return this.request({url:o,method:"upload",data:r,...i})},o=>ee(o)(o,t)};
5
5
 
6
6
  export { Bt as createUniAppAxiosAdapter };
7
7
  //# sourceMappingURL=out.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts","../src/axiosLib/utils.ts","../src/axiosLib/env/classes/FormData.ts","../src/axiosLib/helpers/toFormData.ts","../src/axiosLib/helpers/AxiosURLSearchParams.ts","../src/axiosLib/helpers/buildURL.ts","../src/axiosLib/helpers/isAbsoluteURL.ts","../src/axiosLib/helpers/combineURLs.ts","../src/axiosLib/core/buildFullPath.ts","../src/axiosLib/helpers/speedometer.ts","../src/utils.ts","../src/methods/download.ts","../src/axiosLib/core/settle.ts","../src/methods/onCanceled.ts","../src/methods/upload.ts","../src/methods/request.ts","../src/methods/index.ts"],"names":["Axios","toString","getPrototypeOf","kindOf","cache","thing","str","kindOfTest","type","isURLSearchParams","isPlainObject","val","prototype","isArray","endsWith","searchString","position","lastIndex","typeOfTest","isFunction","isObject","toFlatObject","sourceObj","destObj","filter","propFilter","props","prop","merged","isFileList","isUndefined","isDate","isBlob","isArrayBuffer","isTypedArray","TypedArray","toArray","i","isNumber","arr","forEach","obj","fn","allOwnKeys","l","keys","len","key","isString","utils_default","FormData","FormData_default","AxiosError","isVisitable","removeBrackets","renderKey","path","dots","token","isFlatArray","predicates","isSpecCompliant","toFormData","formData","options","option","source","metaTokens","visitor","defaultVisitor","indexes","useBlob","convertValue","value","el","index","stack","exposedHelpers","build","toFormData_default","encode","charMap","match","AxiosURLSearchParams","params","name","encoder","_encode","pair","AxiosURLSearchParams_default","buildURL","url","serializeFn","serializedParams","hashmarkIndex","isAbsoluteURL","combineURLs","baseURL","relativeURL","buildFullPath","requestedURL","speedometer","samplesCount","min","bytes","timestamps","head","tail","firstSampleTS","chunkLength","now","startedAt","bytesCount","passed","speedometer_default","getMethodType","config","rawMethod","resolveOptions","userOptions","resolveUniAppRequestOptions","_a","_b","_c","_d","_e","data","responseType","dataType","requestHeaders","username","password","fullPath","method","timeout","withCredentials","sslVerify","firstIpv4","error","header","progressEventReducer","listener","isDownloadStream","bytesNotified","_speedometer","result","loaded","total","progressBytes","rate","inRange","settle","resolve","reject","response","validateStatus","CanceledError","OnCanceled","task","cancel","download","filePath","onCanceled","errMsg","download_default","upload","files","fileType","file","isTimeoutError","isNetworkError","upload_default","request","request_default","getMethod","createUniAppAxiosAdapter"],"mappings":"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","sourcesContent":["import { Axios, 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 Axios.prototype.download = function (url, config) {\n return this.request({\n url,\n method: \"download\",\n ...config,\n });\n };\n Axios.prototype.upload = function (url, data, config) {\n return this.request({\n url,\n method: \"upload\",\n data,\n ...config,\n });\n };\n const uniappAdapter: AxiosAdapter = (config: AxiosRequestConfig) => {\n const method = getMethod(config);\n return method(config, options);\n };\n return uniappAdapter;\n};\n","const { toString } = Object.prototype;\nconst { getPrototypeOf } = Object;\n\nconst kindOf = ((cache) => (thing: any) => {\n const str = toString.call(thing);\n return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n})(Object.create(null));\n\nconst kindOfTest = (type: string) => {\n type = type.toLowerCase();\n return (thing: any) => kindOf(thing) === type;\n};\n\nconst isURLSearchParams = kindOfTest(\"URLSearchParams\");\n/**\n * Determine if a value is a plain Object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a plain Object, otherwise false\n */\nconst isPlainObject = (val: any): boolean => {\n if (kindOf(val) !== \"object\") {\n return false;\n }\n\n const prototype = getPrototypeOf(val);\n return (\n (prototype === null ||\n prototype === Object.prototype ||\n Object.getPrototypeOf(prototype) === null) &&\n !(Symbol.toStringTag in val) &&\n !(Symbol.iterator in val)\n );\n};\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n *\n * @returns {boolean} True if value is an Array, otherwise false\n */\nconst { isArray } = Array;\n\n/**\n * Determines whether a string ends with the characters of a specified string\n *\n * @param {String} str\n * @param {String} searchString\n * @param {Number} [position= 0]\n *\n * @returns {boolean}\n */\nconst endsWith = (\n str: string,\n searchString: string,\n position?: number\n): boolean => {\n str = String(str);\n if (position === undefined || position > str.length) {\n position = str.length;\n }\n position -= searchString.length;\n const lastIndex = str.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n};\nconst typeOfTest = (type: string) => (thing: any) => typeof thing === type;\n\n/**\n * Determine if a value is a Function\n *\n * @param {*} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nconst isFunction = typeOfTest(\"function\");\n\n/**\n * Determine if a value is an Object\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an Object, otherwise false\n */\nconst isObject = (thing: any): boolean =>\n thing !== null && typeof thing === \"object\";\n\n/**\n * Resolve object with deep prototype chain to a flat object\n * @param {Object} sourceObj source object\n * @param {Object} [destObj]\n * @param {Function|Boolean} [filter]\n * @param {Function} [propFilter]\n *\n * @returns {Object}\n */\nconst toFlatObject = (\n sourceObj: object,\n destObj: object,\n filter: Function | boolean | null,\n propFilter: Function\n): object => {\n let props;\n let i;\n let prop;\n const merged = {};\n\n destObj = destObj || {};\n // eslint-disable-next-line no-eq-null,eqeqeq\n if (sourceObj == null) return destObj;\n\n do {\n props = Object.getOwnPropertyNames(sourceObj);\n i = props.length;\n while (i-- > 0) {\n prop = props[i];\n if (\n (!propFilter || propFilter(prop, sourceObj, destObj)) &&\n // @ts-expect-error\n !merged[prop]\n ) {\n // @ts-expect-error\n destObj[prop] = sourceObj[prop];\n // @ts-expect-error\n merged[prop] = true;\n }\n }\n sourceObj = filter !== false && getPrototypeOf(sourceObj);\n } while (\n sourceObj &&\n // @ts-expect-error\n (!filter || filter(sourceObj, destObj)) &&\n sourceObj !== Object.prototype\n );\n\n return destObj;\n};\n\n/**\n * Determine if a value is a FileList\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFileList = kindOfTest(\"FileList\");\n\n/**\n * Determine if a value is undefined\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nconst isUndefined = typeOfTest(\"undefined\");\n\n/**\n * Determine if a value is a Date\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Date, otherwise false\n */\nconst isDate = kindOfTest(\"Date\");\n\n/**\n * Determine if a value is a Blob\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nconst isBlob = kindOfTest(\"Blob\");\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nconst isArrayBuffer = kindOfTest(\"ArrayBuffer\");\n\n/**\n * Checking if the Uint8Array exists and if it does, it returns a function that checks if the\n * thing passed in is an instance of Uint8Array\n *\n * @param {TypedArray}\n *\n * @returns {Array}\n */\n// eslint-disable-next-line func-names\nconst isTypedArray = ((TypedArray) => {\n // eslint-disable-next-line func-names\n return (thing: any) => {\n return TypedArray && thing instanceof TypedArray;\n };\n})(typeof Uint8Array !== \"undefined\" && getPrototypeOf(Uint8Array));\n/**\n * Returns new array from array like object or null if failed\n *\n * @param {*} [thing]\n *\n * @returns {?Array}\n */\nconst toArray = (thing: any): Array<any> | null => {\n if (!thing) return null;\n if (isArray(thing)) return thing;\n let i = thing.length;\n if (!isNumber(i)) return null;\n const arr = new Array(i);\n while (i-- > 0) {\n arr[i] = thing[i];\n }\n return arr;\n};\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n *\n * @param {Boolean} [allOwnKeys = false]\n * @returns {any}\n */\nfunction forEach(\n obj: string | any[] | null,\n fn: {\n call: (arg0: null, arg1: any, arg2: string | number, arg3: any[]) => void;\n },\n { allOwnKeys = false } = {}\n) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === \"undefined\") {\n return;\n }\n\n let i;\n let l;\n\n // Force an array if not already something iterable\n if (typeof obj !== \"object\") {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n const keys = allOwnKeys\n ? Object.getOwnPropertyNames(obj)\n : Object.keys(obj);\n const len = keys.length;\n let key;\n\n for (i = 0; i < len; i++) {\n key = keys[i];\n fn.call(null, obj[key], key, obj);\n }\n }\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a String, otherwise false\n */\nconst isString = typeOfTest(\"string\");\nconst isNumber = typeOfTest(\"number\");\n\nexport default {\n isURLSearchParams,\n isPlainObject,\n isArray,\n endsWith,\n isFunction,\n isObject,\n toFlatObject,\n isUndefined,\n isDate,\n isBlob,\n isArrayBuffer,\n isTypedArray,\n isFileList,\n toArray,\n forEach,\n isString,\n};\n","import FormData from 'form-data';\nexport default FormData;\n","\"use strict\";\n\nimport utils from \"../utils\";\nimport envFormData from \"../env/classes/FormData\";\nimport { AxiosError } from \"axios\";\n\n/**\n * Determines if the given thing is a array or js object.\n *\n * @param {string} thing - The object or array to be visited.\n *\n * @returns {boolean}\n */\nfunction isVisitable(thing: any) {\n return utils.isPlainObject(thing) || utils.isArray(thing);\n}\n\n/**\n * It removes the brackets from the end of a string\n *\n * @param {string} key - The key of the parameter.\n *\n * @returns {string} the key without the brackets.\n */\nfunction removeBrackets(key: any) {\n return utils.endsWith(key, \"[]\") ? key.slice(0, -2) : key;\n}\n\n/**\n * It takes a path, a key, and a boolean, and returns a string\n *\n * @param {string} path - The path to the current key.\n * @param {string} key - The key of the current object being iterated over.\n * @param {string} dots - If true, the key will be rendered with dots instead of brackets.\n *\n * @returns {string} The path to the current key.\n */\nfunction renderKey(path: any, key: any, dots: any) {\n if (!path) return key;\n return path\n .concat(key)\n .map(function each(token: any, i: any) {\n // eslint-disable-next-line no-param-reassign\n token = removeBrackets(token);\n return !dots && i ? \"[\" + token + \"]\" : token;\n })\n .join(dots ? \".\" : \"\");\n}\n\n/**\n * If the array is an array and none of its elements are visitable, then it's a flat array.\n *\n * @param {Array<any>} arr - The array to check\n *\n * @returns {boolean}\n */\nfunction isFlatArray(arr: any) {\n return utils.isArray(arr) && !arr.some(isVisitable);\n}\n\nconst predicates = utils.toFlatObject(\n utils,\n {},\n null,\n function filter(prop: any) {\n return /^is[A-Z]/.test(prop);\n }\n);\n\n/**\n * If the thing is a FormData object, return true, otherwise return false.\n *\n * @param {unknown} thing - The thing to check.\n *\n * @returns {boolean}\n */\nfunction isSpecCompliant(thing: any) {\n return (\n thing &&\n utils.isFunction(thing.append) &&\n thing[Symbol.toStringTag] === \"FormData\" &&\n thing[Symbol.iterator]\n );\n}\n\n/**\n * Convert a data object to FormData\n *\n * @param {Object} obj\n * @param {?Object} [formData]\n * @param {?Object} [options]\n * @param {Function} [options.visitor]\n * @param {Boolean} [options.metaTokens = true]\n * @param {Boolean} [options.dots = false]\n * @param {?Boolean} [options.indexes = false]\n *\n * @returns {Object}\n **/\n\n/**\n * It converts an object into a FormData object\n *\n * @param {Object<any, any>} obj - The object to convert to form data.\n * @param {string} formData - The FormData object to append to.\n * @param {Object<string, any>} options\n *\n * @returns\n */\nfunction toFormData(obj: any, formData: any, options: any) {\n if (!utils.isObject(obj)) {\n throw new TypeError(\"target must be an object\");\n }\n\n // eslint-disable-next-line no-param-reassign\n formData = formData || new (envFormData || FormData)();\n\n // eslint-disable-next-line no-param-reassign\n options = utils.toFlatObject(\n options,\n {\n metaTokens: true,\n dots: false,\n indexes: false,\n },\n false,\n function defined(option: any, source: any) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n return !utils.isUndefined(source[option]);\n }\n );\n\n const metaTokens = options.metaTokens;\n // eslint-disable-next-line no-use-before-define\n const visitor = options.visitor || defaultVisitor;\n const dots = options.dots;\n const indexes = options.indexes;\n const _Blob = options.Blob || (typeof Blob !== \"undefined\" && Blob);\n const useBlob = _Blob && isSpecCompliant(formData);\n\n if (!utils.isFunction(visitor)) {\n throw new TypeError(\"visitor must be a function\");\n }\n\n function convertValue(value: any) {\n if (value === null) return \"\";\n\n if (utils.isDate(value)) {\n return value.toISOString();\n }\n\n if (!useBlob && utils.isBlob(value)) {\n throw new AxiosError(\"Blob is not supported. Use a Buffer instead.\");\n }\n\n if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {\n return useBlob && typeof Blob === \"function\"\n ? new Blob([value])\n : Buffer.from(value);\n }\n\n return value;\n }\n\n /**\n * Default visitor.\n *\n * @param {*} value\n * @param {String|Number} key\n * @param {Array<String|Number>} path\n * @this {FormData}\n *\n * @returns {boolean} return true to visit the each prop of the value recursively\n */\n function defaultVisitor(value: any, key: any, path: any) {\n let arr = value;\n\n if (value && !path && typeof value === \"object\") {\n if (utils.endsWith(key, \"{}\")) {\n // eslint-disable-next-line no-param-reassign\n key = metaTokens ? key : key.slice(0, -2);\n // eslint-disable-next-line no-param-reassign\n value = JSON.stringify(value);\n } else if (\n (utils.isArray(value) && isFlatArray(value)) ||\n utils.isFileList(value) ||\n (utils.endsWith(key, \"[]\") && (arr = utils.toArray(value)))\n ) {\n // eslint-disable-next-line no-param-reassign\n key = removeBrackets(key);\n\n arr.forEach(function each(el: any, index: any) {\n !(utils.isUndefined(el) || el === null) &&\n formData.append(\n // eslint-disable-next-line no-nested-ternary\n indexes === true\n ? renderKey([key], index, dots)\n : indexes === null\n ? key\n : key + \"[]\",\n convertValue(el)\n );\n });\n return false;\n }\n }\n\n if (isVisitable(value)) {\n return true;\n }\n\n formData.append(renderKey(path, key, dots), convertValue(value));\n\n return false;\n }\n\n const stack: any[] = [];\n\n const exposedHelpers = Object.assign(predicates, {\n defaultVisitor,\n convertValue,\n isVisitable,\n });\n\n function build(value: any, path?: any) {\n if (utils.isUndefined(value)) return;\n\n if (stack.indexOf(value) !== -1) {\n throw Error(\"Circular reference detected in \" + path.join(\".\"));\n }\n\n stack.push(value);\n\n utils.forEach(value, function each(el: any, key: any) {\n const result =\n !(utils.isUndefined(el) || el === null) &&\n visitor.call(\n formData,\n el,\n utils.isString(key) ? key.trim() : key,\n path,\n exposedHelpers\n );\n\n if (result === true) {\n build(el, path ? path.concat(key) : [key]);\n }\n });\n\n stack.pop();\n }\n\n if (!utils.isObject(obj)) {\n throw new TypeError(\"data must be an object\");\n }\n\n build(obj);\n\n return formData;\n}\n\nexport default toFormData;\n","\"use strict\";\n\nimport toFormData from \"./toFormData\";\n\n/**\n * It encodes a string by replacing all characters that are not in the unreserved set with\n * their percent-encoded equivalents\n *\n * @param {string} str - The string to encode.\n *\n * @returns {string} The encoded string.\n */\nfunction encode(str: string) {\n const charMap: any = {\n \"!\": \"%21\",\n \"'\": \"%27\",\n \"(\": \"%28\",\n \")\": \"%29\",\n \"~\": \"%7E\",\n \"%20\": \"+\",\n \"%00\": \"\\x00\",\n };\n return encodeURIComponent(str).replace(\n /[!'()~]|%20|%00/g,\n function replacer(match) {\n return charMap[match];\n }\n );\n}\n\n/**\n * It takes a params object and converts it to a FormData object\n *\n * @param {Object<string, any>} params - The parameters to be converted to a FormData object.\n * @param {Object<string, any>} options - The options object passed to the Axios constructor.\n *\n * @returns {void}\n */\nfunction AxiosURLSearchParams(this: any, params: any, options: any) {\n this._pairs = [];\n\n params && toFormData(params, this, options);\n}\n\nconst prototype = AxiosURLSearchParams.prototype;\n\nprototype.append = function append(name: string, value: any) {\n this._pairs.push([name, value]);\n};\n\nprototype.toString = function toString(encoder: any) {\n const _encode = encoder\n ? (value: any) => {\n return encoder.call(this, value, encode);\n }\n : encode;\n\n return this._pairs\n .map(function each(pair: string[]) {\n return _encode(pair[0]) + \"=\" + _encode(pair[1]);\n }, \"\")\n .join(\"&\");\n};\n\nexport default AxiosURLSearchParams;\n","\"use strict\";\n\nimport utils from \"../utils\";\nimport AxiosURLSearchParams from \"../helpers/AxiosURLSearchParams\";\n\n/**\n * It replaces all instances of the characters `:`, `$`, `,`, `+`, `[`, and `]` with their\n * URI encoded counterparts\n *\n * @param {string} val The value to be encoded.\n *\n * @returns {string} The encoded value.\n */\nfunction encode(val: string) {\n return encodeURIComponent(val)\n .replace(/%3A/gi, \":\")\n .replace(/%24/g, \"$\")\n .replace(/%2C/gi, \",\")\n .replace(/%20/g, \"+\")\n .replace(/%5B/gi, \"[\")\n .replace(/%5D/gi, \"]\");\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @param {?object} options\n *\n * @returns {string} The formatted url\n */\nexport default function buildURL(url: string, params?: any, options?: any) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n\n const _encode = (options && options.encode) || encode;\n\n const serializeFn = options && options.serialize;\n\n let serializedParams;\n\n if (serializeFn) {\n serializedParams = serializeFn(params, options);\n } else {\n serializedParams = utils.isURLSearchParams(params)\n ? params.toString()\n : // @ts-expect-error\n new AxiosURLSearchParams(params, options).toString(_encode);\n }\n\n if (serializedParams) {\n const hashmarkIndex = url.indexOf(\"#\");\n\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n url += (url.indexOf(\"?\") === -1 ? \"?\" : \"&\") + serializedParams;\n }\n\n return url;\n}\n","\"use strict\";\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n *\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nexport default function isAbsoluteURL(url: string) {\n // A URL is considered absolute if it begins with \"<scheme>://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d+\\-.]*:)?\\/\\//i.test(url);\n}\n","\"use strict\";\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n *\n * @returns {string} The combined URL\n */\nexport default function combineURLs(baseURL: string, relativeURL: string) {\n return relativeURL\n ? baseURL.replace(/\\/+$/, \"\") + \"/\" + relativeURL.replace(/^\\/+/, \"\")\n : baseURL;\n}\n","\"use strict\";\n\nimport isAbsoluteURL from \"../helpers/isAbsoluteURL\";\nimport combineURLs from \"../helpers/combineURLs\";\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n *\n * @returns {string} The combined full path\n */\nexport default function buildFullPath(baseURL: string, requestedURL: string) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n}\n","\"use strict\";\n\n/**\n * Calculate data maxRate\n * @param {Number} [samplesCount= 10]\n * @param {Number} [min= 1000]\n * @returns {Function}\n */\nfunction speedometer(samplesCount: number, min: number | undefined) {\n samplesCount = samplesCount || 10;\n const bytes = new Array(samplesCount);\n const timestamps = new Array(samplesCount);\n let head = 0;\n let tail = 0;\n let firstSampleTS: number;\n\n min = min !== undefined ? min : 1000;\n\n return function push(chunkLength: any) {\n const now = Date.now();\n\n const startedAt = timestamps[tail];\n\n if (!firstSampleTS) {\n firstSampleTS = now;\n }\n\n bytes[head] = chunkLength;\n timestamps[head] = now;\n\n let i = tail;\n let bytesCount = 0;\n\n while (i !== head) {\n bytesCount += bytes[i++];\n i = i % samplesCount;\n }\n\n head = (head + 1) % samplesCount;\n\n if (head === tail) {\n tail = (tail + 1) % samplesCount;\n }\n\n // @ts-expect-error\n if (now - firstSampleTS < min) {\n return;\n }\n\n const passed = startedAt && now - startedAt;\n\n return passed ? Math.round((bytesCount * 1000) / passed) : undefined;\n };\n}\n\nexport default speedometer;\n","import buildURL from \"./axiosLib/helpers/buildURL\";\nimport buildFullPath from \"./axiosLib/core/buildFullPath\";\nimport speedometer from \"./axiosLib/helpers/speedometer\";\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\";\nimport settle from \"../axiosLib/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 { AxiosError } from \"axios\";\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n *\n * @returns {object} The response.\n */\nexport default function settle(\n resolve: Function,\n reject: Function,\n response: any\n) {\n const validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(\n new AxiosError(\n \"Request failed with status code \" + response.status,\n [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][\n Math.floor(response.status / 100) - 4\n ],\n response.config,\n response.request,\n response\n )\n );\n }\n}\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\";\nimport settle from \"../axiosLib/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\";\nimport settle from \"../axiosLib/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"]}
1
+ {"version":3,"sources":["../src/index.ts","../src/axiosLib/utils.ts","../src/axiosLib/env/classes/FormData.ts","../src/axiosLib/helpers/toFormData.ts","../src/axiosLib/helpers/AxiosURLSearchParams.ts","../src/axiosLib/helpers/buildURL.ts","../src/axiosLib/helpers/isAbsoluteURL.ts","../src/axiosLib/helpers/combineURLs.ts","../src/axiosLib/core/buildFullPath.ts","../src/axiosLib/helpers/speedometer.ts","../src/utils.ts","../src/methods/download.ts","../src/axiosLib/core/settle.ts","../src/methods/onCanceled.ts","../src/methods/upload.ts","../src/methods/request.ts","../src/methods/index.ts"],"names":["Axios","toString","getPrototypeOf","kindOf","cache","thing","str","kindOfTest","type","isURLSearchParams","isPlainObject","val","prototype","isArray","endsWith","searchString","position","lastIndex","typeOfTest","isFunction","isObject","toFlatObject","sourceObj","destObj","filter","propFilter","props","prop","merged","isFileList","isUndefined","isDate","isBlob","isArrayBuffer","isTypedArray","TypedArray","toArray","i","isNumber","arr","forEach","obj","fn","allOwnKeys","l","keys","len","key","isString","utils_default","FormData","FormData_default","AxiosError","isVisitable","removeBrackets","renderKey","path","dots","token","isFlatArray","predicates","isSpecCompliant","toFormData","formData","options","option","source","metaTokens","visitor","defaultVisitor","indexes","useBlob","convertValue","value","el","index","stack","exposedHelpers","build","toFormData_default","encode","charMap","match","AxiosURLSearchParams","params","name","encoder","_encode","pair","AxiosURLSearchParams_default","buildURL","url","serializeFn","serializedParams","hashmarkIndex","isAbsoluteURL","combineURLs","baseURL","relativeURL","buildFullPath","requestedURL","speedometer","samplesCount","min","bytes","timestamps","head","tail","firstSampleTS","chunkLength","now","startedAt","bytesCount","passed","speedometer_default","getMethodType","config","rawMethod","resolveOptions","userOptions","resolveUniAppRequestOptions","_a","_b","_c","_d","_e","data","responseType","dataType","requestHeaders","username","password","fullPath","method","timeout","withCredentials","sslVerify","firstIpv4","error","header","progressEventReducer","listener","isDownloadStream","bytesNotified","_speedometer","result","loaded","total","progressBytes","rate","inRange","settle","resolve","reject","response","validateStatus","CanceledError","OnCanceled","task","cancel","download","filePath","onCanceled","errMsg","download_default","upload","files","fileType","file","isTimeoutError","isNetworkError","upload_default","request","request_default","getMethod","createUniAppAxiosAdapter"],"mappings":"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","sourcesContent":["import { Axios, 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 Axios.prototype.download = function (url, config) {\n return this.request({\n url,\n method: \"download\",\n ...config,\n });\n };\n Axios.prototype.upload = function (url, data, config) {\n return this.request({\n url,\n method: \"upload\",\n data,\n ...config,\n });\n };\n const uniappAdapter: AxiosAdapter = (config: AxiosRequestConfig) => {\n const method = getMethod(config);\n return method(config, options);\n };\n return uniappAdapter;\n};\n","const { toString } = Object.prototype;\nconst { getPrototypeOf } = Object;\n\nconst kindOf = ((cache) => (thing: any) => {\n const str = toString.call(thing);\n return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n})(Object.create(null));\n\nconst kindOfTest = (type: string) => {\n type = type.toLowerCase();\n return (thing: any) => kindOf(thing) === type;\n};\n\nconst isURLSearchParams = kindOfTest(\"URLSearchParams\");\n/**\n * Determine if a value is a plain Object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a plain Object, otherwise false\n */\nconst isPlainObject = (val: any): boolean => {\n if (kindOf(val) !== \"object\") {\n return false;\n }\n\n const prototype = getPrototypeOf(val);\n return (\n (prototype === null ||\n prototype === Object.prototype ||\n Object.getPrototypeOf(prototype) === null) &&\n !(Symbol.toStringTag in val) &&\n !(Symbol.iterator in val)\n );\n};\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n *\n * @returns {boolean} True if value is an Array, otherwise false\n */\nconst { isArray } = Array;\n\n/**\n * Determines whether a string ends with the characters of a specified string\n *\n * @param {String} str\n * @param {String} searchString\n * @param {Number} [position= 0]\n *\n * @returns {boolean}\n */\nconst endsWith = (\n str: string,\n searchString: string,\n position?: number\n): boolean => {\n str = String(str);\n if (position === undefined || position > str.length) {\n position = str.length;\n }\n position -= searchString.length;\n const lastIndex = str.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n};\nconst typeOfTest = (type: string) => (thing: any) => typeof thing === type;\n\n/**\n * Determine if a value is a Function\n *\n * @param {*} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nconst isFunction = typeOfTest(\"function\");\n\n/**\n * Determine if a value is an Object\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an Object, otherwise false\n */\nconst isObject = (thing: any): boolean =>\n thing !== null && typeof thing === \"object\";\n\n/**\n * Resolve object with deep prototype chain to a flat object\n * @param {Object} sourceObj source object\n * @param {Object} [destObj]\n * @param {Function|Boolean} [filter]\n * @param {Function} [propFilter]\n *\n * @returns {Object}\n */\nconst toFlatObject = (\n sourceObj: object,\n destObj: object,\n filter: Function | boolean | null,\n propFilter: Function\n): object => {\n let props;\n let i;\n let prop;\n const merged = {};\n\n destObj = destObj || {};\n // eslint-disable-next-line no-eq-null,eqeqeq\n if (sourceObj == null) return destObj;\n\n do {\n props = Object.getOwnPropertyNames(sourceObj);\n i = props.length;\n while (i-- > 0) {\n prop = props[i];\n if (\n (!propFilter || propFilter(prop, sourceObj, destObj)) &&\n // @ts-expect-error\n !merged[prop]\n ) {\n // @ts-expect-error\n destObj[prop] = sourceObj[prop];\n // @ts-expect-error\n merged[prop] = true;\n }\n }\n sourceObj = filter !== false && getPrototypeOf(sourceObj);\n } while (\n sourceObj &&\n // @ts-expect-error\n (!filter || filter(sourceObj, destObj)) &&\n sourceObj !== Object.prototype\n );\n\n return destObj;\n};\n\n/**\n * Determine if a value is a FileList\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFileList = kindOfTest(\"FileList\");\n\n/**\n * Determine if a value is undefined\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nconst isUndefined = typeOfTest(\"undefined\");\n\n/**\n * Determine if a value is a Date\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Date, otherwise false\n */\nconst isDate = kindOfTest(\"Date\");\n\n/**\n * Determine if a value is a Blob\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nconst isBlob = kindOfTest(\"Blob\");\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nconst isArrayBuffer = kindOfTest(\"ArrayBuffer\");\n\n/**\n * Checking if the Uint8Array exists and if it does, it returns a function that checks if the\n * thing passed in is an instance of Uint8Array\n *\n * @param {TypedArray}\n *\n * @returns {Array}\n */\n// eslint-disable-next-line func-names\nconst isTypedArray = ((TypedArray) => {\n // eslint-disable-next-line func-names\n return (thing: any) => {\n return TypedArray && thing instanceof TypedArray;\n };\n})(typeof Uint8Array !== \"undefined\" && getPrototypeOf(Uint8Array));\n/**\n * Returns new array from array like object or null if failed\n *\n * @param {*} [thing]\n *\n * @returns {?Array}\n */\nconst toArray = (thing: any): Array<any> | null => {\n if (!thing) return null;\n if (isArray(thing)) return thing;\n let i = thing.length;\n if (!isNumber(i)) return null;\n const arr = new Array(i);\n while (i-- > 0) {\n arr[i] = thing[i];\n }\n return arr;\n};\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n *\n * @param {Boolean} [allOwnKeys = false]\n * @returns {any}\n */\nfunction forEach(\n obj: string | any[] | null,\n fn: {\n call: (arg0: null, arg1: any, arg2: string | number, arg3: any[]) => void;\n },\n { allOwnKeys = false } = {}\n) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === \"undefined\") {\n return;\n }\n\n let i;\n let l;\n\n // Force an array if not already something iterable\n if (typeof obj !== \"object\") {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n const keys = allOwnKeys\n ? Object.getOwnPropertyNames(obj)\n : Object.keys(obj);\n const len = keys.length;\n let key;\n\n for (i = 0; i < len; i++) {\n key = keys[i];\n fn.call(null, obj[key], key, obj);\n }\n }\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a String, otherwise false\n */\nconst isString = typeOfTest(\"string\");\nconst isNumber = typeOfTest(\"number\");\n\nexport default {\n isURLSearchParams,\n isPlainObject,\n isArray,\n endsWith,\n isFunction,\n isObject,\n toFlatObject,\n isUndefined,\n isDate,\n isBlob,\n isArrayBuffer,\n isTypedArray,\n isFileList,\n toArray,\n forEach,\n isString,\n};\n","import FormData from 'form-data';\nexport default FormData;\n","\"use strict\";\n\nimport utils from \"../utils\";\nimport envFormData from \"../env/classes/FormData\";\nimport { AxiosError } from \"axios\";\n\n/**\n * Determines if the given thing is a array or js object.\n *\n * @param {string} thing - The object or array to be visited.\n *\n * @returns {boolean}\n */\nfunction isVisitable(thing: any) {\n return utils.isPlainObject(thing) || utils.isArray(thing);\n}\n\n/**\n * It removes the brackets from the end of a string\n *\n * @param {string} key - The key of the parameter.\n *\n * @returns {string} the key without the brackets.\n */\nfunction removeBrackets(key: any) {\n return utils.endsWith(key, \"[]\") ? key.slice(0, -2) : key;\n}\n\n/**\n * It takes a path, a key, and a boolean, and returns a string\n *\n * @param {string} path - The path to the current key.\n * @param {string} key - The key of the current object being iterated over.\n * @param {string} dots - If true, the key will be rendered with dots instead of brackets.\n *\n * @returns {string} The path to the current key.\n */\nfunction renderKey(path: any, key: any, dots: any) {\n if (!path) return key;\n return path\n .concat(key)\n .map(function each(token: any, i: any) {\n // eslint-disable-next-line no-param-reassign\n token = removeBrackets(token);\n return !dots && i ? \"[\" + token + \"]\" : token;\n })\n .join(dots ? \".\" : \"\");\n}\n\n/**\n * If the array is an array and none of its elements are visitable, then it's a flat array.\n *\n * @param {Array<any>} arr - The array to check\n *\n * @returns {boolean}\n */\nfunction isFlatArray(arr: any) {\n return utils.isArray(arr) && !arr.some(isVisitable);\n}\n\nconst predicates = utils.toFlatObject(\n utils,\n {},\n null,\n function filter(prop: any) {\n return /^is[A-Z]/.test(prop);\n }\n);\n\n/**\n * If the thing is a FormData object, return true, otherwise return false.\n *\n * @param {unknown} thing - The thing to check.\n *\n * @returns {boolean}\n */\nfunction isSpecCompliant(thing: any) {\n return (\n thing &&\n utils.isFunction(thing.append) &&\n thing[Symbol.toStringTag] === \"FormData\" &&\n thing[Symbol.iterator]\n );\n}\n\n/**\n * Convert a data object to FormData\n *\n * @param {Object} obj\n * @param {?Object} [formData]\n * @param {?Object} [options]\n * @param {Function} [options.visitor]\n * @param {Boolean} [options.metaTokens = true]\n * @param {Boolean} [options.dots = false]\n * @param {?Boolean} [options.indexes = false]\n *\n * @returns {Object}\n **/\n\n/**\n * It converts an object into a FormData object\n *\n * @param {Object<any, any>} obj - The object to convert to form data.\n * @param {string} formData - The FormData object to append to.\n * @param {Object<string, any>} options\n *\n * @returns\n */\nfunction toFormData(obj: any, formData: any, options: any) {\n if (!utils.isObject(obj)) {\n throw new TypeError(\"target must be an object\");\n }\n\n // eslint-disable-next-line no-param-reassign\n formData = formData || new (envFormData || FormData)();\n\n // eslint-disable-next-line no-param-reassign\n options = utils.toFlatObject(\n options,\n {\n metaTokens: true,\n dots: false,\n indexes: false,\n },\n false,\n function defined(option: any, source: any) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n return !utils.isUndefined(source[option]);\n }\n );\n\n const metaTokens = options.metaTokens;\n // eslint-disable-next-line no-use-before-define\n const visitor = options.visitor || defaultVisitor;\n const dots = options.dots;\n const indexes = options.indexes;\n const _Blob = options.Blob || (typeof Blob !== \"undefined\" && Blob);\n const useBlob = _Blob && isSpecCompliant(formData);\n\n if (!utils.isFunction(visitor)) {\n throw new TypeError(\"visitor must be a function\");\n }\n\n function convertValue(value: any) {\n if (value === null) return \"\";\n\n if (utils.isDate(value)) {\n return value.toISOString();\n }\n\n if (!useBlob && utils.isBlob(value)) {\n throw new AxiosError(\"Blob is not supported. Use a Buffer instead.\");\n }\n\n if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {\n return useBlob && typeof Blob === \"function\"\n ? new Blob([value])\n : Buffer.from(value);\n }\n\n return value;\n }\n\n /**\n * Default visitor.\n *\n * @param {*} value\n * @param {String|Number} key\n * @param {Array<String|Number>} path\n * @this {FormData}\n *\n * @returns {boolean} return true to visit the each prop of the value recursively\n */\n function defaultVisitor(value: any, key: any, path: any) {\n let arr = value;\n\n if (value && !path && typeof value === \"object\") {\n if (utils.endsWith(key, \"{}\")) {\n // eslint-disable-next-line no-param-reassign\n key = metaTokens ? key : key.slice(0, -2);\n // eslint-disable-next-line no-param-reassign\n value = JSON.stringify(value);\n } else if (\n (utils.isArray(value) && isFlatArray(value)) ||\n utils.isFileList(value) ||\n (utils.endsWith(key, \"[]\") && (arr = utils.toArray(value)))\n ) {\n // eslint-disable-next-line no-param-reassign\n key = removeBrackets(key);\n\n arr.forEach(function each(el: any, index: any) {\n !(utils.isUndefined(el) || el === null) &&\n formData.append(\n // eslint-disable-next-line no-nested-ternary\n indexes === true\n ? renderKey([key], index, dots)\n : indexes === null\n ? key\n : key + \"[]\",\n convertValue(el)\n );\n });\n return false;\n }\n }\n\n if (isVisitable(value)) {\n return true;\n }\n\n formData.append(renderKey(path, key, dots), convertValue(value));\n\n return false;\n }\n\n const stack: any[] = [];\n\n const exposedHelpers = Object.assign(predicates, {\n defaultVisitor,\n convertValue,\n isVisitable,\n });\n\n function build(value: any, path?: any) {\n if (utils.isUndefined(value)) return;\n\n if (stack.indexOf(value) !== -1) {\n throw Error(\"Circular reference detected in \" + path.join(\".\"));\n }\n\n stack.push(value);\n\n utils.forEach(value, function each(el: any, key: any) {\n const result =\n !(utils.isUndefined(el) || el === null) &&\n visitor.call(\n formData,\n el,\n utils.isString(key) ? key.trim() : key,\n path,\n exposedHelpers\n );\n\n if (result === true) {\n build(el, path ? path.concat(key) : [key]);\n }\n });\n\n stack.pop();\n }\n\n if (!utils.isObject(obj)) {\n throw new TypeError(\"data must be an object\");\n }\n\n build(obj);\n\n return formData;\n}\n\nexport default toFormData;\n","\"use strict\";\n\nimport toFormData from \"./toFormData\";\n\n/**\n * It encodes a string by replacing all characters that are not in the unreserved set with\n * their percent-encoded equivalents\n *\n * @param {string} str - The string to encode.\n *\n * @returns {string} The encoded string.\n */\nfunction encode(str: string) {\n const charMap: any = {\n \"!\": \"%21\",\n \"'\": \"%27\",\n \"(\": \"%28\",\n \")\": \"%29\",\n \"~\": \"%7E\",\n \"%20\": \"+\",\n \"%00\": \"\\x00\",\n };\n return encodeURIComponent(str).replace(\n /[!'()~]|%20|%00/g,\n function replacer(match) {\n return charMap[match];\n }\n );\n}\n\n/**\n * It takes a params object and converts it to a FormData object\n *\n * @param {Object<string, any>} params - The parameters to be converted to a FormData object.\n * @param {Object<string, any>} options - The options object passed to the Axios constructor.\n *\n * @returns {void}\n */\nfunction AxiosURLSearchParams(this: any, params: any, options: any) {\n this._pairs = [];\n\n params && toFormData(params, this, options);\n}\n\nconst prototype = AxiosURLSearchParams.prototype;\n\nprototype.append = function append(name: string, value: any) {\n this._pairs.push([name, value]);\n};\n\nprototype.toString = function toString(encoder: any) {\n const _encode = encoder\n ? (value: any) => {\n return encoder.call(this, value, encode);\n }\n : encode;\n\n return this._pairs\n .map(function each(pair: string[]) {\n return _encode(pair[0]) + \"=\" + _encode(pair[1]);\n }, \"\")\n .join(\"&\");\n};\n\nexport default AxiosURLSearchParams;\n","\"use strict\";\n\nimport utils from \"../utils\";\nimport AxiosURLSearchParams from \"../helpers/AxiosURLSearchParams\";\n\n/**\n * It replaces all instances of the characters `:`, `$`, `,`, `+`, `[`, and `]` with their\n * URI encoded counterparts\n *\n * @param {string} val The value to be encoded.\n *\n * @returns {string} The encoded value.\n */\nfunction encode(val: string) {\n return encodeURIComponent(val)\n .replace(/%3A/gi, \":\")\n .replace(/%24/g, \"$\")\n .replace(/%2C/gi, \",\")\n .replace(/%20/g, \"+\")\n .replace(/%5B/gi, \"[\")\n .replace(/%5D/gi, \"]\");\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @param {?object} options\n *\n * @returns {string} The formatted url\n */\nexport default function buildURL(url: string, params?: any, options?: any) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n\n const _encode = (options && options.encode) || encode;\n\n const serializeFn = options && options.serialize;\n\n let serializedParams;\n\n if (serializeFn) {\n serializedParams = serializeFn(params, options);\n } else {\n serializedParams = utils.isURLSearchParams(params)\n ? params.toString()\n : // @ts-expect-error\n new AxiosURLSearchParams(params, options).toString(_encode);\n }\n\n if (serializedParams) {\n const hashmarkIndex = url.indexOf(\"#\");\n\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n url += (url.indexOf(\"?\") === -1 ? \"?\" : \"&\") + serializedParams;\n }\n\n return url;\n}\n","\"use strict\";\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n *\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nexport default function isAbsoluteURL(url: string) {\n // A URL is considered absolute if it begins with \"<scheme>://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d+\\-.]*:)?\\/\\//i.test(url);\n}\n","\"use strict\";\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n *\n * @returns {string} The combined URL\n */\nexport default function combineURLs(baseURL: string, relativeURL: string) {\n return relativeURL\n ? baseURL.replace(/\\/+$/, \"\") + \"/\" + relativeURL.replace(/^\\/+/, \"\")\n : baseURL;\n}\n","\"use strict\";\n\nimport isAbsoluteURL from \"../helpers/isAbsoluteURL\";\nimport combineURLs from \"../helpers/combineURLs\";\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n *\n * @returns {string} The combined full path\n */\nexport default function buildFullPath(baseURL: string, requestedURL: string) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n}\n","\"use strict\";\n\n/**\n * Calculate data maxRate\n * @param {Number} [samplesCount= 10]\n * @param {Number} [min= 1000]\n * @returns {Function}\n */\nfunction speedometer(samplesCount: number, min: number | undefined) {\n samplesCount = samplesCount || 10;\n const bytes = new Array(samplesCount);\n const timestamps = new Array(samplesCount);\n let head = 0;\n let tail = 0;\n let firstSampleTS: number;\n\n min = min !== undefined ? min : 1000;\n\n return function push(chunkLength: any) {\n const now = Date.now();\n\n const startedAt = timestamps[tail];\n\n if (!firstSampleTS) {\n firstSampleTS = now;\n }\n\n bytes[head] = chunkLength;\n timestamps[head] = now;\n\n let i = tail;\n let bytesCount = 0;\n\n while (i !== head) {\n bytesCount += bytes[i++];\n i = i % samplesCount;\n }\n\n head = (head + 1) % samplesCount;\n\n if (head === tail) {\n tail = (tail + 1) % samplesCount;\n }\n\n // @ts-expect-error\n if (now - firstSampleTS < min) {\n return;\n }\n\n const passed = startedAt && now - startedAt;\n\n return passed ? Math.round((bytesCount * 1000) / passed) : undefined;\n };\n}\n\nexport default speedometer;\n","import buildURL from \"./axiosLib/helpers/buildURL\";\nimport buildFullPath from \"./axiosLib/core/buildFullPath\";\nimport speedometer from \"./axiosLib/helpers/speedometer\";\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\";\nimport settle from \"../axiosLib/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 { AxiosError } from \"axios\";\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n *\n * @returns {object} The response.\n */\nexport default function settle(\n resolve: Function,\n reject: Function,\n response: any\n) {\n const validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(\n new AxiosError(\n \"Request failed with status code \" + response.status,\n [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][\n Math.floor(response.status / 100) - 4\n ],\n response.config,\n response.request,\n response\n )\n );\n }\n}\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\";\nimport settle from \"../axiosLib/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\";\nimport settle from \"../axiosLib/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"]}
package/package.json CHANGED
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "name": "@uni-helper/axios-adapter",
3
3
  "type": "module",
4
- "version": "0.0.7",
4
+ "version": "1.4.0",
5
5
  "license": "MIT",
6
- "packageManager": "pnpm@7.12.0",
6
+ "packageManager": "pnpm@8.5.1",
7
7
  "description": "The Axios adapter for uniapp",
8
8
  "homepage": "https://github.com/uni-helper/axios-adapter",
9
9
  "repository": {
@@ -35,16 +35,16 @@
35
35
  "./client.d.ts"
36
36
  ],
37
37
  "devDependencies": {
38
- "@dcloudio/types": "^3.2.8",
39
- "@types/node": "^18.11.18",
40
- "axios": "^1.2.6",
41
- "bumpp": "^8.2.1",
42
- "eslint": "^8.33.0",
43
- "pnpm": "^7.26.2",
44
- "rimraf": "^4.1.2",
45
- "tsup": "^6.5.0",
46
- "typescript": "^4.9.4",
47
- "vite": "^4.0.4"
38
+ "@dcloudio/types": "^3.3.3",
39
+ "@types/node": "^18.16.14",
40
+ "axios": "^1.4.0",
41
+ "bumpp": "^9.1.0",
42
+ "eslint": "^8.41.0",
43
+ "pnpm": "^8.5.1",
44
+ "rimraf": "^5.0.1",
45
+ "tsup": "^6.7.0",
46
+ "typescript": "^5.0.4",
47
+ "vite": "^4.3.8"
48
48
  },
49
49
  "dependencies": {
50
50
  "form-data": "^4.0.0"
package/README.zh-CN.md DELETED
@@ -1,79 +0,0 @@
1
- <img src="./assets/logo.svg" alt="logo of @uni-helper/axios-adapter repository" width="100" height="100" align="right" />
2
-
3
- # @uni-helper/axios-adapter
4
-
5
- > 适用于 Vue2 和 Vue3 的 uniapp Axios 适配器
6
-
7
- [English](./README.md) | 简体中文
8
-
9
- ## 安装
10
-
11
- ```
12
- pnpm i @uni-helper/axios-adapter axios
13
- ```
14
-
15
- ## 使用
16
-
17
- ### 基本用法
18
-
19
- ```ts
20
- import axios from "axios";
21
- import { createUniAppAxiosAdapter } from "@uni-helper/axios-adapter";
22
-
23
- const instance = axios.create({
24
- adapter: createUniAppAxiosAdapter(),
25
- });
26
- ```
27
-
28
- ### 与 useAxios 一起使用
29
-
30
- ```ts
31
- import axios from "axios";
32
- import { useAxios } from "@vueuse/integrations/useAxios";
33
- import { createUniAppAxiosAdapter } from "@uni-helper/axios-adapter";
34
-
35
- const instance = axios.create({
36
- adapter: createUniAppAxiosAdapter(),
37
- });
38
-
39
- const { data, isFinished } = useAxios("/posts", instance);
40
- ```
41
-
42
- ### 上传和下载
43
-
44
- ```ts
45
- import axios from "axios";
46
- import { createUniAppAxiosAdapter } from "@uni-helper/axios-adapter";
47
-
48
- const instance = axios.create({
49
- adapter: createUniAppAxiosAdapter(),
50
- });
51
-
52
- // 一个假文件
53
- const data = new File([new Blob()], "emptyFile");
54
-
55
- // 下载
56
- instance.download("/");
57
- // or
58
- instance.request({
59
- url: "/",
60
- method: "download",
61
- });
62
-
63
- // 上传
64
- instance.upload("/", data);
65
- // or
66
- instance.request({
67
- url: "/",
68
- method: "upload",
69
- data,
70
- });
71
- ```
72
-
73
- ## 客户端类型
74
-
75
- 提供了 upload 和 download 方法的类型提示,及 AxiosRequestConfig 支持传递 uniapp 特有参数
76
-
77
- ```ts
78
- /// <reference types="@uni-helper/axios-adapter/client" />
79
- ```