@seayoo-web/request 2.1.0 → 2.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("./retry-CRrgnQtP.cjs"),q=require("./request.fetch-YPs3rgIZ.cjs"),y=async function(t,s,e){return o.handleResponse(await o.retryRequest(R,t,s,e),t,s,e)};async function m(t,s,e,n){const r=e==null?void 0:e.body,u=(e==null?void 0:e.method)==="PUT"?"PUT":"POST";if(s instanceof Blob){const i=new o.RequestGlobalConfig(n),f=await R(t,i,{...e,method:u,body:s});return o.handleResponse(f,t,i,e)}const c=new FormData,d={...s};r instanceof Object&&Object.entries(r).forEach(([i,f])=>{f instanceof Blob?d[i]=f:Array.isArray(f)?f.forEach((a,g)=>{c.append(`${i}[${g}]`,String(a))}):c.append(i,String(f))});for(const i in d)c.append(i,d[i]);const b=new o.RequestGlobalConfig(n),w=await R(t,b,{...e,method:u,body:c});return o.handleResponse(w,t,b,e)}const R=async function(t,s,e){const n=await o.convertOptions(t,s,e),r=n.method,u=e==null?void 0:e.onUploadProgress,c=o.Ht(n.url,n.params);return await new Promise(d=>{let b=null,w=!1;const i=function(){w||(a.abort(),w=!0)};function f(){b!==null&&clearTimeout(b),n.abort&&n.abort.removeEventListener("abort",i)}const a=new XMLHttpRequest;if(a.open(r,c,!0),u){let g=1;a.upload.addEventListener("progress",h=>{g=h.total,u({total:h.total,loaded:h.loaded})}),a.addEventListener("load",()=>{u({loaded:g,total:g})})}a.addEventListener("load",()=>{f(),d({url:c,method:r,status:a.status,statusText:a.statusText,headers:H(a),body:r==="HEAD"?"":a.responseText})}),a.addEventListener("error",g=>{f(),d({url:c,method:r,status:-1,statusText:o.RequestInteralError.Unknown,body:"",rawError:g})},!0),a.addEventListener("abort",()=>{f(),d({url:c,method:r,status:-1,statusText:o.RequestInteralError.Aborted,body:""})}),Object.entries(n.headers).forEach(([g,h])=>{a.setRequestHeader(g,h)}),n.credentials==="include"&&(a.withCredentials=!0),a.send(n.body||void 0),n.abort&&n.abort.addEventListener("abort",i),n.timeout>0&&(b=setTimeout(i,n.timeout))})};function H(t){const s={};if(!t)return s;const e=t.getAllResponseHeaders();return e&&e!=="null"&&e.replace(/\r/g,"").split(`
2
- `).forEach(n=>{const r=n.trim();if(!r)return;const u=r.split(":"),c=u[0].trim();c&&(s[c]=(u[1]||"").trim())}),s}async function E(t,s,e={}){const n=window;"callback"in e||(e.callback="jsonxData"+Math.random().toString(16).slice(2));const r=e.callback+"";if(!t)return null;const u=o.Ht(t,e,!0);return new Promise(c=>{n[r]=function(d){if(r in window&&delete n[r],s(d))return d;console.warn("response type check faild",t,d),c(null)},o.Oe(u).catch(function(){c(null),delete n[r]})})}async function T(t,s,e={}){const n=window;return"var"in e||(e.var="jsonxData"+Math.random().toString(16).slice(2)),t?await o.Oe(o.Ht(t,e,!0)).then(()=>{const r=n[e.var+""];return s(r)?r:(console.warn("response type check faild",t,r),null)}).catch(()=>null):null}const C=async function(t,s,e){return await m(t,s,e,{baseURL:l.getConfig("baseURL"),logHandler:l.getConfig("logHandler"),errorHandler:l.getConfig("errorHandler"),requestTransformer:l.getConfig("requestTransformer"),messageHandler:l.getConfig("messageHandler"),responseHandler:l.getConfig("responseHandler")})};function p(t){if(!o.ee.window)throw new Error("Default Module Only Support In Browser");return o.ee.fetch?new o.NetRequestHandler(q.fetchRequest,t):new o.NetRequestHandler(y,t)}const l=p(),x=l.setConfig,j=l.request,L=l.head,S=l.get,O=l.post,U=l.del,k=l.put,v=l.patch;exports.RequestInteralError=o.RequestInteralError;exports.getResponseRulesDescription=o.getResponseRulesDescription;exports.NetRequest=p;exports.del=U;exports.get=S;exports.head=L;exports.jsonp=E;exports.jsonx=T;exports.patch=v;exports.post=O;exports.put=k;exports.request=j;exports.setGlobalConfig=x;exports.upload=C;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("./retry-C2OSRA9r.cjs"),q=require("./request.fetch-WuNmpi3J.cjs"),y=async function(t,s,e){return o.handleResponse(await o.retryRequest(R,t,s,e),t,s,e)};async function m(t,s,e,n){const r=e==null?void 0:e.body,d=(e==null?void 0:e.method)==="PUT"?"PUT":"POST";if(s instanceof Blob){const u=new o.RequestGlobalConfig(n),g=await R(t,u,{...e,method:d,body:s});return o.handleResponse(g,t,u,e)}const c=new FormData,f={...s};r instanceof Object&&Object.entries(r).forEach(([u,g])=>{g instanceof Blob?f[u]=g:Array.isArray(g)?g.forEach((a,i)=>{c.append(`${u}[${i}]`,String(a))}):c.append(u,String(g))});for(const u in f)c.append(u,f[u]);const b=new o.RequestGlobalConfig(n),w=await R(t,b,{...e,method:d,body:c});return o.handleResponse(w,t,b,e)}const R=async function(t,s,e){const n=await o.convertOptions(t,s,e),r=n.method,d=e==null?void 0:e.onUploadProgress,c=o.Zt(n.url,n.params);return await new Promise(f=>{let b=null,w=!1;const u=function(){w||(a.abort(),w=!0)};function g(){b!==null&&clearTimeout(b),n.abort&&n.abort.removeEventListener("abort",u)}const a=new XMLHttpRequest;if(a.open(r,c,!0),d){let i=1;a.upload.addEventListener("progress",h=>{i=h.total,d({total:h.total,loaded:h.loaded})}),a.addEventListener("load",()=>{d({loaded:i,total:i})})}a.addEventListener("load",()=>{const i=a.status;g(),f({url:c,method:r,status:i,statusText:a.statusText,headers:E(a),body:r==="HEAD"||i===204?"":a.responseText})}),a.addEventListener("error",i=>{g(),f({url:c,method:r,status:a.status||-1,statusText:a.statusText||o.RequestInteralError.NetworkError,body:"",rawError:i})},!0),a.addEventListener("abort",()=>{g(),f({url:c,method:r,status:-1,statusText:o.RequestInteralError.Aborted,body:""})}),Object.entries(n.headers).forEach(([i,h])=>{a.setRequestHeader(i,h)}),n.credentials==="include"&&(a.withCredentials=!0),a.send(n.body||void 0),n.abort&&n.abort.addEventListener("abort",u),n.timeout>0&&(b=setTimeout(u,n.timeout))})};function E(t){const s={};if(!t)return s;const e=t.getAllResponseHeaders();return e&&e!=="null"&&e.replace(/\r/g,"").split(`
2
+ `).forEach(n=>{const r=n.trim();if(!r)return;const d=r.split(":"),c=d[0].trim();c&&(s[c]=(d[1]||"").trim())}),s}async function H(t,s,e={}){const n=window;"callback"in e||(e.callback="jsonxData"+Math.random().toString(16).slice(2));const r=e.callback+"";if(!t)return null;const d=o.Zt(t,e,!0);return new Promise(c=>{n[r]=function(f){if(r in window&&delete n[r],s(f))return f;console.warn("response type check faild",t,f),c(null)},o.Ie(d).catch(function(){c(null),delete n[r]})})}async function T(t,s,e={}){const n=window;return"var"in e||(e.var="jsonxData"+Math.random().toString(16).slice(2)),t?await o.Ie(o.Zt(t,e,!0)).then(()=>{const r=n[e.var+""];return s(r)?r:(console.warn("response type check faild",t,r),null)}).catch(()=>null):null}const x=async function(t,s,e){return await m(t,s,e,{baseURL:l.getConfig("baseURL"),logHandler:l.getConfig("logHandler"),errorHandler:l.getConfig("errorHandler"),requestTransformer:l.getConfig("requestTransformer"),messageHandler:l.getConfig("messageHandler"),responseHandler:l.getConfig("responseHandler")})};function p(t){if(!o.lt.window)throw new Error("Default Module Only Support In Browser");return o.lt.fetch?new o.NetRequestHandler(q.fetchRequest,t):new o.NetRequestHandler(y,t)}const l=p(),C=l.setConfig,j=l.request,L=l.head,S=l.get,k=l.post,v=l.del,D=l.put,U=l.patch;exports.RequestInteralError=o.RequestInteralError;exports.getResponseRulesDescription=o.getResponseRulesDescription;exports.NetRequest=p;exports.del=v;exports.get=S;exports.head=L;exports.jsonp=H;exports.jsonx=T;exports.patch=U;exports.post=k;exports.put=D;exports.request=j;exports.setGlobalConfig=C;exports.upload=x;
package/dist/index.js CHANGED
@@ -1,89 +1,90 @@
1
- import { h as w, r as T, R as y, c as x, H as p, a as R, O as E, e as H, N as q } from "./retry-8Z8eLh90.js";
2
- import { g as J } from "./retry-8Z8eLh90.js";
3
- import { f as C } from "./request.fetch-idcpAgJt.js";
1
+ import { h as w, r as T, R as y, c as x, Z as p, a as R, I as q, l as E, N as H } from "./retry-DUbMIN1-.js";
2
+ import { g as z } from "./retry-DUbMIN1-.js";
3
+ import { f as C } from "./request.fetch-3tu4c4YP.js";
4
4
  const L = async function(t, a, e) {
5
5
  return w(await T(m, t, a, e), t, a, e);
6
6
  };
