Skip to content

Commit 3676e77

Browse files
committed
feat: optimized
1 parent ac9ea96 commit 3676e77

File tree

8 files changed

+978
-898
lines changed

8 files changed

+978
-898
lines changed

packages/types/index.d.ts

Lines changed: 933 additions & 849 deletions
Large diffs are not rendered by default.

packages/types/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@vue-hooks-plus/types",
3-
"version": "2.0.0",
3+
"version": "2.0.1",
44
"description": "",
55
"files": [
66
"index.d.ts",

packages/use-request-plugins/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@vue-hooks-plus/use-request-plugins",
3-
"version": "2.0.0",
3+
"version": "2.1.0",
44
"description": "",
55
"files": [
66
"dist",
@@ -24,7 +24,7 @@
2424
"author": "NelsonYong",
2525
"license": "MIT",
2626
"devDependencies": {
27-
"@vue-hooks-plus/use-request":"^1.3.2"
27+
"@vue-hooks-plus/use-request":"*"
2828
},
2929
"peerDependencies": {
3030
"pinia": "^2.0.30"

packages/use-request-plugins/src/useBroadcastChannelPlugin/useBroadcastChannel.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { ref } from 'vue';
22
import { BroadcastChannel, BroadcastChannelOptions } from 'broadcast-channel'
3-
import { UseRequestPlugin, UseRequestFetchState } from "@vue-hooks-plus/use-request/dist/types/types";
3+
import { UseRequestFetchState, UseRequestPlugin } from "@vue-hooks-plus/use-request/dist/types/types";
44
import Fetch from '@vue-hooks-plus/use-request/dist/types/Fetch';
55

66

packages/use-request/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@vue-hooks-plus/use-request",
3-
"version": "2.0.1",
3+
"version": "2.0.2",
44
"description": "Vue use-request hooks library",
55
"files": [
66
"dist",
Lines changed: 37 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -1,44 +1,47 @@
1-
import { unref, ref } from "vue";
2-
import type { UseRequestPlugin, Timeout } from "../types";
3-
4-
const useLoadingDelayPlugin: UseRequestPlugin<unknown, unknown[]> = (
5-
fetchInstance,
6-
{ loadingDelay }
7-
) => {
8-
const timerRef = ref<Timeout>();
9-
if (!unref(loadingDelay)) {
10-
return {};
11-
}
1+
import { ref, unref } from 'vue'
2+
import { Timeout, UseRequestPlugin } from '../types'
123

13-
const cancelTimeout = () => {
14-
if (timerRef.value) {
15-
clearTimeout(timerRef.value);
16-
}
17-
};
4+
const useLoadingDelayPlugin: UseRequestPlugin<unknown, unknown[]> = (inst, { loadingDelay }) => {
5+
const delayRef = ref<Timeout>()
186

7+
const clear = () => {
8+
if (delayRef.value) {
9+
clearTimeout(unref(delayRef.value))
1910

11+
delayRef.value = undefined
12+
}
13+
}
2014

2115
return {
22-
name: "loadingDelayPlugin",
23-
onBefore: () => {
24-
cancelTimeout();
25-
timerRef.value = setTimeout(() => {
26-
fetchInstance.setState({
16+
name: 'loadingDelayPlugin',
17+
onFinally: () => {
18+
clear()
19+
20+
const delay = unref(loadingDelay)
21+
22+
/**
23+
*
24+
* if loadingDelay is set, the loading state will be delayed,
25+
* until the delay time is reached.
26+
*
27+
* if delay is set to 0, the loading state will not be delayed. because 0 is mean nothing.
28+
*/
29+
if (delay) {
30+
inst.setState({
2731
loading: true,
28-
});
29-
}, (unref(loadingDelay)) as number);
32+
})
3033

31-
return {
32-
loading: false,
33-
};
34+
delayRef.value = setTimeout(() => {
35+
inst.setState({
36+
loading: false,
37+
})
38+
}, delay)
39+
}
3440
},
35-
onFinally: () => {
36-
cancelTimeout();
41+
onError: () => {
42+
clear()
3743
},
38-
onCancel: () => {
39-
cancelTimeout();
40-
},
41-
};
42-
};
44+
}
45+
}
4346

44-
export default useLoadingDelayPlugin;
47+
export default useLoadingDelayPlugin

packages/use-request/src/types.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ export type UseRequestBasicOptions<TData, TParams extends unknown[]> = {
5656
/**
5757
* Init data.
5858
*/
59-
// initialData?: TData
59+
initialData?: TData
6060

6161
/**
6262
* - The default is `false.` That is, the service is automatically executed during initialization.

pnpm-lock.yaml

Lines changed: 2 additions & 9 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)