UNPKG

react-typed-event

Version:

Type-safe event handling utilities for React

23 lines (22 loc) 710 B
// src/hooks/usePreservedCallback/index.ts import { useCallback, useEffect, useRef } from "react"; function usePreservedCallback(callback, deps = []) { const callbackRef = useRef(callback); useEffect(() => { callbackRef.current = callback; }, [callback]); return useCallback((...args) => { return callbackRef.current(...args); }, deps); } // src/hooks/useEventCallback/index.ts function useEventCallback(...args) { const last = args.pop(); if (Array.isArray(last)) return usePreservedCallback(args.pop(), last); if (typeof last === "function") return usePreservedCallback(last); throw new Error("invalid arguments"); } export { useEventCallback }; //# sourceMappingURL=index.js.map