All Downloads are FREE. Search and download functionalities are using the official Maven repository.

package.react-utils.useMutationWithInvalidation.useMutationWithInvalidation.js.map Maven / Gradle / Ivy

Go to download

A package encapsulating common code across neeto projects including initializers, utility functions, common components and hooks and so on.

There is a newer version: 4.12.3
Show newest version
{"version":3,"file":"useMutationWithInvalidation.js","names":["useQueryClient","useMutation","type","useMutationWithInvalidation","mutationFn","_ref","keysToInvalidate","options","_objectWithoutProperties","_excluded","queryClient","onSuccess","otherOptions","_excluded2","_objectSpread","data","variables","context","forEach","key","result","invalidateQueries","queryKey"],"sources":["../../../src/react-utils/useMutationWithInvalidation/useMutationWithInvalidation.js"],"sourcesContent":["import { useQueryClient, useMutation } from \"@tanstack/react-query\";\nimport { type } from \"ramda\";\n\nconst useMutationWithInvalidation = (\n  mutationFn,\n  { keysToInvalidate, ...options }\n) => {\n  const queryClient = useQueryClient();\n  const { onSuccess, ...otherOptions } = options;\n\n  return useMutation({\n    mutationFn,\n    onSuccess: (data, variables, context) => {\n      keysToInvalidate.forEach(key => {\n        const result =\n          type(key) === \"Function\" ? key(data, variables, context) : key;\n\n        if (type(result) === \"Object\") {\n          queryClient.invalidateQueries(result);\n        } else if (type(result) === \"String\") {\n          queryClient.invalidateQueries({ queryKey: [result] });\n        } else {\n          queryClient.invalidateQueries({ queryKey: result });\n        }\n      });\n\n      onSuccess?.(data, variables, context);\n    },\n\n    ...otherOptions,\n  });\n};\n\nexport default useMutationWithInvalidation;\n"],"mappings":";;;;;;AAAA,SAASA,cAAc,EAAEC,WAAW,QAAQ,uBAAuB;AACnE,SAASC,IAAI,QAAQ,OAAO;AAE5B,IAAMC,2BAA2B,GAAG,SAA9BA,2BAA2BA,CAC/BC,UAAU,EAAAC,IAAA,EAEP;EAAA,IADDC,gBAAgB,GAAAD,IAAA,CAAhBC,gBAAgB;IAAKC,OAAO,GAAAC,wBAAA,CAAAH,IAAA,EAAAI,SAAA;EAE9B,IAAMC,WAAW,GAAGV,cAAc,CAAC,CAAC;EACpC,IAAQW,UAAS,GAAsBJ,OAAO,CAAtCI,SAAS;IAAKC,YAAY,GAAAJ,wBAAA,CAAKD,OAAO,EAAAM,UAAA;EAE9C,OAAOZ,WAAW,CAAAa,aAAA;IAChBV,UAAU,EAAVA,UAAU;IACVO,SAAS,EAAE,SAAXA,SAASA,CAAGI,IAAI,EAAEC,SAAS,EAAEC,OAAO,EAAK;MACvCX,gBAAgB,CAACY,OAAO,CAAC,UAAAC,GAAG,EAAI;QAC9B,IAAMC,MAAM,GACVlB,IAAI,CAACiB,GAAG,CAAC,KAAK,UAAU,GAAGA,GAAG,CAACJ,IAAI,EAAEC,SAAS,EAAEC,OAAO,CAAC,GAAGE,GAAG;QAEhE,IAAIjB,IAAI,CAACkB,MAAM,CAAC,KAAK,QAAQ,EAAE;UAC7BV,WAAW,CAACW,iBAAiB,CAACD,MAAM,CAAC;QACvC,CAAC,MAAM,IAAIlB,IAAI,CAACkB,MAAM,CAAC,KAAK,QAAQ,EAAE;UACpCV,WAAW,CAACW,iBAAiB,CAAC;YAAEC,QAAQ,EAAE,CAACF,MAAM;UAAE,CAAC,CAAC;QACvD,CAAC,MAAM;UACLV,WAAW,CAACW,iBAAiB,CAAC;YAAEC,QAAQ,EAAEF;UAAO,CAAC,CAAC;QACrD;MACF,CAAC,CAAC;MAEFT,UAAS,aAATA,UAAS,uBAATA,UAAS,CAAGI,IAAI,EAAEC,SAAS,EAAEC,OAAO,CAAC;IACvC;EAAC,GAEEL,YAAY,CAChB,CAAC;AACJ,CAAC;AAED,eAAeT,2BAA2B","ignoreList":[]}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy