@pdg/react-hook 1.0.7 → 1.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/dist/index.d.ts CHANGED
@@ -2,3 +2,5 @@ export { default as useAutoUpdateState } from './useAutoUpdateState';
2
2
  export { default as useAutoUpdateLayoutState } from './useAutoUpdateLayoutState';
3
3
  export { default as useFirstSkipEffect } from './useFirstSkipEffect';
4
4
  export { default as useFirstSkipLayoutEffect } from './useFirstSkipLayoutEffect';
5
+ export { default as useAutoUpdateRefState } from './useAutoUpdateRefState';
6
+ export { default as useAutoUpdateLayoutRefState } from './useAutoUpdateLayoutRefState';
package/dist/index.esm.js CHANGED
@@ -10,37 +10,15 @@ import {useRef,useEffect,useState,useCallback,useLayoutEffect}from'react';import
10
10
  }, deps);
11
11
  }function useAutoUpdateState(p1, p2) {
12
12
  var state = typeof p1 === 'function' ? undefined : p1;
13
- var finalStateCallback = typeof p1 === 'function' ? p1 : p2;
14
- var _a = useState(0), setUpdateKey = _a[1];
15
- var _initState = useState(function () {
16
- return finalStateCallback ? finalStateCallback(state) : state;
17
- })[0];
18
- var _state = useRef(_initState);
19
- var forceUpdate = useCallback(function () {
20
- setUpdateKey(function (updateKey) { return updateKey + 1; });
21
- }, []);
13
+ var callback = typeof p1 === 'function' ? p1 : p2;
14
+ var _a = useState(function () { return (callback ? callback(state) : state); }), _value = _a[0], _setValue = _a[1];
22
15
  useFirstSkipEffect(function () {
23
- var newState = finalStateCallback ? finalStateCallback(state) : state;
24
- if (!equal(newState, _state.current)) {
25
- _state.current = newState;
26
- forceUpdate();
27
- }
28
- }, [state]);
29
- useFirstSkipEffect(function () {
30
- var newState = finalStateCallback ? finalStateCallback(_state.current) : _state.current;
31
- if (!equal(newState, _state.current)) {
32
- _state.current = newState;
33
- forceUpdate();
34
- }
35
- }, [finalStateCallback]);
36
- var setState = useCallback(function (newState) {
37
- var finalNewState = typeof newState === 'function' ? newState(_state.current) : newState;
38
- if (!equal(_state.current, finalNewState)) {
39
- _state.current = finalNewState;
40
- forceUpdate();
41
- }
42
- }, []);
43
- return [_state.current, setState];
16
+ _setValue(callback ? callback(state) : state);
17
+ }, [state, callback]);
18
+ var setValue = useCallback(function (newValue) {
19
+ _setValue(callback ? callback(newValue) : newValue);
20
+ }, [callback]);
21
+ return [_value, setValue];
44
22
  }function useFirstSkipLayoutEffect(effect, deps) {
45
23
  var firstRef = useRef(true);
46
24
  useLayoutEffect(function () {
@@ -53,35 +31,49 @@ import {useRef,useEffect,useState,useCallback,useLayoutEffect}from'react';import
53
31
  }, deps);
54
32
  }function useAutoUpdateLayoutState(p1, p2) {
55
33
  var state = typeof p1 === 'function' ? undefined : p1;
56
- var finalStateCallback = typeof p1 === 'function' ? p1 : p2;
57
- var _a = useState(0), setUpdateKey = _a[1];
58
- var _initState = useState(function () {
59
- return finalStateCallback ? finalStateCallback(state, 0) : state;
60
- })[0];
61
- var _state = useRef(_initState);
62
- var forceUpdate = useCallback(function () {
63
- setUpdateKey(function (updateKey) { return updateKey + 1; });
64
- }, []);
34
+ var callback = typeof p1 === 'function' ? p1 : p2;
35
+ var _a = useState(function () { return (callback ? callback(state) : state); }), _value = _a[0], _setValue = _a[1];
65
36
  useFirstSkipLayoutEffect(function () {
66
- var newState = finalStateCallback ? finalStateCallback(state) : state;
67
- if (!equal(newState, _state.current)) {
68
- _state.current = newState;
69
- forceUpdate();
37
+ _setValue(callback ? callback(state) : state);
38
+ }, [state, callback]);
39
+ var setValue = useCallback(function (newValue) {
40
+ _setValue(callback ? callback(newValue) : newValue);
41
+ }, [callback]);
42
+ return [_value, setValue];
43
+ }function useAutoUpdateRefState(p1, p2) {
44
+ var state = typeof p1 === 'function' ? undefined : p1;
45
+ var callback = typeof p1 === 'function' ? p1 : p2;
46
+ var valueRef = useRef(callback ? callback(state) : state);
47
+ var _a = useState(function () { return (callback ? callback(state) : state); }), _value = _a[0], _setValue = _a[1];
48
+ useFirstSkipEffect(function () {
49
+ var newValue = callback ? callback(state) : state;
50
+ if (!equal(valueRef.current, newValue)) {
51
+ valueRef.current = newValue;
52
+ _setValue(newValue);
70
53
  }
71
- }, [state]);
54
+ }, [state, callback]);
55
+ var setValue = useCallback(function (newValue) {
56
+ var finalNewValue = callback ? callback(newValue) : newValue;
57
+ valueRef.current = finalNewValue;
58
+ _setValue(finalNewValue);
59
+ }, [callback]);
60
+ return [valueRef, _value, setValue];
61
+ }function useAutoUpdateLayoutRefState(p1, p2) {
62
+ var state = typeof p1 === 'function' ? undefined : p1;
63
+ var callback = typeof p1 === 'function' ? p1 : p2;
64
+ var valueRef = useRef(callback ? callback(state) : state);
65
+ var _a = useState(function () { return (callback ? callback(state) : state); }), _value = _a[0], _setValue = _a[1];
72
66
  useFirstSkipLayoutEffect(function () {
73
- var newState = finalStateCallback ? finalStateCallback(_state.current) : _state.current;
74
- if (!equal(newState, _state.current)) {
75
- _state.current = newState;
76
- forceUpdate();
77
- }
78
- }, [finalStateCallback]);
79
- var setState = useCallback(function (newState) {
80
- var finalNewState = typeof newState === 'function' ? newState(_state.current) : newState;
81
- if (!equal(_state.current, finalNewState)) {
82
- _state.current = finalNewState;
83
- forceUpdate();
67
+ var newValue = callback ? callback(state) : state;
68
+ if (!equal(valueRef.current, newValue)) {
69
+ valueRef.current = newValue;
70
+ _setValue(newValue);
84
71
  }
85
- }, []);
86
- return [_state.current, setState];
87
- }export{useAutoUpdateLayoutState,useAutoUpdateState,useFirstSkipEffect,useFirstSkipLayoutEffect};
72
+ }, [state, callback]);
73
+ var setValue = useCallback(function (newValue) {
74
+ var finalNewValue = callback ? callback(newValue) : newValue;
75
+ valueRef.current = finalNewValue;
76
+ _setValue(finalNewValue);
77
+ }, [callback]);
78
+ return [valueRef, _value, setValue];
79
+ }export{useAutoUpdateLayoutRefState,useAutoUpdateLayoutState,useAutoUpdateRefState,useAutoUpdateState,useFirstSkipEffect,useFirstSkipLayoutEffect};
package/dist/index.js CHANGED
@@ -10,37 +10,15 @@
10
10
  }, deps);
