{"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;;;;"}