UNPKG

@openapi-qraft/react

Version:

OpenAPI client for React, providing type-safe requests and dynamic TanStack Query React Hooks via a modular, Proxy-based architecture.

1 lines 2.23 kB
{"version":3,"file":"getMutationCache.cjs","sources":["../../../src/callbacks/getMutationCache.ts"],"sourcesContent":["import type { OperationSchema } from '@openapi-qraft/tanstack-query-react-types';\nimport type { CreateAPIQueryClientOptions } from '../qraftAPIClient.js';\nimport { composeMutationFilters } from '../lib/composeMutationFilters.js';\n\nexport function getMutationCache(\n qraftOptions: CreateAPIQueryClientOptions,\n schema: OperationSchema\n) {\n const mutationCache = qraftOptions.queryClient.getMutationCache();\n\n return wrapMutationCacheMethods(schema, mutationCache);\n}\n\nfunction wrapMutationCacheMethods<\n T extends Record<'find' | 'findAll', (...args: any[]) => any>,\n>(schema: OperationSchema, original: T): T {\n return new Proxy(original, {\n get(target, prop, receiver) {\n if (prop === 'find' || prop === 'findAll') {\n return function (...args: any[]) {\n return Reflect.apply(target[prop], target, [\n composeMutationFilters(schema, args[0] as never),\n ...args.slice(1, args.length),\n ]);\n };\n }\n\n return Reflect.get(target, prop, receiver);\n },\n });\n}\n"],"names":["getMutationCache","qraftOptions","schema","mutationCache","queryClient","wrapMutationCacheMethods","original","Proxy","get","target","prop","receiver","args","Reflect","apply","composeMutationFilters","slice","length"],"mappings":";;;;AAIO,SAASA,gBAAAA,CACdC,YAAyC,EACzCC,MAAuB,EAAA;AAEvB,IAAA,MAAMC,aAAgBF,GAAAA,YAAAA,CAAaG,WAAW,CAACJ,gBAAgB,EAAA,CAAA;AAE/D,IAAA,OAAOK,yBAAyBH,MAAQC,EAAAA,aAAAA,CAAAA,CAAAA;AAC1C,CAAA;AAEA,SAASE,wBAAAA,CAEPH,MAAuB,EAAEI,QAAW,EAAA;IACpC,OAAO,IAAIC,MAAMD,QAAU,EAAA;AACzBE,QAAAA,GAAAA,CAAAA,CAAIC,MAAM,EAAEC,IAAI,EAAEC,QAAQ,EAAA;YACxB,IAAID,IAAAA,KAAS,MAAUA,IAAAA,IAAAA,KAAS,SAAW,EAAA;gBACzC,OAAO,SAAU,GAAGE,IAAW,EAAA;AAC7B,oBAAA,OAAOC,QAAQC,KAAK,CAACL,MAAM,CAACC,IAAAA,CAAK,EAAED,MAAQ,EAAA;wBACzCM,6CAAuBb,CAAAA,MAAAA,EAAQU,IAAI,CAAC,CAAE,CAAA,CAAA;AACnCA,wBAAAA,GAAAA,IAAAA,CAAKI,KAAK,CAAC,CAAGJ,EAAAA,IAAAA,CAAKK,MAAM,CAAA;AAC7B,qBAAA,CAAA,CAAA;AACH,iBAAA,CAAA;AACF,aAAA;AAEA,YAAA,OAAOJ,OAAQL,CAAAA,GAAG,CAACC,MAAAA,EAAQC,IAAMC,EAAAA,QAAAA,CAAAA,CAAAA;AACnC,SAAA;AACF,KAAA,CAAA,CAAA;AACF;;;;"}