@delta-comic/request 0.0.2 → 0.0.3
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.js +28 -28
- package/dist/index.js.map +1 -1
- package/dist/pack.tgz +0 -0
- package/package.json +7 -6
package/dist/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import
|
|
2
|
-
function
|
|
1
|
+
import e, { isAxiosError as t, isCancel as n } from "axios";
|
|
2
|
+
function r(e) {
|
|
3
3
|
return {
|
|
4
4
|
all: e ||= /* @__PURE__ */ new Map(),
|
|
5
5
|
on: function(t, n) {
|
|
@@ -20,9 +20,9 @@ function mitt_default(e) {
|
|
|
20
20
|
}
|
|
21
21
|
};
|
|
22
22
|
}
|
|
23
|
-
var
|
|
23
|
+
var i = class {
|
|
24
24
|
_controller = new AbortController();
|
|
25
|
-
mitt =
|
|
25
|
+
mitt = r();
|
|
26
26
|
get signal() {
|
|
27
27
|
return this._controller.signal;
|
|
28
28
|
}
|
|
@@ -38,32 +38,32 @@ var SmartAbortController = class {
|
|
|
38
38
|
};
|
|
39
39
|
this.mitt.on("abort", t);
|
|
40
40
|
}
|
|
41
|
-
},
|
|
41
|
+
}, a = class extends Error {
|
|
42
42
|
constructor(e = "The operation was aborted") {
|
|
43
43
|
super(e), this.name = "AbortError";
|
|
44
44
|
}
|
|
45
45
|
};
|
|
46
|
-
function
|
|
46
|
+
function o(e, { signal: t } = {}) {
|
|
47
47
|
return new Promise((n, r) => {
|
|
48
48
|
let i = () => {
|
|
49
|
-
r(new
|
|
50
|
-
},
|
|
51
|
-
clearTimeout(
|
|
49
|
+
r(new a());
|
|
50
|
+
}, o = () => {
|
|
51
|
+
clearTimeout(s), i();
|
|
52
52
|
};
|
|
53
53
|
if (t?.aborted) return i();
|
|
54
|
-
let
|
|
55
|
-
t?.removeEventListener("abort",
|
|
54
|
+
let s = setTimeout(() => {
|
|
55
|
+
t?.removeEventListener("abort", o), n();
|
|
56
56
|
}, e);
|
|
57
|
-
t?.addEventListener("abort",
|
|
57
|
+
t?.addEventListener("abort", o, { once: !0 });
|
|
58
58
|
});
|
|
59
59
|
}
|
|
60
|
-
const
|
|
60
|
+
const s = {
|
|
61
61
|
isPost: (e) => /^post$/i.test(e.config.method ?? ""),
|
|
62
62
|
isPut: (e) => /^put$/i.test(e.config.method ?? ""),
|
|
63
63
|
isGet: (e) => /^get$/i.test(e.config.method ?? "")
|
|
64
|
-
},
|
|
64
|
+
}, c = {
|
|
65
65
|
checkIsAxiosError(e) {
|
|
66
|
-
return "__isAxiosError" in e ? e.__isAxiosError : e.__isAxiosError = !
|
|
66
|
+
return "__isAxiosError" in e ? e.__isAxiosError : e.__isAxiosError = !n(e) && t(e);
|
|
67
67
|
},
|
|
68
68
|
async useUnreadableRetry(e, t = 0) {
|
|
69
69
|
try {
|
|
@@ -90,7 +90,7 @@ const checkType = {
|
|
|
90
90
|
createAutoRetry(e, t = 3) {
|
|
91
91
|
return async (n) => {
|
|
92
92
|
if (!n.config || n.config.disretry || (n.config.__retryCount ?? 0) >= t) throw Promise.reject(n);
|
|
93
|
-
return n.config.__retryCount = (n.config.__retryCount ?? 0) + 1, await
|
|
93
|
+
return n.config.__retryCount = (n.config.__retryCount ?? 0) + 1, await o(500 * n.config.__retryCount), e(n.config);
|
|
94
94
|
};
|
|
95
95
|
},
|
|
96
96
|
isClientError(e) {
|
|
@@ -102,19 +102,19 @@ const checkType = {
|
|
|
102
102
|
if (e.code === "ERR_NETWORK" && !e.response) throw Promise.reject(e);
|
|
103
103
|
return Promise.reject(e);
|
|
104
104
|
}
|
|
105
|
-
},
|
|
106
|
-
let i =
|
|
107
|
-
return r?.(i), i.interceptors.request.use(async (e) => (e.baseURL ??= await t(), e)), n.noPassClientError || i.interceptors.response.use(void 0,
|
|
108
|
-
get: async (e, t = {}) =>
|
|
109
|
-
post: async (e, t, n = {}) =>
|
|
110
|
-
postForm: async (e, t, n = {}) =>
|
|
111
|
-
put: async (e, t, n = {}) =>
|
|
112
|
-
putForm: async (e, t, n = {}) =>
|
|
113
|
-
delete: async (e, t = {}) =>
|
|
114
|
-
patch: async (e, t, n = {}) =>
|
|
115
|
-
patchForm: async (e, t, n = {}) =>
|
|
105
|
+
}, l = (t, n = {}, r) => {
|
|
106
|
+
let i = e.create(n);
|
|
107
|
+
return r?.(i), i.interceptors.request.use(async (e) => (e.baseURL ??= await t(), e)), n.noPassClientError || i.interceptors.response.use(void 0, c.isClientError), i.interceptors.response.use(void 0, c.createAutoRetry(i, 10)), {
|
|
108
|
+
get: async (e, t = {}) => c.useUnreadableRetry(() => i.get(e, t)),
|
|
109
|
+
post: async (e, t, n = {}) => c.useUnreadableRetry(() => i.post(e, t, n)),
|
|
110
|
+
postForm: async (e, t, n = {}) => c.useUnreadableRetry(() => i.postForm(e, t, n)),
|
|
111
|
+
put: async (e, t, n = {}) => c.useUnreadableRetry(() => i.put(e, t, n)),
|
|
112
|
+
putForm: async (e, t, n = {}) => c.useUnreadableRetry(() => i.putForm(e, t, n)),
|
|
113
|
+
delete: async (e, t = {}) => c.useUnreadableRetry(() => i.delete(e, t)),
|
|
114
|
+
patch: async (e, t, n = {}) => c.useUnreadableRetry(() => i.patch(e, t, n)),
|
|
115
|
+
patchForm: async (e, t, n = {}) => c.useUnreadableRetry(() => i.patchForm(e, t, n))
|
|
116
116
|
};
|
|
117
117
|
};
|
|
118
|
-
export { SmartAbortController, checkType, createAxios, interceptors };
|
|
118
|
+
export { i as SmartAbortController, s as checkType, l as createAxios, c as interceptors };
|
|
119
119
|
|
|
120
120
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":[],"sources":["../../../node_modules/.pnpm/mitt@3.0.1/node_modules/mitt/dist/mitt.mjs","../lib/abort.ts","../../../node_modules/.pnpm/es-toolkit@1.40.0/node_modules/es-toolkit/dist/error/AbortError.mjs","../../../node_modules/.pnpm/es-toolkit@1.40.0/node_modules/es-toolkit/dist/promise/delay.mjs","../lib/axios.ts"],"sourcesContent":["export default function(n){return{all:n=n||new Map,on:function(t,e){var i=n.get(t);i?i.push(e):n.set(t,[e])},off:function(t,e){var i=n.get(t);i&&(e?i.splice(i.indexOf(e)>>>0,1):n.set(t,[]))},emit:function(t,e){var i=n.get(t);i&&i.slice().map(function(n){n(e)}),(i=n.get(\"*\"))&&i.slice().map(function(n){n(t,e)})}}}\n//# sourceMappingURL=mitt.mjs.map\n","import mitt from 'mitt'\n\nexport class SmartAbortController implements AbortController {\n private _controller = new AbortController()\n private mitt = mitt<{ abort: void }>()\n public get signal() {\n return this._controller.signal\n }\n public abort(reason?: any): void {\n this._controller.abort(reason)\n this._controller = new AbortController()\n this.mitt.emit('abort')\n }\n public onAbort(fn: () => any) {\n this.mitt.on('abort', fn)\n return () => this.mitt.off('abort', fn)\n }\n public onAbortOnce(fn: () => any) {\n const handler = async () => {\n await fn()\n this.mitt.off('abort', handler)\n }\n this.mitt.on('abort', handler)\n }\n}","class AbortError extends Error {\n constructor(message = 'The operation was aborted') {\n super(message);\n this.name = 'AbortError';\n }\n}\n\nexport { AbortError };\n","import { AbortError } from '../error/AbortError.mjs';\n\nfunction delay(ms, { signal } = {}) {\n return new Promise((resolve, reject) => {\n const abortError = () => {\n reject(new AbortError());\n };\n const abortHandler = () => {\n clearTimeout(timeoutId);\n abortError();\n };\n if (signal?.aborted) {\n return abortError();\n }\n const timeoutId = setTimeout(() => {\n signal?.removeEventListener('abort', abortHandler);\n resolve();\n }, ms);\n signal?.addEventListener('abort', abortHandler, { once: true });\n });\n}\n\nexport { delay };\n","import axios, {\n type AxiosError,\n isCancel,\n isAxiosError,\n type AxiosResponse,\n type AxiosInstance,\n type CreateAxiosDefaults,\n type AxiosRequestConfig\n} from 'axios'\nimport { delay } from 'es-toolkit'\n\nexport const checkType = {\n isPost: (v: { config: { method?: string } }) => /^post$/i.test(v.config.method ?? ''),\n isPut: (v: { config: { method?: string } }) => /^put$/i.test(v.config.method ?? ''),\n isGet: (v: { config: { method?: string } }) => /^get$/i.test(v.config.method ?? '')\n}\nexport const interceptors = {\n checkIsAxiosError<T extends object>(err: any): err is AxiosError<T, any> {\n if ('__isAxiosError' in err) return <boolean>err.__isAxiosError\n return (err.__isAxiosError = !isCancel(err) && isAxiosError(err))\n },\n async useUnreadableRetry<T extends () => Promise<AxiosResponse>>(\n fn: T,\n times = 0\n ): Promise<Awaited<ReturnType<T>>['data']> {\n try {\n return (await fn()).data\n } catch (error) {\n if (error instanceof Error && error.message.includes('Illegal invocation')) {\n if (times > 20) {\n throw error\n }\n return await this.useUnreadableRetry(fn, times + 1)\n }\n throw error\n }\n },\n async useForceRetry<T extends () => Promise<AxiosResponse>>(\n fn: T,\n times = 0\n ): Promise<Awaited<ReturnType<T>>['data']> {\n try {\n return (await fn()).data\n } catch (error) {\n if (error instanceof Error) {\n if (times > 20) {\n throw error\n }\n return await this.useForceRetry(fn, times + 1)\n }\n throw error\n }\n },\n createAutoRetry(api: AxiosInstance, times = 3) {\n return async (err: any) => {\n if (!err.config || err.config.disretry || (err.config.__retryCount ?? 0) >= times)\n throw Promise.reject(err)\n err.config.__retryCount = (err.config.__retryCount ?? 0) + 1\n await delay(500 * err.config.__retryCount)\n return api(err.config)\n }\n },\n isClientError(err: any) {\n if (err?.response?.status?.toString().startsWith('4')) throw Promise.reject(err)\n return Promise.reject(err)\n },\n passCorsError(err: any) {\n if (!this.checkIsAxiosError(err)) return Promise.reject(err)\n if (err.code === 'ERR_NETWORK' && !err.response) throw Promise.reject(err)\n return Promise.reject(err)\n }\n}\n\nexport type Requester = ReturnType<typeof createAxios>\nexport const createAxios = (\n fork: () => Promise<string> | string,\n config: CreateAxiosDefaults & Partial<{ noPassClientError: boolean }> = {},\n middle?: (axios: AxiosInstance) => AxiosInstance\n) => {\n const api = axios.create(config)\n middle?.(api)\n\n api.interceptors.request.use(async requestConfig => {\n requestConfig.baseURL ??= await fork()\n return requestConfig\n })\n if (!config.noPassClientError)\n api.interceptors.response.use(undefined, interceptors.isClientError)\n api.interceptors.response.use(undefined, interceptors.createAutoRetry(api, 10))\n return {\n get: async <T>(url: string, config: AxiosRequestConfig = {}) =>\n interceptors.useUnreadableRetry(() => api.get<T>(url, config)),\n post: async <T>(url: string, data?: any, config: AxiosRequestConfig = {}) =>\n interceptors.useUnreadableRetry(() => api.post<T>(url, data, config)),\n postForm: async <T>(url: string, data?: any, config: AxiosRequestConfig = {}) =>\n interceptors.useUnreadableRetry(() => api.postForm<T>(url, data, config)),\n put: async <T>(url: string, data?: any, config: AxiosRequestConfig = {}) =>\n interceptors.useUnreadableRetry(() => api.put<T>(url, data, config)),\n putForm: async <T>(url: string, data?: any, config: AxiosRequestConfig = {}) =>\n interceptors.useUnreadableRetry(() => api.putForm<T>(url, data, config)),\n delete: async <T>(url: string, config: AxiosRequestConfig = {}) =>\n interceptors.useUnreadableRetry(() => api.delete<T>(url, config)),\n patch: async <T>(url: string, data?: any, config: AxiosRequestConfig = {}) =>\n interceptors.useUnreadableRetry(() => api.patch<T>(url, data, config)),\n patchForm: async <T>(url: string, data?: any, config: AxiosRequestConfig = {}) =>\n interceptors.useUnreadableRetry(() => api.patchForm<T>(url, data, config))\n }\n}"],"x_google_ignoreList":[0,2,3],"mappings":";AAAA,SAAA,aAAwB,GAAE;AAAC,QAAM;EAAC,KAAI,sBAAK,IAAI,KAAG;EAAC,IAAG,SAAS,GAAE,GAAE;GAAC,IAAI,IAAE,EAAE,IAAI,EAAE;AAAC,OAAE,EAAE,KAAK,EAAE,GAAC,EAAE,IAAI,GAAE,CAAC,EAAE,CAAC;;EAAE,KAAI,SAAS,GAAE,GAAE;GAAC,IAAI,IAAE,EAAE,IAAI,EAAE;AAAC,SAAI,IAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAG,GAAE,EAAE,GAAC,EAAE,IAAI,GAAE,EAAE,CAAC;;EAAG,MAAK,SAAS,GAAE,GAAE;GAAC,IAAI,IAAE,EAAE,IAAI,EAAE;AAAC,QAAG,EAAE,OAAO,CAAC,IAAI,SAAS,GAAE;AAAC,MAAE,EAAE;KAAE,GAAE,IAAE,EAAE,IAAI,IAAI,KAAG,EAAE,OAAO,CAAC,IAAI,SAAS,GAAE;AAAC,MAAE,GAAE,EAAE;KAAE;;EAAE;;ACEzT,IAAa,uBAAb,MAA6D;CAC3D,cAAsB,IAAI,iBAAiB;CAC3C,OAAe,cAAuB;CACtC,IAAW,SAAS;AAClB,SAAO,KAAK,YAAY;;CAE1B,MAAa,GAAoB;AAG/B,EAFA,KAAK,YAAY,MAAM,EAAO,EAC9B,KAAK,cAAc,IAAI,iBAAiB,EACxC,KAAK,KAAK,KAAK,QAAQ;;CAEzB,QAAe,GAAe;AAE5B,SADA,KAAK,KAAK,GAAG,SAAS,EAAG,QACZ,KAAK,KAAK,IAAI,SAAS,EAAG;;CAEzC,YAAmB,GAAe;EAChC,IAAM,IAAU,YAAY;AAE1B,GADA,MAAM,GAAI,EACV,KAAK,KAAK,IAAI,SAAS,EAAQ;;AAEjC,OAAK,KAAK,GAAG,SAAS,EAAQ;;GCtB5B,aAAN,cAAyB,MAAM;CAC3B,YAAY,IAAU,6BAA6B;AAE/C,EADA,MAAM,EAAQ,EACd,KAAK,OAAO;;;ACDpB,SAAS,MAAM,GAAI,EAAE,cAAW,EAAE,EAAE;AAChC,QAAO,IAAI,SAAS,GAAS,MAAW;EACpC,IAAM,UAAmB;AACrB,KAAO,IAAI,YAAY,CAAC;KAEtB,UAAqB;AAEvB,GADA,aAAa,EAAU,EACvB,GAAY;;AAEhB,MAAI,GAAQ,QACR,QAAO,GAAY;EAEvB,IAAM,IAAY,iBAAiB;AAE/B,GADA,GAAQ,oBAAoB,SAAS,EAAa,EAClD,GAAS;KACV,EAAG;AACN,KAAQ,iBAAiB,SAAS,GAAc,EAAE,MAAM,IAAM,CAAC;GACjE;;ACRN,MAAa,YAAY;CACvB,SAAS,MAAuC,UAAU,KAAK,EAAE,OAAO,UAAU,GAAG;CACrF,QAAQ,MAAuC,SAAS,KAAK,EAAE,OAAO,UAAU,GAAG;CACnF,QAAQ,MAAuC,SAAS,KAAK,EAAE,OAAO,UAAU,GAAG;CACpF,EACY,eAAe;CAC1B,kBAAoC,GAAqC;AAEvE,SADI,oBAAoB,IAAqB,EAAI,iBACzC,EAAI,iBAAiB,CAAC,SAAS,EAAI,IAAI,aAAa,EAAI;;CAElE,MAAM,mBACJ,GACA,IAAQ,GACiC;AACzC,MAAI;AACF,WAAQ,MAAM,GAAI,EAAE;WACb,GAAO;AACd,OAAI,aAAiB,SAAS,EAAM,QAAQ,SAAS,qBAAqB,EAAE;AAC1E,QAAI,IAAQ,GACV,OAAM;AAER,WAAO,MAAM,KAAK,mBAAmB,GAAI,IAAQ,EAAE;;AAErD,SAAM;;;CAGV,MAAM,cACJ,GACA,IAAQ,GACiC;AACzC,MAAI;AACF,WAAQ,MAAM,GAAI,EAAE;WACb,GAAO;AACd,OAAI,aAAiB,OAAO;AAC1B,QAAI,IAAQ,GACV,OAAM;AAER,WAAO,MAAM,KAAK,cAAc,GAAI,IAAQ,EAAE;;AAEhD,SAAM;;;CAGV,gBAAgB,GAAoB,IAAQ,GAAG;AAC7C,SAAO,OAAO,MAAa;AACzB,OAAI,CAAC,EAAI,UAAU,EAAI,OAAO,aAAa,EAAI,OAAO,gBAAgB,MAAM,EAC1E,OAAM,QAAQ,OAAO,EAAI;AAG3B,UAFA,EAAI,OAAO,gBAAgB,EAAI,OAAO,gBAAgB,KAAK,GAC3D,MAAM,MAAM,MAAM,EAAI,OAAO,aAAa,EACnC,EAAI,EAAI,OAAO;;;CAG1B,cAAc,GAAU;AACtB,MAAI,GAAK,UAAU,QAAQ,UAAU,CAAC,WAAW,IAAI,CAAE,OAAM,QAAQ,OAAO,EAAI;AAChF,SAAO,QAAQ,OAAO,EAAI;;CAE5B,cAAc,GAAU;AACtB,MAAI,CAAC,KAAK,kBAAkB,EAAI,CAAE,QAAO,QAAQ,OAAO,EAAI;AAC5D,MAAI,EAAI,SAAS,iBAAiB,CAAC,EAAI,SAAU,OAAM,QAAQ,OAAO,EAAI;AAC1E,SAAO,QAAQ,OAAO,EAAI;;CAE7B,EAGY,eACX,GACA,IAAwE,EAAE,EAC1E,MACG;CACH,IAAM,IAAM,MAAM,OAAO,EAAO;AAUhC,QATA,IAAS,EAAI,EAEb,EAAI,aAAa,QAAQ,IAAI,OAAM,OACjC,EAAc,YAAY,MAAM,GAAM,EAC/B,GACP,EACG,EAAO,qBACV,EAAI,aAAa,SAAS,IAAI,KAAA,GAAW,aAAa,cAAc,EACtE,EAAI,aAAa,SAAS,IAAI,KAAA,GAAW,aAAa,gBAAgB,GAAK,GAAG,CAAC,EACxE;EACL,KAAK,OAAU,GAAa,IAA6B,EAAE,KACzD,aAAa,yBAAyB,EAAI,IAAO,GAAK,EAAO,CAAC;EAChE,MAAM,OAAU,GAAa,GAAY,IAA6B,EAAE,KACtE,aAAa,yBAAyB,EAAI,KAAQ,GAAK,GAAM,EAAO,CAAC;EACvE,UAAU,OAAU,GAAa,GAAY,IAA6B,EAAE,KAC1E,aAAa,yBAAyB,EAAI,SAAY,GAAK,GAAM,EAAO,CAAC;EAC3E,KAAK,OAAU,GAAa,GAAY,IAA6B,EAAE,KACrE,aAAa,yBAAyB,EAAI,IAAO,GAAK,GAAM,EAAO,CAAC;EACtE,SAAS,OAAU,GAAa,GAAY,IAA6B,EAAE,KACzE,aAAa,yBAAyB,EAAI,QAAW,GAAK,GAAM,EAAO,CAAC;EAC1E,QAAQ,OAAU,GAAa,IAA6B,EAAE,KAC5D,aAAa,yBAAyB,EAAI,OAAU,GAAK,EAAO,CAAC;EACnE,OAAO,OAAU,GAAa,GAAY,IAA6B,EAAE,KACvE,aAAa,yBAAyB,EAAI,MAAS,GAAK,GAAM,EAAO,CAAC;EACxE,WAAW,OAAU,GAAa,GAAY,IAA6B,EAAE,KAC3E,aAAa,yBAAyB,EAAI,UAAa,GAAK,GAAM,EAAO,CAAC;EAC7E"}
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../../node_modules/.pnpm/mitt@3.0.1/node_modules/mitt/dist/mitt.mjs","../lib/abort.ts","../../../node_modules/.pnpm/es-toolkit@1.40.0/node_modules/es-toolkit/dist/error/AbortError.mjs","../../../node_modules/.pnpm/es-toolkit@1.40.0/node_modules/es-toolkit/dist/promise/delay.mjs","../lib/axios.ts"],"sourcesContent":["export default function(n){return{all:n=n||new Map,on:function(t,e){var i=n.get(t);i?i.push(e):n.set(t,[e])},off:function(t,e){var i=n.get(t);i&&(e?i.splice(i.indexOf(e)>>>0,1):n.set(t,[]))},emit:function(t,e){var i=n.get(t);i&&i.slice().map(function(n){n(e)}),(i=n.get(\"*\"))&&i.slice().map(function(n){n(t,e)})}}}\n//# sourceMappingURL=mitt.mjs.map\n","import mitt from 'mitt'\n\nexport class SmartAbortController implements AbortController {\n private _controller = new AbortController()\n private mitt = mitt<{ abort: void }>()\n public get signal() {\n return this._controller.signal\n }\n public abort(reason?: any): void {\n this._controller.abort(reason)\n this._controller = new AbortController()\n this.mitt.emit('abort')\n }\n public onAbort(fn: () => any) {\n this.mitt.on('abort', fn)\n return () => this.mitt.off('abort', fn)\n }\n public onAbortOnce(fn: () => any) {\n const handler = async () => {\n await fn()\n this.mitt.off('abort', handler)\n }\n this.mitt.on('abort', handler)\n }\n}","class AbortError extends Error {\n constructor(message = 'The operation was aborted') {\n super(message);\n this.name = 'AbortError';\n }\n}\n\nexport { AbortError };\n","import { AbortError } from '../error/AbortError.mjs';\n\nfunction delay(ms, { signal } = {}) {\n return new Promise((resolve, reject) => {\n const abortError = () => {\n reject(new AbortError());\n };\n const abortHandler = () => {\n clearTimeout(timeoutId);\n abortError();\n };\n if (signal?.aborted) {\n return abortError();\n }\n const timeoutId = setTimeout(() => {\n signal?.removeEventListener('abort', abortHandler);\n resolve();\n }, ms);\n signal?.addEventListener('abort', abortHandler, { once: true });\n });\n}\n\nexport { delay };\n","import axios, {\n type AxiosError,\n isCancel,\n isAxiosError,\n type AxiosResponse,\n type AxiosInstance,\n type CreateAxiosDefaults,\n type AxiosRequestConfig\n} from 'axios'\nimport { delay } from 'es-toolkit'\n\nexport const checkType = {\n isPost: (v: { config: { method?: string } }) => /^post$/i.test(v.config.method ?? ''),\n isPut: (v: { config: { method?: string } }) => /^put$/i.test(v.config.method ?? ''),\n isGet: (v: { config: { method?: string } }) => /^get$/i.test(v.config.method ?? '')\n}\nexport const interceptors = {\n checkIsAxiosError<T extends object>(err: any): err is AxiosError<T, any> {\n if ('__isAxiosError' in err) return <boolean>err.__isAxiosError\n return (err.__isAxiosError = !isCancel(err) && isAxiosError(err))\n },\n async useUnreadableRetry<T extends () => Promise<AxiosResponse>>(\n fn: T,\n times = 0\n ): Promise<Awaited<ReturnType<T>>['data']> {\n try {\n return (await fn()).data\n } catch (error) {\n if (error instanceof Error && error.message.includes('Illegal invocation')) {\n if (times > 20) {\n throw error\n }\n return await this.useUnreadableRetry(fn, times + 1)\n }\n throw error\n }\n },\n async useForceRetry<T extends () => Promise<AxiosResponse>>(\n fn: T,\n times = 0\n ): Promise<Awaited<ReturnType<T>>['data']> {\n try {\n return (await fn()).data\n } catch (error) {\n if (error instanceof Error) {\n if (times > 20) {\n throw error\n }\n return await this.useForceRetry(fn, times + 1)\n }\n throw error\n }\n },\n createAutoRetry(api: AxiosInstance, times = 3) {\n return async (err: any) => {\n if (!err.config || err.config.disretry || (err.config.__retryCount ?? 0) >= times)\n throw Promise.reject(err)\n err.config.__retryCount = (err.config.__retryCount ?? 0) + 1\n await delay(500 * err.config.__retryCount)\n return api(err.config)\n }\n },\n isClientError(err: any) {\n if (err?.response?.status?.toString().startsWith('4')) throw Promise.reject(err)\n return Promise.reject(err)\n },\n passCorsError(err: any) {\n if (!this.checkIsAxiosError(err)) return Promise.reject(err)\n if (err.code === 'ERR_NETWORK' && !err.response) throw Promise.reject(err)\n return Promise.reject(err)\n }\n}\n\nexport type Requester = ReturnType<typeof createAxios>\nexport const createAxios = (\n fork: () => Promise<string> | string,\n config: CreateAxiosDefaults & Partial<{ noPassClientError: boolean }> = {},\n middle?: (axios: AxiosInstance) => AxiosInstance\n) => {\n const api = axios.create(config)\n middle?.(api)\n\n api.interceptors.request.use(async requestConfig => {\n requestConfig.baseURL ??= await fork()\n return requestConfig\n })\n if (!config.noPassClientError)\n api.interceptors.response.use(undefined, interceptors.isClientError)\n api.interceptors.response.use(undefined, interceptors.createAutoRetry(api, 10))\n return {\n get: async <T>(url: string, config: AxiosRequestConfig = {}) =>\n interceptors.useUnreadableRetry(() => api.get<T>(url, config)),\n post: async <T>(url: string, data?: any, config: AxiosRequestConfig = {}) =>\n interceptors.useUnreadableRetry(() => api.post<T>(url, data, config)),\n postForm: async <T>(url: string, data?: any, config: AxiosRequestConfig = {}) =>\n interceptors.useUnreadableRetry(() => api.postForm<T>(url, data, config)),\n put: async <T>(url: string, data?: any, config: AxiosRequestConfig = {}) =>\n interceptors.useUnreadableRetry(() => api.put<T>(url, data, config)),\n putForm: async <T>(url: string, data?: any, config: AxiosRequestConfig = {}) =>\n interceptors.useUnreadableRetry(() => api.putForm<T>(url, data, config)),\n delete: async <T>(url: string, config: AxiosRequestConfig = {}) =>\n interceptors.useUnreadableRetry(() => api.delete<T>(url, config)),\n patch: async <T>(url: string, data?: any, config: AxiosRequestConfig = {}) =>\n interceptors.useUnreadableRetry(() => api.patch<T>(url, data, config)),\n patchForm: async <T>(url: string, data?: any, config: AxiosRequestConfig = {}) =>\n interceptors.useUnreadableRetry(() => api.patchForm<T>(url, data, config))\n }\n}"],"x_google_ignoreList":[0,2,3],"mappings":"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"}
|
package/dist/pack.tgz
CHANGED
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@delta-comic/request",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.3",
|
|
4
4
|
"description": "空阙虱楼",
|
|
5
5
|
"homepage": "https://github.com/delta-comic/delta-comic-core",
|
|
6
6
|
"license": "AGPL-3.0-only",
|
|
@@ -34,11 +34,12 @@
|
|
|
34
34
|
"mitt": "^3.0.1"
|
|
35
35
|
},
|
|
36
36
|
"devDependencies": {
|
|
37
|
-
"axios": "^1.13.5"
|
|
37
|
+
"axios": "^1.13.5",
|
|
38
|
+
"vite": "8.0.0-beta.15"
|
|
38
39
|
},
|
|
39
40
|
"peerDependencies": {
|
|
40
41
|
"axios": "^1.13",
|
|
41
|
-
"@delta-comic/utils": "0.0.
|
|
42
|
+
"@delta-comic/utils": "0.0.5"
|
|
42
43
|
},
|
|
43
44
|
"release": {
|
|
44
45
|
"tagFormat": "request-${version}"
|
|
@@ -49,8 +50,8 @@
|
|
|
49
50
|
"readme": "./README.md",
|
|
50
51
|
"scripts": {
|
|
51
52
|
"build": "vite build && pnpm pack --out ./dist/pack.tgz",
|
|
52
|
-
"version:major": "pnpm version major --no-git-tag-version",
|
|
53
|
-
"version:minor": "pnpm version minor --no-git-tag-version",
|
|
54
|
-
"version:patch": "pnpm version patch --no-git-tag-version"
|
|
53
|
+
"version:major": "pnpm version major --no-git-tag-version || true",
|
|
54
|
+
"version:minor": "pnpm version minor --no-git-tag-version || true",
|
|
55
|
+
"version:patch": "pnpm version patch --no-git-tag-version || true"
|
|
55
56
|
}
|
|
56
57
|
}
|