@pdg/react-hook 1.0.11 → 1.0.13

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.esm.js CHANGED
@@ -15,7 +15,19 @@ function useAutoUpdateState(state, callback) {
15
15
  _setValue(callback ? callback(state) : state);
16
16
  }, [state, callback]);
17
17
  var setValue = useCallback(function (newValue) {
18
- _setValue(callback ? callback(newValue) : newValue);
18
+ var finalNewValue = newValue;
19
+ if (typeof finalNewValue === 'function') {
20
+ _setValue(function (prev) {
21
+ finalNewValue = finalNewValue(prev);
22
+ finalNewValue = callback ? callback(finalNewValue) : finalNewValue;
23
+ return finalNewValue;
24
+ });
25
+ }
26
+ else {
27
+ finalNewValue = callback ? callback(finalNewValue) : finalNewValue;
28
+ _setValue(finalNewValue);
29
+ }
30
+ return finalNewValue;
19
31
  }, [callback]);
20
32
  return [_value, setValue];
21
33
  }function useFirstSkipLayoutEffect(effect, deps) {
@@ -35,7 +47,19 @@ function useAutoUpdateLayoutState(state, callback) {
35
47
  _setValue(callback ? callback(state) : state);
36
48
  }, [state, callback]);
37
49
  var setValue = useCallback(function (newValue) {
38
- _setValue(callback ? callback(newValue) : newValue);
50
+ var finalNewValue = newValue;
51
+ if (typeof finalNewValue === 'function') {
52
+ _setValue(function (prev) {
53
+ finalNewValue = finalNewValue(prev);
54
+ finalNewValue = callback ? callback(finalNewValue) : finalNewValue;
55
+ return finalNewValue;
56
+ });
57
+ }
58
+ else {
59
+ finalNewValue = callback ? callback(finalNewValue) : finalNewValue;
60
+ _setValue(finalNewValue);
61
+ }
62
+ return finalNewValue;
39
63
  }, [callback]);
40
64
  return [_value, setValue];
41
65
  }// 구현부
@@ -50,9 +74,20 @@ function useAutoUpdateRefState(state, callback) {
50
74
  }
51
75
  }, [state, callback]);
52
76
  var setValue = useCallback(function (newValue) {
53
- var finalNewValue = callback ? callback(newValue) : newValue;
77
+ var finalNewValue = newValue;
78
+ if (typeof finalNewValue === 'function') {
79
+ _setValue(function (prev) {
80
+ finalNewValue = finalNewValue(prev);
81
+ finalNewValue = callback ? callback(finalNewValue) : finalNewValue;
82
+ return finalNewValue;
83
+ });
84
+ }
85
+ else {
86
+ finalNewValue = callback ? callback(finalNewValue) : finalNewValue;
87
+ _setValue(finalNewValue);
88
+ }
54
89
  valueRef.current = finalNewValue;
55
- _setValue(finalNewValue);
90
+ return finalNewValue;
56
91
  }, [callback]);
57
92
  return [valueRef, _value, setValue];
58
93
  }// 구현부
@@ -67,9 +102,20 @@ function useAutoUpdateLayoutRefState(state, callback) {
67
102
  }
68
103
  }, [state, callback]);
69
104
  var setValue = useCallback(function (newValue) {
70
- var finalNewValue = callback ? callback(newValue) : newValue;
105
+ var finalNewValue = newValue;
106
+ if (typeof finalNewValue === 'function') {
107
+ _setValue(function (prev) {
108
+ finalNewValue = finalNewValue(prev);
109
+ finalNewValue = callback ? callback(finalNewValue) : finalNewValue;
110
+ return finalNewValue;
111
+ });
112
+ }
113
+ else {
114
+ finalNewValue = callback ? callback(finalNewValue) : finalNewValue;
115
+ _setValue(finalNewValue);
116
+ }
71
117
  valueRef.current = finalNewValue;
72
- _setValue(finalNewValue);
118
+ return finalNewValue;
73
119
  }, [callback]);
74
120
  return [valueRef, _value, setValue];
75
121
  }export{useAutoUpdateLayoutRefState,useAutoUpdateLayoutState,useAutoUpdateRefState,useAutoUpdateState,useFirstSkipEffect,useFirstSkipLayoutEffect};
package/dist/index.js CHANGED
@@ -15,7 +15,19 @@ function useAutoUpdateState(state, callback) {
15
15
  _setValue(callback ? callback(state) : state);
16
16
  }, [state, callback]);
17
17
  var setValue = react.useCallback(function (newValue) {
18
- _setValue(callback ? callback(newValue) : newValue);
18
+ var finalNewValue = newValue;
19
+ if (typeof finalNewValue === 'function') {
20
+ _setValue(function (prev) {
21
+ finalNewValue = finalNewValue(prev);
22
+ finalNewValue = callback ? callback(finalNewValue) : finalNewValue;
23
+ return finalNewValue;
24
+ });
25
+ }
26
+ else {
27
+ finalNewValue = callback ? callback(finalNewValue) : finalNewValue;
28
+ _setValue(finalNewValue);
29
+ }
30
+ return finalNewValue;
19
31
  }, [callback]);
