@pdg/react-hook 1.0.2 → 1.0.3

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
@@ -103,4 +103,4 @@ import {useRef,useEffect,useState,useCallback,useLayoutEffect}from'react';functi
103
103
  }
104
104
  }, []);
105
105
  return [_state.current, setState];
106
- }export{useAutoUpdateLayoutState,useAutoUpdateState,useFirstSkipEffect,useFirstSkipLayoutEffect};//# sourceMappingURL=index.esm.js.map
106
+ }export{useAutoUpdateLayoutState,useAutoUpdateState,useFirstSkipEffect,useFirstSkipLayoutEffect};
package/dist/index.js CHANGED
@@ -103,4 +103,4 @@
103
103
  }
104
104
  }, []);
105
105
  return [_state.current, setState];
106
- }exports.useAutoUpdateLayoutState=useAutoUpdateLayoutState;exports.useAutoUpdateState=useAutoUpdateState;exports.useFirstSkipEffect=useFirstSkipEffect;exports.useFirstSkipLayoutEffect=useFirstSkipLayoutEffect;//# sourceMappingURL=index.js.map
106
+ }exports.useAutoUpdateLayoutState=useAutoUpdateLayoutState;exports.useAutoUpdateState=useAutoUpdateState;exports.useFirstSkipEffect=useFirstSkipEffect;exports.useFirstSkipLayoutEffect=useFirstSkipLayoutEffect;
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.2",
4
+ "version": "1.0.3",
5
5
  "description": "React Hook",
6
6
  "type": "module",
