@chzky/reqwest 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (123) hide show
  1. package/esm/_dnt.polyfills.d.ts +14 -0
  2. package/esm/_dnt.polyfills.d.ts.map +10 -0
  3. package/esm/_dnt.polyfills.js +68 -0
  4. package/esm/_dnt.shims.d.ts +14 -0
  5. package/esm/_dnt.shims.d.ts.map +1 -0
  6. package/esm/_dnt.shims.js +1 -0
  7. package/esm/lib/helper/mod.d.ts +4 -0
  8. package/esm/lib/helper/mod.d.ts.map +1 -0
  9. package/esm/lib/helper/mod.js +3 -0
  10. package/esm/lib/helper/request/RESTful.d.ts +40 -0
  11. package/esm/lib/helper/request/RESTful.d.ts.map +1 -0
  12. package/esm/lib/helper/request/RESTful.js +1 -0
  13. package/esm/lib/helper/request/baseConf.d.ts +15 -0
  14. package/esm/lib/helper/request/baseConf.d.ts.map +1 -0
  15. package/esm/lib/helper/request/baseConf.js +1 -0
  16. package/esm/lib/helper/request/input.d.ts +11 -0
  17. package/esm/lib/helper/request/input.d.ts.map +1 -0
  18. package/esm/lib/helper/request/input.js +1 -0
  19. package/esm/lib/helper/request/mod.d.ts +4 -0
  20. package/esm/lib/helper/request/mod.d.ts.map +1 -0
  21. package/esm/lib/helper/request/mod.js +3 -0
  22. package/esm/lib/helper/response/mod.d.ts +3 -0
  23. package/esm/lib/helper/response/mod.d.ts.map +1 -0
  24. package/esm/lib/helper/response/mod.js +2 -0
  25. package/esm/lib/helper/response/output.d.ts +5 -0
  26. package/esm/lib/helper/response/output.d.ts.map +1 -0
  27. package/esm/lib/helper/response/output.js +1 -0
  28. package/esm/lib/helper/response/pick.d.ts +7 -0
  29. package/esm/lib/helper/response/pick.d.ts.map +1 -0
  30. package/esm/lib/helper/response/pick.js +1 -0
  31. package/esm/lib/helper/use/mod.d.ts +3 -0
  32. package/esm/lib/helper/use/mod.d.ts.map +1 -0
  33. package/esm/lib/helper/use/mod.js +2 -0
  34. package/esm/lib/helper/use/useCancel.d.ts +4 -0
  35. package/esm/lib/helper/use/useCancel.d.ts.map +1 -0
  36. package/esm/lib/helper/use/useCancel.js +1 -0
  37. package/esm/lib/helper/use/useLoading.d.ts +15 -0
  38. package/esm/lib/helper/use/useLoading.d.ts.map +1 -0
  39. package/esm/lib/helper/use/useLoading.js +1 -0
  40. package/esm/lib/mod.d.ts +3 -0
  41. package/esm/lib/mod.d.ts.map +1 -0
  42. package/esm/lib/mod.js +2 -0
  43. package/esm/lib/reqwest/class.d.ts +84 -0
  44. package/esm/lib/reqwest/class.d.ts.map +1 -0
  45. package/esm/lib/reqwest/class.js +1 -0
  46. package/esm/lib/reqwest/core.d.ts +6 -0
  47. package/esm/lib/reqwest/core.d.ts.map +1 -0
  48. package/esm/lib/reqwest/core.js +250 -0
  49. package/esm/lib/reqwest/factor.d.ts +72 -0
  50. package/esm/lib/reqwest/factor.d.ts.map +1 -0
  51. package/esm/lib/reqwest/factor.js +1 -0
  52. package/esm/lib/reqwest/interface.d.ts +48 -0
  53. package/esm/lib/reqwest/interface.d.ts.map +1 -0
  54. package/esm/lib/reqwest/interface.js +1 -0
  55. package/esm/lib/reqwest/mod.d.ts +4 -0
  56. package/esm/lib/reqwest/mod.d.ts.map +1 -0
  57. package/esm/lib/reqwest/mod.js +2 -0
  58. package/esm/mod.d.ts +3 -0
  59. package/esm/mod.d.ts.map +1 -0
  60. package/esm/mod.js +2 -0
  61. package/esm/package.json +3 -0
  62. package/package.json +27 -0
  63. package/script/_dnt.polyfills.d.ts +14 -0
  64. package/script/_dnt.polyfills.d.ts.map +1 -0
  65. package/script/_dnt.polyfills.js +12 -0
  66. package/script/_dnt.shims.d.ts +14 -0
  67. package/script/_dnt.shims.d.ts.map +1 -0
  68. package/script/_dnt.shims.js +79 -0
  69. package/script/lib/helper/mod.d.ts +4 -0
  70. package/script/lib/helper/mod.d.ts.map +1 -0
  71. package/script/lib/helper/mod.js +19 -0
  72. package/script/lib/helper/request/RESTful.d.ts +40 -0
  73. package/script/lib/helper/request/RESTful.d.ts.map +1 -0
  74. package/script/lib/helper/request/RESTful.js +86 -0
  75. package/script/lib/helper/request/baseConf.d.ts +15 -0
  76. package/script/lib/helper/request/baseConf.d.ts.map +1 -0
  77. package/script/lib/helper/request/baseConf.js +27 -0
  78. package/script/lib/helper/request/input.d.ts +11 -0
  79. package/script/lib/helper/request/input.d.ts.map +1 -0
  80. package/script/lib/helper/request/input.js +27 -0
  81. package/script/lib/helper/request/mod.d.ts +4 -0
  82. package/script/lib/helper/request/mod.d.ts.map +1 -0
  83. package/script/lib/helper/request/mod.js +19 -0
  84. package/script/lib/helper/response/mod.d.ts +3 -0
  85. package/script/lib/helper/response/mod.d.ts.map +1 -0
  86. package/script/lib/helper/response/mod.js +18 -0
  87. package/script/lib/helper/response/output.d.ts +5 -0
  88. package/script/lib/helper/response/output.d.ts.map +1 -0
  89. package/script/lib/helper/response/output.js +15 -0
  90. package/script/lib/helper/response/pick.d.ts +7 -0
  91. package/script/lib/helper/response/pick.d.ts.map +1 -0
  92. package/script/lib/helper/response/pick.js +12 -0
  93. package/script/lib/helper/use/mod.d.ts +3 -0
  94. package/script/lib/helper/use/mod.d.ts.map +1 -0
  95. package/script/lib/helper/use/mod.js +18 -0
  96. package/script/lib/helper/use/useCancel.d.ts +4 -0
  97. package/script/lib/helper/use/useCancel.d.ts.map +1 -0
  98. package/script/lib/helper/use/useCancel.js +15 -0
  99. package/script/lib/helper/use/useLoading.d.ts +15 -0
  100. package/script/lib/helper/use/useLoading.d.ts.map +1 -0
  101. package/script/lib/helper/use/useLoading.js +51 -0
  102. package/script/lib/mod.d.ts +3 -0
  103. package/script/lib/mod.d.ts.map +1 -0
  104. package/script/lib/mod.js +18 -0
  105. package/script/lib/reqwest/class.d.ts +84 -0
  106. package/script/lib/reqwest/class.d.ts.map +1 -0
  107. package/script/lib/reqwest/class.js +72 -0
  108. package/script/lib/reqwest/core.d.ts +6 -0
  109. package/script/lib/reqwest/core.d.ts.map +1 -0
  110. package/script/lib/reqwest/core.js +72 -0
  111. package/script/lib/reqwest/factor.d.ts +72 -0
  112. package/script/lib/reqwest/factor.d.ts.map +1 -0
  113. package/script/lib/reqwest/factor.js +37 -0
  114. package/script/lib/reqwest/interface.d.ts +23 -0
  115. package/script/lib/reqwest/interface.d.ts.map +1 -0
  116. package/script/lib/reqwest/interface.js +2 -0
  117. package/script/lib/reqwest/mod.d.ts +4 -0
  118. package/script/lib/reqwest/mod.d.ts.map +1 -0
  119. package/script/lib/reqwest/mod.js +18 -0
  120. package/script/mod.d.ts +3 -0
  121. package/script/mod.d.ts.map +1 -0
  122. package/script/mod.js +18 -0
  123. package/script/package.json +3 -0
