{"version":3,"file":"useMutation.cjs","names":["reuseMutation"],"sources":["../../../../src/api/hooks/useMutation/useMutation.ts"],"sourcesContent":["import { useMutation as createToolsMutation } from '@pastweb/tools/api/hooks/useMutation';\nimport { reuseMutation } from '../reuseQuery';\nimport type { MutationConfig, MutationInfo } from '@pastweb/tools/api/hooks/useMutation';\n\n/**\n * React wrapper for `@pastweb/tools` `useMutation`.\n *\n * The mutation object is created once, and React re-renders when its reactive\n * fields change.\n *\n * @example\n * ```tsx\n * const saveUser = useMutation({\n *   fn: payload => agent.post('/api/users', payload),\n * });\n *\n * <button disabled={saveUser.isMutating} onClick={() => saveUser.mutate(user)}>\n *   Save\n * </button>\n * ```\n */\nexport function useMutation<T>(config: MutationConfig<T>): MutationInfo<T> {\n  return reuseMutation(() => createToolsMutation(config));\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAqBA,SAAgB,YAAe,QAA4C;CACzE,OAAOA,wCAAAA,qBAAAA,GAAAA,qCAAAA,YAAAA,CAAwC,MAAM,CAAC;AACxD"}