11
11
  }function useAutoUpdateState(p1, p2) {
12
12
  var state = typeof p1 === 'function' ? undefined : p1;
13
- var finalStateCallback = typeof p1 === 'function' ? p1 : p2;
14
- var _a = react.useState(0), setUpdateKey = _a[1];
15
- var _initState = react.useState(function () {
16
- return finalStateCallback ? finalStateCallback(state) : state;
17
- })[0];
18
- var _state = react.useRef(_initState);
19
- var forceUpdate = react.useCallback(function () {
20
- setUpdateKey(function (updateKey) { return updateKey + 1; });
21
- }, []);
13
+ var callback = typeof p1 === 'function' ? p1 : p2;
14
+ var _a = react.useState(function () { return (callback ? callback(state) : state); }), _value = _a[0], _setValue = _a[1];
22
15
  useFirstSkipEffect(function () {
23
- var newState = finalStateCallback ? finalStateCallback(state) : state;
24
- if (!util.equal(newState, _state.current)) {
25
- _state.current = newState;
26
- forceUpdate();
27
- }
28
- }, [state]);
29
- useFirstSkipEffect(function () {
30
- var newState = finalStateCallback ? finalStateCallback(_state.current) : _state.current;
31
- if (!util.equal(newState, _state.current)) {
32
- _state.current = newState;
33
- forceUpdate();
34
- }
35
- }, [finalStateCallback]);
36
- var setState = react.useCallback(function (newState) {
37
- var finalNewState = typeof newState === 'function' ? newState(_state.current) : newState;
38
- if (!util.equal(_state.current, finalNewState)) {
39
- _state.current = finalNewState;
40
- forceUpdate();
41
- }
42
- }, []);
43
- return [_state.current, setState];
16
+ _setValue(callback ? callback(state) : state);
17
+ }, [state, callback]);
18
+ var setValue = react.useCallback(function (newValue) {
19
+ _setValue(callback ? callback(newValue) : newValue);
20
+ }, [callback]);
21
+ return [_value, setValue];
44
22
  }function useFirstSkipLayoutEffect(effect, deps) {
45
23
  var firstRef = react.useRef(true);
46
24
  react.useLayoutEffect(function () {
@@ -53,35 +31,49 @@
53
31
  }, deps);
54
32
  }function useAutoUpdateLayoutState(p1, p2) {
55
33
  var state = typeof p1 === 'function' ? undefined : p1;
56
- var finalStateCallback = typeof p1 === 'function' ? p1 : p2;
57
- var _a = react.useState(0), setUpdateKey = _a[1];
58
- var _initState = react.useState(function () {
59
- return finalStateCallback ? finalStateCallback(state, 0) : state;
60
- })[0];
61
- var _state = react.useRef(_initState);
62
- var forceUpdate = react.useCallback(function () {
63
- setUpdateKey(function (updateKey) { return updateKey + 1; });
64
- }, []);
34
+ var callback = typeof p1 === 'function' ? p1 : p2;
35
+ var _a = react.useState(function () { return (callback ? callback(state) : state); }), _value = _a[0], _setValue = _a[1];
65
36
  useFirstSkipLayoutEffect(function () {
66
- var newState = finalStateCallback ? finalStateCallback(state) : state;
67
- if (!util.equal(newState, _state.current)) {
68
- _state.current = newState;
69
- forceUpdate();
37
+ _setValue(callback ? callback(state) : state);
38
+ }, [state, callback]);
39
+ var setValue = react.useCallback(function (newValue) {
40
+ _setValue(callback ? callback(newValue) : newValue);
41
+ }, [callback]);
42
+ return [_value, setValue];
43
+ }function useAutoUpdateRefState(p1, p2) {
44
+ var state = typeof p1 === 'function' ? undefined : p1;
45
+ var callback = typeof p1 === 'function' ? p1 : p2;
46
+ var valueRef = react.useRef(callback ? callback(state) : state);
47
+ var _a = react.useState(function () { return (callback ? callback(state) : state); }), _value = _a[0], _setValue = _a[1];
48
+ useFirstSkipEffect(function () {
49
+ var newValue = callback ? callback(state) : state;
50
+ if (!util.equal(valueRef.current, newValue)) {
51
+ valueRef.current = newValue;
52
+ _setValue(newValue);
70
53
  }
71
- }, [state]);
54
+ }, [state, callback]);
55
+ var setValue = react.useCallback(function (newValue) {
56
+ var finalNewValue = callback ? callback(newValue) : newValue;
57
+ valueRef.current = finalNewValue;
58
+ _setValue(finalNewValue);
59
+ }, [callback]);
60
+ return [valueRef, _value, setValue];
61
+ }function useAutoUpdateLayoutRefState(p1, p2) {
62
+ var state = typeof p1 === 'function' ? undefined : p1;
63
+ var callback = typeof p1 === 'function' ? p1 : p2;
64
+ var valueRef = react.useRef(callback ? callback(state) : state);
65
+ var _a = react.useState(function () { return (callback ? callback(state) : state); }), _value = _a[0], _setValue = _a[1];
72
66
  useFirstSkipLayoutEffect(function () {
73
- var newState = finalStateCallback ? finalStateCallback(_state.current) : _state.current;
74
- if (!util.equal(newState, _state.current)) {
75
- _state.current = newState;
76
- forceUpdate();
77
- }
78
- }, [finalStateCallback]);
79
- var setState = react.useCallback(function (newState) {
80
- var finalNewState = typeof newState === 'function' ? newState(_state.current) : newState;
81
- if (!util.equal(_state.current, finalNewState)) {
82
- _state.current = finalNewState;
83
- forceUpdate();
67
+ var newValue = callback ? callback(state) : state;
68
+ if (!util.equal(valueRef.current, newValue)) {
69
+ valueRef.current = newValue;
70
+ _setValue(newValue);
84
71
  }
85
- }, []);
86
- return [_state.current, setState];
87
- }exports.useAutoUpdateLayoutState=useAutoUpdateLayoutState;exports.useAutoUpdateState=useAutoUpdateState;exports.useFirstSkipEffect=useFirstSkipEffect;exports.useFirstSkipLayoutEffect=useFirstSkipLayoutEffect;
72
+ }, [state, callback]);
73
+ var setValue = react.useCallback(function (newValue) {
74
+ var finalNewValue = callback ? callback(newValue) : newValue;
75
+ valueRef.current = finalNewValue;
76
+ _setValue(finalNewValue);
77
+ }, [callback]);
78
+ return [valueRef, _value, setValue];
79
+ }exports.useAutoUpdateLayoutRefState=useAutoUpdateLayoutRefState;exports.useAutoUpdateLayoutState=useAutoUpdateLayoutState;exports.useAutoUpdateRefState=useAutoUpdateRefState;exports.useAutoUpdateState=useAutoUpdateState;exports.useFirstSkipEffect=useFirstSkipEffect;exports.useFirstSkipLayoutEffect=useFirstSkipLayoutEffect;
@@ -0,0 +1,4 @@
1
+ import { Dispatch, MutableRefObject, SetStateAction } from 'react';
2
+ export default function useAutoUpdateLayoutRefState<T>(state: T): [MutableRefObject<T>, T, Dispatch<SetStateAction<T>>];
3
+ export default function useAutoUpdateLayoutRefState<T>(state: T, callback: (state: T) => T): [MutableRefObject<T>, T, Dispatch<SetStateAction<T>>];
4
+ export default function useAutoUpdateLayoutRefState<T>(callback: () => T): [MutableRefObject<T>, T, Dispatch<SetStateAction<T>>];
@@ -1,4 +1,4 @@
1
1
  import { Dispatch, SetStateAction } from 'react';
