@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.89 kB
Source Map (JSON)
{"version":3,"file":"operationInvokeFn.cjs","sources":["../../../src/callbacks/operationInvokeFn.ts"],"sourcesContent":["import type {\n OperationSchema,\n RequestFnResponse,\n ServiceOperationMutationFn,\n ServiceOperationQueryFn,\n} from '@openapi-qraft/tanstack-query-react-types';\nimport type { CreateAPIBasicClientOptions } from '../qraftAPIClient.js';\n\n/**\n * Called when <service>.<operation>(...) is invoked.\n */\nexport const operationInvokeFn: <\n TSchema extends OperationSchema,\n TBody,\n TData,\n TParams,\n TError,\n>(\n qraftOptions: CreateAPIBasicClientOptions,\n schema: TSchema,\n args:\n | Parameters<ServiceOperationQueryFn<TSchema, TData, TParams, TError>>\n | Parameters<\n ServiceOperationMutationFn<TSchema, TBody, TData, TParams, TError>\n >\n) => Promise<RequestFnResponse<TData, TError>> = (\n qraftOptions,\n schema,\n args\n) => {\n const queryOperationMethods = ['get', 'head', 'options'] as const; // todo::make it shared\n\n const isQueryOperationType = queryOperationMethods.includes(\n schema.method as (typeof queryOperationMethods)[number]\n );\n\n const [options, requestFn = qraftOptions.requestFn] = args;\n\n const invokeSchema =\n options && isQueryOperationType && 'queryKey' in options\n ? options.queryKey![0]\n : schema;\n\n const invokeParameters =\n options && isQueryOperationType && 'queryKey' in options\n ? options.queryKey![1]\n : options && 'parameters' in options\n ? options.parameters\n : undefined;\n\n const baseUrl = options && 'baseUrl' in options ? options.baseUrl : undefined;\n\n return requestFn(invokeSchema, {\n ...options,\n baseUrl: baseUrl ?? qraftOptions.baseUrl,\n parameters: invokeParameters,\n } as never);\n};\n"],"names":["operationInvokeFn","qraftOptions","schema","args","queryOperationMethods","isQueryOperationType","includes","method","options","requestFn","invokeSchema","queryKey","invokeParameters","parameters","undefined","baseUrl"],"mappings":";;AAQA;;AAEC,IACM,MAAMA,iBAcoC,GAAA,CAC/CC,cACAC,MACAC,EAAAA,IAAAA,GAAAA;AAEA,IAAA,MAAMC,qBAAwB,GAAA;AAAC,QAAA,KAAA;AAAO,QAAA,MAAA;AAAQ,QAAA,SAAA;AAAU,KAAA,CAAA;AAExD,IAAA,MAAMC,oBAAuBD,GAAAA,qBAAAA,CAAsBE,QAAQ,CACzDJ,OAAOK,MAAM,CAAA,CAAA;AAGf,IAAA,MAAM,CAACC,OAASC,EAAAA,SAAAA,GAAYR,YAAaQ,CAAAA,SAAS,CAAC,GAAGN,IAAAA,CAAAA;IAEtD,MAAMO,YAAAA,GACJF,OAAWH,IAAAA,oBAAAA,IAAwB,UAAcG,IAAAA,OAAAA,GAC7CA,QAAQG,QAAS,CAAC,CAAA,CAAE,GACpBT,MAAAA,CAAAA;AAEN,IAAA,MAAMU,mBACJJ,OAAWH,IAAAA,oBAAAA,IAAwB,UAAcG,IAAAA,OAAAA,GAC7CA,QAAQG,QAAS,CAAC,CAAA,CAAE,GACpBH,OAAW,IAAA,YAAA,IAAgBA,OACzBA,GAAAA,OAAAA,CAAQK,UAAU,GAClBC,SAAAA,CAAAA;AAER,IAAA,MAAMC,UAAUP,OAAW,IAAA,SAAA,IAAaA,OAAUA,GAAAA,OAAAA,CAAQO,OAAO,GAAGD,SAAAA,CAAAA;AAEpE,IAAA,OAAOL,UAAUC,YAAc,EAAA;AAC7B,QAAA,GAAGF,OAAO;QACVO,OAASA,EAAAA,OAAAA,IAAWd,aAAac,OAAO;QACxCF,UAAYD,EAAAA,gBAAAA;AACd,KAAA,CAAA,CAAA;AACF;;;;"}