@@ -0,0 +1,72 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.Reqwest = void 0;
7
+ const axios_1 = __importDefault(require("axios"));
8
+ const core_js_1 = require("./core.js");
9
+ /** ## `Reqwest` : 基于`Axios`二次封装的请求库 */
10
+ class Reqwest {
11
+ constructor(_interceptors_req = [], _interceptors_res = [], cof = {}) {
12
+ Object.defineProperty(this, "_interceptors_req", {
13
+ enumerable: true,
14
+ configurable: true,
15
+ writable: true,
16
+ value: _interceptors_req
17
+ });
18
+ Object.defineProperty(this, "_interceptors_res", {
19
+ enumerable: true,
20
+ configurable: true,
21
+ writable: true,
22
+ value: _interceptors_res
23
+ });
24
+ Object.defineProperty(this, "cof", {
25
+ enumerable: true,
26
+ configurable: true,
27
+ writable: true,
28
+ value: cof
29
+ });
30
+ Object.defineProperty(this, "_axios", {
31
+ enumerable: true,
32
+ configurable: true,
33
+ writable: true,
34
+ value: axios_1.default.create({})
35
+ });
36
+ cof && this.conf(cof);
37
+ }
38
+ /** 实现{@link NewAble}接口 */
39
+ static new() {
40
+ return new Reqwest();
41
+ }
42
+ /** 实现{@link Copy}接口 */
43
+ clone() {
44
+ return new Reqwest(this._interceptors_req, this._interceptors_res, this.cof);
45
+ }
46
+ /** ### `conf` : 更新配置 */
47
+ conf(conf) {
48
+ for (const key in conf) {
49
+ this._axios.defaults[key] =
50
+ conf[key];
51
+ }
52
+ this.cof = this._axios.defaults;
53
+ return this;
54
+ }
55
+ /** ### `request` : 增加请求拦截器,拦截器会按顺序执行
56
+ + 该方法会返回一个新的Reqwest,并且与原Reqwest保持独立 */
57
+ request(...interceptors) {
58
+ return new Reqwest([...this._interceptors_req, ...interceptors], this._interceptors_res, this.cof);
59
+ }
60
+ response(...interceptor) {
61
+ return new Reqwest(this._interceptors_req, [...this._interceptors_res, ...interceptor], this.cof);
62
+ }
63
+ /** ### `use` : 增加拦截器,返回一个新的Reqwest */
64
+ use(interceptor) {
65
+ return new Reqwest([...this._interceptors_req, interceptor.request], [...this._interceptors_res, interceptor.response], this.cof);
66
+ }
67
+ /** ### `dispatch` : 发送请求 */
68
+ dispatch() {
69
+ return core_js_1.normal_dispatch.call(this);
70
+ }
71
+ }
72
+ exports.Reqwest = Reqwest;
@@ -0,0 +1,6 @@
1
+ export declare function normal_dispatch(this: any): Promise<any>;
2
+ /** 请求拦截器运行核心 */
3
+ export declare function request_interceptor_run(conf: any, arrs: any[]): Promise<void>;
4
+ /** 响应拦截器运行核心 */
5
+ export declare function response_interceptor_run(res: any, arrs: any[]): Promise<any>;
6
+ //# sourceMappingURL=core.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../../src/lib/reqwest/core.ts"],"names":[],"mappings":"AAIA,wBAAgB,eAAe,CAAC,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAqCvD;AAED,gBAAgB;AAChB,wBAAsB,uBAAuB,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAMnF;AAED,gBAAgB;AAChB,wBAAsB,wBAAwB,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,CAQlF"}
@@ -0,0 +1,72 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.normal_dispatch = normal_dispatch;
13
+ exports.request_interceptor_run = request_interceptor_run;
14
+ exports.response_interceptor_run = response_interceptor_run;
15
+ const fp_1 = require("@chzky/fp");
16
+ const std_1 = require("@chzky/std");
17
+ const axios_1 = require("axios");
18
+ function normal_dispatch() {
19
+ const { resolve, promise } = Promise.withResolvers();
20
+ /** request_interceptor */
21
+ this._axios.interceptors.request.use((conf) => __awaiter(this, void 0, void 0, function* () {
22
+ yield request_interceptor_run(conf, this._interceptors_req);
23
+ return conf;
24
+ }));
25
+ /** response_interceptor */
26
+ this._axios.interceptors.response.use((r) => r /* 2xx 范围内的状态码都会触发该函数。 */, fp_1.throwing /* 超出 2xx 范围的状态码都会触发该函数。 */);
27
+ this._axios({})
28
+ .then((res) => __awaiter(this, void 0, void 0, function* () {
29
+ const result = yield response_interceptor_run(res, this._interceptors_res);
30
+ return (0, fp_1.Ok)(result);
31
+ }))
32
+ .then(resolve, (e) => {
33
+ /*
34
+ 1. interceptors.request的异常
35
+ 1.1 CanceledError - 请求终止错误
36
+ 2. interceptors.response超出200的异常
37
+ 3. interceptors.response执行过程中的异常:<返回Err类型,或是执行过程中直接throw>
38
+ */
39
+ resolve(e instanceof fp_1.AnyError
40
+ ? e
41
+ : e instanceof axios_1.CanceledError
42
+ ? std_1.AbortError.err('Request has been canceled')
43
+ : fp_1.UnexpectedError.err(e));
44
+ });
45
+ return promise;
46
+ }
47
+ /** 请求拦截器运行核心 */
48
+ function request_interceptor_run(conf, arrs) {
49
+ return __awaiter(this, void 0, void 0, function* () {
50
+ for (const fn of arrs) {
51
+ const res = yield Promise.resolve(fn(conf));
52
+ if ((0, fp_1.is_err)(res) || (0, fp_1.is_ok)(res))
53
+ res.unwrap(); /* err -> Error */
54
+ else
55
+ throw fp_1.CheckingError.new('RequestInterceptor must return Err<E> or Ok<void>');
56
+ }
57
+ });
58
+ }
59
+ /** 响应拦截器运行核心 */
60
+ function response_interceptor_run(res, arrs) {
61
+ return __awaiter(this, void 0, void 0, function* () {
62
+ let result = res;
63
+ for (const fn of arrs) {
64
+ result = yield Promise.resolve(fn(result));
65
+ if ((0, fp_1.is_err)(result) || (0, fp_1.is_ok)(result))
66
+ result = result.unwrap(); /* 解包 */
67
+ else
68
+ throw fp_1.CheckingError.new('ResponseInterceptor must return Err<E> or Ok<O>');
69
+ }
70
+ return result;
71
+ });
72
+ }
@@ -0,0 +1,72 @@
1
+ /** 工厂函数,省去类型声明的步骤 */
2
+ import type { RequestInterceptor, MergeErrors, ResponseInterceptor, ReqwestInterceptor } from './interface.js';
3
+ /** ### `merge_request` : 工厂函数 of `Reqwest-request`
4
+ + 将多个request拦截器合并成一个拦截器
5
+ */
6
+ export declare function merge_request<Interceptors extends RequestInterceptor<any>[]>(...interceptors: Interceptors): RequestInterceptor<MergeErrors<Interceptors>>;
7
+ /** ### `merge_response` : 工厂函数 of `Reqwest-response`
8
+ + 将多个response拦截器合并成一个拦截器
9
+ */
10
+ export declare function merge_response<I, O, E>(...interceptor: [ResponseInterceptor<I, O, E>]): ResponseInterceptor<I, O, E>;
11
+ export declare function merge_response<I, O, E, O2, E2>(...interceptor: [ResponseInterceptor<I, O, E>, ResponseInterceptor<O, O2, E2>]): ResponseInterceptor<I, O2, E | E2>;
12
+ export declare function merge_response<I, O, E, O2, E2, O3, E3>(...interceptor: [
13
+ ResponseInterceptor<I, O, E>,
14
+ ResponseInterceptor<O, O2, E2>,
15
+ ResponseInterceptor<O2, O3, E3>
16
+ ]): ResponseInterceptor<I, O2, E | E2 | E3>;
17
+ export declare function merge_response<I, O, E, O2, E2, O3, E3, O4, E4>(...interceptor: [
18
+ ResponseInterceptor<I, O, E>,
19
+ ResponseInterceptor<O, O2, E2>,
20
+ ResponseInterceptor<O2, O3, E3>,
21
+ ResponseInterceptor<O3, O4, E4>
22
+ ]): ResponseInterceptor<I, O4, E | E2 | E3 | E4>;
23
+ export declare function merge_response<I, O, E, O2, E2, O3, E3, O4, E4, O5, E5>(...interceptor: [
24
+ ResponseInterceptor<I, O, E>,
25
+ ResponseInterceptor<O, O2, E2>,
26
+ ResponseInterceptor<O2, O3, E3>,
27
+ ResponseInterceptor<O3, O4, E4>,
28
+ ResponseInterceptor<O4, O5, E5>
29
+ ]): ResponseInterceptor<I, O5, E | E2 | E3 | E4 | E5>;
30
+ export declare function merge_response<I, O, E, O2, E2, O3, E3, O4, E4, O5, E5, O6, E6>(...interceptor: [
31
+ ResponseInterceptor<I, O, E>,
32
+ ResponseInterceptor<O, O2, E2>,
33
+ ResponseInterceptor<O2, O3, E3>,
34
+ ResponseInterceptor<O3, O4, E4>,
35
+ ResponseInterceptor<O4, O5, E5>,
36
+ ResponseInterceptor<O5, O6, E6>
37
+ ]): ResponseInterceptor<I, O6, E | E2 | E3 | E4 | E5 | E6>;
38
+ export declare function merge_response<I, O, E, O2, E2, O3, E3, O4, E4, O5, E5, O6, E6, O7, E7>(...interceptor: [
39
+ ResponseInterceptor<I, O, E>,
40
+ ResponseInterceptor<O, O2, E2>,
41
+ ResponseInterceptor<O2, O3, E3>,
42
+ ResponseInterceptor<O3, O4, E4>,
43
+ ResponseInterceptor<O4, O5, E5>,
44
+ ResponseInterceptor<O5, O6, E6>,
45
+ ResponseInterceptor<O6, O7, E7>
46
+ ]): ResponseInterceptor<I, O7, E | E2 | E3 | E4 | E5 | E6 | E7>;
47
+ export declare function merge_response<I, O, E, O2, E2, O3, E3, O4, E4, O5, E5, O6, E6, O7, E7, O8, E8>(...interceptor: [
48
+ ResponseInterceptor<I, O, E>,
49
+ ResponseInterceptor<O, O2, E2>,
50
+ ResponseInterceptor<O2, O3, E3>,
51
+ ResponseInterceptor<O3, O4, E4>,
52
+ ResponseInterceptor<O4, O5, E5>,
53
+ ResponseInterceptor<O5, O6, E6>,
54
+ ResponseInterceptor<O6, O7, E7>,
55
+ ResponseInterceptor<O7, O8, E8>
56
+ ]): ResponseInterceptor<I, O8, E | E2 | E3 | E4 | E5 | E6 | E7 | E8>;
57
+ export declare function merge_response<I, O, E, O2, E2, O3, E3, O4, E4, O5, E5, O6, E6, O7, E7, O8, E8, O9, E9>(...interceptor: [
58
+ ResponseInterceptor<I, O, E>,
59
+ ResponseInterceptor<O, O2, E2>,
60
+ ResponseInterceptor<O2, O3, E3>,
61
+ ResponseInterceptor<O3, O4, E4>,
62
+ ResponseInterceptor<O4, O5, E5>,
63
+ ResponseInterceptor<O5, O6, E6>,
64
+ ResponseInterceptor<O6, O7, E7>,
65
+ ResponseInterceptor<O7, O8, E8>,
66
+ ResponseInterceptor<O8, O9, E9>
67
+ ]): ResponseInterceptor<I, O9, E | E2 | E3 | E4 | E5 | E6 | E7 | E8 | E9>;
68
+ /** ### `merge_response` : 工厂函数 of `Reqwest-use`
69
+ + 快捷生成`ReqwestInterceptor`供`use`使用
70
+ */
71
+ export declare function merge_reqwest<O, E, OO, EE>(request: RequestInterceptor<E>, response: ResponseInterceptor<O, OO, EE>): ReqwestInterceptor<O, E, OO, EE>;
72
+ //# sourceMappingURL=factor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"factor.d.ts","sourceRoot":"","sources":["../../../src/lib/reqwest/factor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ /** 工厂函数,省去类型声明的步骤 */
3
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
4
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
5
+ return new (P || (P = Promise))(function (resolve, reject) {
6
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
7
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
8
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
9
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
10
+ });
11
+ };
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ exports.merge_request = merge_request;
14
+ exports.merge_response = merge_response;
15
+ exports.merge_reqwest = merge_reqwest;
16
+ const fp_1 = require("@chzky/fp");
17
+ const core_js_1 = require("./core.js");
18
+ /** ### `merge_request` : 工厂函数 of `Reqwest-request`
19
+ + 将多个request拦截器合并成一个拦截器
20
+ */
21
+ function merge_request(...interceptors) {
22
+ return (conf) => __awaiter(this, void 0, void 0, function* () {
23
+ yield (0, core_js_1.request_interceptor_run)(conf, interceptors);
24
+ return (0, fp_1.Ok)();
25
+ });
26
+ }
27
+ function merge_response(...interceptor) {
28
+ return (res) => __awaiter(this, void 0, void 0, function* () {
29
+ return yield (0, core_js_1.response_interceptor_run)(res, interceptor);
30
+ });
31
+ }
32
+ /** ### `merge_response` : 工厂函数 of `Reqwest-use`
33
+ + 快捷生成`ReqwestInterceptor`供`use`使用
34
+ */
35
+ function merge_reqwest(request, response) {
36
+ return { request, response };
37
+ }
@@ -0,0 +1,23 @@
1
+ import type { InternalAxiosRequestConfig, AxiosResponse } from 'axios';
2
+ import type { PromiseOr, Result, UnexpectedError } from '@chzky/fp';
3
+ import type { Reqwest } from './mod.js';
4
+ /** ### `RequestInterceptor` : 请求拦截器 | 返回`Ok()` or `Err(E)`
5
+ + Ok() 表示通过拦截器 , 会运行下一个拦截器
6
+ + Err(E)表示拦截器拦截 , 会直接返回Err(E)
7
+ */
8
+ export type RequestInterceptor<E = never> = (conf: InternalAxiosRequestConfig<unknown>) => PromiseOr<Result<void, E>>;
9
+ /** ### `ResponseInterceptor` : 响应拦截器 | 返回`Ok(O)` or `Err(E)`
10
+ + Ok(O) 表示通过拦截器 , 会自动解包并将值传递给下一个拦截器
11
+ + Err(E)表示拦截器拦截 , 会直接返回Err(E)
12
+ */
13
+ export type ResponseInterceptor<O = AxiosResponse<unknown, unknown>, OO = AxiosResponse<unknown, unknown>, EE = never> = (response: O) => PromiseOr<Result<OO, EE>>;
14
+ /** ### `ReqwestInterceptor` : 拦截器 | 分成响应拦截和请求拦截 */
15
+ export interface ReqwestInterceptor<O, E, OO = O, EE = never> {
16
+ request: RequestInterceptor<E>;
17
+ response: ResponseInterceptor<O, OO, EE>;
18
+ }
19
+ export type MergeErrors<T extends any[]> = T extends [RequestInterceptor<infer E>, ...infer Rest] ? E | MergeErrors<Rest> : never;
20
+ type FinalResult<Interceptors extends ResponseInterceptor<any, any, any>[], CurrentOutput = AxiosResponse<unknown>, CurrentError = UnexpectedError> = Interceptors extends [infer First, ...infer Rest extends ResponseInterceptor<any, any, any>[]] ? First extends ResponseInterceptor<CurrentOutput, infer NextOutput, infer NextError> ? FinalResult<Rest, NextOutput, NextError | CurrentError> : never : Result<CurrentOutput, CurrentError>;
21
+ export type ResponseResult<O, E, ER, Interceptors extends ResponseInterceptor<any, any, any>[]> = Reqwest<FinalResult<Interceptors, O, ER> extends Result<infer O, any> ? O : never, E, FinalResult<Interceptors, O, ER> extends Result<any, infer E> ? E : never>;
22
+ export {};
23
+ //# sourceMappingURL=interface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interface.d.ts","sourceRoot":"","sources":["../../../src/lib/reqwest/interface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,0BAA0B,EAAE,aAAa,EAAE,MAAM,OAAO,CAAA;AACtE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,eAAe,EAAe,MAAM,WAAW,CAAA;AAChF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,UAAU,CAAA;AAEvC;;;GAGG;AACH,MAAM,MAAM,kBAAkB,CAAC,CAAC,GAAG,KAAK,IAAI,CAC1C,IAAI,EAAE,0BAA0B,CAAC,OAAO,CAAC,KACtC,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;AAE/B;;;GAGG;AACH,MAAM,MAAM,mBAAmB,CAC7B,CAAC,GAAG,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,EACnC,EAAE,GAAG,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,EACpC,EAAE,GAAG,KAAK,IACR,CAAC,QAAQ,EAAE,CAAC,KAAK,SAAS,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAA;AAE9C,mDAAmD;AACnD,MAAM,WAAW,kBAAkB,CACjC,CAAC,EACD,CAAC,EACD,EAAE,GAAG,CAAC,EACN,EAAE,GAAG,KAAK;IAEV,OAAO,EAAE,kBAAkB,CAAC,CAAC,CAAC,CAAA;IAC9B,QAAQ,EAAE,mBAAmB,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAA;CACzC;AAED,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,MAAM,IAAI,CAAC,GAC7F,CAAC,GAAG,WAAW,CAAC,IAAI,CAAC,GACrB,KAAK,CAAA;AAET,KAAK,WAAW,CACd,YAAY,SAAS,mBAAmB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,EACzD,aAAa,GAAG,aAAa,CAAC,OAAO,CAAC,EACtC,YAAY,GAAG,eAAe,IAC5B,YAAY,SAAS,CAAC,MAAM,KAAK,EAAE,GAAG,MAAM,IAAI,SAAS,mBAAmB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,GAC9F,KAAK,SAAS,mBAAmB,CAAC,aAAa,EAAE,MAAM,UAAU,EAAE,MAAM,SAAS,CAAC,GACjF,WAAW,CAAC,IAAI,EAAE,UAAU,EAAE,SAAS,GAAG,YAAY,CAAC,GACvD,KAAK,GACP,MAAM,CAAC,aAAa,EAAE,YAAY,CAAC,CAAA;AAEvC,MAAM,MAAM,cAAc,CACxB,CAAC,EACD,CAAC,EACD,EAAE,EACF,YAAY,SAAS,mBAAmB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,IACvD,OAAO,CACT,WAAW,CAAC,YAAY,EAAE,CAAC,EAAE,EAAE,CAAC,SAAS,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,EACzE,CAAC,EACD,WAAW,CAAC,YAAY,EAAE,CAAC,EAAE,EAAE,CAAC,SAAS,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAC1E,CAAA"}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,4 @@
1
+ export { type RequestInterceptor, type ResponseInterceptor, type ReqwestInterceptor, } from './interface.js';
2
+ export * from './class.js';
3
+ export * from './factor.js';
4
+ //# sourceMappingURL=mod.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../../../src/lib/reqwest/mod.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,GACxB,MAAM,gBAAgB,CAAA;AACvB,cAAc,YAAY,CAAA;AAC1B,cAAc,aAAa,CAAA"}
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./class.js"), exports);
18
+ __exportStar(require("./factor.js"), exports);
@@ -0,0 +1,3 @@
1
+ import "./_dnt.polyfills.js";
2
+ export * from './lib/mod.js';
3
+ //# sourceMappingURL=mod.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../src/mod.ts"],"names":[],"mappings":"AAAA,OAAO,qBAAqB,CAAC;AAC7B,cAAc,cAAc,CAAA"}
package/script/mod.js ADDED
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ require("./_dnt.polyfills.js");
18
+ __exportStar(require("./lib/mod.js"), exports);
@@ -0,0 +1,3 @@
1
+ {
2
+ "type": "commonjs"
3
+ }