7
7
  "types": "dist/index.d.ts",
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.esm.js","sources":["../src/useFirstSkipEffect.ts","../src/util.ts","../src/useAutoUpdateState.ts","../src/useFirstSkipLayoutEffect.ts","../src/useAutoUpdateLayoutState.ts"],"sourcesContent":["import { DependencyList, EffectCallback, useEffect, useRef } from 'react';\n\nexport default function useFirstSkipEffect(effect: EffectCallback, deps?: DependencyList): void {\n const firstRef = useRef(true);\n useEffect(() => {\n if (firstRef.current) {\n firstRef.current = false;\n } else {\n effect();\n }\n }, deps);\n}\n","const isSame = (v1: any, v2: any): boolean => {\n if (v1 === v2) return true;\n if (typeof v1 !== typeof v2) return false;\n if (v1 == null || v2 == null) return false;\n if (Array.isArray(v1) && Array.isArray(v2)) {\n if (v1.length !== v2.length) return false;\n for (let i = 0; i < v1.length; i += 1) {\n if (v1[i] !== v2[i]) return false;\n }\n } else {\n return v1 === v2;\n }\n return true;\n};\n\nexport { isSame };\n","import { Dispatch, SetStateAction, useCallback, useRef, useState } from 'react';\nimport useFirstSkipEffect from './useFirstSkipEffect';\nimport { isSame } from './util';\n\nexport default function useAutoUpdateState<T>(\n state: T,\n finalStateCallback?: (state: T) => T\n): [T, Dispatch<SetStateAction<T>>];\nexport default function useAutoUpdateState<T>(finalStateCallback: (State: T) => T): [T, Dispatch<SetStateAction<T>>];\nexport default function useAutoUpdateState<T>(p1: any, p2?: any): [T, Dispatch<SetStateAction<T>>] {\n const state = typeof p1 === 'function' ? undefined : p1;\n const finalStateCallback = typeof p1 === 'function' ? p1 : p2;\n\n const [, setUpdateKey] = useState(0);\n\n const [_initState] = useState<T>(() => {\n return finalStateCallback ? finalStateCallback(state) : state;\n });\n\n const _state = useRef<T>(_initState);\n\n const forceUpdate = useCallback(() => {\n setUpdateKey((updateKey) => updateKey + 1);\n }, []);\n\n useFirstSkipEffect(() => {\n const newState = finalStateCallback ? finalStateCallback(state) : state;\n if (!isSame(newState, _state.current)) {\n _state.current = newState;\n forceUpdate();\n }\n }, [state]);\n\n useFirstSkipEffect(() => {\n const newState = finalStateCallback ? finalStateCallback(_state.current) : _state.current;\n if (!isSame(newState, _state.current)) {\n _state.current = newState;\n forceUpdate();\n }\n }, [finalStateCallback]);\n\n const setState = useCallback<Dispatch<SetStateAction<T>>>((newState) => {\n const finalNewState = typeof newState === 'function' ? (newState as (prev: T) => T)(_state.current) : newState;\n if (!isSame(_state.current, finalNewState)) {\n _state.current = finalNewState;\n forceUpdate();\n }\n }, []);\n\n return [_state.current, setState];\n}\n","import { DependencyList, EffectCallback, useLayoutEffect, useRef } from 'react';\n\nexport default function useFirstSkipLayoutEffect(effect: EffectCallback, deps?: DependencyList): void {\n const firstRef = useRef(true);\n useLayoutEffect(() => {\n if (firstRef.current) {\n firstRef.current = false;\n } else {\n effect();\n }\n }, deps);\n}\n","import { Dispatch, SetStateAction, useCallback, useRef, useState } from 'react';\nimport useFirstSkipLayoutEffect from './useFirstSkipLayoutEffect';\nimport { isSame } from './util';\n\nexport function AA<T>(a: T): T;\nexport function AA<T>(a: any): T {\n return a;\n}\n\nexport default function useAutoUpdateLayoutState<T>(\n state: T,\n finalStateCallback?: (state: T) => T\n): [T, Dispatch<SetStateAction<T>>];\nexport default function useAutoUpdateLayoutState<T>(\n finalStateCallback: (State: T) => T\n): [T, Dispatch<SetStateAction<T>>];\nexport default function useAutoUpdateLayoutState<T>(p1: any, p2?: any): [T, Dispatch<SetStateAction<T>>] {\n const state = typeof p1 === 'function' ? undefined : p1;\n const finalStateCallback = typeof p1 === 'function' ? p1 : p2;\n\n const [, setUpdateKey] = useState(0);\n\n const [_initState] = useState<T>(() => {\n return finalStateCallback ? finalStateCallback(state, 0) : state;\n });\n\n const _state = useRef<T>(_initState);\n\n const forceUpdate = useCallback(() => {\n setUpdateKey((updateKey) => updateKey + 1);\n }, []);\n\n useFirstSkipLayoutEffect(() => {\n const newState = finalStateCallback ? finalStateCallback(state) : state;\n if (!isSame(newState, _state.current)) {\n _state.current = newState;\n forceUpdate();\n }\n }, [state]);\n\n useFirstSkipLayoutEffect(() => {\n const newState = finalStateCallback ? finalStateCallback(_state.current) : _state.current;\n if (!isSame(newState, _state.current)) {\n _state.current = newState;\n forceUpdate();\n }\n }, [finalStateCallback]);\n\n const setState = useCallback<Dispatch<SetStateAction<T>>>((newState) => {\n const finalNewState = typeof newState === 'function' ? (newState as (prev: T) => T)(_state.current) : newState;\n if (!isSame(_state.current, finalNewState)) {\n _state.current = finalNewState;\n forceUpdate();\n }\n }, []);\n\n return [_state.current, setState];\n}\n"],"names":[],"mappings":"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"}
package/dist/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":["../src/useFirstSkipEffect.ts","../src/util.ts","../src/useAutoUpdateState.ts","../src/useFirstSkipLayoutEffect.ts","../src/useAutoUpdateLayoutState.ts"],"sourcesContent":["import { DependencyList, EffectCallback, useEffect, useRef } from 'react';\n\nexport default function useFirstSkipEffect(effect: EffectCallback, deps?: DependencyList): void {\n const firstRef = useRef(true);\n useEffect(() => {\n if (firstRef.current) {\n firstRef.current = false;\n } else {\n effect();\n }\n }, deps);\n}\n","const isSame = (v1: any, v2: any): boolean => {\n if (v1 === v2) return true;\n if (typeof v1 !== typeof v2) return false;\n if (v1 == null || v2 == null) return false;\n if (Array.isArray(v1) && Array.isArray(v2)) {\n if (v1.length !== v2.length) return false;\n for (let i = 0; i < v1.length; i += 1) {\n if (v1[i] !== v2[i]) return false;\n }\n } else {\n return v1 === v2;\n }\n return true;\n};\n\nexport { isSame };\n","import { Dispatch, SetStateAction, useCallback, useRef, useState } from 'react';\nimport useFirstSkipEffect from './useFirstSkipEffect';\nimport { isSame } from './util';\n\nexport default function useAutoUpdateState<T>(\n state: T,\n finalStateCallback?: (state: T) => T\n): [T, Dispatch<SetStateAction<T>>];\nexport default function useAutoUpdateState<T>(finalStateCallback: (State: T) => T): [T, Dispatch<SetStateAction<T>>];\nexport default function useAutoUpdateState<T>(p1: any, p2?: any): [T, Dispatch<SetStateAction<T>>] {\n const state = typeof p1 === 'function' ? undefined : p1;\n const finalStateCallback = typeof p1 === 'function' ? p1 : p2;\n\n const [, setUpdateKey] = useState(0);\n\n const [_initState] = useState<T>(() => {\n return finalStateCallback ? finalStateCallback(state) : state;\n });\n\n const _state = useRef<T>(_initState);\n\n const forceUpdate = useCallback(() => {\n setUpdateKey((updateKey) => updateKey + 1);\n }, []);\n\n useFirstSkipEffect(() => {\n const newState = finalStateCallback ? finalStateCallback(state) : state;\n if (!isSame(newState, _state.current)) {\n _state.current = newState;\n forceUpdate();\n }\n }, [state]);\n\n useFirstSkipEffect(() => {\n const newState = finalStateCallback ? finalStateCallback(_state.current) : _state.current;\n if (!isSame(newState, _state.current)) {\n _state.current = newState;\n forceUpdate();\n }\n }, [finalStateCallback]);\n\n const setState = useCallback<Dispatch<SetStateAction<T>>>((newState) => {\n const finalNewState = typeof newState === 'function' ? (newState as (prev: T) => T)(_state.current) : newState;\n if (!isSame(_state.current, finalNewState)) {\n _state.current = finalNewState;\n forceUpdate();\n }\n }, []);\n\n return [_state.current, setState];\n}\n","import { DependencyList, EffectCallback, useLayoutEffect, useRef } from 'react';\n\nexport default function useFirstSkipLayoutEffect(effect: EffectCallback, deps?: DependencyList): void {\n const firstRef = useRef(true);\n useLayoutEffect(() => {\n if (firstRef.current) {\n firstRef.current = false;\n } else {\n effect();\n }\n }, deps);\n}\n","import { Dispatch, SetStateAction, useCallback, useRef, useState } from 'react';\nimport useFirstSkipLayoutEffect from './useFirstSkipLayoutEffect';\nimport { isSame } from './util';\n\nexport function AA<T>(a: T): T;\nexport function AA<T>(a: any): T {\n return a;\n}\n\nexport default function useAutoUpdateLayoutState<T>(\n state: T,\n finalStateCallback?: (state: T) => T\n): [T, Dispatch<SetStateAction<T>>];\nexport default function useAutoUpdateLayoutState<T>(\n finalStateCallback: (State: T) => T\n): [T, Dispatch<SetStateAction<T>>];\nexport default function useAutoUpdateLayoutState<T>(p1: any, p2?: any): [T, Dispatch<SetStateAction<T>>] {\n const state = typeof p1 === 'function' ? undefined : p1;\n const finalStateCallback = typeof p1 === 'function' ? p1 : p2;\n\n const [, setUpdateKey] = useState(0);\n\n const [_initState] = useState<T>(() => {\n return finalStateCallback ? finalStateCallback(state, 0) : state;\n });\n\n const _state = useRef<T>(_initState);\n\n const forceUpdate = useCallback(() => {\n setUpdateKey((updateKey) => updateKey + 1);\n }, []);\n\n useFirstSkipLayoutEffect(() => {\n const newState = finalStateCallback ? finalStateCallback(state) : state;\n if (!isSame(newState, _state.current)) {\n _state.current = newState;\n forceUpdate();\n }\n }, [state]);\n\n useFirstSkipLayoutEffect(() => {\n const newState = finalStateCallback ? finalStateCallback(_state.current) : _state.current;\n if (!isSame(newState, _state.current)) {\n _state.current = newState;\n forceUpdate();\n }\n }, [finalStateCallback]);\n\n const setState = useCallback<Dispatch<SetStateAction<T>>>((newState) => {\n const finalNewState = typeof newState === 'function' ? (newState as (prev: T) => T)(_state.current) : newState;\n if (!isSame(_state.current, finalNewState)) {\n _state.current = finalNewState;\n forceUpdate();\n }\n }, []);\n\n return [_state.current, setState];\n}\n"],"names":["useRef","useEffect","useState","useCallback","useLayoutEffect"],"mappings":"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"}