@pdg/react-hook 1.0.8 → 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/README.md CHANGED
@@ -4,5 +4,5 @@ Admin Layout for React
4
4
 
5
5
  ## 설치
6
6
  ```
7
- npm install -D @pdg/react-hook
7
+ npm install -D @pdg/react-hook @pdg/util
8
8
  ```
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
@@ -1,4 +1,4 @@
1
- import {useRef,useEffect,useState,useCallback,useLayoutEffect}from'react';function useFirstSkipEffect(effect, deps) {
1
+ import {useRef,useEffect,useState,useCallback,useLayoutEffect}from'react';import {equal}from'@pdg/util';function useFirstSkipEffect(effect, deps) {
2
2
  var firstRef = useRef(true);
3
3
  useEffect(function () {
4
4
  if (firstRef.current) {
@@ -40,4 +40,40 @@ import {useRef,useEffect,useState,useCallback,useLayoutEffect}from'react';functi
40
40
  _setValue(callback ? callback(newValue) : newValue);
41
41
  }, [callback]);
42
42
  return [_value, setValue];
43
- }export{useAutoUpdateLayoutState,useAutoUpdateState,useFirstSkipEffect,useFirstSkipLayoutEffect};
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);
53
+ }
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];
66
+ useFirstSkipLayoutEffect(function () {
67
+ var newValue = callback ? callback(state) : state;
68
+ if (!equal(valueRef.current, newValue)) {
69
+ valueRef.current = newValue;
70
+ _setValue(newValue);
71
+ }
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
@@ -1,4 +1,4 @@
1
- 'use strict';var react=require('react');function useFirstSkipEffect(effect, deps) {
1
+ 'use strict';var react=require('react'),util=require('@pdg/util');function useFirstSkipEffect(effect, deps) {
2
2
  var firstRef = react.useRef(true);
3
3
  react.useEffect(function () {
4
4
  if (firstRef.current) {
@@ -40,4 +40,40 @@
40
40
  _setValue(callback ? callback(newValue) : newValue);
41
41
  }, [callback]);
42
42
  return [_value, setValue];
43
- }exports.useAutoUpdateLayoutState=useAutoUpdateLayoutState;exports.useAutoUpdateState=useAutoUpdateState;exports.useFirstSkipEffect=useFirstSkipEffect;exports.useFirstSkipLayoutEffect=useFirstSkipLayoutEffect;
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);
53
+ }
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];
66
+ useFirstSkipLayoutEffect(function () {
67
+ var newValue = callback ? callback(state) : state;
68
+ if (!util.equal(valueRef.current, newValue)) {
69
+ valueRef.current = newValue;
70
+ _setValue(newValue);
71
+ }
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>>];
@@ -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>>];
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.8",
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,6 +38,7 @@
38
38
  "javascript"
39
39
  ],
40
40
  "peerDependencies": {
41
+ "@pdg/util": "^1.0.19",
41
42
  "@types/react": "^17.0.0 || ^18.0.0",
42
43
  "react": "^17.0.0 || ^18.0.0",
43
44
  "react-dom": "^17.0.0 || ^18.0.0"