1 line
987 B
Plaintext
1 line
987 B
Plaintext
{"version":3,"sources":["../src/use-callback-ref.ts"],"sourcesContent":["import { useCallback, useRef } from \"react\"\nimport { useSafeLayoutEffect } from \"./use-safe-layout-effect\"\n\n/**\n * React hook to persist any value between renders,\n * but keeps it up-to-date if it changes.\n *\n * @param fn the function to persist\n * @param deps the function dependency list\n */\nexport function useCallbackRef<T extends (...args: any[]) => any>(\n fn: T | undefined,\n deps: React.DependencyList = [],\n): T {\n const ref = useRef(fn)\n\n useSafeLayoutEffect(() => {\n ref.current = fn\n })\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n return useCallback(((...args) => ref.current?.(...args)) as T, deps)\n}\n"],"mappings":";;;;;;AAAA,SAAS,aAAa,cAAc;AAU7B,SAAS,eACd,IACA,OAA6B,CAAC,GAC3B;AACH,QAAM,MAAM,OAAO,EAAE;AAErB,sBAAoB,MAAM;AACxB,QAAI,UAAU;AAAA,EAChB,CAAC;AAGD,SAAO,YAAa,IAAI,SAAM;AArBhC;AAqBmC,qBAAI,YAAJ,6BAAc,GAAG;AAAA,KAAa,IAAI;AACrE;","names":[]} |