20
32
  return [_value, setValue];
21
33
  }function useFirstSkipLayoutEffect(effect, deps) {
@@ -35,7 +47,19 @@ function useAutoUpdateLayoutState(state, callback) {
35
47
  _setValue(callback ? callback(state) : state);
36
48
  }, [state, callback]);
37
49
  var setValue = react.useCallback(function (newValue) {
38
- _setValue(callback ? callback(newValue) : newValue);
50
+ var finalNewValue = newValue;
51
+ if (typeof finalNewValue === 'function') {
52
+ _setValue(function (prev) {
53
+ finalNewValue = finalNewValue(prev);
54
+ finalNewValue = callback ? callback(finalNewValue) : finalNewValue;
55
+ return finalNewValue;
56
+ });
57
+ }
58
+ else {
59
+ finalNewValue = callback ? callback(finalNewValue) : finalNewValue;
60
+ _setValue(finalNewValue);
61
+ }
62
+ return finalNewValue;
39
63
  }, [callback]);
40
64
  return [_value, setValue];
41
65
  }// 구현부
@@ -50,9 +74,20 @@ function useAutoUpdateRefState(state, callback) {
50
74
  }
51
75
  }, [state, callback]);
52
76
  var setValue = react.useCallback(function (newValue) {
53
- var finalNewValue = callback ? callback(newValue) : newValue;
77
+ var finalNewValue = newValue;
78
+ if (typeof finalNewValue === 'function') {
79
+ _setValue(function (prev) {
80
+ finalNewValue = finalNewValue(prev);
81
+ finalNewValue = callback ? callback(finalNewValue) : finalNewValue;
82
+ return finalNewValue;
83
+ });
84
+ }
85
+ else {
86
+ finalNewValue = callback ? callback(finalNewValue) : finalNewValue;
87
+ _setValue(finalNewValue);
88
+ }
54
89
  valueRef.current = finalNewValue;
55
- _setValue(finalNewValue);
90
+ return finalNewValue;
56
91
  }, [callback]);
57
92
  return [valueRef, _value, setValue];
58
93
  }// 구현부
@@ -67,9 +102,20 @@ function useAutoUpdateLayoutRefState(state, callback) {
67
102
  }
68
103
  }, [state, callback]);
69
104
  var setValue = react.useCallback(function (newValue) {
70
- var finalNewValue = callback ? callback(newValue) : newValue;
105
+ var finalNewValue = newValue;
106
+ if (typeof finalNewValue === 'function') {
107
+ _setValue(function (prev) {
108
+ finalNewValue = finalNewValue(prev);
109
+ finalNewValue = callback ? callback(finalNewValue) : finalNewValue;
110
+ return finalNewValue;
111
+ });
112
+ }
113
+ else {
114
+ finalNewValue = callback ? callback(finalNewValue) : finalNewValue;
115
+ _setValue(finalNewValue);
116
+ }
71
117
  valueRef.current = finalNewValue;
72
- _setValue(finalNewValue);
118
+ return finalNewValue;
73
119
  }, [callback]);
74
120
  return [valueRef, _value, setValue];
75
121
  }exports.useAutoUpdateLayoutRefState=useAutoUpdateLayoutRefState;exports.useAutoUpdateLayoutState=useAutoUpdateLayoutState;exports.useAutoUpdateRefState=useAutoUpdateRefState;exports.useAutoUpdateState=useAutoUpdateState;exports.useFirstSkipEffect=useFirstSkipEffect;exports.useFirstSkipLayoutEffect=useFirstSkipLayoutEffect;
@@ -1,8 +1,8 @@
1
- import { Dispatch, MutableRefObject, SetStateAction } from 'react';
2
- export default function useAutoUpdateLayoutRefState<T>(state: Exclude<T, (...args: any[]) => any>): [MutableRefObject<T>, T, Dispatch<SetStateAction<T>>];
3
- export default function useAutoUpdateLayoutRefState<T>(state: Exclude<T, (...args: any[]) => any>, callback: (state: T) => T): [MutableRefObject<T>, T, Dispatch<SetStateAction<T>>];
1
+ import { MutableRefObject, SetStateAction } from 'react';
2
+ export default function useAutoUpdateLayoutRefState<T>(state: Exclude<T, (...args: any[]) => any>): [MutableRefObject<T>, T, (value: SetStateAction<T>) => T];
3
+ export default function useAutoUpdateLayoutRefState<T>(state: Exclude<T, (...args: any[]) => any>, callback: (state: T) => T): [MutableRefObject<T>, T, (value: SetStateAction<T>) => T];
4
4
  export default function useAutoUpdateLayoutRefState<T = never, StateT = never>(state: Exclude<StateT, (...args: any[]) => any>, callback: (state: T | StateT) => T extends never ? StateT : T): [
5
5
  MutableRefObject<T extends never ? StateT : T>,
6
6
  T extends never ? StateT : T,
7
- Dispatch<SetStateAction<T extends never ? StateT : T>>
7
+ (value: SetStateAction<T | StateT>) => T extends never ? StateT : T
8
8
  ];
