@lesnoypudge/utils-react
Version:
lesnoypudge's utils-react
19 lines (18 loc) • 716 B
JavaScript
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