UNPKG

@lesnoypudge/utils-react

Version:

lesnoypudge's utils-react

19 lines (18 loc) 716 B
import { useSyncExternalStore } from "react"; import { useConst } from "../useConst/useConst.js"; import { Counter, pick } from "@lesnoypudge/utils"; const useCounter = (initialCount, initialStep) => { const counter = useConst(() => new Counter(initialCount, initialStep)); const methods = useConst(() => { return pick(counter, "dec", "decrease", "get", "getCount", "getInitialCount", "getInitialStep", "getStep", "inc", "increase", "reset", "resetCount", "resetStep", "set", "setCount", "setInitialCount", "setStep"); }); const count = useSyncExternalStore(counter.onCountChange, counter.get); return { ...methods, count }; }; export { useCounter }; //# sourceMappingURL=useCounter.js.map