@ureq/impl-axios 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/README.md ADDED
@@ -0,0 +1,111 @@
1
+ # @ureq/impl-axios
2
+
3
+ 基于 Axios 的请求器实现。
4
+
5
+ ## 安装
6
+
7
+ ```bash
8
+ npm install @ureq/core @ureq/impl-axios axios
9
+ # 或
10
+ pnpm add @ureq/core @ureq/impl-axios axios
11
+ ```
12
+
13
+ > 注意:需要同时安装 `axios` 依赖
14
+
15
+ ## 使用
16
+
17
+ ```typescript
18
+ import { Request } from '@ureq/core';
19
+ import { AxiosRequestor } from '@ureq/impl-axios';
20
+
21
+ const request = new Request(new AxiosRequestor({
22
+ baseURL: 'https://api.example.com',
23
+ headers: {
24
+ 'Content-Type': 'application/json'
25
+ },
26
+ timeout: 5000
27
+ }));
28
+
29
+ // 发起请求
30
+ const users = await request.get('/users');
31
+ ```
32
+
33
+ ## 配置选项
34
+
35
+ ```typescript
36
+ interface AxiosRequestorConfig {
37
+ baseURL?: string; // API 基础 URL
38
+ headers?: Record<string, string>; // 默认请求头
39
+ timeout?: number; // 超时时间(毫秒)
40
+ withCredentials?: boolean; // 跨域请求是否携带凭证
41
+ // 其他 Axios 配置...
42
+ }
43
+ ```
44
+
45
+ ## 特性
46
+
47
+ - ✅ 功能丰富
48
+ - ✅ 广泛的浏览器支持
49
+ - ✅ 自动转换 JSON 数据
50
+ - ✅ 请求和响应拦截器
51
+ - ✅ 取消请求支持
52
+ - ✅ 进度监控
53
+
54
+ ## 浏览器兼容性
55
+
56
+ - Chrome
57
+ - Firefox
58
+ - Safari
59
+ - Edge
60
+ - IE 11+
61
+ - Node.js
62
+
63
+ ## 何时使用
64
+
65
+ 选择 AxiosRequestor 当你需要:
66
+
67
+ - 支持旧版本浏览器(IE 11+)
68
+ - 更多的配置选项
69
+ - 上传/下载进度监控
70
+ - 请求取消功能
71
+
72
+ ## 示例
73
+
74
+ ### 基础用法
75
+
76
+ ```typescript
77
+ const requestor = new AxiosRequestor({
78
+ baseURL: 'https://api.example.com'
79
+ });
80
+
81
+ const request = new Request(requestor);
82
+ const data = await request.get('/users');
83
+ ```
84
+
85
+ ### 带认证
86
+
87
+ ```typescript
88
+ const requestor = new AxiosRequestor({
89
+ baseURL: 'https://api.example.com',
90
+ headers: {
91
+ 'Authorization': 'Bearer your-token'
92
+ }
93
+ });
94
+ ```
95
+
96
+ ### 跨域请求
97
+
98
+ ```typescript
99
+ const requestor = new AxiosRequestor({
100
+ baseURL: 'https://api.example.com',
101
+ withCredentials: true // 携带 Cookie
102
+ });
103
+ ```
104
+
105
+ ## 文档
106
+
107
+ 查看完整文档:[https://sunny-117.github.io/ureq](https://sunny-117.github.io/ureq)
108
+
109
+ ## License
110
+
111
+ MIT
package/dist/index.js CHANGED
@@ -1,2 +1,82 @@
1
- 'use strict';var o=require('axios'),core=require('@ureq/core');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var o__default=/*#__PURE__*/_interopDefault(o);var n=class{constructor(e){this.instance=o__default.default.create({baseURL:e?.baseURL,timeout:e?.timeout,headers:e?.headers});}convertOptions(e){return {headers:e?.headers,signal:e?.signal,responseType:e?.responseType,...e}}convertResponse(e){return {data:e.data,status:e.status,statusText:e.statusText,headers:e.headers}}handleError(e,t,s){throw core.createRequestError(e,{method:t,url:s})}async get(e,t){try{let s=await this.instance.get(e,this.convertOptions(t));return this.convertResponse(s)}catch(s){this.handleError(s,"GET",e);}}async post(e,t,s){try{let r=await this.instance.post(e,t,this.convertOptions(s));return this.convertResponse(r)}catch(r){this.handleError(r,"POST",e);}}async put(e,t,s){try{let r=await this.instance.put(e,t,this.convertOptions(s));return this.convertResponse(r)}catch(r){this.handleError(r,"PUT",e);}}async delete(e,t){try{let s=await this.instance.delete(e,this.convertOptions(t));return this.convertResponse(s)}catch(s){this.handleError(s,"DELETE",e);}}async patch(e,t,s){try{let r=await this.instance.patch(e,t,this.convertOptions(s));return this.convertResponse(r)}catch(r){this.handleError(r,"PATCH",e);}}};exports.AxiosRequestor=n;//# sourceMappingURL=index.js.map
1
+ 'use strict';
2
+
3
+ var axios = require('axios');
4
+ var core = require('@ureq/core');
5
+
6
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
7
+
8
+ var axios__default = /*#__PURE__*/_interopDefault(axios);
9
+
10
+ // src/index.ts
11
+ var AxiosRequestor = class {
12
+ constructor(options) {
13
+ this.instance = axios__default.default.create({
14
+ baseURL: options?.baseURL,
15
+ timeout: options?.timeout,
16
+ headers: options?.headers
17
+ });
18
+ }
19
+ convertOptions(options) {
20
+ return {
21
+ headers: options?.headers,
22
+ signal: options?.signal,
23
+ responseType: options?.responseType,
24
+ ...options
25
+ };
26
+ }
27
+ convertResponse(response) {
28
+ return {
29
+ data: response.data,
30
+ status: response.status,
31
+ statusText: response.statusText,
32
+ headers: response.headers
33
+ };
34
+ }
35
+ handleError(error, method, url) {
36
+ throw core.createRequestError(error, { method, url });
37
+ }
38
+ async get(url, options) {
39
+ try {
40
+ const response = await this.instance.get(url, this.convertOptions(options));
41
+ return this.convertResponse(response);
42
+ } catch (error) {
43
+ this.handleError(error, "GET", url);
44
+ }
45
+ }
46
+ async post(url, data, options) {
47
+ try {
48
+ const response = await this.instance.post(url, data, this.convertOptions(options));
49
+ return this.convertResponse(response);
50
+ } catch (error) {
51
+ this.handleError(error, "POST", url);
52
+ }
53
+ }
54
+ async put(url, data, options) {
55
+ try {
56
+ const response = await this.instance.put(url, data, this.convertOptions(options));
57
+ return this.convertResponse(response);
58
+ } catch (error) {
59
+ this.handleError(error, "PUT", url);
60
+ }
61
+ }
62
+ async delete(url, options) {
63
+ try {
64
+ const response = await this.instance.delete(url, this.convertOptions(options));
65
+ return this.convertResponse(response);
66
+ } catch (error) {
67
+ this.handleError(error, "DELETE", url);
68
+ }
69
+ }
70
+ async patch(url, data, options) {
71
+ try {
72
+ const response = await this.instance.patch(url, data, this.convertOptions(options));
73
+ return this.convertResponse(response);
74
+ } catch (error) {
75
+ this.handleError(error, "PATCH", url);
76
+ }
77
+ }
78
+ };
79
+
80
+ exports.AxiosRequestor = AxiosRequestor;
81
+ //# sourceMappingURL=index.js.map
2
82
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts"],"names":["AxiosRequestor","options","axios","response","error","method","url","createRequestError","data"],"mappings":"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","file":"index.js","sourcesContent":["import axios, { AxiosInstance, AxiosRequestConfig, ResponseType } from 'axios';\nimport { Requestor, RequestOptions, Response, createRequestError } from '@ureq/core';\n\nexport interface AxiosRequestorOptions {\n baseURL?: string;\n timeout?: number;\n headers?: Record<string, string>;\n}\n\nexport class AxiosRequestor implements Requestor {\n private instance: AxiosInstance;\n\n constructor(options?: AxiosRequestorOptions) {\n this.instance = axios.create({\n baseURL: options?.baseURL,\n timeout: options?.timeout,\n headers: options?.headers,\n });\n }\n\n private convertOptions(options?: RequestOptions): AxiosRequestConfig {\n return {\n headers: options?.headers,\n signal: options?.signal,\n responseType: options?.responseType as ResponseType | undefined,\n ...options,\n };\n }\n\n private convertResponse<T>(response: any): Response<T> {\n return {\n data: response.data,\n status: response.status,\n statusText: response.statusText,\n headers: response.headers,\n };\n }\n\n private handleError(error: any, method?: string, url?: string): never {\n throw createRequestError(error, { method, url });\n }\n\n async get<T>(url: string, options?: RequestOptions): Promise<Response<T>> {\n try {\n const response = await this.instance.get(url, this.convertOptions(options));\n return this.convertResponse(response);\n } catch (error) {\n this.handleError(error, 'GET', url);\n }\n }\n\n async post<T>(url: string, data?: any, options?: RequestOptions): Promise<Response<T>> {\n try {\n const response = await this.instance.post(url, data, this.convertOptions(options));\n return this.convertResponse(response);\n } catch (error) {\n this.handleError(error, 'POST', url);\n }\n }\n\n async put<T>(url: string, data?: any, options?: RequestOptions): Promise<Response<T>> {\n try {\n const response = await this.instance.put(url, data, this.convertOptions(options));\n return this.convertResponse(response);\n } catch (error) {\n this.handleError(error, 'PUT', url);\n }\n }\n\n async delete<T>(url: string, options?: RequestOptions): Promise<Response<T>> {\n try {\n const response = await this.instance.delete(url, this.convertOptions(options));\n return this.convertResponse(response);\n } catch (error) {\n this.handleError(error, 'DELETE', url);\n }\n }\n\n async patch<T>(url: string, data?: any, options?: RequestOptions): Promise<Response<T>> {\n try {\n const response = await this.instance.patch(url, data, this.convertOptions(options));\n return this.convertResponse(response);\n } catch (error) {\n this.handleError(error, 'PATCH', url);\n }\n }\n} "]}
1
+ {"version":3,"sources":["../src/index.ts"],"names":["axios","createRequestError"],"mappings":"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","file":"index.js","sourcesContent":["import axios, { AxiosInstance, AxiosRequestConfig, ResponseType } from 'axios';\nimport { Requestor, RequestOptions, Response, createRequestError } from '@ureq/core';\n\nexport interface AxiosRequestorOptions {\n baseURL?: string;\n timeout?: number;\n headers?: Record<string, string>;\n}\n\nexport class AxiosRequestor implements Requestor {\n private instance: AxiosInstance;\n\n constructor(options?: AxiosRequestorOptions) {\n this.instance = axios.create({\n baseURL: options?.baseURL,\n timeout: options?.timeout,\n headers: options?.headers,\n });\n }\n\n private convertOptions(options?: RequestOptions): AxiosRequestConfig {\n return {\n headers: options?.headers,\n signal: options?.signal,\n responseType: options?.responseType as ResponseType | undefined,\n ...options,\n };\n }\n\n private convertResponse<T>(response: any): Response<T> {\n return {\n data: response.data,\n status: response.status,\n statusText: response.statusText,\n headers: response.headers,\n };\n }\n\n private handleError(error: any, method?: string, url?: string): never {\n throw createRequestError(error, { method, url });\n }\n\n async get<T>(url: string, options?: RequestOptions): Promise<Response<T>> {\n try {\n const response = await this.instance.get(url, this.convertOptions(options));\n return this.convertResponse(response);\n } catch (error) {\n this.handleError(error, 'GET', url);\n }\n }\n\n async post<T>(url: string, data?: any, options?: RequestOptions): Promise<Response<T>> {\n try {\n const response = await this.instance.post(url, data, this.convertOptions(options));\n return this.convertResponse(response);\n } catch (error) {\n this.handleError(error, 'POST', url);\n }\n }\n\n async put<T>(url: string, data?: any, options?: RequestOptions): Promise<Response<T>> {\n try {\n const response = await this.instance.put(url, data, this.convertOptions(options));\n return this.convertResponse(response);\n } catch (error) {\n this.handleError(error, 'PUT', url);\n }\n }\n\n async delete<T>(url: string, options?: RequestOptions): Promise<Response<T>> {\n try {\n const response = await this.instance.delete(url, this.convertOptions(options));\n return this.convertResponse(response);\n } catch (error) {\n this.handleError(error, 'DELETE', url);\n }\n }\n\n async patch<T>(url: string, data?: any, options?: RequestOptions): Promise<Response<T>> {\n try {\n const response = await this.instance.patch(url, data, this.convertOptions(options));\n return this.convertResponse(response);\n } catch (error) {\n this.handleError(error, 'PATCH', url);\n }\n }\n} "]}
package/dist/index.mjs CHANGED
@@ -1,2 +1,76 @@
1
- import o from'axios';import {createRequestError}from'@ureq/core';var n=class{constructor(e){this.instance=o.create({baseURL:e?.baseURL,timeout:e?.timeout,headers:e?.headers});}convertOptions(e){return {headers:e?.headers,signal:e?.signal,responseType:e?.responseType,...e}}convertResponse(e){return {data:e.data,status:e.status,statusText:e.statusText,headers:e.headers}}handleError(e,t,s){throw createRequestError(e,{method:t,url:s})}async get(e,t){try{let s=await this.instance.get(e,this.convertOptions(t));return this.convertResponse(s)}catch(s){this.handleError(s,"GET",e);}}async post(e,t,s){try{let r=await this.instance.post(e,t,this.convertOptions(s));return this.convertResponse(r)}catch(r){this.handleError(r,"POST",e);}}async put(e,t,s){try{let r=await this.instance.put(e,t,this.convertOptions(s));return this.convertResponse(r)}catch(r){this.handleError(r,"PUT",e);}}async delete(e,t){try{let s=await this.instance.delete(e,this.convertOptions(t));return this.convertResponse(s)}catch(s){this.handleError(s,"DELETE",e);}}async patch(e,t,s){try{let r=await this.instance.patch(e,t,this.convertOptions(s));return this.convertResponse(r)}catch(r){this.handleError(r,"PATCH",e);}}};export{n as AxiosRequestor};//# sourceMappingURL=index.mjs.map
1
+ import axios from 'axios';
2
+ import { createRequestError } from '@ureq/core';
3
+
4
+ // src/index.ts
5
+ var AxiosRequestor = class {
6
+ constructor(options) {
7
+ this.instance = axios.create({
8
+ baseURL: options?.baseURL,
9
+ timeout: options?.timeout,
10
+ headers: options?.headers
11
+ });
12
+ }
13
+ convertOptions(options) {
14
+ return {
15
+ headers: options?.headers,
16
+ signal: options?.signal,
17
+ responseType: options?.responseType,
18
+ ...options
19
+ };
20
+ }
21
+ convertResponse(response) {
22
+ return {
23
+ data: response.data,
24
+ status: response.status,
25
+ statusText: response.statusText,
26
+ headers: response.headers
27
+ };
28
+ }
29
+ handleError(error, method, url) {
30
+ throw createRequestError(error, { method, url });
31
+ }
32
+ async get(url, options) {
33
+ try {
34
+ const response = await this.instance.get(url, this.convertOptions(options));
35
+ return this.convertResponse(response);
36
+ } catch (error) {
37
+ this.handleError(error, "GET", url);
38
+ }
39
+ }
40
+ async post(url, data, options) {
41
+ try {
42
+ const response = await this.instance.post(url, data, this.convertOptions(options));
43
+ return this.convertResponse(response);
44
+ } catch (error) {
45
+ this.handleError(error, "POST", url);
46
+ }
47
+ }
48
+ async put(url, data, options) {
49
+ try {
50
+ const response = await this.instance.put(url, data, this.convertOptions(options));
51
+ return this.convertResponse(response);
52
+ } catch (error) {
53
+ this.handleError(error, "PUT", url);
54
+ }
55
+ }
56
+ async delete(url, options) {
57
+ try {
58
+ const response = await this.instance.delete(url, this.convertOptions(options));
59
+ return this.convertResponse(response);
60
+ } catch (error) {
61
+ this.handleError(error, "DELETE", url);
62
+ }
63
+ }
64
+ async patch(url, data, options) {
65
+ try {
66
+ const response = await this.instance.patch(url, data, this.convertOptions(options));
67
+ return this.convertResponse(response);
68
+ } catch (error) {
69
+ this.handleError(error, "PATCH", url);
70
+ }
71
+ }
72
+ };
73
+
74
+ export { AxiosRequestor };
75
+ //# sourceMappingURL=index.mjs.map
2
76
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts"],"names":["AxiosRequestor","options","axios","response","error","method","url","createRequestError","data"],"mappings":"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","file":"index.mjs","sourcesContent":["import axios, { AxiosInstance, AxiosRequestConfig, ResponseType } from 'axios';\nimport { Requestor, RequestOptions, Response, createRequestError } from '@ureq/core';\n\nexport interface AxiosRequestorOptions {\n baseURL?: string;\n timeout?: number;\n headers?: Record<string, string>;\n}\n\nexport class AxiosRequestor implements Requestor {\n private instance: AxiosInstance;\n\n constructor(options?: AxiosRequestorOptions) {\n this.instance = axios.create({\n baseURL: options?.baseURL,\n timeout: options?.timeout,\n headers: options?.headers,\n });\n }\n\n private convertOptions(options?: RequestOptions): AxiosRequestConfig {\n return {\n headers: options?.headers,\n signal: options?.signal,\n responseType: options?.responseType as ResponseType | undefined,\n ...options,\n };\n }\n\n private convertResponse<T>(response: any): Response<T> {\n return {\n data: response.data,\n status: response.status,\n statusText: response.statusText,\n headers: response.headers,\n };\n }\n\n private handleError(error: any, method?: string, url?: string): never {\n throw createRequestError(error, { method, url });\n }\n\n async get<T>(url: string, options?: RequestOptions): Promise<Response<T>> {\n try {\n const response = await this.instance.get(url, this.convertOptions(options));\n return this.convertResponse(response);\n } catch (error) {\n this.handleError(error, 'GET', url);\n }\n }\n\n async post<T>(url: string, data?: any, options?: RequestOptions): Promise<Response<T>> {\n try {\n const response = await this.instance.post(url, data, this.convertOptions(options));\n return this.convertResponse(response);\n } catch (error) {\n this.handleError(error, 'POST', url);\n }\n }\n\n async put<T>(url: string, data?: any, options?: RequestOptions): Promise<Response<T>> {\n try {\n const response = await this.instance.put(url, data, this.convertOptions(options));\n return this.convertResponse(response);\n } catch (error) {\n this.handleError(error, 'PUT', url);\n }\n }\n\n async delete<T>(url: string, options?: RequestOptions): Promise<Response<T>> {\n try {\n const response = await this.instance.delete(url, this.convertOptions(options));\n return this.convertResponse(response);\n } catch (error) {\n this.handleError(error, 'DELETE', url);\n }\n }\n\n async patch<T>(url: string, data?: any, options?: RequestOptions): Promise<Response<T>> {\n try {\n const response = await this.instance.patch(url, data, this.convertOptions(options));\n return this.convertResponse(response);\n } catch (error) {\n this.handleError(error, 'PATCH', url);\n }\n }\n} "]}
1
+ {"version":3,"sources":["../src/index.ts"],"names":[],"mappings":"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","file":"index.mjs","sourcesContent":["import axios, { AxiosInstance, AxiosRequestConfig, ResponseType } from 'axios';\nimport { Requestor, RequestOptions, Response, createRequestError } from '@ureq/core';\n\nexport interface AxiosRequestorOptions {\n baseURL?: string;\n timeout?: number;\n headers?: Record<string, string>;\n}\n\nexport class AxiosRequestor implements Requestor {\n private instance: AxiosInstance;\n\n constructor(options?: AxiosRequestorOptions) {\n this.instance = axios.create({\n baseURL: options?.baseURL,\n timeout: options?.timeout,\n headers: options?.headers,\n });\n }\n\n private convertOptions(options?: RequestOptions): AxiosRequestConfig {\n return {\n headers: options?.headers,\n signal: options?.signal,\n responseType: options?.responseType as ResponseType | undefined,\n ...options,\n };\n }\n\n private convertResponse<T>(response: any): Response<T> {\n return {\n data: response.data,\n status: response.status,\n statusText: response.statusText,\n headers: response.headers,\n };\n }\n\n private handleError(error: any, method?: string, url?: string): never {\n throw createRequestError(error, { method, url });\n }\n\n async get<T>(url: string, options?: RequestOptions): Promise<Response<T>> {\n try {\n const response = await this.instance.get(url, this.convertOptions(options));\n return this.convertResponse(response);\n } catch (error) {\n this.handleError(error, 'GET', url);\n }\n }\n\n async post<T>(url: string, data?: any, options?: RequestOptions): Promise<Response<T>> {\n try {\n const response = await this.instance.post(url, data, this.convertOptions(options));\n return this.convertResponse(response);\n } catch (error) {\n this.handleError(error, 'POST', url);\n }\n }\n\n async put<T>(url: string, data?: any, options?: RequestOptions): Promise<Response<T>> {\n try {\n const response = await this.instance.put(url, data, this.convertOptions(options));\n return this.convertResponse(response);\n } catch (error) {\n this.handleError(error, 'PUT', url);\n }\n }\n\n async delete<T>(url: string, options?: RequestOptions): Promise<Response<T>> {\n try {\n const response = await this.instance.delete(url, this.convertOptions(options));\n return this.convertResponse(response);\n } catch (error) {\n this.handleError(error, 'DELETE', url);\n }\n }\n\n async patch<T>(url: string, data?: any, options?: RequestOptions): Promise<Response<T>> {\n try {\n const response = await this.instance.patch(url, data, this.convertOptions(options));\n return this.convertResponse(response);\n } catch (error) {\n this.handleError(error, 'PATCH', url);\n }\n }\n} "]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ureq/impl-axios",
3
- "version": "0.0.2",
3
+ "version": "0.0.3",
4
4
  "description": "Axios implementation for universal request library",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.mjs",
@@ -20,7 +20,7 @@
20
20
  },
21
21
  "dependencies": {
22
22
  "axios": "^1.0.0",
23
- "@ureq/core": "0.0.2"
23
+ "@ureq/core": "0.0.3"
24
24
  },
25
25
  "devDependencies": {
26
26
  "@types/node": "^20.0.0",