2
- export declare function AA<T>(a: T): T;
3
- export default function useAutoUpdateLayoutState<T>(state: T, finalStateCallback?: (state: T) => T): [T, Dispatch<SetStateAction<T>>];
4
- export default function useAutoUpdateLayoutState<T>(finalStateCallback: (State: T) => T): [T, Dispatch<SetStateAction<T>>];
2
+ export default function useAutoUpdateLayoutState<T>(state: T): [T, Dispatch<SetStateAction<T>>];
3
+ export default function useAutoUpdateLayoutState<T>(state: T, callback: (state: T) => T): [T, Dispatch<SetStateAction<T>>];
4
+ export default function useAutoUpdateLayoutState<T>(callback: () => T): [T, Dispatch<SetStateAction<T>>];
@@ -0,0 +1,5 @@
1
+ import { Dispatch, MutableRefObject, SetStateAction } from 'react';
2
+ export default function useAutoUpdateRefState<T>(state: T): [MutableRefObject<T>, T, Dispatch<SetStateAction<T>>];
3
+ export default function useAutoUpdateRefState<T>(state: T): [MutableRefObject<T>, T, Dispatch<SetStateAction<T>>];
4
+ export default function useAutoUpdateRefState<T>(state: T, callback: (state: T) => T): [MutableRefObject<T>, T, Dispatch<SetStateAction<T>>];
5
+ export default function useAutoUpdateRefState<T>(callback: () => T): [MutableRefObject<T>, T, Dispatch<SetStateAction<T>>];
@@ -1,3 +1,4 @@
1
1
  import { Dispatch, SetStateAction } from 'react';
