@varlet/axle 0.0.7 → 0.0.9
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/LICENSE +1 -1
- package/README.md +7 -9
- package/es/instance.d.ts +6 -6
- package/es/use.d.ts +3 -3
- package/package.json +26 -41
- package/es/helpers.d.ts +0 -53
- package/es/helpers.js +0 -85
- package/es/types.d.ts +0 -0
- package/es/types.js +0 -1
package/LICENSE
CHANGED
package/README.md
CHANGED
|
@@ -1,9 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
</a>
|
|
5
|
-
<h2>A tool library based on axios to simplify the development process</h2>
|
|
6
|
-
</div>
|
|
1
|
+
### Intro
|
|
2
|
+
|
|
3
|
+
A tool library based on axios to simplify the development process
|
|
7
4
|
|
|
8
5
|
### Quickstart
|
|
9
6
|
|
|
@@ -22,7 +19,7 @@ yarn add @varlet/axle
|
|
|
22
19
|
pnpm add @varlet/axle
|
|
23
20
|
```
|
|
24
21
|
|
|
25
|
-
#### Request
|
|
22
|
+
#### Request Call
|
|
26
23
|
|
|
27
24
|
```js
|
|
28
25
|
import { createAxle } from '@varlet/axle'
|
|
@@ -44,11 +41,12 @@ const response = await axle.post('/user', { name: 'Axle' }, { headers: {} })
|
|
|
44
41
|
import { createAxle } from '@varlet/axle'
|
|
45
42
|
import { createUseAxle } from '@varlet/axle/use'
|
|
46
43
|
|
|
47
|
-
const axle = createAxle()
|
|
48
|
-
const useAxle = createUseAxle()
|
|
44
|
+
const axle = createAxle(/** @see https://axios-http.com **/)
|
|
45
|
+
const useAxle = createUseAxle(/** @see https://github.com/varletjs/axle/blob/main/src/use.ts?plain=1#L5 **/)
|
|
49
46
|
|
|
50
47
|
// default immediate request
|
|
51
48
|
const [users, getUsers, loading, { error }] = useAxle({
|
|
49
|
+
/** @see https://github.com/varletjs/axle/blob/main/src/use.ts?plain=1#L26 **/
|
|
52
50
|
runner: axle.get,
|
|
53
51
|
url: '/user',
|
|
54
52
|
params: { current: 1, pageSize: 10 },
|
package/es/instance.d.ts
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import type { AxiosInstance, AxiosRequestConfig, AxiosResponse, ResponseType } from 'axios';
|
|
2
|
-
export
|
|
2
|
+
export type AxleRequestConfig = AxiosRequestConfig & {
|
|
3
3
|
exceptionMessage?: any;
|
|
4
4
|
};
|
|
5
|
-
export
|
|
6
|
-
export
|
|
7
|
-
export
|
|
8
|
-
export
|
|
9
|
-
export
|
|
5
|
+
export type FetchHelper = <T = any, R = AxiosResponse<T>>(url: string, params?: any, config?: AxleRequestConfig) => Promise<R>;
|
|
6
|
+
export type ModifyHelper = <T = any, R = AxiosResponse<T>>(url: string, params?: any, config?: AxleRequestConfig) => Promise<R>;
|
|
7
|
+
export type FetchMethods = 'get' | 'delete' | 'options' | 'head';
|
|
8
|
+
export type ModifyMethods = 'post' | 'put' | 'patch';
|
|
9
|
+
export type AxleInstance = {
|
|
10
10
|
get: FetchHelper;
|
|
11
11
|
getBlob: FetchHelper;
|
|
12
12
|
getDocument: FetchHelper;
|
package/es/use.d.ts
CHANGED
|
@@ -15,8 +15,8 @@ export interface RunOptions<P> {
|
|
|
15
15
|
params?: P;
|
|
16
16
|
config?: AxleRequestConfig;
|
|
17
17
|
}
|
|
18
|
-
export
|
|
19
|
-
export
|
|
18
|
+
export type RunReturn<D> = Promise<[UnwrapRef<D>, undefined] | [undefined, Error]>;
|
|
19
|
+
export type Run<D, P> = (options?: RunOptions<P>) => RunReturn<D>;
|
|
20
20
|
export interface UseAxleOptions<D, P> {
|
|
21
21
|
runner?: ReturnType<typeof createFetchHelper> | ReturnType<typeof createModifyHelper>;
|
|
22
22
|
url?: string;
|
|
@@ -27,6 +27,6 @@ export interface UseAxleOptions<D, P> {
|
|
|
27
27
|
dataFormatter?(response: any): D;
|
|
28
28
|
errorFormatter?(errorResponse: Error): Error;
|
|
29
29
|
}
|
|
30
|
-
export declare function createUseAxle(options?: CreateUseAxleOptions): <D = any, P = any>(options?: UseAxleOptions<D, P>) => [data: Ref<UnwrapRef<D>>, run: Run<D, P>, loading: Ref<boolean
|
|
30
|
+
export declare function createUseAxle(options?: CreateUseAxleOptions): <D = any, P = any>(options?: UseAxleOptions<D, P>) => [data: Ref<UnwrapRef<D>>, run: Run<D, P>, loading: Ref<UnwrapRef<boolean>>, extra: {
|
|
31
31
|
error: Ref<UnwrapRef<Error | undefined>>;
|
|
32
32
|
}];
|
package/package.json
CHANGED
|
@@ -1,21 +1,23 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@varlet/axle",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.9",
|
|
4
4
|
"description": "A useful axios helper",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "es/index.js",
|
|
7
7
|
"module": "es/index.js",
|
|
8
|
-
"types": "
|
|
9
|
-
"
|
|
10
|
-
"
|
|
11
|
-
"
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
"./use": {
|
|
15
|
-
"types": "./es/use.d.ts",
|
|
16
|
-
"import": "./es/use.js"
|
|
8
|
+
"types": "index.d.ts",
|
|
9
|
+
"typesVersions": {
|
|
10
|
+
"*": {
|
|
11
|
+
"*": [
|
|
12
|
+
"./es/*"
|
|
13
|
+
]
|
|
17
14
|
}
|
|
18
15
|
},
|
|
16
|
+
"exports": {
|
|
17
|
+
".": "./es/index.js",
|
|
18
|
+
"./use": "./es/use.js",
|
|
19
|
+
"./*": "./*"
|
|
20
|
+
},
|
|
19
21
|
"files": [
|
|
20
22
|
"es"
|
|
21
23
|
],
|
|
@@ -24,23 +26,20 @@
|
|
|
24
26
|
"axios",
|
|
25
27
|
"helpers"
|
|
26
28
|
],
|
|
29
|
+
"author": "Joker <13255238145@163.com>",
|
|
27
30
|
"license": "MIT",
|
|
31
|
+
"dependencies": {
|
|
32
|
+
"@varlet/shared": "^2.11.8",
|
|
33
|
+
"axios": "^1.4.0",
|
|
34
|
+
"qs": "^6.11.0"
|
|
35
|
+
},
|
|
28
36
|
"devDependencies": {
|
|
29
37
|
"@types/qs": "^6.9.7",
|
|
30
|
-
"@varlet/cli": "^2.11.
|
|
31
|
-
"
|
|
32
|
-
"
|
|
33
|
-
"
|
|
34
|
-
"live-server": "^1.2.1",
|
|
35
|
-
"lodash-es": "^4.17.21",
|
|
36
|
-
"typescript": "^4.4.4",
|
|
37
|
-
"vue": "^3.3.1",
|
|
38
|
-
"vue-router": "^4.2.0"
|
|
38
|
+
"@varlet/cli": "^2.11.8",
|
|
39
|
+
"rimraf": "^5.0.1",
|
|
40
|
+
"typescript": "^5.1.5",
|
|
41
|
+
"vue": "^3.3.4"
|
|
39
42
|
},
|
|
40
|
-
"peerDependencies": {
|
|
41
|
-
"vue": "^3.2.0"
|
|
42
|
-
},
|
|
43
|
-
"homepage": "https://varlet.gitee.io/axle/",
|
|
44
43
|
"repository": {
|
|
45
44
|
"type": "git",
|
|
46
45
|
"url": "git+https://github.com/varletjs/axle.git"
|
|
@@ -48,28 +47,14 @@
|
|
|
48
47
|
"bugs": {
|
|
49
48
|
"url": "https://github.com/varletjs/axle/issues"
|
|
50
49
|
},
|
|
51
|
-
"browserslist": [
|
|
52
|
-
"Chrome >= 51",
|
|
53
|
-
"iOS >= 10"
|
|
54
|
-
],
|
|
55
50
|
"packageManager": "pnpm@8.0.0",
|
|
56
51
|
"engines": {
|
|
57
52
|
"pnpm": ">=8.0"
|
|
58
53
|
},
|
|
59
|
-
"author": "Joker <13255238145@163.com>",
|
|
60
|
-
"dependencies": {
|
|
61
|
-
"@varlet/shared": "^2.11.1",
|
|
62
|
-
"axios": "^1.4.0",
|
|
63
|
-
"qs": "^6.11.0"
|
|
64
|
-
},
|
|
65
54
|
"scripts": {
|
|
66
|
-
"bootstrap": "pnpm i && pnpm
|
|
67
|
-
"
|
|
68
|
-
"
|
|
69
|
-
"
|
|
70
|
-
"preview": "varlet-cli preview",
|
|
71
|
-
"compile:watch": "tsc -w",
|
|
72
|
-
"compile": "tsc",
|
|
73
|
-
"release": "pnpm compile && varlet-cli release"
|
|
55
|
+
"bootstrap": "pnpm i && pnpm build && pnpm --filter ./playground i",
|
|
56
|
+
"dev": "tsc -w",
|
|
57
|
+
"build": "rimraf ./es && tsc",
|
|
58
|
+
"release": "pnpm build && varlet-cli release"
|
|
74
59
|
}
|
|
75
60
|
}
|
package/es/helpers.d.ts
DELETED
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
import type { AxiosInstance, AxiosRequestConfig, AxiosResponse, ResponseType } from 'axios';
|
|
2
|
-
export declare type AxleRequestConfig = AxiosRequestConfig & {
|
|
3
|
-
exceptionMessage?: any;
|
|
4
|
-
};
|
|
5
|
-
export declare type FetchHelper = <T = any, R = AxiosResponse<T>>(url: string, params?: any, config?: AxleRequestConfig) => Promise<R>;
|
|
6
|
-
export declare type ModifyHelper = <T = any, R = AxiosResponse<T>>(url: string, params?: any, config?: AxleRequestConfig) => Promise<R>;
|
|
7
|
-
export interface AxiosHelpers {
|
|
8
|
-
get: FetchHelper;
|
|
9
|
-
getBlob: FetchHelper;
|
|
10
|
-
getDocument: FetchHelper;
|
|
11
|
-
getText: FetchHelper;
|
|
12
|
-
getArrayBuffer: FetchHelper;
|
|
13
|
-
getStream: FetchHelper;
|
|
14
|
-
head: FetchHelper;
|
|
15
|
-
headBlob: FetchHelper;
|
|
16
|
-
headDocument: FetchHelper;
|
|
17
|
-
headText: FetchHelper;
|
|
18
|
-
headArrayBuffer: FetchHelper;
|
|
19
|
-
headStream: FetchHelper;
|
|
20
|
-
options: FetchHelper;
|
|
21
|
-
optionsBlob: FetchHelper;
|
|
22
|
-
optionsDocument: FetchHelper;
|
|
23
|
-
optionsText: FetchHelper;
|
|
24
|
-
optionsArrayBuffer: FetchHelper;
|
|
25
|
-
optionsStream: FetchHelper;
|
|
26
|
-
delete: FetchHelper;
|
|
27
|
-
deleteBlob: FetchHelper;
|
|
28
|
-
deleteDocument: FetchHelper;
|
|
29
|
-
deleteText: FetchHelper;
|
|
30
|
-
deleteArrayBuffer: FetchHelper;
|
|
31
|
-
deleteStream: FetchHelper;
|
|
32
|
-
post: ModifyHelper;
|
|
33
|
-
postJSON: ModifyHelper;
|
|
34
|
-
postMultipart: ModifyHelper;
|
|
35
|
-
put: ModifyHelper;
|
|
36
|
-
putJSON: ModifyHelper;
|
|
37
|
-
putMultipart: ModifyHelper;
|
|
38
|
-
patch: ModifyHelper;
|
|
39
|
-
patchJSON: ModifyHelper;
|
|
40
|
-
patchMultipart: ModifyHelper;
|
|
41
|
-
download(blob: string | Blob, filename: string): void;
|
|
42
|
-
setHeader(key: string, value: string): void;
|
|
43
|
-
removeHeader(key: string | string[]): void;
|
|
44
|
-
}
|
|
45
|
-
export declare type FetchMethods = 'get' | 'delete' | 'options' | 'head';
|
|
46
|
-
export declare type ModifyMethods = 'post' | 'put' | 'patch';
|
|
47
|
-
export declare type AxleInstance = AxiosInstance & {
|
|
48
|
-
helpers: AxiosHelpers;
|
|
49
|
-
};
|
|
50
|
-
export declare function createFetchHelper(service: AxleInstance, method: FetchMethods, responseType: ResponseType): <T, R = AxiosResponse<T, any>>(url: string, params?: any, config?: AxleRequestConfig) => Promise<R>;
|
|
51
|
-
export declare function createModifyHelper(service: AxleInstance, method: ModifyMethods, contentType: 'application/json' | 'multipart/form-data' | 'application/x-www-form-urlencoded'): <T, R = AxiosResponse<T, any>>(url: string, params?: any, config?: AxleRequestConfig) => Promise<R>;
|
|
52
|
-
export declare function download(url: string | Blob, filename: string): void;
|
|
53
|
-
export declare function createAxle(config?: AxiosRequestConfig): AxleInstance;
|
package/es/helpers.js
DELETED
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
import axios from 'axios';
|
|
2
|
-
import qs from 'qs';
|
|
3
|
-
export function createFetchHelper(service, method, responseType) {
|
|
4
|
-
return function (url, params, config) {
|
|
5
|
-
return service[method](url, Object.assign({ params: Object.assign({ _t: Date.now() }, params), responseType }, config));
|
|
6
|
-
};
|
|
7
|
-
}
|
|
8
|
-
export function createModifyHelper(service, method, contentType) {
|
|
9
|
-
return function (url, params, config) {
|
|
10
|
-
if (contentType === 'application/x-www-form-urlencoded') {
|
|
11
|
-
params = qs.stringify(params);
|
|
12
|
-
}
|
|
13
|
-
if (contentType === 'multipart/form-data') {
|
|
14
|
-
const formData = new FormData();
|
|
15
|
-
Object.keys(params).forEach((key) => formData.append(key, params[key]));
|
|
16
|
-
params = formData;
|
|
17
|
-
}
|
|
18
|
-
return service[method](url, params, Object.assign({ headers: {
|
|
19
|
-
'Content-Type': contentType,
|
|
20
|
-
} }, config));
|
|
21
|
-
};
|
|
22
|
-
}
|
|
23
|
-
export function download(url, filename) {
|
|
24
|
-
const a = document.createElement('a');
|
|
25
|
-
a.download = filename;
|
|
26
|
-
a.style.display = 'none';
|
|
27
|
-
a.href = typeof url === 'string' ? url : URL.createObjectURL(url);
|
|
28
|
-
document.body.appendChild(a);
|
|
29
|
-
a.click();
|
|
30
|
-
URL.revokeObjectURL(a.href);
|
|
31
|
-
document.body.removeChild(a);
|
|
32
|
-
}
|
|
33
|
-
export function createAxle(config = {}) {
|
|
34
|
-
const service = axios.create(config);
|
|
35
|
-
function setHeader(key, value) {
|
|
36
|
-
;
|
|
37
|
-
service.defaults.headers['common'][key] = value;
|
|
38
|
-
}
|
|
39
|
-
function removeHeader(key) {
|
|
40
|
-
if (typeof key === 'string') {
|
|
41
|
-
Reflect.deleteProperty(service.defaults.headers['common'], key);
|
|
42
|
-
return;
|
|
43
|
-
}
|
|
44
|
-
key.forEach((k) => Reflect.deleteProperty(service.defaults.headers['common'], k));
|
|
45
|
-
}
|
|
46
|
-
service.helpers = {
|
|
47
|
-
get: createFetchHelper(service, 'get', 'json'),
|
|
48
|
-
getBlob: createFetchHelper(service, 'get', 'blob'),
|
|
49
|
-
getDocument: createFetchHelper(service, 'get', 'document'),
|
|
50
|
-
getArrayBuffer: createFetchHelper(service, 'get', 'arraybuffer'),
|
|
51
|
-
getText: createFetchHelper(service, 'get', 'text'),
|
|
52
|
-
getStream: createFetchHelper(service, 'get', 'stream'),
|
|
53
|
-
head: createFetchHelper(service, 'head', 'json'),
|
|
54
|
-
headBlob: createFetchHelper(service, 'head', 'blob'),
|
|
55
|
-
headDocument: createFetchHelper(service, 'head', 'document'),
|
|
56
|
-
headArrayBuffer: createFetchHelper(service, 'head', 'arraybuffer'),
|
|
57
|
-
headText: createFetchHelper(service, 'head', 'text'),
|
|
58
|
-
headStream: createFetchHelper(service, 'head', 'stream'),
|
|
59
|
-
options: createFetchHelper(service, 'options', 'json'),
|
|
60
|
-
optionsBlob: createFetchHelper(service, 'options', 'blob'),
|
|
61
|
-
optionsDocument: createFetchHelper(service, 'options', 'document'),
|
|
62
|
-
optionsArrayBuffer: createFetchHelper(service, 'options', 'arraybuffer'),
|
|
63
|
-
optionsText: createFetchHelper(service, 'options', 'text'),
|
|
64
|
-
optionsStream: createFetchHelper(service, 'options', 'stream'),
|
|
65
|
-
delete: createFetchHelper(service, 'delete', 'json'),
|
|
66
|
-
deleteBlob: createFetchHelper(service, 'delete', 'blob'),
|
|
67
|
-
deleteDocument: createFetchHelper(service, 'delete', 'document'),
|
|
68
|
-
deleteArrayBuffer: createFetchHelper(service, 'delete', 'arraybuffer'),
|
|
69
|
-
deleteText: createFetchHelper(service, 'delete', 'text'),
|
|
70
|
-
deleteStream: createFetchHelper(service, 'delete', 'stream'),
|
|
71
|
-
post: createModifyHelper(service, 'post', 'application/x-www-form-urlencoded'),
|
|
72
|
-
postJSON: createModifyHelper(service, 'post', 'application/json'),
|
|
73
|
-
postMultipart: createModifyHelper(service, 'post', 'multipart/form-data'),
|
|
74
|
-
put: createModifyHelper(service, 'put', 'application/x-www-form-urlencoded'),
|
|
75
|
-
putJSON: createModifyHelper(service, 'put', 'application/json'),
|
|
76
|
-
putMultipart: createModifyHelper(service, 'put', 'multipart/form-data'),
|
|
77
|
-
patch: createModifyHelper(service, 'patch', 'application/x-www-form-urlencoded'),
|
|
78
|
-
patchJSON: createModifyHelper(service, 'patch', 'application/json'),
|
|
79
|
-
patchMultipart: createModifyHelper(service, 'patch', 'multipart/form-data'),
|
|
80
|
-
download,
|
|
81
|
-
setHeader,
|
|
82
|
-
removeHeader,
|
|
83
|
-
};
|
|
84
|
-
return service;
|
|
85
|
-
}
|
package/es/types.d.ts
DELETED
|
File without changes
|
package/es/types.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";
|