@@ -1,4 +1,4 @@
1
- import { Dispatch, SetStateAction } from 'react';
2
- export default function useAutoUpdateLayoutState<T>(state: Exclude<T, (...args: any[]) => any>): [T, Dispatch<SetStateAction<T>>];
3
- export default function useAutoUpdateLayoutState<T>(state: Exclude<T, (...args: any[]) => any>, callback: (state: T) => T): [T, Dispatch<SetStateAction<T>>];
4
- export default function useAutoUpdateLayoutState<T = never, StateT = never>(state: Exclude<StateT, (...args: any[]) => any>, callback: (state: T | StateT) => T extends never ? StateT : T): [T extends never ? StateT : T, Dispatch<SetStateAction<T extends never ? StateT : T>>];
1
+ import { SetStateAction } from 'react';
2
+ export default function useAutoUpdateLayoutState<T>(state: Exclude<T, (...args: any[]) => any>): [T, (value: SetStateAction<T>) => T];
3
+ export default function useAutoUpdateLayoutState<T>(state: Exclude<T, (...args: any[]) => any>, callback: (state: T) => T): [T, (value: SetStateAction<T>) => T];
4
+ export default function useAutoUpdateLayoutState<T = never, StateT = never>(state: Exclude<StateT, (...args: any[]) => any>, callback: (state: T | StateT) => T extends never ? StateT : T): [T extends never ? StateT : T, (value: SetStateAction<T | StateT>) => T extends never ? StateT : T];
@@ -1,8 +1,8 @@
1
- import { Dispatch, MutableRefObject, SetStateAction } from 'react';
2
- export default function useAutoUpdateRefState<T>(state: Exclude<T, (...args: any[]) => any>): [MutableRefObject<T>, T, Dispatch<SetStateAction<T>>];
3
- export default function useAutoUpdateRefState<T>(state: Exclude<T, (...args: any[]) => any>, callback: (state: T) => T): [MutableRefObject<T>, T, Dispatch<SetStateAction<T>>];
1
+ import { MutableRefObject, SetStateAction } from 'react';
2
+ export default function useAutoUpdateRefState<T>(state: Exclude<T, (...args: any[]) => any>): [MutableRefObject<T>, T, (value: SetStateAction<T>) => T];
3
+ export default function useAutoUpdateRefState<T>(state: Exclude<T, (...args: any[]) => any>, callback: (state: T) => T): [MutableRefObject<T>, T, (value: SetStateAction<T>) => T];
4
4
  export default function useAutoUpdateRefState<T = never, StateT = never>(state: Exclude<StateT, (...args: any[]) => any>, callback: (state: T | StateT) => T extends never ? StateT : T): [
5
5
  MutableRefObject<T extends never ? StateT : T>,
6
6
  T extends never ? StateT : T,
7
- Dispatch<SetStateAction<T extends never ? StateT : T>>
7
+ (value: SetStateAction<T | StateT>) => T extends never ? StateT : T
8
8
  ];
@@ -1,4 +1,4 @@
1
- import { Dispatch, SetStateAction } from 'react';
2
- export default function useAutoUpdateState<T>(state: Exclude<T, (...args: any[]) => any>): [T, Dispatch<SetStateAction<T>>];
3
- export default function useAutoUpdateState<T>(state: Exclude<T, (...args: any[]) => any>, callback: (state: T) => T): [T, Dispatch<SetStateAction<T>>];
4
- export default function useAutoUpdateState<T = never, StateT = never>(state: Exclude<StateT, (...args: any[]) => any>, callback: (state: T | StateT) => T extends never ? StateT : T): [T extends never ? StateT : T, Dispatch<SetStateAction<T extends never ? StateT : T>>];
1
+ import { SetStateAction } from 'react';
2
+ export default function useAutoUpdateState<T>(state: Exclude<T, (...args: any[]) => any>): [T, (value: SetStateAction<T>) => T];
3
+ export default function useAutoUpdateState<T>(state: Exclude<T, (...args: any[]) => any>, callback: (state: T) => T): [T, (value: SetStateAction<T>) => T];
4
+ export default function useAutoUpdateState<T = never, StateT = never>(state: Exclude<StateT, (...args: any[]) => any>, callback: (state: T | StateT) => T extends never ? StateT : T): [T extends never ? StateT : T, (value: SetStateAction<T | StateT>) => T extends never ? StateT : T];
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@pdg/react-hook",
3
3
  "title": "React Hook",
4
- "version": "1.0.11",
4
+ "version": "1.0.13",
5
5
  "description": "React Hook",
6
6
  "type": "module",
7
7
  "types": "dist/index.d.ts",