2
- export default function useAutoUpdateState<T>(state: T, finalStateCallback?: (state: T) => T): [T, Dispatch<SetStateAction<T>>];
3
- export default function useAutoUpdateState<T>(finalStateCallback: (State: T) => T): [T, Dispatch<SetStateAction<T>>];
2
+ export default function useAutoUpdateState<T>(state: T): [T, Dispatch<SetStateAction<T>>];
3
+ export default function useAutoUpdateState<T>(state: T, callback: (state: T) => T): [T, Dispatch<SetStateAction<T>>];
4
+ export default function useAutoUpdateState<T>(callback: () => T): [T, Dispatch<SetStateAction<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.7",
4
+ "version": "1.0.9",
5
5
  "description": "React Hook",
6
6
  "type": "module",
7
7
  "types": "dist/index.d.ts",
@@ -24,7 +24,7 @@
24
24
  "dev": "cd examples && npm run dev",
25
25
  "dev-prd-lib": "cd examples && npm run dev-prd-lib",
26
26
  "build": "rollup -c --bundleConfigAsCjs",
27
- "publish": "npm publish --access=public",
27
+ "pub": "npm i && npm run build && npm publish --access=public && rm ./.git/hooks/pre-commit",
28
28
  "lint": "eslint './src/**/*.{ts,tsx}'",
29
29
  "reinstall-module": "rm -rf node_modules && rm -f package-lock.json && npm i"
30
30
  },
@@ -38,7 +38,7 @@
38
38
  "javascript"
39
39
  ],
40
40
  "peerDependencies": {
41
- "@pdg/util": "^1.0.13",
41
+ "@pdg/util": "^1.0.19",
42
42
  "@types/react": "^17.0.0 || ^18.0.0",
43
43
  "react": "^17.0.0 || ^18.0.0",
44
44
  "react-dom": "^17.0.0 || ^18.0.0"