7
- async function U(t, a, e, n) {
8
- const r = e == null ? void 0 : e.body, i = (e == null ? void 0 : e.method) === "PUT" ? "PUT" : "POST";
7
+ async function k(t, a, e, n) {
8
+ const r = e == null ? void 0 : e.body, d = (e == null ? void 0 : e.method) === "PUT" ? "PUT" : "POST";
9
9
  if (a instanceof Blob) {
10
- const l = new y(n), u = await m(t, l, {
10
+ const l = new y(n), f = await m(t, l, {
11
11
  ...e,
12
- method: i,
12
+ method: d,
13
13
  body: a
14
14
  });
15
- return w(u, t, l, e);
15
+ return w(f, t, l, e);
16
16
  }
17
- const s = new FormData(), d = { ...a };
18
- r instanceof Object && Object.entries(r).forEach(([l, u]) => {
19
- u instanceof Blob ? d[l] = u : Array.isArray(u) ? u.forEach((o, f) => {
20
- s.append(`${l}[${f}]`, String(o));
21
- }) : s.append(l, String(u));
17
+ const s = new FormData(), u = { ...a };
18
+ r instanceof Object && Object.entries(r).forEach(([l, f]) => {
19
+ f instanceof Blob ? u[l] = f : Array.isArray(f) ? f.forEach((o, i) => {
20
+ s.append(`${l}[${i}]`, String(o));
21
+ }) : s.append(l, String(f));
22
22
  });
23
- for (const l in d)
24
- s.append(l, d[l]);
23
+ for (const l in u)
24
+ s.append(l, u[l]);
25
25
  const b = new y(n), h = await m(t, b, {
26
26
  ...e,
27
- method: i,
27
+ method: d,
28
28
  body: s
29
29
  });
30
30
  return w(h, t, b, e);
31
31
  }
32
32
  const m = async function(t, a, e) {
33
- const n = await x(t, a, e), r = n.method, i = e == null ? void 0 : e.onUploadProgress, s = p(n.url, n.params);
34
- return await new Promise((d) => {
33
+ const n = await x(t, a, e), r = n.method, d = e == null ? void 0 : e.onUploadProgress, s = p(n.url, n.params);
34
+ return await new Promise((u) => {
35
35
  let b = null, h = !1;
36
36
  const l = function() {
37
37
  h || (o.abort(), h = !0);
38
38
  };
39
- function u() {
39
+ function f() {
40
40
  b !== null && clearTimeout(b), n.abort && n.abort.removeEventListener("abort", l);
41
41
  }
42
42
  const o = new XMLHttpRequest();
43
- if (o.open(r, s, !0), i) {
44
- let f = 1;
43
+ if (o.open(r, s, !0), d) {
44
+ let i = 1;
45
45
  o.upload.addEventListener("progress", (g) => {
46
- f = g.total, i({ total: g.total, loaded: g.loaded });
46
+ i = g.total, d({ total: g.total, loaded: g.loaded });
47
47
  }), o.addEventListener("load", () => {
48
- i({ loaded: f, total: f });
48
+ d({ loaded: i, total: i });
49
49
  });
50
50
  }
51
51
  o.addEventListener("load", () => {
52
- u(), d({
52
+ const i = o.status;
53
+ f(), u({
53
54
  url: s,
54
55
  method: r,
55
- status: o.status,
56
+ status: i,
56
57
  statusText: o.statusText,
57
- headers: k(o),
58
- body: r === "HEAD" ? "" : o.responseText
58
+ headers: S(o),
59
+ body: r === "HEAD" || i === 204 ? "" : o.responseText
59
60
  });
60
61
  }), o.addEventListener(
61
62
  "error",
62
- (f) => {
63
- u(), d({
63
+ (i) => {
64
+ f(), u({
64
65
  url: s,
65
66
  method: r,
66
- status: -1,
67
- statusText: R.Unknown,
67
+ status: o.status || -1,
68
+ statusText: o.statusText || R.NetworkError,
68
69
  body: "",
69
- rawError: f
70
+ rawError: i
70
71
  });
71
72
  },
72
73
  !0
73
74
  ), o.addEventListener("abort", () => {
74
- u(), d({
75
+ f(), u({
75
76
  url: s,
76
77
  method: r,
77
78
  status: -1,
78
79
  statusText: R.Aborted,
79
80
  body: ""
80
81
  });
81
- }), Object.entries(n.headers).forEach(([f, g]) => {
82
- o.setRequestHeader(f, g);
82
+ }), Object.entries(n.headers).forEach(([i, g]) => {
83
+ o.setRequestHeader(i, g);
83
84
  }), n.credentials === "include" && (o.withCredentials = !0), o.send(n.body || void 0), n.abort && n.abort.addEventListener("abort", l), n.timeout > 0 && (b = setTimeout(l, n.timeout));
84
85
  });
85
86
  };
86
- function k(t) {
87
+ function S(t) {
87
88
  const a = {};
88
89
  if (!t)
89
90
  return a;
@@ -93,36 +94,36 @@ function k(t) {
93
94
  const r = n.trim();
94
95
  if (!r)
95
96
  return;
96
- const i = r.split(":"), s = i[0].trim();
97
- s && (a[s] = (i[1] || "").trim());
97
+ const d = r.split(":"), s = d[0].trim();
98
+ s && (a[s] = (d[1] || "").trim());
98
99
  }), a;
99
100
  }
100
- async function v(t, a, e = {}) {
101
+ async function D(t, a, e = {}) {
101
102
  const n = window;
102
103
  "callback" in e || (e.callback = "jsonxData" + Math.random().toString(16).slice(2));
103
104
  const r = e.callback + "";
104
105
  if (!t)
105
106
  return null;
106
- const i = p(t, e, !0);
107
+ const d = p(t, e, !0);
107
108
  return new Promise((s) => {
108
- n[r] = function(d) {
109
- if (r in window && delete n[r], a(d))
110
- return d;
111
- console.warn("response type check faild", t, d), s(null);
112
- }, E(i).catch(function() {
109
+ n[r] = function(u) {
110
+ if (r in window && delete n[r], a(u))
111
+ return u;
112
+ console.warn("response type check faild", t, u), s(null);
113
+ }, q(d).catch(function() {
113
114
  s(null), delete n[r];
114
115
  });
115
116
  });
116
117
  }
117
- async function D(t, a, e = {}) {
118
+ async function O(t, a, e = {}) {
118
119
  const n = window;
119
- return "var" in e || (e.var = "jsonxData" + Math.random().toString(16).slice(2)), t ? await E(p(t, e, !0)).then(() => {
120
+ return "var" in e || (e.var = "jsonxData" + Math.random().toString(16).slice(2)), t ? await q(p(t, e, !0)).then(() => {
120
121
  const r = n[e.var + ""];
121
122
  return a(r) ? r : (console.warn("response type check faild", t, r), null);
122
123
  }).catch(() => null) : null;
123
124
  }
124
125
  const P = async function(t, a, e) {
125
- return await U(t, a, e, {
126
+ return await k(t, a, e, {
126
127
  baseURL: c.getConfig("baseURL"),
127
128
  logHandler: c.getConfig("logHandler"),
128
129
  errorHandler: c.getConfig("errorHandler"),
@@ -131,24 +132,24 @@ const P = async function(t, a, e) {
131
132
  responseHandler: c.getConfig("responseHandler")
132
133
  });
133
134
  };
134
- function O(t) {
135
- if (!H.window)
135
+ function U(t) {
136
+ if (!E.window)
136
137
  throw new Error("Default Module Only Support In Browser");
137
- return H.fetch ? new q(C, t) : new q(L, t);
138
+ return E.fetch ? new H(C, t) : new H(L, t);
138
139
  }
139
- const c = O(), A = c.setConfig, M = c.request, N = c.head, B = c.get, X = c.post, F = c.del, G = c.put, I = c.patch;
140
+ const c = U(), A = c.setConfig, M = c.request, N = c.head, I = c.get, B = c.post, X = c.del, F = c.put, G = c.patch;
140
141
  export {
141
- O as NetRequest,
142
+ U as NetRequest,
142
143
  R as RequestInteralError,
143
- F as del,
144
- B as get,
145
- J as getResponseRulesDescription,
144
+ X as del,
145
+ I as get,
146
+ z as getResponseRulesDescription,
146
147
  N as head,
147
- v as jsonp,
148
- D as jsonx,
149
- I as patch,
150
- X as post,
151
- G as put,
148
+ D as jsonp,
149
+ O as jsonx,
150
+ G as patch,
151
+ B as post,
152
+ F as put,
152
153
  M as request,
153
154
  A as setGlobalConfig,
154
155
  P as upload
package/dist/node.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./retry-CRrgnQtP.cjs"),b=require("./request.fetch-YPs3rgIZ.cjs"),y=require("node:http"),g=require("node:https"),w=async function(o,u,c){return e.handleResponse(await e.retryRequest(E,o,u,c),o,u,c)},E=async function(o,u,c){const t=await e.convertOptions(o,u,c);if(!e.Y(t.url))return{url:t.url,method:t.method,status:-1,statusText:e.RequestInteralError.URLFormatError,headers:{},body:""};const p=/^https:\/\//i.test(t.url)?g:y,a=new URL(t.url),i=t.params;i instanceof Object&&Object.keys(i).forEach(n=>a.searchParams.set(n,i[n]));const f=t.method==="HEAD";return new Promise(n=>{const d=p.request(a,{headers:t.headers,method:t.method,timeout:t.timeout>0?t.timeout:void 0},function(s){const l=[];s.on("data",h=>l.push(h)),s.on("end",()=>{const h=e.fromEntries(Object.entries(s.headers).map(([R,m])=>[R.toLowerCase(),Array.isArray(m)?m.join(","):m]));n({url:a.toString(),method:t.method,status:s.statusCode||-1,statusText:s.statusMessage||e.RequestInteralError.Unknown,headers:h,body:f?"":Buffer.concat(l).toString("utf-8")})})});d.on("error",s=>{n({url:a.toString(),method:t.method,status:-1,statusText:e.RequestInteralError.Unknown,body:"",rawError:s})}),d.on("timeout",()=>{n({url:a.toString(),method:t.method,status:-1,statusText:e.RequestInteralError.Timeout,body:""})}),t.body&&d.write(t.body),d.end()})};function q(o){return e.ee.fetch?new e.NetRequestHandler(b.fetchRequest,o):new e.NetRequestHandler(w,o)}const r=q(),S=r.setConfig,T=r.head,j=r.get,C=r.post,N=r.del,O=r.put,U=r.patch;exports.NetRequest=q;exports.del=N;exports.get=j;exports.head=T;exports.patch=U;exports.post=C;exports.put=O;exports.setGlobalConfig=S;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./retry-C2OSRA9r.cjs"),b=require("./request.fetch-WuNmpi3J.cjs"),y=require("node:http"),g=require("node:https"),w=async function(s,u,c){return e.handleResponse(await e.retryRequest(E,s,u,c),s,u,c)},E=async function(s,u,c){const t=await e.convertOptions(s,u,c);if(!e.tt(t.url))return{url:t.url,method:t.method,status:-1,statusText:e.RequestInteralError.URLFormatError,headers:{},body:""};const p=/^https:\/\//i.test(t.url)?g:y,a=new URL(t.url),i=t.params;i instanceof Object&&Object.keys(i).forEach(n=>a.searchParams.set(n,i[n]));const f=t.method==="HEAD";return new Promise(n=>{const d=p.request(a,{headers:t.headers,method:t.method,timeout:t.timeout>0?t.timeout:void 0},function(o){const m=[];o.on("data",h=>m.push(h)),o.on("end",()=>{const h=e.fromEntries(Object.entries(o.headers).map(([R,l])=>[R.toLowerCase(),Array.isArray(l)?l.join(","):l]));n({url:a.toString(),method:t.method,status:o.statusCode||-1,statusText:o.statusMessage||e.RequestInteralError.Unknown,headers:h,body:f||o.statusCode===204?"":Buffer.concat(m).toString("utf-8")})})});d.on("error",o=>{n({url:a.toString(),method:t.method,status:-1,statusText:e.RequestInteralError.Unknown,body:"",rawError:o})}),d.on("timeout",()=>{n({url:a.toString(),method:t.method,status:-1,statusText:e.RequestInteralError.Timeout,body:""})}),t.body&&d.write(t.body),d.end()})};function q(s){return e.lt.fetch?new e.NetRequestHandler(b.fetchRequest,s):new e.NetRequestHandler(w,s)}const r=q(),C=r.setConfig,S=r.head,T=r.get,j=r.post,N=r.del,O=r.put,U=r.patch;exports.NetRequest=q;exports.del=N;exports.get=T;exports.head=S;exports.patch=U;exports.post=j;exports.put=O;exports.setGlobalConfig=C;
package/dist/node.js CHANGED
@@ -1,11 +1,11 @@
1
- import { h as y, r as q, c as w, Y as g, a as d, f as E, N as p, e as x } from "./retry-8Z8eLh90.js";
2
- import { f as T } from "./request.fetch-idcpAgJt.js";
3
- import U from "node:http";
4
- import j from "node:https";
5
- const C = async function(e, a, u) {
6
- return y(await q(L, e, a, u), e, a, u);
7
- }, L = async function(e, a, u) {
8
- const t = await w(e, a, u);
1
+ import { h as y, r as q, c as w, t as g, a as d, f as E, N as p, l as x } from "./retry-DUbMIN1-.js";
2
+ import { f as C } from "./request.fetch-3tu4c4YP.js";
3
+ import T from "node:http";
4
+ import U from "node:https";
5
+ const j = async function(o, a, u) {
6
+ return y(await q(L, o, a, u), o, a, u);
7
+ }, L = async function(o, a, u) {
8
+ const t = await w(o, a, u);
9
9
  if (!g(t.url))
10
10
  return {
11
11
  url: t.url,
@@ -15,7 +15,7 @@ const C = async function(e, a, u) {
15
15
  headers: {},
16
16
  body: ""
17
17
  };
18
- const l = /^https:\/\//i.test(t.url) ? j : U, n = new URL(t.url), i = t.params;
18
+ const l = /^https:\/\//i.test(t.url) ? U : T, n = new URL(t.url), i = t.params;
19
19
  i instanceof Object && Object.keys(i).forEach((r) => n.searchParams.set(r, i[r]));
20
20
  const R = t.method === "HEAD";
21
21
  return new Promise((r) => {
@@ -26,31 +26,31 @@ const C = async function(e, a, u) {
26
26
  method: t.method,
27
27
  timeout: t.timeout > 0 ? t.timeout : void 0
28
28
  },
29
- function(o) {
29
+ function(e) {
30
30
  const f = [];
31
- o.on("data", (m) => f.push(m)), o.on("end", () => {
31
+ e.on("data", (m) => f.push(m)), e.on("end", () => {
32
32
  const m = E(
33
- Object.entries(o.headers).map(([b, h]) => [b.toLowerCase(), Array.isArray(h) ? h.join(",") : h])
33
+ Object.entries(e.headers).map(([b, h]) => [b.toLowerCase(), Array.isArray(h) ? h.join(",") : h])
34
34
  );
35
35
  r({
36
36
  url: n.toString(),
37
37
  method: t.method,
38
- status: o.statusCode || -1,
39
- statusText: o.statusMessage || d.Unknown,
38
+ status: e.statusCode || -1,
39
+ statusText: e.statusMessage || d.Unknown,
40
40
  headers: m,
41
- body: R ? "" : Buffer.concat(f).toString("utf-8")
41
+ body: R || e.statusCode === 204 ? "" : Buffer.concat(f).toString("utf-8")
42
42
  });
43
43
  });
44
44
  }
45
45
  );
46
- c.on("error", (o) => {
46
+ c.on("error", (e) => {
47
47
  r({
48
48
  url: n.toString(),
49
49
  method: t.method,
50
50
  status: -1,
51
51
  statusText: d.Unknown,
52
52
  body: "",
53
- rawError: o
53
+ rawError: e
54
54
  });
55
55
  }), c.on("timeout", () => {
56
56
  r({
@@ -63,8 +63,8 @@ const C = async function(e, a, u) {
63
63
  }), t.body && c.write(t.body), c.end();
64
64
  });
65
65
  };
66
- function N(e) {
67
- return x.fetch ? new p(T, e) : new p(C, e);
66
+ function N(o) {
67
+ return x.fetch ? new p(C, o) : new p(j, o);
68
68
  }
69
69
  const s = N(), k = s.setConfig, P = s.head, B = s.get, D = s.post, F = s.del, G = s.put, I = s.patch;
70
70
  export {
@@ -1,16 +1,16 @@
1
- import { h as f, r as w, c as y, e as E, f as g, a as d } from "./retry-8Z8eLh90.js";
2
- const T = async function(r, o, n) {
3
- return f(await w(x, r, o, n), r, o, n);
4
- }, x = async function(r, o, n) {
5
- const t = await y(r, o, n), s = new URL(t.url), i = t.params;
6
- i instanceof Object && Object.keys(i).forEach((e) => s.searchParams.set(e, i[e]));
1
+ import { h as m, r as w, c as y, l as E, f as R, a as u } from "./retry-DUbMIN1-.js";
2
+ const x = async function(r, s, o) {
3
+ return m(await w(g, r, s, o), r, s, o);
4
+ }, g = async function(r, s, o) {
5
+ const t = await y(r, s, o), n = new URL(t.url), i = t.params;
6
+ i instanceof Object && Object.keys(i).forEach((e) => n.searchParams.set(e, i[e]));
7
7
  const a = E.AbortController ? new AbortController() : null;
8
8
  function c() {
9
9
  a && !a.signal.aborted && a.abort();
10
10
  }
11
11
  t.abort && t.abort.addEventListener("abort", c);
12
12
  const h = t.timeout > 0 ? setTimeout(c, t.timeout) : null, l = t.method === "HEAD";
13
- return await fetch(s, {
13
+ return await fetch(n, {
14
14
  method: t.method,
15
15
  headers: Object.keys(t.headers).length > 0 ? new Headers(t.headers) : void 0,
16
16
  body: t.body,
@@ -18,28 +18,19 @@ const T = async function(r, o, n) {
18
18
  signal: a == null ? void 0 : a.signal,
19
19
  redirect: "follow"
20
20
  }).then(async (e) => {
21
- const u = l ? "" : await e.text().catch((m) => m), b = g([...e.headers.entries()]);
22
- return u instanceof Error ? {
23
- url: s.toString(),
24
- method: t.method,
25
- status: e.status,
26
- statusText: e.statusText || d.Unknown,
27
- body: "",
28
- headers: b,
29
- rawError: u
30
- } : {
31
- url: s.toString(),
21
+ const b = {
22
+ url: n.toString(),
32
23
  method: t.method,
33
24
  status: e.status,
34
25
  statusText: e.statusText,
35
- headers: b,
36
- body: u
37
- };
26
+ headers: R([...e.headers.entries()])
27
+ }, d = l || e.status === 204 ? "" : await e.text().catch((f) => f);
28
+ return d instanceof Error ? { ...b, body: "", statusText: u.Unknown, rawError: d } : { ...b, body: d };
38
29
  }).catch((e) => ({
39
- url: s.toString(),
30
+ url: n.toString(),
40
31
  method: t.method,
41
32
  status: -1,
42
- statusText: a != null && a.signal.aborted ? d.Aborted : d.Unknown,
33
+ statusText: a != null && a.signal.aborted ? u.Aborted : u.NetworkError,
43
34
  body: "",
44
35
  rawError: e
45
36
  })).finally(() => {
@@ -47,5 +38,5 @@ const T = async function(r, o, n) {
47
38
  });
48
39
  };
49
40
  export {
50
- T as f
41
+ x as f
51
42
  };
@@ -0,0 +1 @@
1
+ "use strict";const s=require("./retry-C2OSRA9r.cjs"),m=async function(a,o,n){return s.handleResponse(await s.retryRequest(w,a,o,n),a,o,n)},w=async function(a,o,n){const t=await s.convertOptions(a,o,n),i=new URL(t.url),c=t.params;c instanceof Object&&Object.keys(c).forEach(e=>i.searchParams.set(e,c[e]));const r=s.lt.AbortController?new AbortController:null;function u(){r&&!r.signal.aborted&&r.abort()}t.abort&&t.abort.addEventListener("abort",u);const h=t.timeout>0?setTimeout(u,t.timeout):null,b=t.method==="HEAD";return await fetch(i,{method:t.method,headers:Object.keys(t.headers).length>0?new Headers(t.headers):void 0,body:t.body,credentials:t.credentials,signal:r==null?void 0:r.signal,redirect:"follow"}).then(async e=>{const l={url:i.toString(),method:t.method,status:e.status,statusText:e.statusText,headers:s.fromEntries([...e.headers.entries()])},d=b||e.status===204?"":await e.text().catch(f=>f);return d instanceof Error?{...l,body:"",statusText:s.RequestInteralError.Unknown,rawError:d}:{...l,body:d}}).catch(e=>({url:i.toString(),method:t.method,status:-1,statusText:r!=null&&r.signal.aborted?s.RequestInteralError.Aborted:s.RequestInteralError.NetworkError,body:"",rawError:e})).finally(()=>{h!==null&&clearTimeout(h),t.abort&&t.abort.removeEventListener("abort",u)})};exports.fetchRequest=m;
@@ -1,2 +1,2 @@
1
- "use strict";var I=Object.defineProperty;var J=(e,t,s)=>t in e?I(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s;var y=(e,t,s)=>J(e,typeof t!="symbol"?t+"":t,s);const h=typeof globalThis<"u"?globalThis:typeof global<"u"?global:typeof self<"u"?self:typeof window<"u"?window:{},R={wx:"wx"in h&&D(h.wx),fetch:"fetch"in h&&w(h.fetch),window:"window"in h&&D(h.window),Blob:"Blob"in h&&w(h.Blob),FormData:"FormData"in h&&w(h.FormData),TextDecoder:"TextDecoder"in h&&w(h.TextDecoder),AbortController:"AbortController"in h&&w(h.AbortController)};function w(e){return typeof e=="function"}function D(e){return typeof e=="object"&&e!==null}function V(e){return new Promise(t=>setTimeout(t,Math.max(0,e)))}function W(){}function z(e){const t=e||"CustomError";return class extends Error{constructor(s){super(s),Object.defineProperty(this,"name",{value:t,enumerable:!1,configurable:!0}),"setPrototypeOf"in Object&&Object.setPrototypeOf(this,new.target.prototype),"captureStackTrace"in Error&&typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(this,this.constructor)}}}const Y=/^(?:https?:)?\/\/.+$/i,Z=/^https?:\/\/.+$/i,Q=/^\{[\d\D]*\}$/,X=/^\[[\d\D]*\]$/;function k(e,t=!1){return t?Y.test(e):Z.test(e)}function ee(e){return e==null}function v(e,...t){if(!e||typeof e!="object")return!1;const s=Object.getPrototypeOf(e);return s!==Object.prototype&&s!==null?!1:t.every(r=>r in e)}function _(e){return Q.test(e)||X.test(e)}function $(e){return e?e[0].toLowerCase()+e.slice(1):""}const B=/_\w*/,H=/-\w*/;function M(e){const t=B.test(e)?e.replace(/(?:^_*|_*$)/g,"").replace(/_+([^_])/g,(s,r)=>r.toUpperCase()):H.test(e)?e.replace(/(?:^-*|-*$)/g,"").replace(/-+(\w)/g,(s,r)=>r.toUpperCase()):e;return $(t)}function L(e){return B.test(e)?$(e).replace(/(?:^_*|_*$)/g,"").replace(/_+([^_])/g,(t,s)=>"_"+s.toLowerCase()):H.test(e)?$(e.replace(/(?:^-*|-*$)/g,"")).replace(/-+(\w)/g,(t,s)=>"_"+s.toLowerCase()):$(e).replace(/[A-Z]/g,t=>`_${t.toLowerCase()}`)}function T(e,t){try{const s=JSON.parse(e);return t?t(s)?s:null:s}catch{return null}}""+Math.random().toString(32).slice(2);function O(e,t=!1){return typeof e=="string"?M(e):Array.isArray(e)?e.map(s=>!t||typeof s=="string"?O(s):typeof s=="object"&&s?O(s,!0):s):v(e)?Object.keys(e).reduce((s,r)=>{const o=M(String(r)),n=o.charAt(0).toLowerCase()+o.slice(1);return s[n]=t?e[r]:O(e[r]),s},{}):e}function E(e,t=!1){return typeof e=="string"?L(e):Array.isArray(e)?e.map(s=>!t||typeof s=="string"?E(s):typeof s=="object"&&s?E(s,t):s):v(e)?Object.keys(e).reduce((s,r)=>{const o=L(String(r));return s[o]=t?e[r]:E(e[r]),s},{}):e}async function te(e){return await new Promise(function(t){const s=document.getElementsByTagName("head")[0],r=document.createElement("script");r.setAttribute("type","text/javascript"),r.setAttribute("charset","utf-8"),r.onload=function(){s.removeChild(r),t(!0)},r.onerror=function(){s.removeChild(r),t(!1)},r.setAttribute("src",e),s.appendChild(r)})}function se(e,t="数据未能正确识别"){return typeof e=="function"?{guard:e,message:t}:{guard:e.guard,message:e.message||t}}function re(e,t=""){return!t||k(e,!0)?x(e):(x(t)+"/"+e).replace(/\/{2,}/g,"/").replace(/:\//,"://")}function x(e){return k(e,!0)?e.startsWith("http")?e:("location"in globalThis?location.protocol:"https:")+e:("location"in globalThis?location.origin:"http://127.0.0.1")+"/"+e.replace(/^\/+/,"")}function ne(e,t){const s={};return(e.match(/([^=&#?]+)=[^&#]*/g)||[]).forEach(function(r){const o=r.split("="),n=o[0],a=decodeURIComponent(o[1]||"");s[n]!==void 0?s[n]+=","+a:s[n]=a}),t!==!0?s[t]||"":s}function oe(e,t){if(t){if(t===!0)return e.replace(/\?[^#]*/,"")}else return e;const s=e.split("#"),r=s[0].split("?"),o=r[0],n=r.length>1?r[1]:"",a=s.length>1?"#"+s[1]:"",c=typeof t=="string"?[t]:Array.isArray(t)?t:[];return!c.length||!n?s[0]+a:(c.map(i=>i.replace(/([\\(){}[\]^$+\-*?|])/g,"\\$1")),(o+"?"+n.replace(new RegExp("(?:^|&)(?:"+c.join("|")+")=[^&$]+","g"),"").replace(/^&/,"")).replace(/\?$/,"")+a)}function ae(e,t,s=!1){const r=typeof t=="string"?t:Object.keys(t).map(a=>`${a}=${encodeURIComponent(t[a])}`).join("&");if(!r)return e;const o=e.split("#");s&&(o[0]=oe(o[0],(r.match(/([^=&#?]+)=[^&#]+/g)||[]).map(a=>a.replace(/=.+$/,""))));const n=o[0].indexOf("?")+1?"&":"?";return(o[0]+n+r+(o.length>1?"#"+o[1]:"")).replace(/\?&/,"?")}function ce(e){const t=e.match(/(?:\?|&)([^=]+)(?:&|$)/g);return t?t.join("").replace(/(?:\?|^&+|&+$)/g,"").replace(/&{2}/g,"&").split("&").sort():[]}class ie{constructor(t=500){y(this,"ttl");y(this,"cache");this.cache={},this.ttl=Math.max(t,0)}getKey(t,s){const r=t.replace(/#.+/,""),o=r.replace(/\?.+/g,""),n=Object.assign(ne(r,!0),s),a=ce(r),c=Object.keys(n).sort().map(i=>`${i}#${n[i]}`);return`${o}_${c.join(",")}_${a.join(",")}`}updateTTL(t){this.ttl=Math.max(t,0)}get(t){if(this.ttl===0)return null;const s=this.cache[t];return s?s.ttl<Date.now()?(delete this.cache[t],null):s.res:null}set(t,s){this.ttl!==0&&(this.cache[t]={ttl:Date.now()+this.ttl,res:s})}}class q{constructor(t){y(this,"config",{baseURL:"",maxRetry:0,retryInterval:1e3,retryResolve:"network",timeout:1e4,cacheTTL:500,credentials:"same-origin",defaultTypeGuardMessage:"响应数据未能正确识别",responseRule:{ok:{resolve:"body"},failed:{resolve:"json",messageField:"message"}}});t&&this.set(t)}set(t){if(t.baseURL&&!/^\/.+/.test(t.baseURL)&&!k(t.baseURL))throw console.warn("baseURL 需要以 / 开头,或者是完整的 url 地址"),new Error("BaseURLError");Object.assign(this.config,t)}get(t){return this.config[t]}getFullUrl(t){return re(t,this.config.baseURL)}showMessage(t,s,r,o){this.config.messageHandler&&s&&this.config.messageHandler(t,s,r,o)}}var C=(e=>(e.UnexpectResponse="UnexpectResponse",e.Aborted="Aborted",e.Unknown="Unknown",e.Timeout="Timeout",e.NotSupport="NotSupport",e.URLFormatError="URLFormatError",e))(C||{});function ue(e,t,s,r){if(t.ok&&!ee(t.data)&&r){const o=se(r,s.get("defaultTypeGuardMessage"));return o.guard(t.data)||(t.code=C.UnexpectResponse,s.showMessage(!0,`${e} ${o.message}`,t.code,t.status),console.error(t.code,e,t.data),t.data=null,t.message=o.message),t}return t}class le{constructor(t,s){y(this,"agent");y(this,"config");y(this,"cache");this.config=new q(s),this.agent=t,this.cache=new ie(this.config.get("cacheTTL")),this.setConfig=this.setConfig.bind(this),this.getConfig=this.getConfig.bind(this),this.request=this.request.bind(this),this.get=this.get.bind(this),this.post=this.post.bind(this),this.del=this.del.bind(this),this.patch=this.patch.bind(this),this.put=this.put.bind(this),this.head=this.head.bind(this)}async request(t,s){try{return await this.agent(t,this.config,s)}catch(r){return console.error("RequestError",r),{ok:!1,status:-9,code:"Unkonwn",message:String(r),headers:{},data:null}}}async guard(t,s,r){return ue(t,s,this.config,r)}setConfig(t){this.config.set(t),this.cache.updateTTL(this.config.get("cacheTTL"))}getConfig(t){return this.config.get(t)}async head(t,s){const r=Object.assign({},s||null);return r.method="HEAD",this.guard(t,await this.request(t,r),null)}async get(t,s,r){const o=Object.assign({},r||null);o.method="GET";const n=this.cache.getKey(t,o.params),a=this.cache.get(n);if(a)return this.guard(t,await a,s||null);const c=this.request(t,o);return this.cache.set(n,c),this.guard(t,await c,s||null)}async post(t,s,r,o){const n=Object.assign({},o||null);return n.method="POST",n.body=s||{},this.guard(t,await this.request(t,n),r||null)}async del(t,s,r){const o=Object.assign({},r||null);return o.method="DELETE",this.guard(t,await this.request(t,o),s||null)}async put(t,s,r,o){const n=Object.assign({},o||null);return n.method="PUT",n.body=s||{},this.guard(t,await this.request(t,n),r||null)}async patch(t,s,r,o){const n=Object.assign({},o||null);return n.method="PATCH",n.body=s||{},this.guard(t,await this.request(t,n),r||null)}}async function he(e,t,s){var m;const r=Object.assign({method:"GET"},s),o=R.FormData?r.body instanceof FormData:!1,n=o&&r.method!=="POST"&&r.method!=="PUT"?"POST":r.method,a=n==="GET"||n==="HEAD"||n==="DELETE";a&&r.body!==void 0&&(console.warn("request body is invalid with method get, head, delete"),delete r.body);const c=Object.assign(o||a?{}:{"Content-Type":R.Blob&&r.body instanceof Blob?r.body.type||"application/octet-stream":"application/json;charset=utf-8"},r.headers),i=r.params||{},d={};Object.keys(i).forEach(b=>{i[b]!==void 0&&(d[b]=de(i[b]))});const u=t.getFullUrl(e),l=fe(r.body),f=r.timeout||t.get("timeout"),g=await async function(){const b=t.get("requestTransformer");if(b)return await b({headers:c,params:d,method:n,url:u,body:l})}(),p=typeof g=="string"&&g?g:u;return(m=t.get("logHandler"))==null||m({type:"ready",url:p,method:n,headers:c,timeout:f,body:l}),{url:p,method:n,body:l,params:d,headers:c,timeout:f,abort:r.abort,credentials:r.credentials||t.get("credentials")}}function de(e){return typeof e=="string"?e:Array.isArray(e)?e.join(","):e+""}function fe(e){if(e)return typeof e=="string"||e instanceof URLSearchParams||e instanceof ArrayBuffer||R.Blob&&e instanceof Blob||R.FormData&&e instanceof FormData?e:JSON.stringify(e)}const N="data",j="message";function ge(e,t,s,r,o){const n=o||r;return U(e)?je(n.ok||r.ok,e,t,s):pe(n.failed||r.failed,t,s)}const me=function(e){const t=[],s=e.failed||{resolve:"json"};switch(t.push("- 当http状态码 <200 或者 >=400 时"),s.resolve){case"body":t.push(" 将响应内容格式化为字符串并作为错误消息");break;case"json":t.push(" 将响应解析为json,并读取 "+(s.messageField||j)+" 作为错误消息");break}const r=e.ok||{resolve:"body"};switch(t.push("- 当http状态码 >=200 并且 <400 时"),r.resolve){case"body":t.push(" 将响应尝试解析为 json,并作为数据内容返回");break;case"json":t.push(" 将响应解析为 json,读取 "+(r.dataField||N)+" 作为响应数据,读取 "+(r.messageField||j)+" 作为提示消息"),r.statusField&&t.push(" 当 "+r.statusField+" 为 "+(r.statusOKValue||"空值")+" 时是成功提示,否则是错误消息"),r.ignoreMessage&&t.push(" 并忽略以下消息:"+r.ignoreMessage);break}return t.join(`
2
- `)};function pe(e,t,s){const r=e||{resolve:"json",messageField:j},o={ok:!1,code:t,message:s,data:null};switch(r.resolve){case"body":o.message=P(s)||s;break;case"json":const{code:n,message:a}=ye(s,r.converter,r.statusField,r.messageField);o.code=n||t,o.message=P(s)||a;break}return o}function ye(e,t,s,r=j){if(!_(e))return{message:""};const o=A(T(e),t);return!o||!v(o)?{message:e}:{code:s?F(o,s):"",message:F(o,r)||e}}function F(e,t){const s=Array.isArray(t)?t:[t];for(const r of s)if(r in e)return be(e[r]);return""}function be(e){return e?typeof e=="string"?e:JSON.stringify(e):""}const we=/<title>([^<]+)<\/title>/i,Re=/<message>([^<]+)<\/message>/i;function P(e){const t=e.match(we);if(t)return t[1];const s=e.match(Re);return s?s[1]:""}function je(e,t,s,r){const o=e||{resolve:"body"},n={ok:!0,code:s,message:"",data:null};if(t===204||!r)return n;if(o.resolve==="body")return n.data=_(r)?A(T(r),e.converter):r,n;const a=A(T(r),e.converter);if(!a||!v(a))return n.ok=!1,n.code="ResponseFormatError",n.message="响应内容无法格式化为 Object",n;const c=o.statusField,i=o.statusOKValue||"",d=o.dataField||N,u=o.messageField||j,l=o.ignoreMessage||"";if(c&&!(c in a))return n.ok=!1,n.code="ResponseFieldMissing",n.message="响应内容找不到状态字段 "+c,n;const f=c?a[c]+"":"";return n.ok=c?f===i:!0,n.code=f||s,n.data=d===!0?a:d in a?a[d]:null,n.message=F(a,u),l&&n.message&&(Array.isArray(l)&&l.includes(n.message)||typeof l=="string"&&n.message===l)&&(n.message=""),n}function U(e){return e>=200&&e<400}function A(e,t){return t==="camelize"?O(e):t==="snakify"?E(e):e}const $e=z("APIError");function Oe(e){const t={};for(const o in e.headers)(o.startsWith("x-")||o.includes("trace")||o.includes("server")||/\b(?:id|uuid)\b/.test(o))&&(t[o]=e.headers[o]);const s=e.url.replace(/^(?:https?:)?\/*/i,"").replace(/\?.+/,""),r=e.status<0?"unknown":e.status;return{sentryError:new $e(`${s} | ${r}${e.code?` | ${e.code}`:""}`),sentryTags:{...t,status:r,method:e.method,code:e.code||"unknown",message:e.message||"empty"},sentryExtra:{url:e.url,responseBody:e.body||"empty",responseHeaders:e.headers,rawError:e.error}}}function K(e){return e.reduce((t,[s,r])=>(s&&(t[s]=r||""),t),{})}function Ee(e,t,s,r){var g;const o=e.status,n=e.method,a=K(Object.entries(e.headers||{}).map(([p,m])=>[p.toLowerCase(),m])),{ok:c,code:i,data:d,message:u}=ge(o,e.statusText,e.body,s.get("responseRule"),r==null?void 0:r.responseRule);if(!U(o)){const p=Oe({url:e.url,method:e.method,status:o,code:i,message:u,body:e.body,headers:a,error:e.rawError});(s.get("errorHandler")||ke)({url:t,method:n,status:o,code:i,message:u,headers:a,rawError:e.rawError,responseBody:e.body,...p})}if(o<0)return S({ok:!1,status:o,code:e.statusText,headers:{},message:"",data:null},`${n} ${t} ${e.statusText}`,n,t,s,r);const l={ok:c,data:d,code:i,message:u,status:o,headers:a};(g=s.get("responseHandler"))==null||g({...l},n,t);const f=c?u:u||e.statusText;return S(l,f,n,t,s,r)}function S(e,t,s,r,o,n){const a=o.get("message"),c=a===!1||(n==null?void 0:n.message)===!1?!1:(n==null?void 0:n.message)||a;if(c!==!1){const i=typeof c=="function"?c(e,s,r,t):t;i instanceof Error?o.showMessage(!0,i.message,e.code,e.status):i&&typeof i=="object"&&"message"in i?o.showMessage(!1,i.message,e.code,e.status):o.showMessage(!e.ok,i,e.code,e.status)}return e}function ke(e){const t={};for(const s in e)s.startsWith("sentry")||(t[s]=e[s]);console.error("RequestError",t)}async function G(e,t,s,r,o){const n=o||0,a=Math.max(0,Math.min(10,(r==null?void 0:r.maxRetry)??s.get("maxRetry")??0)),c=(r==null?void 0:r.retryResolve)??s.get("retryResolve"),i=s.get("logHandler")||W;i({type:"prepear",url:t,method:(r==null?void 0:r.method)||"GET",retry:n,maxRetry:a,message:n===0?"start":`retry ${n}/${a} start`,headers:r==null?void 0:r.headers,options:r});const d=Date.now(),u=await e(t,s,r),l=u.status,f=Date.now()-d,g=`[cost ${f}][${l}] ${l<0?u.body:""}`;i({type:"finished",url:t,method:u.method,retry:n,maxRetry:a,message:n===0?`finish ${g}`:`retry ${n}/${a} finish ${g}`,response:u,headers:u.headers,cost:f});const p=U(l);if(!a||c==="network"&&l>0||c==="status"&&p||Array.isArray(c)&&!c.includes(l)||typeof c=="function"&&c(u,n)!==!0||n>=a)return u;const m=(r==null?void 0:r.retryInterval)??s.get("retryInterval")??1e3;return await V(Math.max(100,m==="2EB"?Math.pow(2,n)*1e3:typeof m=="function"?m(n+1)||0:m)),await G(e,t,s,r,n+1)}exports.Ht=ae;exports.NetRequestHandler=le;exports.Oe=te;exports.RequestGlobalConfig=q;exports.RequestInteralError=C;exports.Y=k;exports.convertOptions=he;exports.ee=R;exports.fromEntries=K;exports.getResponseRulesDescription=me;exports.handleResponse=Ee;exports.retryRequest=G;
1
+ "use strict";var G=Object.defineProperty;var J=(e,t,s)=>t in e?G(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s;var y=(e,t,s)=>J(e,typeof t!="symbol"?t+"":t,s);const h=typeof globalThis<"u"?globalThis:typeof global<"u"?global:typeof self<"u"?self:typeof window<"u"?window:{},R={wx:"wx"in h&&D(h.wx),fetch:"fetch"in h&&w(h.fetch),window:"window"in h&&D(h.window),Blob:"Blob"in h&&w(h.Blob),FormData:"FormData"in h&&w(h.FormData),TextDecoder:"TextDecoder"in h&&w(h.TextDecoder),AbortController:"AbortController"in h&&w(h.AbortController)};function w(e){return typeof e=="function"}function D(e){return typeof e=="object"&&e!==null}function W(e){return new Promise(t=>setTimeout(t,Math.max(0,e)))}function V(){}function Z(e){const t=e||"CustomError";return class extends Error{constructor(s){super(s),Object.defineProperty(this,"name",{value:t,enumerable:!1,configurable:!0}),"setPrototypeOf"in Object&&Object.setPrototypeOf(this,new.target.prototype),"captureStackTrace"in Error&&typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(this,this.constructor)}}}const Q=/^(?:https?:)?\/\/.+$/i,z=/^https?:\/\/.+$/i,Y=/^\{[\d\D]*\}$/,X=/^\[[\d\D]*\]$/;function O(e,t=!1){return t?Q.test(e):z.test(e)}function ee(e){return e==null}function v(e,...t){if(!e||typeof e!="object")return!1;const s=Object.getPrototypeOf(e);return s!==Object.prototype&&s!==null?!1:t.every(r=>r in e)}function _(e){return Y.test(e)||X.test(e)}function $(e){return e?e[0].toLowerCase()+e.slice(1):""}const B=/_\w*/,H=/-\w*/;function M(e){const t=B.test(e)?e.replace(/(?:^_*|_*$)/g,"").replace(/_+([^_])/g,(s,r)=>r.toUpperCase()):H.test(e)?e.replace(/(?:^-*|-*$)/g,"").replace(/-+(\w)/g,(s,r)=>r.toUpperCase()):e;return $(t)}function L(e){return B.test(e)?$(e).replace(/(?:^_*|_*$)/g,"").replace(/_+([^_])/g,(t,s)=>"_"+s.toLowerCase()):H.test(e)?$(e.replace(/(?:^-*|-*$)/g,"")).replace(/-+(\w)/g,(t,s)=>"_"+s.toLowerCase()):$(e).replace(/[A-Z]/g,t=>`_${t.toLowerCase()}`)}function T(e,t){try{const s=JSON.parse(e);return t?t(s)?s:null:s}catch{return null}}""+Math.random().toString(32).slice(2);function k(e,t=!1){return typeof e=="string"?M(e):Array.isArray(e)?e.map(s=>!t||typeof s=="string"?k(s):typeof s=="object"&&s?k(s,!0):s):v(e)?Object.keys(e).reduce((s,r)=>{const o=M(String(r)),n=o.charAt(0).toLowerCase()+o.slice(1);return s[n]=t?e[r]:k(e[r]),s},{}):e}function E(e,t=!1){return typeof e=="string"?L(e):Array.isArray(e)?e.map(s=>!t||typeof s=="string"?E(s):typeof s=="object"&&s?E(s,t):s):v(e)?Object.keys(e).reduce((s,r)=>{const o=L(String(r));return s[o]=t?e[r]:E(e[r]),s},{}):e}async function te(e){return await new Promise(function(t){const s=document.getElementsByTagName("head")[0],r=document.createElement("script");r.setAttribute("type","text/javascript"),r.setAttribute("charset","utf-8"),r.onload=function(){s.removeChild(r),t(!0)},r.onerror=function(){s.removeChild(r),t(!1)},r.setAttribute("src",e),s.appendChild(r)})}function se(e,t="数据未能正确识别"){return typeof e=="function"?{guard:e,message:t}:{guard:e.guard,message:e.message||t}}function re(e,t=""){return!t||O(e,!0)?x(e):(x(t)+"/"+e).replace(/\/{2,}/g,"/").replace(/:\//,"://")}function x(e){return O(e,!0)?e.startsWith("http")?e:("location"in globalThis?location.protocol:"https:")+e:("location"in globalThis?location.origin:"http://127.0.0.1")+"/"+e.replace(/^\/+/,"")}function ne(e,t){const s={};return(e.match(/([^=&#?]+)=[^&#]*/g)||[]).forEach(function(r){const o=r.split("="),n=o[0],a=decodeURIComponent(o[1]||"");s[n]!==void 0?s[n]+=","+a:s[n]=a}),t!==!0?s[t]||"":s}function oe(e,t){if(t){if(t===!0)return e.replace(/\?[^#]*/,"")}else return e;const s=e.split("#"),r=s[0].split("?"),o=r[0],n=r.length>1?r[1]:"",a=s.length>1?"#"+s[1]:"",c=typeof t=="string"?[t]:Array.isArray(t)?t:[];return!c.length||!n?s[0]+a:(c.map(i=>i.replace(/([\\(){}[\]^$+\-*?|])/g,"\\$1")),(o+"?"+n.replace(new RegExp("(?:^|&)(?:"+c.join("|")+")=[^&$]+","g"),"").replace(/^&/,"")).replace(/\?$/,"")+a)}function ae(e,t,s=!1){const r=typeof t=="string"?t:Object.keys(t).map(a=>`${a}=${encodeURIComponent(t[a])}`).join("&");if(!r)return e;const o=e.split("#");s&&(o[0]=oe(o[0],(r.match(/([^=&#?]+)=[^&#]+/g)||[]).map(a=>a.replace(/=.+$/,""))));const n=o[0].indexOf("?")+1?"&":"?";return(o[0]+n+r+(o.length>1?"#"+o[1]:"")).replace(/\?&/,"?")}function ce(e){const t=e.match(/(?:\?|&)([^=]+)(?:&|$)/g);return t?t.join("").replace(/(?:\?|^&+|&+$)/g,"").replace(/&{2}/g,"&").split("&").sort():[]}class ie{constructor(t=500){y(this,"ttl");y(this,"cache");this.cache={},this.ttl=Math.max(t,0)}getKey(t,s){const r=t.replace(/#.+/,""),o=r.replace(/\?.+/g,""),n=Object.assign(ne(r,!0),s),a=ce(r),c=Object.keys(n).sort().map(i=>`${i}#${n[i]}`);return`${o}_${c.join(",")}_${a.join(",")}`}updateTTL(t){this.ttl=Math.max(t,0)}get(t){if(this.ttl===0)return null;const s=this.cache[t];return s?s.ttl<Date.now()?(delete this.cache[t],null):s.res:null}set(t,s){this.ttl!==0&&(this.cache[t]={ttl:Date.now()+this.ttl,res:s})}}class q{constructor(t){y(this,"config",{baseURL:"",maxRetry:0,retryInterval:1e3,retryResolve:"network",timeout:1e4,cacheTTL:500,credentials:"same-origin",defaultTypeGuardMessage:"响应数据未能正确识别",responseRule:{ok:{resolve:"body"},failed:{resolve:"json",messageField:"message"}}});t&&this.set(t)}set(t){if(t.baseURL&&!/^\/.+/.test(t.baseURL)&&!O(t.baseURL))throw console.warn("baseURL 需要以 / 开头,或者是完整的 url 地址"),new Error("BaseURLError");Object.assign(this.config,t)}get(t){return this.config[t]}getFullUrl(t){return re(t,this.config.baseURL)}showMessage(t,s,r,o){this.config.messageHandler&&s&&this.config.messageHandler(t,s,r,o)}}var C=(e=>(e.UnexpectResponse="UnexpectResponse",e.Aborted="Aborted",e.Unknown="Unknown",e.NetworkError="NetworkError",e.Timeout="Timeout",e.NotSupport="NotSupport",e.URLFormatError="URLFormatError",e))(C||{});function ue(e,t,s,r){if(t.ok&&!ee(t.data)&&r){const o=se(r,s.get("defaultTypeGuardMessage"));return o.guard(t.data)||(t.code=C.UnexpectResponse,s.showMessage(!0,`${e} ${o.message}`,t.code,t.status),console.error(t.code,e,t.data),t.data=null,t.message=o.message),t}return t}class le{constructor(t,s){y(this,"agent");y(this,"config");y(this,"cache");this.config=new q(s),this.agent=t,this.cache=new ie(this.config.get("cacheTTL")),this.setConfig=this.setConfig.bind(this),this.getConfig=this.getConfig.bind(this),this.request=this.request.bind(this),this.get=this.get.bind(this),this.post=this.post.bind(this),this.del=this.del.bind(this),this.patch=this.patch.bind(this),this.put=this.put.bind(this),this.head=this.head.bind(this)}async request(t,s){try{return await this.agent(t,this.config,s)}catch(r){return console.error("RequestError",r),{ok:!1,status:-9,code:"Unkonwn",message:String(r),headers:{},data:null}}}async guard(t,s,r){return ue(t,s,this.config,r)}setConfig(t){this.config.set(t),this.cache.updateTTL(this.config.get("cacheTTL"))}getConfig(t){return this.config.get(t)}async head(t,s){const r=Object.assign({},s||null);return r.method="HEAD",this.guard(t,await this.request(t,r),null)}async get(t,s,r){const o=Object.assign({},r||null);o.method="GET";const n=this.cache.getKey(t,o.params),a=this.cache.get(n);if(a)return this.guard(t,await a,s||null);const c=this.request(t,o);return this.cache.set(n,c),this.guard(t,await c,s||null)}async post(t,s,r,o){const n=Object.assign({},o||null);return n.method="POST",n.body=s||{},this.guard(t,await this.request(t,n),r||null)}async del(t,s,r){const o=Object.assign({},r||null);return o.method="DELETE",this.guard(t,await this.request(t,o),s||null)}async put(t,s,r,o){const n=Object.assign({},o||null);return n.method="PUT",n.body=s||{},this.guard(t,await this.request(t,n),r||null)}async patch(t,s,r,o){const n=Object.assign({},o||null);return n.method="PATCH",n.body=s||{},this.guard(t,await this.request(t,n),r||null)}}async function he(e,t,s){var m;const r=Object.assign({method:"GET"},s),o=R.FormData?r.body instanceof FormData:!1,n=o&&r.method!=="POST"&&r.method!=="PUT"?"POST":r.method,a=n==="GET"||n==="HEAD"||n==="DELETE";a&&r.body!==void 0&&(console.warn("request body is invalid with method get, head, delete"),delete r.body);const c=Object.assign(o||a?{}:{"Content-Type":R.Blob&&r.body instanceof Blob?r.body.type||"application/octet-stream":"application/json;charset=utf-8"},r.headers),i=r.params||{},d={};Object.keys(i).forEach(b=>{i[b]!==void 0&&(d[b]=de(i[b]))});const u=t.getFullUrl(e),l=fe(r.body),f=r.timeout||t.get("timeout"),g=await async function(){const b=t.get("requestTransformer");if(b)return await b({headers:c,params:d,method:n,url:u,body:l})}(),p=typeof g=="string"&&g?g:u;return(m=t.get("logHandler"))==null||m({type:"ready",url:p,method:n,headers:c,timeout:f,body:l}),{url:p,method:n,body:l,params:d,headers:c,timeout:f,abort:r.abort,credentials:r.credentials||t.get("credentials")||"same-origin"}}function de(e){return typeof e=="string"?e:Array.isArray(e)?e.join(","):e+""}function fe(e){if(e)return typeof e=="string"||e instanceof URLSearchParams||e instanceof ArrayBuffer||R.Blob&&e instanceof Blob||R.FormData&&e instanceof FormData?e:JSON.stringify(e)}const N="data",j="message";function ge(e,t,s,r,o){const n=o||r;return U(e)?je(n.ok||r.ok,e,t,s):pe(n.failed||r.failed,t,s)}const me=function(e){const t=[],s=e.failed||{resolve:"json"};switch(t.push("- 当http状态码 <200 或者 >=400 时"),s.resolve){case"body":t.push(" 将响应内容格式化为字符串并作为错误消息");break;case"json":t.push(" 将响应解析为json,并读取 "+(s.messageField||j)+" 作为错误消息");break}const r=e.ok||{resolve:"body"};switch(t.push("- 当http状态码 >=200 并且 <400 时"),r.resolve){case"body":t.push(" 将响应尝试解析为 json,并作为数据内容返回");break;case"json":t.push(" 将响应解析为 json,读取 "+(r.dataField||N)+" 作为响应数据,读取 "+(r.messageField||j)+" 作为提示消息"),r.statusField&&t.push(" 当 "+r.statusField+" 为 "+(r.statusOKValue||"空值")+" 时是成功提示,否则是错误消息"),r.ignoreMessage&&t.push(" 并忽略以下消息:"+r.ignoreMessage);break}return t.join(`
2
+ `)};function pe(e,t,s){const r=e||{resolve:"json",messageField:j},o={ok:!1,code:t,message:s,data:null};switch(r.resolve){case"body":o.message=P(s)||s;break;case"json":const{code:n,message:a}=ye(s,r.converter,r.statusField,r.messageField);o.code=n||t,o.message=P(s)||a;break}return o}function ye(e,t,s,r=j){if(!_(e))return{message:""};const o=A(T(e),t);return!o||!v(o)?{message:e}:{code:s?F(o,s):"",message:F(o,r)||e}}function F(e,t){const s=Array.isArray(t)?t:[t];for(const r of s)if(r in e)return be(e[r]);return""}function be(e){return e?typeof e=="string"?e:JSON.stringify(e):""}const we=/<title>([^<]+)<\/title>/i,Re=/<message>([^<]+)<\/message>/i;function P(e){const t=e.match(we);if(t)return t[1];const s=e.match(Re);return s?s[1]:""}function je(e,t,s,r){const o=e||{resolve:"body"},n={ok:!0,code:s,message:"",data:null};if(t===204||!r)return n;if(o.resolve==="body")return n.data=_(r)?A(T(r),e.converter):r,n;const a=A(T(r),e.converter);if(!a||!v(a))return n.ok=!1,n.code="ResponseFormatError",n.message="响应内容无法格式化为 Object",n;const c=o.statusField,i=o.statusOKValue||"",d=o.dataField||N,u=o.messageField||j,l=o.ignoreMessage||"";if(c&&!(c in a))return n.ok=!1,n.code="ResponseFieldMissing",n.message="响应内容找不到状态字段 "+c,n;const f=c?a[c]+"":"";return n.ok=c?f===i:!0,n.code=f||s,n.data=d===!0?a:d in a?a[d]:null,n.message=F(a,u),l&&n.message&&(Array.isArray(l)&&l.includes(n.message)||typeof l=="string"&&n.message===l)&&(n.message=""),n}function U(e){return e>=200&&e<400}function A(e,t){return t==="camelize"?k(e):t==="snakify"?E(e):e}const $e=Z("APIError");function ke(e){const t={};for(const o in e.headers)(o.startsWith("x-")||o.includes("trace")||o.includes("server")||/\b(?:id|uuid)\b/.test(o))&&(t[o]=e.headers[o]);const s=e.url.replace(/^(?:https?:)?\/*/i,"").replace(/\?.+/,""),r=e.status<0?"unknown":e.status;return{sentryError:new $e(`${s} | ${r}${e.code?` | ${e.code}`:""}`),sentryTags:{...t,status:r,method:e.method,code:e.code||"unknown",message:e.message||"empty"},sentryExtra:{url:e.url,responseBody:e.body||"empty",responseHeaders:e.headers,rawError:e.error}}}function I(e){return e.reduce((t,[s,r])=>(s&&(t[s]=r||""),t),{})}function Ee(e,t,s,r){var g;const o=e.status,n=e.method,a=I(Object.entries(e.headers||{}).map(([p,m])=>[p.toLowerCase(),m])),{ok:c,code:i,data:d,message:u}=ge(o,e.statusText,e.body,s.get("responseRule"),r==null?void 0:r.responseRule);if(!U(o)){const p=ke({url:e.url,method:e.method,status:o,code:i,message:u,body:e.body,headers:a,error:e.rawError});(s.get("errorHandler")||Oe)({url:t,method:n,status:o,code:i,message:u,headers:a,rawError:e.rawError,responseBody:e.body,...p})}if(o<0)return S({ok:!1,status:o,code:e.statusText,headers:{},message:"",data:null},`${n} ${t} ${e.statusText}`,n,t,s,r);const l={ok:c,data:d,code:i,message:u,status:o,headers:a};(g=s.get("responseHandler"))==null||g({...l},n,t);const f=c?u:u||e.statusText;return S(l,f,n,t,s,r)}function S(e,t,s,r,o,n){const a=o.get("message"),c=a===!1||(n==null?void 0:n.message)===!1?!1:(n==null?void 0:n.message)||a;if(c!==!1){const i=typeof c=="function"?c(e,s,r,t):t;i instanceof Error?o.showMessage(!0,i.message,e.code,e.status):i&&typeof i=="object"&&"message"in i?o.showMessage(!1,i.message,e.code,e.status):o.showMessage(!e.ok,i,e.code,e.status)}return e}function Oe(e){const t={};for(const s in e)s.startsWith("sentry")||(t[s]=e[s]);console.error("RequestError",t)}async function K(e,t,s,r,o){const n=o||0,a=Math.max(0,Math.min(10,(r==null?void 0:r.maxRetry)??s.get("maxRetry")??0)),c=(r==null?void 0:r.retryResolve)??s.get("retryResolve"),i=s.get("logHandler")||V;i({type:"prepear",url:t,method:(r==null?void 0:r.method)||"GET",retry:n,maxRetry:a,message:n===0?"start":`retry ${n}/${a} start`,headers:r==null?void 0:r.headers,options:r});const d=Date.now(),u=await e(t,s,r),l=u.status,f=Date.now()-d,g=`[cost ${f}][${l}] ${l<0?u.body:""}`;i({type:"finished",url:t,method:u.method,retry:n,maxRetry:a,message:n===0?`finish ${g}`:`retry ${n}/${a} finish ${g}`,response:u,headers:u.headers,cost:f});const p=U(l);if(!a||c==="network"&&l>0||c==="status"&&p||Array.isArray(c)&&!c.includes(l)||typeof c=="function"&&c(u,n)!==!0||n>=a)return u;const m=(r==null?void 0:r.retryInterval)??s.get("retryInterval")??1e3;return await W(Math.max(100,m==="2EB"?Math.pow(2,n)*1e3:typeof m=="function"?m(n+1)||0:m)),await K(e,t,s,r,n+1)}exports.Ie=te;exports.NetRequestHandler=le;exports.RequestGlobalConfig=q;exports.RequestInteralError=C;exports.Zt=ae;exports.convertOptions=he;exports.fromEntries=I;exports.getResponseRulesDescription=me;exports.handleResponse=Ee;exports.lt=R;exports.retryRequest=K;exports.tt=O;
@@ -1,7 +1,7 @@
1
- var N = Object.defineProperty;
2
- var K = (e, t, s) => t in e ? N(e, t, { enumerable: !0, configurable: !0, writable: !0, value: s }) : e[t] = s;
1
+ var q = Object.defineProperty;
2
+ var K = (e, t, s) => t in e ? q(e, t, { enumerable: !0, configurable: !0, writable: !0, value: s }) : e[t] = s;
3
3
  var y = (e, t, s) => K(e, typeof t != "symbol" ? t + "" : t, s);
4
- const h = typeof globalThis < "u" ? globalThis : typeof global < "u" ? global : typeof self < "u" ? self : typeof window < "u" ? window : {}, k = {
4
+ const h = typeof globalThis < "u" ? globalThis : typeof global < "u" ? global : typeof self < "u" ? self : typeof window < "u" ? window : {}, E = {
5
5
  wx: "wx" in h && U(h.wx),
6
6
  fetch: "fetch" in h && w(h.fetch),
7
7
  window: "window" in h && U(h.window),
@@ -16,10 +16,10 @@ function w(e) {
16
16
  function U(e) {
17
17
  return typeof e == "object" && e !== null;
18
18
  }
19
- function G(e) {
19
+ function I(e) {
20
20
  return new Promise((t) => setTimeout(t, Math.max(0, e)));
21
21
  }
22
- function I() {
22
+ function G() {
23
23
  }
24
24
  function J(e) {
25
25
  const t = e || "CustomError";
@@ -33,20 +33,20 @@ function J(e) {
33
33
  }
34
34
  };
35
35
  }
36
- const V = /^(?:https?:)?\/\/.+$/i, W = /^https?:\/\/.+$/i, z = /^\{[\d\D]*\}$/, Y = /^\[[\d\D]*\]$/;
36
+ const W = /^(?:https?:)?\/\/.+$/i, V = /^https?:\/\/.+$/i, Z = /^\{[\d\D]*\}$/, Q = /^\[[\d\D]*\]$/;
37
37
  function A(e, t = !1) {
38
- return t ? V.test(e) : W.test(e);
38
+ return t ? W.test(e) : V.test(e);
39
39
  }
40
- function Z(e) {
40
+ function z(e) {
41
41
  return e == null;
42
42
  }
43
- function E(e, ...t) {
43
+ function O(e, ...t) {
44
44
  if (!e || typeof e != "object") return !1;
45
45
  const s = Object.getPrototypeOf(e);
46
46
  return s !== Object.prototype && s !== null ? !1 : t.every((r) => r in e);
47
47
  }
48
48
  function S(e) {
49
- return z.test(e) || Y.test(e);
49
+ return Z.test(e) || Q.test(e);
50
50
  }
51
51
  function $(e) {
52
52
  return e ? e[0].toLowerCase() + e.slice(1) : "";
@@ -59,7 +59,7 @@ function D(e) {
59
59
  function M(e) {
60
60
  return _.test(e) ? $(e).replace(/(?:^_*|_*$)/g, "").replace(/_+([^_])/g, (t, s) => "_" + s.toLowerCase()) : B.test(e) ? $(e.replace(/(?:^-*|-*$)/g, "")).replace(/-+(\w)/g, (t, s) => "_" + s.toLowerCase()) : $(e).replace(/[A-Z]/g, (t) => `_${t.toLowerCase()}`);
61
61
  }
62
- function v(e, t) {
62
+ function T(e, t) {
63
63
  try {
64
64
  const s = JSON.parse(e);
65
65
  return t ? t(s) ? s : null : s;
@@ -69,7 +69,7 @@ function v(e, t) {
69
69
  }
70
70
  "" + Math.random().toString(32).slice(2);
71
71
  function R(e, t = !1) {
72
- return typeof e == "string" ? D(e) : Array.isArray(e) ? e.map((s) => !t || typeof s == "string" ? R(s) : typeof s == "object" && s ? R(s, !0) : s) : E(e) ? Object.keys(e).reduce(
72
+ return typeof e == "string" ? D(e) : Array.isArray(e) ? e.map((s) => !t || typeof s == "string" ? R(s) : typeof s == "object" && s ? R(s, !0) : s) : O(e) ? Object.keys(e).reduce(
73
73
  (s, r) => {
74
74
  const a = D(String(r)), n = a.charAt(0).toLowerCase() + a.slice(1);
75
75
  return s[n] = t ? e[r] : R(e[r]), s;
@@ -77,11 +77,11 @@ function R(e, t = !1) {
77
77
  {}
78
78
  ) : e;
79
79
  }
80
- function O(e, t = !1) {
81
- return typeof e == "string" ? M(e) : Array.isArray(e) ? e.map((s) => !t || typeof s == "string" ? O(s) : typeof s == "object" && s ? O(s, t) : s) : E(e) ? Object.keys(e).reduce(
80
+ function k(e, t = !1) {
81
+ return typeof e == "string" ? M(e) : Array.isArray(e) ? e.map((s) => !t || typeof s == "string" ? k(s) : typeof s == "object" && s ? k(s, t) : s) : O(e) ? Object.keys(e).reduce(
82
82
  (s, r) => {
83
83
  const a = M(String(r));
84
- return s[a] = t ? e[r] : O(e[r]), s;
84
+ return s[a] = t ? e[r] : k(e[r]), s;
85
85
  },
86
86
  {}
87
87
  ) : e;
@@ -96,7 +96,7 @@ async function $e(e) {
96
96
  }, r.setAttribute("src", e), s.appendChild(r);
97
97
  });
98
98
  }
99
- function Q(e, t = "数据未能正确识别") {
99
+ function Y(e, t = "数据未能正确识别") {
100
100
  return typeof e == "function" ? {
101
101
  guard: e,
102
102
  message: t
@@ -209,15 +209,15 @@ class ne {
209
209
  this.config.messageHandler && s && this.config.messageHandler(t, s, r, a);
210
210
  }
211
211
  }
212
- var H = /* @__PURE__ */ ((e) => (e.UnexpectResponse = "UnexpectResponse", e.Aborted = "Aborted", e.Unknown = "Unknown", e.Timeout = "Timeout", e.NotSupport = "NotSupport", e.URLFormatError = "URLFormatError", e))(H || {});
212
+ var H = /* @__PURE__ */ ((e) => (e.UnexpectResponse = "UnexpectResponse", e.Aborted = "Aborted", e.Unknown = "Unknown", e.NetworkError = "NetworkError", e.Timeout = "Timeout", e.NotSupport = "NotSupport", e.URLFormatError = "URLFormatError", e))(H || {});
213
213
  function ae(e, t, s, r) {
214
- if (t.ok && !Z(t.data) && r) {
215
- const a = Q(r, s.get("defaultTypeGuardMessage"));
214
+ if (t.ok && !z(t.data) && r) {
215
+ const a = Y(r, s.get("defaultTypeGuardMessage"));
216
216
  return a.guard(t.data) || (t.code = H.UnexpectResponse, s.showMessage(!0, `${e} ${a.message}`, t.code, t.status), console.error(t.code, e, t.data), t.data = null, t.message = a.message), t;
217
217
  }
218
218
  return t;
219
219
  }
220
- class Oe {
220
+ class ke {
221
221
  constructor(t, s) {
222
222
  y(this, "agent");
223
223
  y(this, "config");
@@ -292,13 +292,13 @@ class Oe {
292
292
  return n.method = "PATCH", n.body = s || {}, this.guard(t, await this.request(t, n), r || null);
293
293
  }
294
294
  }
295
- async function ke(e, t, s) {
295
+ async function Ee(e, t, s) {
296
296
  var m;
297
- const r = Object.assign({ method: "GET" }, s), a = k.FormData ? r.body instanceof FormData : !1, n = a && r.method !== "POST" && r.method !== "PUT" ? "POST" : r.method, o = n === "GET" || n === "HEAD" || n === "DELETE";
297
+ const r = Object.assign({ method: "GET" }, s), a = E.FormData ? r.body instanceof FormData : !1, n = a && r.method !== "POST" && r.method !== "PUT" ? "POST" : r.method, o = n === "GET" || n === "HEAD" || n === "DELETE";
298
298
  o && r.body !== void 0 && (console.warn("request body is invalid with method get, head, delete"), delete r.body);
299
299
  const c = Object.assign(
300
300
  a || o ? {} : {
301
- "Content-Type": k.Blob && r.body instanceof Blob ? r.body.type || "application/octet-stream" : "application/json;charset=utf-8"
301
+ "Content-Type": E.Blob && r.body instanceof Blob ? r.body.type || "application/octet-stream" : "application/json;charset=utf-8"
302
302
  },
303
303
  r.headers
304
304
  ), i = r.params || {}, d = {};
@@ -318,7 +318,7 @@ async function ke(e, t, s) {
318
318
  headers: c,
319
319
  timeout: f,
320
320
  abort: r.abort,
321
- credentials: r.credentials || t.get("credentials")
321
+ credentials: r.credentials || t.get("credentials") || "same-origin"
322
322
  };
323
323
  }
324
324
  function oe(e) {
@@ -326,14 +326,14 @@ function oe(e) {
326
326
  }
327
327
  function ce(e) {
328
328
  if (e)
329
- return typeof e == "string" || e instanceof URLSearchParams || e instanceof ArrayBuffer || k.Blob && e instanceof Blob || k.FormData && e instanceof FormData ? e : JSON.stringify(e);
329
+ return typeof e == "string" || e instanceof URLSearchParams || e instanceof ArrayBuffer || E.Blob && e instanceof Blob || E.FormData && e instanceof FormData ? e : JSON.stringify(e);
330
330
  }
331
- const q = "data", j = "message";
331
+ const N = "data", j = "message";
332
332
  function ie(e, t, s, r, a) {
333
333
  const n = a || r;
334
334
  return C(e) ? ge(n.ok || r.ok, e, t, s) : ue(n.failed || r.failed, t, s);
335
335
  }
336
- const Ee = function(e) {
336
+ const Oe = function(e) {
337
337
  const t = [], s = e.failed || { resolve: "json" };
338
338
  switch (t.push("- 当http状态码 <200 或者 >=400 时"), s.resolve) {
339
339
  case "body":
@@ -350,7 +350,7 @@ const Ee = function(e) {
350
350
  break;
351
351
  case "json":
352
352
  t.push(
353
- " 将响应解析为 json,读取 " + (r.dataField || q) + " 作为响应数据,读取 " + (r.messageField || j) + " 作为提示消息"
353
+ " 将响应解析为 json,读取 " + (r.dataField || N) + " 作为响应数据,读取 " + (r.messageField || j) + " 作为提示消息"
354
354
  ), r.statusField && t.push(
355
355
  " 当 " + r.statusField + " 为 " + (r.statusOKValue || "空值") + " 时是成功提示,否则是错误消息"
356
356
  ), r.ignoreMessage && t.push(" 并忽略以下消息:" + r.ignoreMessage);
@@ -380,13 +380,13 @@ function ue(e, t, s) {
380
380
  function le(e, t, s, r = j) {
381
381
  if (!S(e))
382
382
  return { message: "" };
383
- const a = F(v(e), t);
384
- return !a || !E(a) ? { message: e } : {
385
- code: s ? T(a, s) : "",
386
- message: T(a, r) || e
383
+ const a = F(T(e), t);
384
+ return !a || !O(a) ? { message: e } : {
385
+ code: s ? v(a, s) : "",
386
+ message: v(a, r) || e
387
387
  };
388
388
  }
389
- function T(e, t) {
389
+ function v(e, t) {
390
390
  const s = Array.isArray(t) ? t : [t];
391
391
  for (const r of s)
392
392
  if (r in e)
@@ -414,21 +414,21 @@ function ge(e, t, s, r) {
414
414
  if (t === 204 || !r)
415
415
  return n;
416
416
  if (a.resolve === "body")
417
- return n.data = S(r) ? F(v(r), e.converter) : r, n;
418
- const o = F(v(r), e.converter);
419
- if (!o || !E(o))
417
+ return n.data = S(r) ? F(T(r), e.converter) : r, n;
418
+ const o = F(T(r), e.converter);
419
+ if (!o || !O(o))
420
420
  return n.ok = !1, n.code = "ResponseFormatError", n.message = "响应内容无法格式化为 Object", n;
421
- const c = a.statusField, i = a.statusOKValue || "", d = a.dataField || q, u = a.messageField || j, l = a.ignoreMessage || "";
421
+ const c = a.statusField, i = a.statusOKValue || "", d = a.dataField || N, u = a.messageField || j, l = a.ignoreMessage || "";
422
422
  if (c && !(c in o))
423
423
  return n.ok = !1, n.code = "ResponseFieldMissing", n.message = "响应内容找不到状态字段 " + c, n;
424
424
  const f = c ? o[c] + "" : "";
425
- return n.ok = c ? f === i : !0, n.code = f || s, n.data = d === !0 ? o : d in o ? o[d] : null, n.message = T(o, u), l && n.message && (Array.isArray(l) && l.includes(n.message) || typeof l == "string" && n.message === l) && (n.message = ""), n;
425
+ return n.ok = c ? f === i : !0, n.code = f || s, n.data = d === !0 ? o : d in o ? o[d] : null, n.message = v(o, u), l && n.message && (Array.isArray(l) && l.includes(n.message) || typeof l == "string" && n.message === l) && (n.message = ""), n;
426
426
  }
427
427
  function C(e) {
428
428
  return e >= 200 && e < 400;
429
429
  }
430
430
  function F(e, t) {
431
- return t === "camelize" ? R(e) : t === "snakify" ? O(e) : e;
431
+ return t === "camelize" ? R(e) : t === "snakify" ? k(e) : e;
432
432
  }
433
433
  const me = J("APIError");
434
434
  function pe(e) {
@@ -459,7 +459,7 @@ function ye(e) {
459
459
  {}
460
460
  );
461
461
  }
462
- function ve(e, t, s, r) {
462
+ function Te(e, t, s, r) {
463
463
  var g;
464
464
  const a = e.status, n = e.method, o = ye(
465
465
  Object.entries(e.headers || {}).map(([p, m]) => [p.toLowerCase(), m])
@@ -522,7 +522,7 @@ function be(e) {
522
522
  console.error("RequestError", t);
523
523
  }
524
524
  async function we(e, t, s, r, a) {
525
- const n = a || 0, o = Math.max(0, Math.min(10, (r == null ? void 0 : r.maxRetry) ?? s.get("maxRetry") ?? 0)), c = (r == null ? void 0 : r.retryResolve) ?? s.get("retryResolve"), i = s.get("logHandler") || I;
525
+ const n = a || 0, o = Math.max(0, Math.min(10, (r == null ? void 0 : r.maxRetry) ?? s.get("maxRetry") ?? 0)), c = (r == null ? void 0 : r.retryResolve) ?? s.get("retryResolve"), i = s.get("logHandler") || G;
526
526
  i({
527
527
  type: "prepear",
528
528
  url: t,
@@ -549,7 +549,7 @@ async function we(e, t, s, r, a) {
549
549
  if (!o || c === "network" && l > 0 || c === "status" && p || Array.isArray(c) && !c.includes(l) || typeof c == "function" && c(u, n) !== !0 || n >= o)
550
550
  return u;
551
551
  const m = (r == null ? void 0 : r.retryInterval) ?? s.get("retryInterval") ?? 1e3;
552
- return await G(
552
+ return await I(
553
553
  Math.max(
554
554
  100,
555
555
  m === "2EB" ? Math.pow(2, n) * 1e3 : typeof m == "function" ? m(n + 1) || 0 : m
@@ -557,16 +557,16 @@ async function we(e, t, s, r, a) {
557
557
  ), await we(e, t, s, r, n + 1);
558
558
  }
559
559
  export {
560
- Re as H,
561
- Oe as N,
562
- $e as O,
560
+ $e as I,
561
+ ke as N,
563
562
  ne as R,
564
- A as Y,
563
+ Re as Z,
565
564
  H as a,
566
- ke as c,
567
- k as e,
565
+ Ee as c,
568
566
  ye as f,
569
- Ee as g,
570
- ve as h,
571
- we as r
567
+ Oe as g,
568
+ Te as h,
569
+ E as l,
570
+ we as r,
571
+ A as t
572
572
  };
package/dist/wx.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("./retry-CRrgnQtP.cjs"),l=async function(e,r,n){return t.handleResponse(await t.retryRequest(f,e,r,n),e,r,n)},f=async function(e,r,n){const s=await t.convertOptions(e,r,n),u=s.method==="PATCH"?"POST":s.method,a=t.Ht(s.url,s.params);return t.ee.wx?new Promise(d=>{wx.request({url:a,data:s.body,header:s.headers,method:u,dataType:"string",responseType:"text",fail(){d({url:a,method:u,status:-1,statusText:t.RequestInteralError.Unknown,body:""})},success(c){d({url:a,method:u,status:c.statusCode,statusText:c.statusCode+"",headers:{...c.header},body:s.method==="HEAD"?"":p(c.data)})}})}):{url:a,method:u,status:-1,statusText:t.RequestInteralError.NotSupport,body:""}};function p(e){return typeof e=="string"?e:e instanceof ArrayBuffer&&t.ee.TextDecoder?new TextDecoder().decode(e):JSON.stringify(e)}function i(e){return new t.NetRequestHandler(l,e)}const o=i(),y=o.setConfig,g=o.head,h=o.get,q=o.post,x=o.del,R=o.put;exports.NetRequest=i;exports.del=x;exports.get=h;exports.head=g;exports.post=q;exports.put=R;exports.setGlobalConfig=y;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./retry-C2OSRA9r.cjs"),l=async function(t,n,u){return e.handleResponse(await e.retryRequest(f,t,n,u),t,n,u)},f=async function(t,n,u){const s=await e.convertOptions(t,n,u),a=s.method==="PATCH"?"POST":s.method,c=e.Zt(s.url,s.params);return e.lt.wx?new Promise(d=>{wx.request({url:c,data:s.body,header:s.headers,method:a,dataType:"string",responseType:"text",fail(){d({url:c,method:a,status:-1,statusText:e.RequestInteralError.Unknown,body:""})},success(r){d({url:c,method:a,status:r.statusCode,statusText:r.statusCode+"",headers:{...r.header},body:s.method==="HEAD"||r.statusCode===204?"":p(r.data)})}})}):{url:c,method:a,status:-1,statusText:e.RequestInteralError.NotSupport,body:""}};function p(t){return typeof t=="string"?t:t instanceof ArrayBuffer&&e.lt.TextDecoder?new TextDecoder().decode(t):JSON.stringify(t)}function i(t){return new e.NetRequestHandler(l,t)}const o=i(),y=o.setConfig,g=o.head,h=o.get,q=o.post,x=o.del,R=o.put;exports.NetRequest=i;exports.del=x;exports.get=h;exports.head=g;exports.post=q;exports.put=R;exports.setGlobalConfig=y;
package/dist/wx.js CHANGED
@@ -1,39 +1,39 @@
1
- import { h as f, r as p, c as l, H as h, e as i, a as d, N as y } from "./retry-8Z8eLh90.js";
2
- const x = async function(t, o, n) {
3
- return f(await p(m, t, o, n), t, o, n);
4
- }, m = async function(t, o, n) {
5
- const e = await l(t, o, n), r = e.method === "PATCH" ? "POST" : e.method, a = h(e.url, e.params);
1
+ import { h as l, r as f, c as p, Z as h, l as i, a as d, N as y } from "./retry-DUbMIN1-.js";
2
+ const x = async function(t, n, r) {
3
+ return l(await f(m, t, n, r), t, n, r);
4
+ }, m = async function(t, n, r) {
5
+ const e = await p(t, n, r), a = e.method === "PATCH" ? "POST" : e.method, u = h(e.url, e.params);
6
6
  return i.wx ? new Promise((c) => {
7
7
  wx.request({
8
- url: a,
8
+ url: u,
9
9
  data: e.body,
10
10
  header: e.headers,
11
- method: r,
11
+ method: a,
12
12
  dataType: "string",
13
13
  responseType: "text",
14
14
  fail() {
15
15
  c({
16
- url: a,
17
- method: r,
16
+ url: u,
17
+ method: a,
18
18
  status: -1,
19
19
  statusText: d.Unknown,
20
20
  body: ""
21
21
  });
22
22
  },
23
- success(u) {
23
+ success(o) {
24
24
  c({
25
- url: a,
26
- method: r,
27
- status: u.statusCode,
28
- statusText: u.statusCode + "",
29
- headers: { ...u.header },
30
- body: e.method === "HEAD" ? "" : w(u.data)
25
+ url: u,
26
+ method: a,
27
+ status: o.statusCode,
28
+ statusText: o.statusCode + "",
29
+ headers: { ...o.header },
30
+ body: e.method === "HEAD" || o.statusCode === 204 ? "" : w(o.data)
31
31
  });
32
32
  }
33
33
  });
34
34
  }) : {
35
- url: a,
36
- method: r,
35
+ url: u,
36
+ method: a,
37
37
  status: -1,
38
38
  statusText: d.NotSupport,
39
39
  body: ""
@@ -45,13 +45,13 @@ function w(t) {
45
45
  function T(t) {
46
46
  return new y(x, t);
47
47
  }
48
- const s = T(), q = s.setConfig, R = s.head, b = s.get, C = s.post, H = s.del, N = s.put;
48
+ const s = T(), q = s.setConfig, R = s.head, b = s.get, C = s.post, N = s.del, S = s.put;
49
49
  export {
50
50
  T as NetRequest,
51
- H as del,
51
+ N as del,
52
52
  b as get,
53
53
  R as head,
54
54
  C as post,
55
- N as put,
55
+ S as put,
56
56
  q as setGlobalConfig
57
57
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@seayoo-web/request",
3
- "version": "2.1.0",
3
+ "version": "2.1.1",
4
4
  "description": "requst tools for seayoo web",
5
5
  "type": "module",
6
6
  "source": "./src/index.ts",
@@ -59,7 +59,7 @@
59
59
  "happy-dom": "^12.10.3",
60
60
  "msw": "^2.7.0",
61
61
  "vitest": "^3.0.5",
62
- "@seayoo-web/utils": "^3.0.4"
62
+ "@seayoo-web/utils": "^3.0.8"
63
63
  },
64
64
  "scripts": {
65
65
  "build": "vite build && tsc --emitDeclarationOnly",
@@ -6,8 +6,10 @@ export declare const enum RequestInteralError {
6
6
  UnexpectResponse = "UnexpectResponse",
7
7
  /** 请求被取消 */
8
8
  Aborted = "Aborted",
9
- /** 未知错误,通常是网络错误 */
9
+ /** 未知错误 */
10
10
  Unknown = "Unknown",
11
+ /** 网络错误 */
12
+ NetworkError = "NetworkError",
11
13
  /** 超时 */
12
14
  Timeout = "Timeout",
13
15
  /** 请求方法不被支持,在微信小程序环境下有效 */
@@ -1 +0,0 @@
1
- "use strict";const s=require("./retry-CRrgnQtP.cjs"),f=async function(o,n,i){return s.handleResponse(await s.retryRequest(w,o,n,i),o,n,i)},w=async function(o,n,i){const t=await s.convertOptions(o,n,i),a=new URL(t.url),u=t.params;u instanceof Object&&Object.keys(u).forEach(e=>a.searchParams.set(e,u[e]));const r=s.ee.AbortController?new AbortController:null;function c(){r&&!r.signal.aborted&&r.abort()}t.abort&&t.abort.addEventListener("abort",c);const h=t.timeout>0?setTimeout(c,t.timeout):null,b=t.method==="HEAD";return await fetch(a,{method:t.method,headers:Object.keys(t.headers).length>0?new Headers(t.headers):void 0,body:t.body,credentials:t.credentials,signal:r==null?void 0:r.signal,redirect:"follow"}).then(async e=>{const d=b?"":await e.text().catch(m=>m),l=s.fromEntries([...e.headers.entries()]);return d instanceof Error?{url:a.toString(),method:t.method,status:e.status,statusText:e.statusText||s.RequestInteralError.Unknown,body:"",headers:l,rawError:d}:{url:a.toString(),method:t.method,status:e.status,statusText:e.statusText,headers:l,body:d}}).catch(e=>({url:a.toString(),method:t.method,status:-1,statusText:r!=null&&r.signal.aborted?s.RequestInteralError.Aborted:s.RequestInteralError.Unknown,body:"",rawError:e})).finally(()=>{h!==null&&clearTimeout(h),t.abort&&t.abort.removeEventListener("abort",c)})};exports.fetchRequest=f;