@openapi-qraft/react 2.15.0-beta.3 → 2.15.0-beta.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,19 @@
1
1
  # @openapi-qraft/react
2
2
 
3
+ ## 2.15.0-beta.4
4
+
5
+ ### Patch Changes
6
+
7
+ - 04fb1bd: Fixed callback typing and client factory overload generation for partial callback clients.
8
+ - Added `getMutationCache` to mutation state callback typing in `qraftAPIClient`, so it is available on generated
9
+ clients when relevant callbacks are provided.
10
+ - Fixed generated `createAPIClient` operation-client overloads to return `APIBasicQueryClientServices<..., Callbacks>`
11
+ and `APIBasicClientServices<..., Callbacks>` (instead of incorrectly locking to `DefaultCallbacks`) for partial
12
+ callback configurations.
13
+
14
+ - e22e6ce: Fix a mutation-related destructuring runtime error when `body` is missing.
15
+ - @openapi-qraft/tanstack-query-react-types@2.15.0-beta.4
16
+
3
17
  ## 2.15.0-beta.3
4
18
 
5
19
  ### Patch Changes
@@ -20,7 +20,7 @@ const useMutation = (qraftOptions, schema, args)=>{
20
20
  body: bodyPayload
21
21
  }).then(requestFnResponseResolver.requestFnResponseResolver, requestFnResponseRejecter.requestFnResponseRejecter);
22
22
  } : function(parametersAndBodyPayload) {
23
- const { body, ...parameters } = parametersAndBodyPayload;
23
+ const { body, ...parameters } = parametersAndBodyPayload ?? {};
24
24
  return qraftOptions.requestFn(schema, {
25
25
  parameters,
26
26
  baseUrl: qraftOptions.baseUrl,
@@ -1 +1 @@
1
- {"version":3,"file":"useMutation.cjs","sources":["../../../src/callbacks/useMutation.ts"],"sourcesContent":["'use client';\n\nimport type {\n OperationSchema,\n ServiceOperationMutationKey,\n ServiceOperationUseMutation,\n} from '@openapi-qraft/tanstack-query-react-types';\nimport type { DefaultError, UseMutationResult } from '@tanstack/react-query';\nimport type { CreateAPIQueryClientOptions } from '../qraftAPIClient.js';\nimport { useMutation as useMutationBase } from '@tanstack/react-query';\nimport { composeMutationKey } from '../lib/composeMutationKey.js';\nimport { requestFnResponseRejecter } from '../lib/requestFnResponseRejecter.js';\nimport { requestFnResponseResolver } from '../lib/requestFnResponseResolver.js';\n\nexport const useMutation: <\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TContext = unknown,\n>(\n qraftOptions: CreateAPIQueryClientOptions,\n schema: OperationSchema,\n args: Parameters<\n ServiceOperationUseMutation<\n OperationSchema,\n object | undefined,\n TVariables,\n TData,\n DefaultError\n >['useMutation']\n >\n) => UseMutationResult<TData, TError, TVariables, TContext> = (\n qraftOptions,\n schema,\n args\n) => {\n const [parameters, options] = args;\n\n if (\n parameters &&\n typeof parameters === 'object' &&\n options &&\n 'mutationKey' in options\n )\n throw new Error(\n `'useMutation': parameters and 'options.mutationKey' cannot be used together`\n );\n\n const mutationKey =\n options && 'mutationKey' in options\n ? (options.mutationKey as ServiceOperationMutationKey<\n typeof schema,\n unknown\n >)\n : composeMutationKey(schema, parameters);\n\n return useMutationBase(\n {\n ...options,\n mutationKey,\n mutationFn:\n options?.mutationFn ??\n (parameters\n ? function (bodyPayload) {\n return qraftOptions\n .requestFn(schema, {\n parameters,\n baseUrl: qraftOptions.baseUrl,\n body: bodyPayload as never,\n })\n .then(requestFnResponseResolver, requestFnResponseRejecter);\n }\n : function (parametersAndBodyPayload) {\n const { body, ...parameters } = parametersAndBodyPayload as {\n body: unknown;\n };\n\n return qraftOptions\n .requestFn(schema, {\n parameters,\n baseUrl: qraftOptions.baseUrl,\n body,\n } as never)\n .then(requestFnResponseResolver, requestFnResponseRejecter);\n }),\n },\n qraftOptions.queryClient\n ) as never;\n};\n"],"names":["useMutation","qraftOptions","schema","args","parameters","options","Error","mutationKey","composeMutationKey","useMutationBase","mutationFn","bodyPayload","requestFn","baseUrl","body","then","requestFnResponseResolver","requestFnResponseRejecter","parametersAndBodyPayload","queryClient"],"mappings":"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"}
1
+ {"version":3,"file":"useMutation.cjs","sources":["../../../src/callbacks/useMutation.ts"],"sourcesContent":["'use client';\n\nimport type {\n OperationSchema,\n ServiceOperationMutationKey,\n ServiceOperationUseMutation,\n} from '@openapi-qraft/tanstack-query-react-types';\nimport type { DefaultError, UseMutationResult } from '@tanstack/react-query';\nimport type { CreateAPIQueryClientOptions } from '../qraftAPIClient.js';\nimport { useMutation as useMutationBase } from '@tanstack/react-query';\nimport { composeMutationKey } from '../lib/composeMutationKey.js';\nimport { requestFnResponseRejecter } from '../lib/requestFnResponseRejecter.js';\nimport { requestFnResponseResolver } from '../lib/requestFnResponseResolver.js';\n\nexport const useMutation: <\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TContext = unknown,\n>(\n qraftOptions: CreateAPIQueryClientOptions,\n schema: OperationSchema,\n args: Parameters<\n ServiceOperationUseMutation<\n OperationSchema,\n object | undefined,\n TVariables,\n TData,\n DefaultError\n >['useMutation']\n >\n) => UseMutationResult<TData, TError, TVariables, TContext> = (\n qraftOptions,\n schema,\n args\n) => {\n const [parameters, options] = args;\n\n if (\n parameters &&\n typeof parameters === 'object' &&\n options &&\n 'mutationKey' in options\n )\n throw new Error(\n `'useMutation': parameters and 'options.mutationKey' cannot be used together`\n );\n\n const mutationKey =\n options && 'mutationKey' in options\n ? (options.mutationKey as ServiceOperationMutationKey<\n typeof schema,\n unknown\n >)\n : composeMutationKey(schema, parameters);\n\n return useMutationBase(\n {\n ...options,\n mutationKey,\n mutationFn:\n options?.mutationFn ??\n (parameters\n ? function (bodyPayload) {\n return qraftOptions\n .requestFn(schema, {\n parameters,\n baseUrl: qraftOptions.baseUrl,\n body: bodyPayload as never,\n })\n .then(requestFnResponseResolver, requestFnResponseRejecter);\n }\n : function (parametersAndBodyPayload) {\n const { body, ...parameters } = parametersAndBodyPayload ?? {};\n\n return qraftOptions\n .requestFn(schema, {\n parameters,\n baseUrl: qraftOptions.baseUrl,\n body,\n } as never)\n .then(requestFnResponseResolver, requestFnResponseRejecter);\n }),\n },\n qraftOptions.queryClient\n ) as never;\n};\n"],"names":["useMutation","qraftOptions","schema","args","parameters","options","Error","mutationKey","composeMutationKey","useMutationBase","mutationFn","bodyPayload","requestFn","baseUrl","body","then","requestFnResponseResolver","requestFnResponseRejecter","parametersAndBodyPayload","queryClient"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"qraftAPIClient.cjs","sources":["../../src/qraftAPIClient.ts"],"sourcesContent":["import type { QraftServiceOperationsToken } from '@openapi-qraft/tanstack-query-react-types';\nimport type { QueryClient } from '@tanstack/react-query';\nimport type * as callbacks from './callbacks/index.js';\nimport type * as operationInvokeModule from './callbacks/operationInvokeFn.js';\nimport type {\n OperationSchema,\n RequestFnInfo,\n RequestFnResponse,\n} from './lib/requestFn.js';\nimport { createRecursiveProxy } from './lib/createRecursiveProxy.js';\n\nexport interface CreateAPIBasicClientOptions {\n requestFn: (\n schema: OperationSchema,\n requestInfo: RequestFnInfo\n ) => Promise<RequestFnResponse<any, any>>;\n baseUrl: string;\n}\n\nexport interface CreateAPIBasicQueryClientOptions {\n queryClient: QueryClient;\n}\n\nexport interface CreateAPIQueryClientOptions\n extends CreateAPIBasicClientOptions, CreateAPIBasicQueryClientOptions {}\n\n/**\n * @deprecated use `CreateAPIClientOptions` instead\n */\nexport type QraftClientOptions =\n | CreateAPIBasicClientOptions\n | CreateAPIQueryClientOptions;\n\nexport type CreateAPIClientOptions =\n | CreateAPIBasicClientOptions\n | CreateAPIBasicQueryClientOptions\n | CreateAPIQueryClientOptions;\n\n/**\n * Creates a QueryClient compatible API Client which contains all operations\n * such as `useQuery`, `useMutation`.\n *\n * @example Fetching data with QueryClient\n * ```ts\n * const api = qraftAPIClient(services, callbacks, {\n * requestFn: requestFn,\n * baseUrl: 'https://api.example.com',\n * queryClient: new QueryClient(),\n * });\n *\n * api.service.operation({\n * parameters: { path: { id: 1 } },\n * });\n * ```\n */\nexport function qraftAPIClient<\n Services extends UnionServiceOperationsDeclaration<Services>,\n Callbacks extends ServiceMethods,\n>(\n services: Services,\n callbacks: Callbacks,\n options: CreateAPIQueryClientOptions\n): APIDefaultQueryClientServices<Services>;\n\n/**\n * Creates a QueryClient compatible API Client which contains all operations\n * such as `useQuery`, `useMutation`.\n *\n * @example Fetching data with QueryClient\n * ```ts\n * const api = qraftAPIClient(services, callbacks, {\n * requestFn: requestFn,\n * baseUrl: 'https://api.example.com',\n * queryClient: new QueryClient(),\n * });\n *\n * api.service.operation({\n * parameters: { path: { id: 1 } },\n * });\n * ```\n */\nexport function qraftAPIClient<\n Services extends UnionServiceOperationsDeclaration<Services>,\n Callbacks extends PartialServiceMethods,\n>(\n services: Services,\n callbacks: Callbacks,\n options: CreateAPIQueryClientOptions\n): APIQueryClientServices<Services, Callbacks>;\n\n/**\n * Creates a QueryClient compatible API Client which contains\n * only state management manipulations such as `useIsMutating`,\n * `setQueryData`, `getQueryData` and `invalidateQueries`.\n *\n * @example Invalidating queries with QueryClient\n * ```ts\n * const api = qraftAPIClient(services, callbacks, {\n * // an instance of QueryClient shared between all clients\n * queryClient: sharedQueryClient\n * });\n *\n * api.service.operation.invalidateQueries({\n * parameters: { path: { id: 1 } },\n * });\n */\nexport function qraftAPIClient<\n Services extends UnionServiceOperationsDeclaration<Services>,\n Callbacks extends PartialServiceMethods,\n>(\n services: Services,\n callbacks: Callbacks,\n options: CreateAPIBasicQueryClientOptions\n): APIBasicQueryClientServices<Services, Callbacks>;\n\n/**\n * Creates a basic API Client which contains all hooks and methods\n * that don't require an explicitly provided QueryClient.\n * Hooks like `useQuery` and `useMutation` will automatically retrieve\n * the QueryClient from the `<QueryClientProvider />` context.\n *\n * @example Fetching data with QueryClient from context\n * ```ts\n * const api = qraftAPIClient(services, callbacks, {\n * requestFn: requestFn,\n * baseUrl: 'https://api.example.com',\n * });\n *\n * // QueryClient will be retrieved from React context\n * api.service.operation.useQuery({\n * parameters: { path: { id: 1 } },\n * });\n * ```\n *\n * @example Fetching data without QueryClient\n * ```ts\n * const api = qraftAPIClient(services, callbacks, {\n * requestFn: requestFn,\n * baseUrl: 'https://api.example.com',\n * });\n *\n * api.service.operation({\n * parameters: { path: { id: 1 } },\n * });\n * ```\n */\nexport function qraftAPIClient<\n Services extends UnionServiceOperationsDeclaration<Services>,\n Callbacks extends PartialServiceMethods,\n>(\n services: Services,\n callbacks: Callbacks,\n options: CreateAPIBasicClientOptions\n): APIBasicClientServices<Services, Callbacks>;\n\n/**\n * Creates a utility API Client which contains utility operations\n * such as `getQueryKey`, `getInfiniteQueryKey`, `getMutationKey` and state hooks\n * like `useIsFetching` and `useMutationData`.\n *\n * @example Using state hooks\n * ```ts\n * const api = qraftAPIClient(services, callbacks);\n *\n * // Check if any query is currently fetching\n * const isFetching = api.service.operation.useIsFetching();\n * ```\n *\n * @example Getting query keys with utility client\n * ```ts\n * const api = qraftAPIClient(services, callbacks);\n *\n * api.service.operation.getQueryKey({\n * parameters: { path: { id: 1 } },\n * });\n * ```\n */\nexport function qraftAPIClient<\n Services extends UnionServiceOperationsDeclaration<Services>,\n Callbacks extends Pick<PartialServiceMethods, UtilityOperationCallbacks>,\n>(\n services: Services,\n callbacks: Callbacks\n): APIUtilityClientServices<Services, Callbacks>;\n\nexport function qraftAPIClient<\n Services extends UnionServiceOperationsDeclaration<Services>,\n Callbacks extends PartialServiceMethods,\n>(\n services: Services,\n callbacks: Callbacks,\n options?: CreateAPIClientOptions\n):\n | APIQueryClientServices<Services, Callbacks>\n | APIDefaultQueryClientServices<Services>\n | APIBasicQueryClientServices<Services, Callbacks>\n | APIUtilityClientServices<Services, Callbacks> {\n const stringTag = 'QraftAPIClient';\n\n const toString = (path: (symbol | string)[]): string => {\n return `[${stringTag}${path.length ? ' ' + path.join('.') : ''}]`;\n };\n\n const primitiveMethods = {\n [Symbol.toPrimitive](\n this: undefined,\n path: (string | symbol)[],\n hint: 'string' | 'number' | 'default'\n ): unknown {\n if (hint === 'number') return NaN;\n if (hint === 'string') return toString(path);\n return getByPath(services, path);\n },\n valueOf(this: undefined, path: (string | symbol)[]): unknown {\n return getByPath(services, path);\n },\n toJSON(this: undefined, path: (string | symbol)[]): string {\n return JSON.stringify(getByPath(services, path));\n },\n toString(this: undefined, path: (string | symbol)[]): string {\n return toString(path);\n },\n };\n\n return createRecursiveProxy(\n function getCallback(getPath, key) {\n if (Object.prototype.hasOwnProperty.call(primitiveMethods, key)) {\n return primitiveMethods[key as keyof typeof primitiveMethods].bind(\n undefined,\n getPath\n );\n } else if (key === Symbol.toStringTag) {\n return stringTag;\n }\n\n if (key !== 'schema') return;\n if (\n getPath.length !== 2 &&\n !('schema' in services) &&\n getPath.length !== 1 &&\n !(services[getPath[0] as never] as OperationsDeclaration<any>)?.schema\n )\n return;\n\n const serviceOperation = getByPath(services, getPath);\n if (!isServiceOperation(serviceOperation))\n throw new Error(`Service operation not found: ${getPath.join('.')}`);\n return serviceOperation.schema;\n },\n function applyCallback(applyPath, args) {\n const { path, callbackName } = extractCallbackDetails(\n applyPath,\n services\n );\n\n assertValidCallbackName(callbackName, callbacks);\n\n const serviceOperation = getByPath(services, path);\n\n if (!isServiceOperation(serviceOperation))\n throw new Error(`Service operation not found: ${path.join('.')}`);\n\n if (\n callbackName !== 'operationInvokeFn' &&\n callbackName !== 'getQueryKey' &&\n callbackName !== 'getMutationKey' &&\n callbackName !== 'getInfiniteQueryKey' &&\n callbackName !== 'useInfiniteQuery' &&\n callbackName !== 'useQueries' &&\n callbackName !== 'useQuery' &&\n callbackName !== 'useSuspenseInfiniteQuery' &&\n callbackName !== 'useSuspenseQueries' &&\n callbackName !== 'useSuspenseQuery' &&\n callbackName !== 'useIsFetching' &&\n callbackName !== 'useMutation' &&\n callbackName !== 'useIsMutating' &&\n callbackName !== 'useMutationState'\n )\n if (!options || !('queryClient' in options && options.queryClient))\n throw new Error(\n `'qraft.<service>.<operation>.${String(callbackName)}()' requires 'queryClient' in 'createAPIClient(...)' options.`\n );\n\n // @ts-expect-error - Too complex union type\n return callbacks[callbackName](options, serviceOperation.schema, args);\n },\n []\n ) as never;\n}\n\nfunction assertValidCallbackName<\n Callbacks extends Record<string, (...rest: any[]) => unknown>,\n>(\n callbackName: string | number | symbol,\n callbacks: Callbacks\n): asserts callbackName is keyof Callbacks {\n if (!(callbackName in callbacks)) {\n if (\n (callbackName as InvokeOperationCallback) ===\n ('operationInvokeFn' satisfies InvokeOperationCallback)\n )\n throw new Error(\n `Callback 'operationInvokeFn' is required for executing 'qraft.<service>.<operation>()', but it is not provided in the 'callbacks' object.`\n );\n throw new Error(\n `Callback for 'qraft.<service>.<operation>.${String(callbackName)}()' is not provided in the 'callbacks' object.`\n );\n }\n}\n\n/**\n * Extracts Callback details from the applyPath\n */\nfunction extractCallbackDetails(\n applyPath: (string | symbol)[],\n services: UnionServiceOperationsDeclaration<any>\n) {\n // client.<service>.<operation>() [OperationInvokeFn]\n // <service>.<operation>() [OperationInvokeFn]\n // client() [OperationInvokeFn]\n // client()\n if (\n (applyPath.length === 2 &&\n !(services[applyPath[0] as never] as OperationsDeclaration<any>)\n ?.schema) ||\n (applyPath.length === 0 && 'schema' in services)\n ) {\n return {\n path: applyPath,\n callbackName: 'operationInvokeFn' satisfies InvokeOperationCallback,\n };\n } else {\n // client.<service>.<operation>.<method>()\n // <service>.<operation>.<method>()\n // client.<method>()\n return {\n path: applyPath.slice(0, -1),\n // The last arg is for instance `.useMutation` or `.useQuery()`\n callbackName: applyPath[applyPath.length - 1],\n };\n }\n}\n\nfunction isServiceOperation(\n input: unknown\n): input is { schema: OperationSchema } {\n return input !== null && typeof input === 'object' && 'schema' in input;\n}\n\nfunction getByPath(obj: Record<string, unknown>, path: (string | symbol)[]) {\n return path.reduce<unknown>((acc, key) => {\n if (acc && typeof acc === 'object' && key in acc)\n return acc[key as keyof typeof acc];\n }, obj);\n}\n\ntype ServiceMethods = typeof callbacks;\n\ntype PartialServiceMethods = Partial<ServiceMethods>;\n\ntype OperationDeclaration = {\n schema: OperationSchema;\n [QraftServiceOperationsToken]: Partial<\n Record<\n | QueryOperationCallbacks\n | QueryOperationStateCallbacks\n | MutationOperationHookCallbacks\n | MutationOperationStateCallbacks\n | UtilityOperationCallbacks,\n any\n >\n > & {\n types: any;\n schema: OperationSchema;\n (...args: any[]): any;\n };\n};\n\ntype OperationsDeclaration<Operations> = {\n [operation in keyof Operations]: OperationDeclaration;\n};\n\ntype ServicesDeclaration<Services> = {\n [service in keyof Services]: OperationsDeclaration<Services[service]>;\n};\n\nexport type UnionServiceOperationsDeclaration<Services> =\n | ServicesDeclaration<Services>\n | OperationsDeclaration<Services>\n | OperationDeclaration;\n\ntype QueryOperationHookCallbacks = Extract<\n keyof ServiceMethods,\n | 'useInfiniteQuery'\n | 'useQueries'\n | 'useQuery'\n | 'useSuspenseInfiniteQuery'\n | 'useSuspenseQueries'\n | 'useSuspenseQuery'\n>;\n\ntype QueryOperationCallbacks =\n | Extract<\n keyof ServiceMethods,\n | 'fetchInfiniteQuery'\n | 'fetchQuery'\n | 'prefetchInfiniteQuery'\n | 'prefetchQuery'\n | 'refetchQueries'\n | 'ensureQueryData'\n | 'ensureInfiniteQueryData'\n >\n | QueryOperationHookCallbacks;\n\ntype QueryOperationStateHookCallbacks = Extract<\n keyof ServiceMethods,\n 'useIsFetching'\n>;\n\ntype QueryOperationStateCallbacks =\n | Extract<\n keyof ServiceMethods,\n | 'cancelQueries'\n | 'getInfiniteQueryData'\n | 'getInfiniteQueryState'\n | 'getQueriesData'\n | 'getQueryData'\n | 'getQueryState'\n | 'invalidateQueries'\n | 'isFetching'\n | 'removeQueries'\n | 'resetQueries'\n | 'setInfiniteQueryData'\n | 'setQueriesData'\n | 'setQueryData'\n >\n | QueryOperationStateHookCallbacks;\n\ntype MutationOperationHookCallbacks = Extract<\n keyof ServiceMethods,\n 'useMutation'\n>;\n\ntype MutationOperationStateHookCallbacks = Extract<\n keyof ServiceMethods,\n 'useIsMutating' | 'useMutationState'\n>;\n\ntype MutationOperationStateCallbacks =\n | Extract<keyof ServiceMethods, 'isMutating'>\n | MutationOperationStateHookCallbacks;\n\ntype InvokeOperationCallback = Extract<\n keyof typeof operationInvokeModule,\n 'operationInvokeFn'\n>;\n\ntype UtilityOperationCallbacks = Extract<\n keyof ServiceMethods,\n | 'getQueryKey'\n | 'getInfiniteQueryKey'\n | 'getMutationKey'\n | QueryOperationStateHookCallbacks\n | MutationOperationStateHookCallbacks\n>;\n\ntype OperationCallbackList =\n | QueryOperationCallbacks\n | QueryOperationStateCallbacks\n | MutationOperationHookCallbacks\n | MutationOperationStateCallbacks\n | InvokeOperationCallback\n | UtilityOperationCallbacks;\n\nexport type APIQueryClientServices<\n Services extends UnionServiceOperationsDeclaration<Services>,\n Callbacks extends PartialServiceMethods,\n> = ServicesFilteredByCallbacks<\n Services,\n Extract<keyof Callbacks, OperationCallbackList>\n>;\n\nexport type APIDefaultQueryClientServices<\n Services extends UnionServiceOperationsDeclaration<Services>,\n> = Services extends OperationDeclaration\n ? Services[QraftServiceOperationsToken]\n : Services extends OperationsDeclaration<Services>\n ? {\n [operation in keyof Services]: Services[operation][QraftServiceOperationsToken];\n }\n : Services extends ServicesDeclaration<Services>\n ? {\n [service in keyof Services]: {\n [operation in keyof Services[service]]: Services[service][operation][QraftServiceOperationsToken];\n };\n }\n : never;\n\nexport type APIBasicQueryClientServices<\n Services extends UnionServiceOperationsDeclaration<Services>,\n Callbacks extends PartialServiceMethods,\n> = ServicesFilteredByCallbacks<\n Services,\n Extract<\n keyof Callbacks,\n | QueryOperationStateCallbacks\n | MutationOperationStateCallbacks\n | UtilityOperationCallbacks\n >\n>;\n\nexport type APIBasicClientServices<\n Services extends UnionServiceOperationsDeclaration<Services>,\n Callbacks extends PartialServiceMethods,\n> = ServicesFilteredByCallbacks<\n Services,\n Extract<\n keyof Callbacks,\n | InvokeOperationCallback\n | UtilityOperationCallbacks\n | QueryOperationHookCallbacks\n | QueryOperationStateHookCallbacks\n | MutationOperationStateHookCallbacks\n | MutationOperationHookCallbacks\n >\n>;\n\nexport type APIUtilityClientServices<\n Services extends UnionServiceOperationsDeclaration<Services>,\n Callbacks extends Pick<PartialServiceMethods, UtilityOperationCallbacks>,\n> = ServicesFilteredByUtilityCallbacks<\n Services,\n Extract<keyof Callbacks, UtilityOperationCallbacks>\n>;\n\ntype ServicesFilteredByCallbacks<\n Services extends UnionServiceOperationsDeclaration<Services>,\n CallbackList extends OperationCallbackList,\n> = Services extends OperationDeclaration\n ? Pick<\n Services[QraftServiceOperationsToken],\n Extract<\n keyof Services[QraftServiceOperationsToken],\n CallbackList | 'schema' | 'types'\n >\n > &\n OperationInvokeFn<Services[QraftServiceOperationsToken], CallbackList>\n : Services extends OperationsDeclaration<Services>\n ? {\n [operation in keyof Services]: Pick<\n Services[operation][QraftServiceOperationsToken],\n Extract<\n keyof Services[operation][QraftServiceOperationsToken],\n CallbackList | 'schema' | 'types'\n >\n > &\n OperationInvokeFn<\n Services[operation][QraftServiceOperationsToken],\n CallbackList\n >;\n }\n : Services extends ServicesDeclaration<Services>\n ? {\n [serviceName in keyof Services]: {\n [operation in keyof Services[serviceName]]: Pick<\n Services[serviceName][operation][QraftServiceOperationsToken],\n Extract<\n keyof Services[serviceName][operation][QraftServiceOperationsToken],\n CallbackList | 'schema' | 'types'\n >\n > &\n OperationInvokeFn<\n Services[serviceName][operation][QraftServiceOperationsToken],\n CallbackList\n >;\n };\n }\n : never;\n\ntype OperationInvokeFn<\n InvokeFn extends (...args: any[]) => any,\n CallbackList extends OperationCallbackList,\n> = InvokeOperationCallback extends CallbackList\n ? InvokeFn extends (...args: infer Args) => infer Result\n ? { (...args: Args): Result }\n : Record<string, never>\n : Record<string, never>;\n\ntype ServicesFilteredByUtilityCallbacks<\n Services extends UnionServiceOperationsDeclaration<Services>,\n CallbackList extends UtilityOperationCallbacks,\n> = Services extends OperationDeclaration\n ? Pick<\n Services[QraftServiceOperationsToken],\n Extract<\n keyof Services[QraftServiceOperationsToken],\n CallbackList | 'schema' | 'types'\n >\n >\n : Services extends OperationsDeclaration<Services>\n ? {\n [operation in keyof Services]: Pick<\n Services[operation][QraftServiceOperationsToken],\n Extract<\n keyof Services[operation][QraftServiceOperationsToken],\n CallbackList | 'schema' | 'types'\n >\n >;\n }\n : Services extends ServicesDeclaration<Services>\n ? {\n [serviceName in keyof Services]: {\n [operation in keyof Services[serviceName]]: Pick<\n Services[serviceName][operation][QraftServiceOperationsToken],\n Extract<\n keyof Services[serviceName][operation][QraftServiceOperationsToken],\n CallbackList | 'schema' | 'types'\n >\n >;\n };\n }\n : never;\n"],"names":["qraftAPIClient","services","callbacks","options","stringTag","toString","path","length","join","primitiveMethods","Symbol","toPrimitive","hint","NaN","getByPath","valueOf","toJSON","JSON","stringify","createRecursiveProxy","getCallback","getPath","key","Object","prototype","hasOwnProperty","call","bind","undefined","toStringTag","schema","serviceOperation","isServiceOperation","Error","applyCallback","applyPath","args","callbackName","extractCallbackDetails","assertValidCallbackName","queryClient","String","slice","input","obj","reduce","acc"],"mappings":"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"}
1
+ {"version":3,"file":"qraftAPIClient.cjs","sources":["../../src/qraftAPIClient.ts"],"sourcesContent":["import type { QraftServiceOperationsToken } from '@openapi-qraft/tanstack-query-react-types';\nimport type { QueryClient } from '@tanstack/react-query';\nimport type * as callbacks from './callbacks/index.js';\nimport type * as operationInvokeModule from './callbacks/operationInvokeFn.js';\nimport type {\n OperationSchema,\n RequestFnInfo,\n RequestFnResponse,\n} from './lib/requestFn.js';\nimport { createRecursiveProxy } from './lib/createRecursiveProxy.js';\n\nexport interface CreateAPIBasicClientOptions {\n requestFn: (\n schema: OperationSchema,\n requestInfo: RequestFnInfo\n ) => Promise<RequestFnResponse<any, any>>;\n baseUrl: string;\n}\n\nexport interface CreateAPIBasicQueryClientOptions {\n queryClient: QueryClient;\n}\n\nexport interface CreateAPIQueryClientOptions\n extends CreateAPIBasicClientOptions, CreateAPIBasicQueryClientOptions {}\n\n/**\n * @deprecated use `CreateAPIClientOptions` instead\n */\nexport type QraftClientOptions =\n | CreateAPIBasicClientOptions\n | CreateAPIQueryClientOptions;\n\nexport type CreateAPIClientOptions =\n | CreateAPIBasicClientOptions\n | CreateAPIBasicQueryClientOptions\n | CreateAPIQueryClientOptions;\n\n/**\n * Creates a QueryClient compatible API Client which contains all operations\n * such as `useQuery`, `useMutation`.\n *\n * @example Fetching data with QueryClient\n * ```ts\n * const api = qraftAPIClient(services, callbacks, {\n * requestFn: requestFn,\n * baseUrl: 'https://api.example.com',\n * queryClient: new QueryClient(),\n * });\n *\n * api.service.operation({\n * parameters: { path: { id: 1 } },\n * });\n * ```\n */\nexport function qraftAPIClient<\n Services extends UnionServiceOperationsDeclaration<Services>,\n Callbacks extends ServiceMethods,\n>(\n services: Services,\n callbacks: Callbacks,\n options: CreateAPIQueryClientOptions\n): APIDefaultQueryClientServices<Services>;\n\n/**\n * Creates a QueryClient compatible API Client which contains all operations\n * such as `useQuery`, `useMutation`.\n *\n * @example Fetching data with QueryClient\n * ```ts\n * const api = qraftAPIClient(services, callbacks, {\n * requestFn: requestFn,\n * baseUrl: 'https://api.example.com',\n * queryClient: new QueryClient(),\n * });\n *\n * api.service.operation({\n * parameters: { path: { id: 1 } },\n * });\n * ```\n */\nexport function qraftAPIClient<\n Services extends UnionServiceOperationsDeclaration<Services>,\n Callbacks extends PartialServiceMethods,\n>(\n services: Services,\n callbacks: Callbacks,\n options: CreateAPIQueryClientOptions\n): APIQueryClientServices<Services, Callbacks>;\n\n/**\n * Creates a QueryClient compatible API Client which contains\n * only state management manipulations such as `useIsMutating`,\n * `setQueryData`, `getQueryData` and `invalidateQueries`.\n *\n * @example Invalidating queries with QueryClient\n * ```ts\n * const api = qraftAPIClient(services, callbacks, {\n * // an instance of QueryClient shared between all clients\n * queryClient: sharedQueryClient\n * });\n *\n * api.service.operation.invalidateQueries({\n * parameters: { path: { id: 1 } },\n * });\n */\nexport function qraftAPIClient<\n Services extends UnionServiceOperationsDeclaration<Services>,\n Callbacks extends PartialServiceMethods,\n>(\n services: Services,\n callbacks: Callbacks,\n options: CreateAPIBasicQueryClientOptions\n): APIBasicQueryClientServices<Services, Callbacks>;\n\n/**\n * Creates a basic API Client which contains all hooks and methods\n * that don't require an explicitly provided QueryClient.\n * Hooks like `useQuery` and `useMutation` will automatically retrieve\n * the QueryClient from the `<QueryClientProvider />` context.\n *\n * @example Fetching data with QueryClient from context\n * ```ts\n * const api = qraftAPIClient(services, callbacks, {\n * requestFn: requestFn,\n * baseUrl: 'https://api.example.com',\n * });\n *\n * // QueryClient will be retrieved from React context\n * api.service.operation.useQuery({\n * parameters: { path: { id: 1 } },\n * });\n * ```\n *\n * @example Fetching data without QueryClient\n * ```ts\n * const api = qraftAPIClient(services, callbacks, {\n * requestFn: requestFn,\n * baseUrl: 'https://api.example.com',\n * });\n *\n * api.service.operation({\n * parameters: { path: { id: 1 } },\n * });\n * ```\n */\nexport function qraftAPIClient<\n Services extends UnionServiceOperationsDeclaration<Services>,\n Callbacks extends PartialServiceMethods,\n>(\n services: Services,\n callbacks: Callbacks,\n options: CreateAPIBasicClientOptions\n): APIBasicClientServices<Services, Callbacks>;\n\n/**\n * Creates a utility API Client which contains utility operations\n * such as `getQueryKey`, `getInfiniteQueryKey`, `getMutationKey` and state hooks\n * like `useIsFetching` and `useMutationData`.\n *\n * @example Using state hooks\n * ```ts\n * const api = qraftAPIClient(services, callbacks);\n *\n * // Check if any query is currently fetching\n * const isFetching = api.service.operation.useIsFetching();\n * ```\n *\n * @example Getting query keys with utility client\n * ```ts\n * const api = qraftAPIClient(services, callbacks);\n *\n * api.service.operation.getQueryKey({\n * parameters: { path: { id: 1 } },\n * });\n * ```\n */\nexport function qraftAPIClient<\n Services extends UnionServiceOperationsDeclaration<Services>,\n Callbacks extends Pick<PartialServiceMethods, UtilityOperationCallbacks>,\n>(\n services: Services,\n callbacks: Callbacks\n): APIUtilityClientServices<Services, Callbacks>;\n\nexport function qraftAPIClient<\n Services extends UnionServiceOperationsDeclaration<Services>,\n Callbacks extends PartialServiceMethods,\n>(\n services: Services,\n callbacks: Callbacks,\n options?: CreateAPIClientOptions\n):\n | APIQueryClientServices<Services, Callbacks>\n | APIDefaultQueryClientServices<Services>\n | APIBasicQueryClientServices<Services, Callbacks>\n | APIUtilityClientServices<Services, Callbacks> {\n const stringTag = 'QraftAPIClient';\n\n const toString = (path: (symbol | string)[]): string => {\n return `[${stringTag}${path.length ? ' ' + path.join('.') : ''}]`;\n };\n\n const primitiveMethods = {\n [Symbol.toPrimitive](\n this: undefined,\n path: (string | symbol)[],\n hint: 'string' | 'number' | 'default'\n ): unknown {\n if (hint === 'number') return NaN;\n if (hint === 'string') return toString(path);\n return getByPath(services, path);\n },\n valueOf(this: undefined, path: (string | symbol)[]): unknown {\n return getByPath(services, path);\n },\n toJSON(this: undefined, path: (string | symbol)[]): string {\n return JSON.stringify(getByPath(services, path));\n },\n toString(this: undefined, path: (string | symbol)[]): string {\n return toString(path);\n },\n };\n\n return createRecursiveProxy(\n function getCallback(getPath, key) {\n if (Object.prototype.hasOwnProperty.call(primitiveMethods, key)) {\n return primitiveMethods[key as keyof typeof primitiveMethods].bind(\n undefined,\n getPath\n );\n } else if (key === Symbol.toStringTag) {\n return stringTag;\n }\n\n if (key !== 'schema') return;\n if (\n getPath.length !== 2 &&\n !('schema' in services) &&\n getPath.length !== 1 &&\n !(services[getPath[0] as never] as OperationsDeclaration<any>)?.schema\n )\n return;\n\n const serviceOperation = getByPath(services, getPath);\n if (!isServiceOperation(serviceOperation))\n throw new Error(`Service operation not found: ${getPath.join('.')}`);\n return serviceOperation.schema;\n },\n function applyCallback(applyPath, args) {\n const { path, callbackName } = extractCallbackDetails(\n applyPath,\n services\n );\n\n assertValidCallbackName(callbackName, callbacks);\n\n const serviceOperation = getByPath(services, path);\n\n if (!isServiceOperation(serviceOperation))\n throw new Error(`Service operation not found: ${path.join('.')}`);\n\n if (\n callbackName !== 'operationInvokeFn' &&\n callbackName !== 'getQueryKey' &&\n callbackName !== 'getMutationKey' &&\n callbackName !== 'getInfiniteQueryKey' &&\n callbackName !== 'useInfiniteQuery' &&\n callbackName !== 'useQueries' &&\n callbackName !== 'useQuery' &&\n callbackName !== 'useSuspenseInfiniteQuery' &&\n callbackName !== 'useSuspenseQueries' &&\n callbackName !== 'useSuspenseQuery' &&\n callbackName !== 'useIsFetching' &&\n callbackName !== 'useMutation' &&\n callbackName !== 'useIsMutating' &&\n callbackName !== 'useMutationState'\n )\n if (!options || !('queryClient' in options && options.queryClient))\n throw new Error(\n `'qraft.<service>.<operation>.${String(callbackName)}()' requires 'queryClient' in 'createAPIClient(...)' options.`\n );\n\n // @ts-expect-error - Too complex union type\n return callbacks[callbackName](options, serviceOperation.schema, args);\n },\n []\n ) as never;\n}\n\nfunction assertValidCallbackName<\n Callbacks extends Record<string, (...rest: any[]) => unknown>,\n>(\n callbackName: string | number | symbol,\n callbacks: Callbacks\n): asserts callbackName is keyof Callbacks {\n if (!(callbackName in callbacks)) {\n if (\n (callbackName as InvokeOperationCallback) ===\n ('operationInvokeFn' satisfies InvokeOperationCallback)\n )\n throw new Error(\n `Callback 'operationInvokeFn' is required for executing 'qraft.<service>.<operation>()', but it is not provided in the 'callbacks' object.`\n );\n throw new Error(\n `Callback for 'qraft.<service>.<operation>.${String(callbackName)}()' is not provided in the 'callbacks' object.`\n );\n }\n}\n\n/**\n * Extracts Callback details from the applyPath\n */\nfunction extractCallbackDetails(\n applyPath: (string | symbol)[],\n services: UnionServiceOperationsDeclaration<any>\n) {\n // client.<service>.<operation>() [OperationInvokeFn]\n // <service>.<operation>() [OperationInvokeFn]\n // client() [OperationInvokeFn]\n // client()\n if (\n (applyPath.length === 2 &&\n !(services[applyPath[0] as never] as OperationsDeclaration<any>)\n ?.schema) ||\n (applyPath.length === 0 && 'schema' in services)\n ) {\n return {\n path: applyPath,\n callbackName: 'operationInvokeFn' satisfies InvokeOperationCallback,\n };\n } else {\n // client.<service>.<operation>.<method>()\n // <service>.<operation>.<method>()\n // client.<method>()\n return {\n path: applyPath.slice(0, -1),\n // The last arg is for instance `.useMutation` or `.useQuery()`\n callbackName: applyPath[applyPath.length - 1],\n };\n }\n}\n\nfunction isServiceOperation(\n input: unknown\n): input is { schema: OperationSchema } {\n return input !== null && typeof input === 'object' && 'schema' in input;\n}\n\nfunction getByPath(obj: Record<string, unknown>, path: (string | symbol)[]) {\n return path.reduce<unknown>((acc, key) => {\n if (acc && typeof acc === 'object' && key in acc)\n return acc[key as keyof typeof acc];\n }, obj);\n}\n\ntype ServiceMethods = typeof callbacks;\n\ntype PartialServiceMethods = Partial<ServiceMethods>;\n\ntype OperationDeclaration = {\n schema: OperationSchema;\n [QraftServiceOperationsToken]: Partial<\n Record<\n | QueryOperationCallbacks\n | QueryOperationStateCallbacks\n | MutationOperationHookCallbacks\n | MutationOperationStateCallbacks\n | UtilityOperationCallbacks,\n any\n >\n > & {\n types: any;\n schema: OperationSchema;\n (...args: any[]): any;\n };\n};\n\ntype OperationsDeclaration<Operations> = {\n [operation in keyof Operations]: OperationDeclaration;\n};\n\ntype ServicesDeclaration<Services> = {\n [service in keyof Services]: OperationsDeclaration<Services[service]>;\n};\n\nexport type UnionServiceOperationsDeclaration<Services> =\n | ServicesDeclaration<Services>\n | OperationsDeclaration<Services>\n | OperationDeclaration;\n\ntype QueryOperationHookCallbacks = Extract<\n keyof ServiceMethods,\n | 'useInfiniteQuery'\n | 'useQueries'\n | 'useQuery'\n | 'useSuspenseInfiniteQuery'\n | 'useSuspenseQueries'\n | 'useSuspenseQuery'\n>;\n\ntype QueryOperationCallbacks =\n | Extract<\n keyof ServiceMethods,\n | 'fetchInfiniteQuery'\n | 'fetchQuery'\n | 'prefetchInfiniteQuery'\n | 'prefetchQuery'\n | 'refetchQueries'\n | 'ensureQueryData'\n | 'ensureInfiniteQueryData'\n >\n | QueryOperationHookCallbacks;\n\ntype QueryOperationStateHookCallbacks = Extract<\n keyof ServiceMethods,\n 'useIsFetching'\n>;\n\ntype QueryOperationStateCallbacks =\n | Extract<\n keyof ServiceMethods,\n | 'cancelQueries'\n | 'getInfiniteQueryData'\n | 'getInfiniteQueryState'\n | 'getQueriesData'\n | 'getQueryData'\n | 'getQueryState'\n | 'invalidateQueries'\n | 'isFetching'\n | 'removeQueries'\n | 'resetQueries'\n | 'setInfiniteQueryData'\n | 'setQueriesData'\n | 'setQueryData'\n >\n | QueryOperationStateHookCallbacks;\n\ntype MutationOperationHookCallbacks = Extract<\n keyof ServiceMethods,\n 'useMutation'\n>;\n\ntype MutationOperationStateHookCallbacks = Extract<\n keyof ServiceMethods,\n 'useIsMutating' | 'useMutationState'\n>;\n\ntype MutationOperationStateCallbacks =\n | Extract<keyof ServiceMethods, 'getMutationCache' | 'isMutating'>\n | MutationOperationStateHookCallbacks;\n\ntype InvokeOperationCallback = Extract<\n keyof typeof operationInvokeModule,\n 'operationInvokeFn'\n>;\n\ntype UtilityOperationCallbacks = Extract<\n keyof ServiceMethods,\n | 'getQueryKey'\n | 'getInfiniteQueryKey'\n | 'getMutationKey'\n | QueryOperationStateHookCallbacks\n | MutationOperationStateHookCallbacks\n>;\n\ntype OperationCallbackList =\n | QueryOperationCallbacks\n | QueryOperationStateCallbacks\n | MutationOperationHookCallbacks\n | MutationOperationStateCallbacks\n | InvokeOperationCallback\n | UtilityOperationCallbacks;\n\nexport type APIQueryClientServices<\n Services extends UnionServiceOperationsDeclaration<Services>,\n Callbacks extends PartialServiceMethods,\n> = ServicesFilteredByCallbacks<\n Services,\n Extract<keyof Callbacks, OperationCallbackList>\n>;\n\nexport type APIDefaultQueryClientServices<\n Services extends UnionServiceOperationsDeclaration<Services>,\n> = Services extends OperationDeclaration\n ? Services[QraftServiceOperationsToken]\n : Services extends OperationsDeclaration<Services>\n ? {\n [operation in keyof Services]: Services[operation][QraftServiceOperationsToken];\n }\n : Services extends ServicesDeclaration<Services>\n ? {\n [service in keyof Services]: {\n [operation in keyof Services[service]]: Services[service][operation][QraftServiceOperationsToken];\n };\n }\n : never;\n\nexport type APIBasicQueryClientServices<\n Services extends UnionServiceOperationsDeclaration<Services>,\n Callbacks extends PartialServiceMethods,\n> = ServicesFilteredByCallbacks<\n Services,\n Extract<\n keyof Callbacks,\n | QueryOperationStateCallbacks\n | MutationOperationStateCallbacks\n | UtilityOperationCallbacks\n >\n>;\n\nexport type APIBasicClientServices<\n Services extends UnionServiceOperationsDeclaration<Services>,\n Callbacks extends PartialServiceMethods,\n> = ServicesFilteredByCallbacks<\n Services,\n Extract<\n keyof Callbacks,\n | InvokeOperationCallback\n | UtilityOperationCallbacks\n | QueryOperationHookCallbacks\n | QueryOperationStateHookCallbacks\n | MutationOperationStateHookCallbacks\n | MutationOperationHookCallbacks\n >\n>;\n\nexport type APIUtilityClientServices<\n Services extends UnionServiceOperationsDeclaration<Services>,\n Callbacks extends Pick<PartialServiceMethods, UtilityOperationCallbacks>,\n> = ServicesFilteredByUtilityCallbacks<\n Services,\n Extract<keyof Callbacks, UtilityOperationCallbacks>\n>;\n\ntype ServicesFilteredByCallbacks<\n Services extends UnionServiceOperationsDeclaration<Services>,\n CallbackList extends OperationCallbackList,\n> = Services extends OperationDeclaration\n ? Pick<\n Services[QraftServiceOperationsToken],\n Extract<\n keyof Services[QraftServiceOperationsToken],\n CallbackList | 'schema' | 'types'\n >\n > &\n OperationInvokeFn<Services[QraftServiceOperationsToken], CallbackList>\n : Services extends OperationsDeclaration<Services>\n ? {\n [operation in keyof Services]: Pick<\n Services[operation][QraftServiceOperationsToken],\n Extract<\n keyof Services[operation][QraftServiceOperationsToken],\n CallbackList | 'schema' | 'types'\n >\n > &\n OperationInvokeFn<\n Services[operation][QraftServiceOperationsToken],\n CallbackList\n >;\n }\n : Services extends ServicesDeclaration<Services>\n ? {\n [serviceName in keyof Services]: {\n [operation in keyof Services[serviceName]]: Pick<\n Services[serviceName][operation][QraftServiceOperationsToken],\n Extract<\n keyof Services[serviceName][operation][QraftServiceOperationsToken],\n CallbackList | 'schema' | 'types'\n >\n > &\n OperationInvokeFn<\n Services[serviceName][operation][QraftServiceOperationsToken],\n CallbackList\n >;\n };\n }\n : never;\n\ntype OperationInvokeFn<\n InvokeFn extends (...args: any[]) => any,\n CallbackList extends OperationCallbackList,\n> = InvokeOperationCallback extends CallbackList\n ? InvokeFn extends (...args: infer Args) => infer Result\n ? { (...args: Args): Result }\n : Record<string, never>\n : Record<string, never>;\n\ntype ServicesFilteredByUtilityCallbacks<\n Services extends UnionServiceOperationsDeclaration<Services>,\n CallbackList extends UtilityOperationCallbacks,\n> = Services extends OperationDeclaration\n ? Pick<\n Services[QraftServiceOperationsToken],\n Extract<\n keyof Services[QraftServiceOperationsToken],\n CallbackList | 'schema' | 'types'\n >\n >\n : Services extends OperationsDeclaration<Services>\n ? {\n [operation in keyof Services]: Pick<\n Services[operation][QraftServiceOperationsToken],\n Extract<\n keyof Services[operation][QraftServiceOperationsToken],\n CallbackList | 'schema' | 'types'\n >\n >;\n }\n : Services extends ServicesDeclaration<Services>\n ? {\n [serviceName in keyof Services]: {\n [operation in keyof Services[serviceName]]: Pick<\n Services[serviceName][operation][QraftServiceOperationsToken],\n Extract<\n keyof Services[serviceName][operation][QraftServiceOperationsToken],\n CallbackList | 'schema' | 'types'\n >\n >;\n };\n }\n : never;\n"],"names":["qraftAPIClient","services","callbacks","options","stringTag","toString","path","length","join","primitiveMethods","Symbol","toPrimitive","hint","NaN","getByPath","valueOf","toJSON","JSON","stringify","createRecursiveProxy","getCallback","getPath","key","Object","prototype","hasOwnProperty","call","bind","undefined","toStringTag","schema","serviceOperation","isServiceOperation","Error","applyCallback","applyPath","args","callbackName","extractCallbackDetails","assertValidCallbackName","queryClient","String","slice","input","obj","reduce","acc"],"mappings":"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"}
@@ -18,7 +18,7 @@ const useMutation = (qraftOptions, schema, args)=>{
18
18
  body: bodyPayload
19
19
  }).then(requestFnResponseResolver, requestFnResponseRejecter);
20
20
  } : function(parametersAndBodyPayload) {
21
- const { body, ...parameters } = parametersAndBodyPayload;
21
+ const { body, ...parameters } = parametersAndBodyPayload ?? {};
22
22
  return qraftOptions.requestFn(schema, {
23
23
  parameters,
24
24
  baseUrl: qraftOptions.baseUrl,
@@ -1 +1 @@
1
- {"version":3,"file":"useMutation.js","sources":["../../../src/callbacks/useMutation.ts"],"sourcesContent":["'use client';\n\nimport type {\n OperationSchema,\n ServiceOperationMutationKey,\n ServiceOperationUseMutation,\n} from '@openapi-qraft/tanstack-query-react-types';\nimport type { DefaultError, UseMutationResult } from '@tanstack/react-query';\nimport type { CreateAPIQueryClientOptions } from '../qraftAPIClient.js';\nimport { useMutation as useMutationBase } from '@tanstack/react-query';\nimport { composeMutationKey } from '../lib/composeMutationKey.js';\nimport { requestFnResponseRejecter } from '../lib/requestFnResponseRejecter.js';\nimport { requestFnResponseResolver } from '../lib/requestFnResponseResolver.js';\n\nexport const useMutation: <\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TContext = unknown,\n>(\n qraftOptions: CreateAPIQueryClientOptions,\n schema: OperationSchema,\n args: Parameters<\n ServiceOperationUseMutation<\n OperationSchema,\n object | undefined,\n TVariables,\n TData,\n DefaultError\n >['useMutation']\n >\n) => UseMutationResult<TData, TError, TVariables, TContext> = (\n qraftOptions,\n schema,\n args\n) => {\n const [parameters, options] = args;\n\n if (\n parameters &&\n typeof parameters === 'object' &&\n options &&\n 'mutationKey' in options\n )\n throw new Error(\n `'useMutation': parameters and 'options.mutationKey' cannot be used together`\n );\n\n const mutationKey =\n options && 'mutationKey' in options\n ? (options.mutationKey as ServiceOperationMutationKey<\n typeof schema,\n unknown\n >)\n : composeMutationKey(schema, parameters);\n\n return useMutationBase(\n {\n ...options,\n mutationKey,\n mutationFn:\n options?.mutationFn ??\n (parameters\n ? function (bodyPayload) {\n return qraftOptions\n .requestFn(schema, {\n parameters,\n baseUrl: qraftOptions.baseUrl,\n body: bodyPayload as never,\n })\n .then(requestFnResponseResolver, requestFnResponseRejecter);\n }\n : function (parametersAndBodyPayload) {\n const { body, ...parameters } = parametersAndBodyPayload as {\n body: unknown;\n };\n\n return qraftOptions\n .requestFn(schema, {\n parameters,\n baseUrl: qraftOptions.baseUrl,\n body,\n } as never)\n .then(requestFnResponseResolver, requestFnResponseRejecter);\n }),\n },\n qraftOptions.queryClient\n ) as never;\n};\n"],"names":["useMutation","qraftOptions","schema","args","parameters","options","Error","mutationKey","composeMutationKey","useMutationBase","mutationFn","bodyPayload","requestFn","baseUrl","body","then","requestFnResponseResolver","requestFnResponseRejecter","parametersAndBodyPayload","queryClient"],"mappings":"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"}
1
+ {"version":3,"file":"useMutation.js","sources":["../../../src/callbacks/useMutation.ts"],"sourcesContent":["'use client';\n\nimport type {\n OperationSchema,\n ServiceOperationMutationKey,\n ServiceOperationUseMutation,\n} from '@openapi-qraft/tanstack-query-react-types';\nimport type { DefaultError, UseMutationResult } from '@tanstack/react-query';\nimport type { CreateAPIQueryClientOptions } from '../qraftAPIClient.js';\nimport { useMutation as useMutationBase } from '@tanstack/react-query';\nimport { composeMutationKey } from '../lib/composeMutationKey.js';\nimport { requestFnResponseRejecter } from '../lib/requestFnResponseRejecter.js';\nimport { requestFnResponseResolver } from '../lib/requestFnResponseResolver.js';\n\nexport const useMutation: <\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TContext = unknown,\n>(\n qraftOptions: CreateAPIQueryClientOptions,\n schema: OperationSchema,\n args: Parameters<\n ServiceOperationUseMutation<\n OperationSchema,\n object | undefined,\n TVariables,\n TData,\n DefaultError\n >['useMutation']\n >\n) => UseMutationResult<TData, TError, TVariables, TContext> = (\n qraftOptions,\n schema,\n args\n) => {\n const [parameters, options] = args;\n\n if (\n parameters &&\n typeof parameters === 'object' &&\n options &&\n 'mutationKey' in options\n )\n throw new Error(\n `'useMutation': parameters and 'options.mutationKey' cannot be used together`\n );\n\n const mutationKey =\n options && 'mutationKey' in options\n ? (options.mutationKey as ServiceOperationMutationKey<\n typeof schema,\n unknown\n >)\n : composeMutationKey(schema, parameters);\n\n return useMutationBase(\n {\n ...options,\n mutationKey,\n mutationFn:\n options?.mutationFn ??\n (parameters\n ? function (bodyPayload) {\n return qraftOptions\n .requestFn(schema, {\n parameters,\n baseUrl: qraftOptions.baseUrl,\n body: bodyPayload as never,\n })\n .then(requestFnResponseResolver, requestFnResponseRejecter);\n }\n : function (parametersAndBodyPayload) {\n const { body, ...parameters } = parametersAndBodyPayload ?? {};\n\n return qraftOptions\n .requestFn(schema, {\n parameters,\n baseUrl: qraftOptions.baseUrl,\n body,\n } as never)\n .then(requestFnResponseResolver, requestFnResponseRejecter);\n }),\n },\n qraftOptions.queryClient\n ) as never;\n};\n"],"names":["useMutation","qraftOptions","schema","args","parameters","options","Error","mutationKey","composeMutationKey","useMutationBase","mutationFn","bodyPayload","requestFn","baseUrl","body","then","requestFnResponseResolver","requestFnResponseRejecter","parametersAndBodyPayload","queryClient"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"qraftAPIClient.js","sources":["../../src/qraftAPIClient.ts"],"sourcesContent":["import type { QraftServiceOperationsToken } from '@openapi-qraft/tanstack-query-react-types';\nimport type { QueryClient } from '@tanstack/react-query';\nimport type * as callbacks from './callbacks/index.js';\nimport type * as operationInvokeModule from './callbacks/operationInvokeFn.js';\nimport type {\n OperationSchema,\n RequestFnInfo,\n RequestFnResponse,\n} from './lib/requestFn.js';\nimport { createRecursiveProxy } from './lib/createRecursiveProxy.js';\n\nexport interface CreateAPIBasicClientOptions {\n requestFn: (\n schema: OperationSchema,\n requestInfo: RequestFnInfo\n ) => Promise<RequestFnResponse<any, any>>;\n baseUrl: string;\n}\n\nexport interface CreateAPIBasicQueryClientOptions {\n queryClient: QueryClient;\n}\n\nexport interface CreateAPIQueryClientOptions\n extends CreateAPIBasicClientOptions, CreateAPIBasicQueryClientOptions {}\n\n/**\n * @deprecated use `CreateAPIClientOptions` instead\n */\nexport type QraftClientOptions =\n | CreateAPIBasicClientOptions\n | CreateAPIQueryClientOptions;\n\nexport type CreateAPIClientOptions =\n | CreateAPIBasicClientOptions\n | CreateAPIBasicQueryClientOptions\n | CreateAPIQueryClientOptions;\n\n/**\n * Creates a QueryClient compatible API Client which contains all operations\n * such as `useQuery`, `useMutation`.\n *\n * @example Fetching data with QueryClient\n * ```ts\n * const api = qraftAPIClient(services, callbacks, {\n * requestFn: requestFn,\n * baseUrl: 'https://api.example.com',\n * queryClient: new QueryClient(),\n * });\n *\n * api.service.operation({\n * parameters: { path: { id: 1 } },\n * });\n * ```\n */\nexport function qraftAPIClient<\n Services extends UnionServiceOperationsDeclaration<Services>,\n Callbacks extends ServiceMethods,\n>(\n services: Services,\n callbacks: Callbacks,\n options: CreateAPIQueryClientOptions\n): APIDefaultQueryClientServices<Services>;\n\n/**\n * Creates a QueryClient compatible API Client which contains all operations\n * such as `useQuery`, `useMutation`.\n *\n * @example Fetching data with QueryClient\n * ```ts\n * const api = qraftAPIClient(services, callbacks, {\n * requestFn: requestFn,\n * baseUrl: 'https://api.example.com',\n * queryClient: new QueryClient(),\n * });\n *\n * api.service.operation({\n * parameters: { path: { id: 1 } },\n * });\n * ```\n */\nexport function qraftAPIClient<\n Services extends UnionServiceOperationsDeclaration<Services>,\n Callbacks extends PartialServiceMethods,\n>(\n services: Services,\n callbacks: Callbacks,\n options: CreateAPIQueryClientOptions\n): APIQueryClientServices<Services, Callbacks>;\n\n/**\n * Creates a QueryClient compatible API Client which contains\n * only state management manipulations such as `useIsMutating`,\n * `setQueryData`, `getQueryData` and `invalidateQueries`.\n *\n * @example Invalidating queries with QueryClient\n * ```ts\n * const api = qraftAPIClient(services, callbacks, {\n * // an instance of QueryClient shared between all clients\n * queryClient: sharedQueryClient\n * });\n *\n * api.service.operation.invalidateQueries({\n * parameters: { path: { id: 1 } },\n * });\n */\nexport function qraftAPIClient<\n Services extends UnionServiceOperationsDeclaration<Services>,\n Callbacks extends PartialServiceMethods,\n>(\n services: Services,\n callbacks: Callbacks,\n options: CreateAPIBasicQueryClientOptions\n): APIBasicQueryClientServices<Services, Callbacks>;\n\n/**\n * Creates a basic API Client which contains all hooks and methods\n * that don't require an explicitly provided QueryClient.\n * Hooks like `useQuery` and `useMutation` will automatically retrieve\n * the QueryClient from the `<QueryClientProvider />` context.\n *\n * @example Fetching data with QueryClient from context\n * ```ts\n * const api = qraftAPIClient(services, callbacks, {\n * requestFn: requestFn,\n * baseUrl: 'https://api.example.com',\n * });\n *\n * // QueryClient will be retrieved from React context\n * api.service.operation.useQuery({\n * parameters: { path: { id: 1 } },\n * });\n * ```\n *\n * @example Fetching data without QueryClient\n * ```ts\n * const api = qraftAPIClient(services, callbacks, {\n * requestFn: requestFn,\n * baseUrl: 'https://api.example.com',\n * });\n *\n * api.service.operation({\n * parameters: { path: { id: 1 } },\n * });\n * ```\n */\nexport function qraftAPIClient<\n Services extends UnionServiceOperationsDeclaration<Services>,\n Callbacks extends PartialServiceMethods,\n>(\n services: Services,\n callbacks: Callbacks,\n options: CreateAPIBasicClientOptions\n): APIBasicClientServices<Services, Callbacks>;\n\n/**\n * Creates a utility API Client which contains utility operations\n * such as `getQueryKey`, `getInfiniteQueryKey`, `getMutationKey` and state hooks\n * like `useIsFetching` and `useMutationData`.\n *\n * @example Using state hooks\n * ```ts\n * const api = qraftAPIClient(services, callbacks);\n *\n * // Check if any query is currently fetching\n * const isFetching = api.service.operation.useIsFetching();\n * ```\n *\n * @example Getting query keys with utility client\n * ```ts\n * const api = qraftAPIClient(services, callbacks);\n *\n * api.service.operation.getQueryKey({\n * parameters: { path: { id: 1 } },\n * });\n * ```\n */\nexport function qraftAPIClient<\n Services extends UnionServiceOperationsDeclaration<Services>,\n Callbacks extends Pick<PartialServiceMethods, UtilityOperationCallbacks>,\n>(\n services: Services,\n callbacks: Callbacks\n): APIUtilityClientServices<Services, Callbacks>;\n\nexport function qraftAPIClient<\n Services extends UnionServiceOperationsDeclaration<Services>,\n Callbacks extends PartialServiceMethods,\n>(\n services: Services,\n callbacks: Callbacks,\n options?: CreateAPIClientOptions\n):\n | APIQueryClientServices<Services, Callbacks>\n | APIDefaultQueryClientServices<Services>\n | APIBasicQueryClientServices<Services, Callbacks>\n | APIUtilityClientServices<Services, Callbacks> {\n const stringTag = 'QraftAPIClient';\n\n const toString = (path: (symbol | string)[]): string => {\n return `[${stringTag}${path.length ? ' ' + path.join('.') : ''}]`;\n };\n\n const primitiveMethods = {\n [Symbol.toPrimitive](\n this: undefined,\n path: (string | symbol)[],\n hint: 'string' | 'number' | 'default'\n ): unknown {\n if (hint === 'number') return NaN;\n if (hint === 'string') return toString(path);\n return getByPath(services, path);\n },\n valueOf(this: undefined, path: (string | symbol)[]): unknown {\n return getByPath(services, path);\n },\n toJSON(this: undefined, path: (string | symbol)[]): string {\n return JSON.stringify(getByPath(services, path));\n },\n toString(this: undefined, path: (string | symbol)[]): string {\n return toString(path);\n },\n };\n\n return createRecursiveProxy(\n function getCallback(getPath, key) {\n if (Object.prototype.hasOwnProperty.call(primitiveMethods, key)) {\n return primitiveMethods[key as keyof typeof primitiveMethods].bind(\n undefined,\n getPath\n );\n } else if (key === Symbol.toStringTag) {\n return stringTag;\n }\n\n if (key !== 'schema') return;\n if (\n getPath.length !== 2 &&\n !('schema' in services) &&\n getPath.length !== 1 &&\n !(services[getPath[0] as never] as OperationsDeclaration<any>)?.schema\n )\n return;\n\n const serviceOperation = getByPath(services, getPath);\n if (!isServiceOperation(serviceOperation))\n throw new Error(`Service operation not found: ${getPath.join('.')}`);\n return serviceOperation.schema;\n },\n function applyCallback(applyPath, args) {\n const { path, callbackName } = extractCallbackDetails(\n applyPath,\n services\n );\n\n assertValidCallbackName(callbackName, callbacks);\n\n const serviceOperation = getByPath(services, path);\n\n if (!isServiceOperation(serviceOperation))\n throw new Error(`Service operation not found: ${path.join('.')}`);\n\n if (\n callbackName !== 'operationInvokeFn' &&\n callbackName !== 'getQueryKey' &&\n callbackName !== 'getMutationKey' &&\n callbackName !== 'getInfiniteQueryKey' &&\n callbackName !== 'useInfiniteQuery' &&\n callbackName !== 'useQueries' &&\n callbackName !== 'useQuery' &&\n callbackName !== 'useSuspenseInfiniteQuery' &&\n callbackName !== 'useSuspenseQueries' &&\n callbackName !== 'useSuspenseQuery' &&\n callbackName !== 'useIsFetching' &&\n callbackName !== 'useMutation' &&\n callbackName !== 'useIsMutating' &&\n callbackName !== 'useMutationState'\n )\n if (!options || !('queryClient' in options && options.queryClient))\n throw new Error(\n `'qraft.<service>.<operation>.${String(callbackName)}()' requires 'queryClient' in 'createAPIClient(...)' options.`\n );\n\n // @ts-expect-error - Too complex union type\n return callbacks[callbackName](options, serviceOperation.schema, args);\n },\n []\n ) as never;\n}\n\nfunction assertValidCallbackName<\n Callbacks extends Record<string, (...rest: any[]) => unknown>,\n>(\n callbackName: string | number | symbol,\n callbacks: Callbacks\n): asserts callbackName is keyof Callbacks {\n if (!(callbackName in callbacks)) {\n if (\n (callbackName as InvokeOperationCallback) ===\n ('operationInvokeFn' satisfies InvokeOperationCallback)\n )\n throw new Error(\n `Callback 'operationInvokeFn' is required for executing 'qraft.<service>.<operation>()', but it is not provided in the 'callbacks' object.`\n );\n throw new Error(\n `Callback for 'qraft.<service>.<operation>.${String(callbackName)}()' is not provided in the 'callbacks' object.`\n );\n }\n}\n\n/**\n * Extracts Callback details from the applyPath\n */\nfunction extractCallbackDetails(\n applyPath: (string | symbol)[],\n services: UnionServiceOperationsDeclaration<any>\n) {\n // client.<service>.<operation>() [OperationInvokeFn]\n // <service>.<operation>() [OperationInvokeFn]\n // client() [OperationInvokeFn]\n // client()\n if (\n (applyPath.length === 2 &&\n !(services[applyPath[0] as never] as OperationsDeclaration<any>)\n ?.schema) ||\n (applyPath.length === 0 && 'schema' in services)\n ) {\n return {\n path: applyPath,\n callbackName: 'operationInvokeFn' satisfies InvokeOperationCallback,\n };\n } else {\n // client.<service>.<operation>.<method>()\n // <service>.<operation>.<method>()\n // client.<method>()\n return {\n path: applyPath.slice(0, -1),\n // The last arg is for instance `.useMutation` or `.useQuery()`\n callbackName: applyPath[applyPath.length - 1],\n };\n }\n}\n\nfunction isServiceOperation(\n input: unknown\n): input is { schema: OperationSchema } {\n return input !== null && typeof input === 'object' && 'schema' in input;\n}\n\nfunction getByPath(obj: Record<string, unknown>, path: (string | symbol)[]) {\n return path.reduce<unknown>((acc, key) => {\n if (acc && typeof acc === 'object' && key in acc)\n return acc[key as keyof typeof acc];\n }, obj);\n}\n\ntype ServiceMethods = typeof callbacks;\n\ntype PartialServiceMethods = Partial<ServiceMethods>;\n\ntype OperationDeclaration = {\n schema: OperationSchema;\n [QraftServiceOperationsToken]: Partial<\n Record<\n | QueryOperationCallbacks\n | QueryOperationStateCallbacks\n | MutationOperationHookCallbacks\n | MutationOperationStateCallbacks\n | UtilityOperationCallbacks,\n any\n >\n > & {\n types: any;\n schema: OperationSchema;\n (...args: any[]): any;\n };\n};\n\ntype OperationsDeclaration<Operations> = {\n [operation in keyof Operations]: OperationDeclaration;\n};\n\ntype ServicesDeclaration<Services> = {\n [service in keyof Services]: OperationsDeclaration<Services[service]>;\n};\n\nexport type UnionServiceOperationsDeclaration<Services> =\n | ServicesDeclaration<Services>\n | OperationsDeclaration<Services>\n | OperationDeclaration;\n\ntype QueryOperationHookCallbacks = Extract<\n keyof ServiceMethods,\n | 'useInfiniteQuery'\n | 'useQueries'\n | 'useQuery'\n | 'useSuspenseInfiniteQuery'\n | 'useSuspenseQueries'\n | 'useSuspenseQuery'\n>;\n\ntype QueryOperationCallbacks =\n | Extract<\n keyof ServiceMethods,\n | 'fetchInfiniteQuery'\n | 'fetchQuery'\n | 'prefetchInfiniteQuery'\n | 'prefetchQuery'\n | 'refetchQueries'\n | 'ensureQueryData'\n | 'ensureInfiniteQueryData'\n >\n | QueryOperationHookCallbacks;\n\ntype QueryOperationStateHookCallbacks = Extract<\n keyof ServiceMethods,\n 'useIsFetching'\n>;\n\ntype QueryOperationStateCallbacks =\n | Extract<\n keyof ServiceMethods,\n | 'cancelQueries'\n | 'getInfiniteQueryData'\n | 'getInfiniteQueryState'\n | 'getQueriesData'\n | 'getQueryData'\n | 'getQueryState'\n | 'invalidateQueries'\n | 'isFetching'\n | 'removeQueries'\n | 'resetQueries'\n | 'setInfiniteQueryData'\n | 'setQueriesData'\n | 'setQueryData'\n >\n | QueryOperationStateHookCallbacks;\n\ntype MutationOperationHookCallbacks = Extract<\n keyof ServiceMethods,\n 'useMutation'\n>;\n\ntype MutationOperationStateHookCallbacks = Extract<\n keyof ServiceMethods,\n 'useIsMutating' | 'useMutationState'\n>;\n\ntype MutationOperationStateCallbacks =\n | Extract<keyof ServiceMethods, 'isMutating'>\n | MutationOperationStateHookCallbacks;\n\ntype InvokeOperationCallback = Extract<\n keyof typeof operationInvokeModule,\n 'operationInvokeFn'\n>;\n\ntype UtilityOperationCallbacks = Extract<\n keyof ServiceMethods,\n | 'getQueryKey'\n | 'getInfiniteQueryKey'\n | 'getMutationKey'\n | QueryOperationStateHookCallbacks\n | MutationOperationStateHookCallbacks\n>;\n\ntype OperationCallbackList =\n | QueryOperationCallbacks\n | QueryOperationStateCallbacks\n | MutationOperationHookCallbacks\n | MutationOperationStateCallbacks\n | InvokeOperationCallback\n | UtilityOperationCallbacks;\n\nexport type APIQueryClientServices<\n Services extends UnionServiceOperationsDeclaration<Services>,\n Callbacks extends PartialServiceMethods,\n> = ServicesFilteredByCallbacks<\n Services,\n Extract<keyof Callbacks, OperationCallbackList>\n>;\n\nexport type APIDefaultQueryClientServices<\n Services extends UnionServiceOperationsDeclaration<Services>,\n> = Services extends OperationDeclaration\n ? Services[QraftServiceOperationsToken]\n : Services extends OperationsDeclaration<Services>\n ? {\n [operation in keyof Services]: Services[operation][QraftServiceOperationsToken];\n }\n : Services extends ServicesDeclaration<Services>\n ? {\n [service in keyof Services]: {\n [operation in keyof Services[service]]: Services[service][operation][QraftServiceOperationsToken];\n };\n }\n : never;\n\nexport type APIBasicQueryClientServices<\n Services extends UnionServiceOperationsDeclaration<Services>,\n Callbacks extends PartialServiceMethods,\n> = ServicesFilteredByCallbacks<\n Services,\n Extract<\n keyof Callbacks,\n | QueryOperationStateCallbacks\n | MutationOperationStateCallbacks\n | UtilityOperationCallbacks\n >\n>;\n\nexport type APIBasicClientServices<\n Services extends UnionServiceOperationsDeclaration<Services>,\n Callbacks extends PartialServiceMethods,\n> = ServicesFilteredByCallbacks<\n Services,\n Extract<\n keyof Callbacks,\n | InvokeOperationCallback\n | UtilityOperationCallbacks\n | QueryOperationHookCallbacks\n | QueryOperationStateHookCallbacks\n | MutationOperationStateHookCallbacks\n | MutationOperationHookCallbacks\n >\n>;\n\nexport type APIUtilityClientServices<\n Services extends UnionServiceOperationsDeclaration<Services>,\n Callbacks extends Pick<PartialServiceMethods, UtilityOperationCallbacks>,\n> = ServicesFilteredByUtilityCallbacks<\n Services,\n Extract<keyof Callbacks, UtilityOperationCallbacks>\n>;\n\ntype ServicesFilteredByCallbacks<\n Services extends UnionServiceOperationsDeclaration<Services>,\n CallbackList extends OperationCallbackList,\n> = Services extends OperationDeclaration\n ? Pick<\n Services[QraftServiceOperationsToken],\n Extract<\n keyof Services[QraftServiceOperationsToken],\n CallbackList | 'schema' | 'types'\n >\n > &\n OperationInvokeFn<Services[QraftServiceOperationsToken], CallbackList>\n : Services extends OperationsDeclaration<Services>\n ? {\n [operation in keyof Services]: Pick<\n Services[operation][QraftServiceOperationsToken],\n Extract<\n keyof Services[operation][QraftServiceOperationsToken],\n CallbackList | 'schema' | 'types'\n >\n > &\n OperationInvokeFn<\n Services[operation][QraftServiceOperationsToken],\n CallbackList\n >;\n }\n : Services extends ServicesDeclaration<Services>\n ? {\n [serviceName in keyof Services]: {\n [operation in keyof Services[serviceName]]: Pick<\n Services[serviceName][operation][QraftServiceOperationsToken],\n Extract<\n keyof Services[serviceName][operation][QraftServiceOperationsToken],\n CallbackList | 'schema' | 'types'\n >\n > &\n OperationInvokeFn<\n Services[serviceName][operation][QraftServiceOperationsToken],\n CallbackList\n >;\n };\n }\n : never;\n\ntype OperationInvokeFn<\n InvokeFn extends (...args: any[]) => any,\n CallbackList extends OperationCallbackList,\n> = InvokeOperationCallback extends CallbackList\n ? InvokeFn extends (...args: infer Args) => infer Result\n ? { (...args: Args): Result }\n : Record<string, never>\n : Record<string, never>;\n\ntype ServicesFilteredByUtilityCallbacks<\n Services extends UnionServiceOperationsDeclaration<Services>,\n CallbackList extends UtilityOperationCallbacks,\n> = Services extends OperationDeclaration\n ? Pick<\n Services[QraftServiceOperationsToken],\n Extract<\n keyof Services[QraftServiceOperationsToken],\n CallbackList | 'schema' | 'types'\n >\n >\n : Services extends OperationsDeclaration<Services>\n ? {\n [operation in keyof Services]: Pick<\n Services[operation][QraftServiceOperationsToken],\n Extract<\n keyof Services[operation][QraftServiceOperationsToken],\n CallbackList | 'schema' | 'types'\n >\n >;\n }\n : Services extends ServicesDeclaration<Services>\n ? {\n [serviceName in keyof Services]: {\n [operation in keyof Services[serviceName]]: Pick<\n Services[serviceName][operation][QraftServiceOperationsToken],\n Extract<\n keyof Services[serviceName][operation][QraftServiceOperationsToken],\n CallbackList | 'schema' | 'types'\n >\n >;\n };\n }\n : never;\n"],"names":["qraftAPIClient","services","callbacks","options","stringTag","toString","path","length","join","primitiveMethods","Symbol","toPrimitive","hint","NaN","getByPath","valueOf","toJSON","JSON","stringify","createRecursiveProxy","getCallback","getPath","key","Object","prototype","hasOwnProperty","call","bind","undefined","toStringTag","schema","serviceOperation","isServiceOperation","Error","applyCallback","applyPath","args","callbackName","extractCallbackDetails","assertValidCallbackName","queryClient","String","slice","input","obj","reduce","acc"],"mappings":"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"}
1
+ {"version":3,"file":"qraftAPIClient.js","sources":["../../src/qraftAPIClient.ts"],"sourcesContent":["import type { QraftServiceOperationsToken } from '@openapi-qraft/tanstack-query-react-types';\nimport type { QueryClient } from '@tanstack/react-query';\nimport type * as callbacks from './callbacks/index.js';\nimport type * as operationInvokeModule from './callbacks/operationInvokeFn.js';\nimport type {\n OperationSchema,\n RequestFnInfo,\n RequestFnResponse,\n} from './lib/requestFn.js';\nimport { createRecursiveProxy } from './lib/createRecursiveProxy.js';\n\nexport interface CreateAPIBasicClientOptions {\n requestFn: (\n schema: OperationSchema,\n requestInfo: RequestFnInfo\n ) => Promise<RequestFnResponse<any, any>>;\n baseUrl: string;\n}\n\nexport interface CreateAPIBasicQueryClientOptions {\n queryClient: QueryClient;\n}\n\nexport interface CreateAPIQueryClientOptions\n extends CreateAPIBasicClientOptions, CreateAPIBasicQueryClientOptions {}\n\n/**\n * @deprecated use `CreateAPIClientOptions` instead\n */\nexport type QraftClientOptions =\n | CreateAPIBasicClientOptions\n | CreateAPIQueryClientOptions;\n\nexport type CreateAPIClientOptions =\n | CreateAPIBasicClientOptions\n | CreateAPIBasicQueryClientOptions\n | CreateAPIQueryClientOptions;\n\n/**\n * Creates a QueryClient compatible API Client which contains all operations\n * such as `useQuery`, `useMutation`.\n *\n * @example Fetching data with QueryClient\n * ```ts\n * const api = qraftAPIClient(services, callbacks, {\n * requestFn: requestFn,\n * baseUrl: 'https://api.example.com',\n * queryClient: new QueryClient(),\n * });\n *\n * api.service.operation({\n * parameters: { path: { id: 1 } },\n * });\n * ```\n */\nexport function qraftAPIClient<\n Services extends UnionServiceOperationsDeclaration<Services>,\n Callbacks extends ServiceMethods,\n>(\n services: Services,\n callbacks: Callbacks,\n options: CreateAPIQueryClientOptions\n): APIDefaultQueryClientServices<Services>;\n\n/**\n * Creates a QueryClient compatible API Client which contains all operations\n * such as `useQuery`, `useMutation`.\n *\n * @example Fetching data with QueryClient\n * ```ts\n * const api = qraftAPIClient(services, callbacks, {\n * requestFn: requestFn,\n * baseUrl: 'https://api.example.com',\n * queryClient: new QueryClient(),\n * });\n *\n * api.service.operation({\n * parameters: { path: { id: 1 } },\n * });\n * ```\n */\nexport function qraftAPIClient<\n Services extends UnionServiceOperationsDeclaration<Services>,\n Callbacks extends PartialServiceMethods,\n>(\n services: Services,\n callbacks: Callbacks,\n options: CreateAPIQueryClientOptions\n): APIQueryClientServices<Services, Callbacks>;\n\n/**\n * Creates a QueryClient compatible API Client which contains\n * only state management manipulations such as `useIsMutating`,\n * `setQueryData`, `getQueryData` and `invalidateQueries`.\n *\n * @example Invalidating queries with QueryClient\n * ```ts\n * const api = qraftAPIClient(services, callbacks, {\n * // an instance of QueryClient shared between all clients\n * queryClient: sharedQueryClient\n * });\n *\n * api.service.operation.invalidateQueries({\n * parameters: { path: { id: 1 } },\n * });\n */\nexport function qraftAPIClient<\n Services extends UnionServiceOperationsDeclaration<Services>,\n Callbacks extends PartialServiceMethods,\n>(\n services: Services,\n callbacks: Callbacks,\n options: CreateAPIBasicQueryClientOptions\n): APIBasicQueryClientServices<Services, Callbacks>;\n\n/**\n * Creates a basic API Client which contains all hooks and methods\n * that don't require an explicitly provided QueryClient.\n * Hooks like `useQuery` and `useMutation` will automatically retrieve\n * the QueryClient from the `<QueryClientProvider />` context.\n *\n * @example Fetching data with QueryClient from context\n * ```ts\n * const api = qraftAPIClient(services, callbacks, {\n * requestFn: requestFn,\n * baseUrl: 'https://api.example.com',\n * });\n *\n * // QueryClient will be retrieved from React context\n * api.service.operation.useQuery({\n * parameters: { path: { id: 1 } },\n * });\n * ```\n *\n * @example Fetching data without QueryClient\n * ```ts\n * const api = qraftAPIClient(services, callbacks, {\n * requestFn: requestFn,\n * baseUrl: 'https://api.example.com',\n * });\n *\n * api.service.operation({\n * parameters: { path: { id: 1 } },\n * });\n * ```\n */\nexport function qraftAPIClient<\n Services extends UnionServiceOperationsDeclaration<Services>,\n Callbacks extends PartialServiceMethods,\n>(\n services: Services,\n callbacks: Callbacks,\n options: CreateAPIBasicClientOptions\n): APIBasicClientServices<Services, Callbacks>;\n\n/**\n * Creates a utility API Client which contains utility operations\n * such as `getQueryKey`, `getInfiniteQueryKey`, `getMutationKey` and state hooks\n * like `useIsFetching` and `useMutationData`.\n *\n * @example Using state hooks\n * ```ts\n * const api = qraftAPIClient(services, callbacks);\n *\n * // Check if any query is currently fetching\n * const isFetching = api.service.operation.useIsFetching();\n * ```\n *\n * @example Getting query keys with utility client\n * ```ts\n * const api = qraftAPIClient(services, callbacks);\n *\n * api.service.operation.getQueryKey({\n * parameters: { path: { id: 1 } },\n * });\n * ```\n */\nexport function qraftAPIClient<\n Services extends UnionServiceOperationsDeclaration<Services>,\n Callbacks extends Pick<PartialServiceMethods, UtilityOperationCallbacks>,\n>(\n services: Services,\n callbacks: Callbacks\n): APIUtilityClientServices<Services, Callbacks>;\n\nexport function qraftAPIClient<\n Services extends UnionServiceOperationsDeclaration<Services>,\n Callbacks extends PartialServiceMethods,\n>(\n services: Services,\n callbacks: Callbacks,\n options?: CreateAPIClientOptions\n):\n | APIQueryClientServices<Services, Callbacks>\n | APIDefaultQueryClientServices<Services>\n | APIBasicQueryClientServices<Services, Callbacks>\n | APIUtilityClientServices<Services, Callbacks> {\n const stringTag = 'QraftAPIClient';\n\n const toString = (path: (symbol | string)[]): string => {\n return `[${stringTag}${path.length ? ' ' + path.join('.') : ''}]`;\n };\n\n const primitiveMethods = {\n [Symbol.toPrimitive](\n this: undefined,\n path: (string | symbol)[],\n hint: 'string' | 'number' | 'default'\n ): unknown {\n if (hint === 'number') return NaN;\n if (hint === 'string') return toString(path);\n return getByPath(services, path);\n },\n valueOf(this: undefined, path: (string | symbol)[]): unknown {\n return getByPath(services, path);\n },\n toJSON(this: undefined, path: (string | symbol)[]): string {\n return JSON.stringify(getByPath(services, path));\n },\n toString(this: undefined, path: (string | symbol)[]): string {\n return toString(path);\n },\n };\n\n return createRecursiveProxy(\n function getCallback(getPath, key) {\n if (Object.prototype.hasOwnProperty.call(primitiveMethods, key)) {\n return primitiveMethods[key as keyof typeof primitiveMethods].bind(\n undefined,\n getPath\n );\n } else if (key === Symbol.toStringTag) {\n return stringTag;\n }\n\n if (key !== 'schema') return;\n if (\n getPath.length !== 2 &&\n !('schema' in services) &&\n getPath.length !== 1 &&\n !(services[getPath[0] as never] as OperationsDeclaration<any>)?.schema\n )\n return;\n\n const serviceOperation = getByPath(services, getPath);\n if (!isServiceOperation(serviceOperation))\n throw new Error(`Service operation not found: ${getPath.join('.')}`);\n return serviceOperation.schema;\n },\n function applyCallback(applyPath, args) {\n const { path, callbackName } = extractCallbackDetails(\n applyPath,\n services\n );\n\n assertValidCallbackName(callbackName, callbacks);\n\n const serviceOperation = getByPath(services, path);\n\n if (!isServiceOperation(serviceOperation))\n throw new Error(`Service operation not found: ${path.join('.')}`);\n\n if (\n callbackName !== 'operationInvokeFn' &&\n callbackName !== 'getQueryKey' &&\n callbackName !== 'getMutationKey' &&\n callbackName !== 'getInfiniteQueryKey' &&\n callbackName !== 'useInfiniteQuery' &&\n callbackName !== 'useQueries' &&\n callbackName !== 'useQuery' &&\n callbackName !== 'useSuspenseInfiniteQuery' &&\n callbackName !== 'useSuspenseQueries' &&\n callbackName !== 'useSuspenseQuery' &&\n callbackName !== 'useIsFetching' &&\n callbackName !== 'useMutation' &&\n callbackName !== 'useIsMutating' &&\n callbackName !== 'useMutationState'\n )\n if (!options || !('queryClient' in options && options.queryClient))\n throw new Error(\n `'qraft.<service>.<operation>.${String(callbackName)}()' requires 'queryClient' in 'createAPIClient(...)' options.`\n );\n\n // @ts-expect-error - Too complex union type\n return callbacks[callbackName](options, serviceOperation.schema, args);\n },\n []\n ) as never;\n}\n\nfunction assertValidCallbackName<\n Callbacks extends Record<string, (...rest: any[]) => unknown>,\n>(\n callbackName: string | number | symbol,\n callbacks: Callbacks\n): asserts callbackName is keyof Callbacks {\n if (!(callbackName in callbacks)) {\n if (\n (callbackName as InvokeOperationCallback) ===\n ('operationInvokeFn' satisfies InvokeOperationCallback)\n )\n throw new Error(\n `Callback 'operationInvokeFn' is required for executing 'qraft.<service>.<operation>()', but it is not provided in the 'callbacks' object.`\n );\n throw new Error(\n `Callback for 'qraft.<service>.<operation>.${String(callbackName)}()' is not provided in the 'callbacks' object.`\n );\n }\n}\n\n/**\n * Extracts Callback details from the applyPath\n */\nfunction extractCallbackDetails(\n applyPath: (string | symbol)[],\n services: UnionServiceOperationsDeclaration<any>\n) {\n // client.<service>.<operation>() [OperationInvokeFn]\n // <service>.<operation>() [OperationInvokeFn]\n // client() [OperationInvokeFn]\n // client()\n if (\n (applyPath.length === 2 &&\n !(services[applyPath[0] as never] as OperationsDeclaration<any>)\n ?.schema) ||\n (applyPath.length === 0 && 'schema' in services)\n ) {\n return {\n path: applyPath,\n callbackName: 'operationInvokeFn' satisfies InvokeOperationCallback,\n };\n } else {\n // client.<service>.<operation>.<method>()\n // <service>.<operation>.<method>()\n // client.<method>()\n return {\n path: applyPath.slice(0, -1),\n // The last arg is for instance `.useMutation` or `.useQuery()`\n callbackName: applyPath[applyPath.length - 1],\n };\n }\n}\n\nfunction isServiceOperation(\n input: unknown\n): input is { schema: OperationSchema } {\n return input !== null && typeof input === 'object' && 'schema' in input;\n}\n\nfunction getByPath(obj: Record<string, unknown>, path: (string | symbol)[]) {\n return path.reduce<unknown>((acc, key) => {\n if (acc && typeof acc === 'object' && key in acc)\n return acc[key as keyof typeof acc];\n }, obj);\n}\n\ntype ServiceMethods = typeof callbacks;\n\ntype PartialServiceMethods = Partial<ServiceMethods>;\n\ntype OperationDeclaration = {\n schema: OperationSchema;\n [QraftServiceOperationsToken]: Partial<\n Record<\n | QueryOperationCallbacks\n | QueryOperationStateCallbacks\n | MutationOperationHookCallbacks\n | MutationOperationStateCallbacks\n | UtilityOperationCallbacks,\n any\n >\n > & {\n types: any;\n schema: OperationSchema;\n (...args: any[]): any;\n };\n};\n\ntype OperationsDeclaration<Operations> = {\n [operation in keyof Operations]: OperationDeclaration;\n};\n\ntype ServicesDeclaration<Services> = {\n [service in keyof Services]: OperationsDeclaration<Services[service]>;\n};\n\nexport type UnionServiceOperationsDeclaration<Services> =\n | ServicesDeclaration<Services>\n | OperationsDeclaration<Services>\n | OperationDeclaration;\n\ntype QueryOperationHookCallbacks = Extract<\n keyof ServiceMethods,\n | 'useInfiniteQuery'\n | 'useQueries'\n | 'useQuery'\n | 'useSuspenseInfiniteQuery'\n | 'useSuspenseQueries'\n | 'useSuspenseQuery'\n>;\n\ntype QueryOperationCallbacks =\n | Extract<\n keyof ServiceMethods,\n | 'fetchInfiniteQuery'\n | 'fetchQuery'\n | 'prefetchInfiniteQuery'\n | 'prefetchQuery'\n | 'refetchQueries'\n | 'ensureQueryData'\n | 'ensureInfiniteQueryData'\n >\n | QueryOperationHookCallbacks;\n\ntype QueryOperationStateHookCallbacks = Extract<\n keyof ServiceMethods,\n 'useIsFetching'\n>;\n\ntype QueryOperationStateCallbacks =\n | Extract<\n keyof ServiceMethods,\n | 'cancelQueries'\n | 'getInfiniteQueryData'\n | 'getInfiniteQueryState'\n | 'getQueriesData'\n | 'getQueryData'\n | 'getQueryState'\n | 'invalidateQueries'\n | 'isFetching'\n | 'removeQueries'\n | 'resetQueries'\n | 'setInfiniteQueryData'\n | 'setQueriesData'\n | 'setQueryData'\n >\n | QueryOperationStateHookCallbacks;\n\ntype MutationOperationHookCallbacks = Extract<\n keyof ServiceMethods,\n 'useMutation'\n>;\n\ntype MutationOperationStateHookCallbacks = Extract<\n keyof ServiceMethods,\n 'useIsMutating' | 'useMutationState'\n>;\n\ntype MutationOperationStateCallbacks =\n | Extract<keyof ServiceMethods, 'getMutationCache' | 'isMutating'>\n | MutationOperationStateHookCallbacks;\n\ntype InvokeOperationCallback = Extract<\n keyof typeof operationInvokeModule,\n 'operationInvokeFn'\n>;\n\ntype UtilityOperationCallbacks = Extract<\n keyof ServiceMethods,\n | 'getQueryKey'\n | 'getInfiniteQueryKey'\n | 'getMutationKey'\n | QueryOperationStateHookCallbacks\n | MutationOperationStateHookCallbacks\n>;\n\ntype OperationCallbackList =\n | QueryOperationCallbacks\n | QueryOperationStateCallbacks\n | MutationOperationHookCallbacks\n | MutationOperationStateCallbacks\n | InvokeOperationCallback\n | UtilityOperationCallbacks;\n\nexport type APIQueryClientServices<\n Services extends UnionServiceOperationsDeclaration<Services>,\n Callbacks extends PartialServiceMethods,\n> = ServicesFilteredByCallbacks<\n Services,\n Extract<keyof Callbacks, OperationCallbackList>\n>;\n\nexport type APIDefaultQueryClientServices<\n Services extends UnionServiceOperationsDeclaration<Services>,\n> = Services extends OperationDeclaration\n ? Services[QraftServiceOperationsToken]\n : Services extends OperationsDeclaration<Services>\n ? {\n [operation in keyof Services]: Services[operation][QraftServiceOperationsToken];\n }\n : Services extends ServicesDeclaration<Services>\n ? {\n [service in keyof Services]: {\n [operation in keyof Services[service]]: Services[service][operation][QraftServiceOperationsToken];\n };\n }\n : never;\n\nexport type APIBasicQueryClientServices<\n Services extends UnionServiceOperationsDeclaration<Services>,\n Callbacks extends PartialServiceMethods,\n> = ServicesFilteredByCallbacks<\n Services,\n Extract<\n keyof Callbacks,\n | QueryOperationStateCallbacks\n | MutationOperationStateCallbacks\n | UtilityOperationCallbacks\n >\n>;\n\nexport type APIBasicClientServices<\n Services extends UnionServiceOperationsDeclaration<Services>,\n Callbacks extends PartialServiceMethods,\n> = ServicesFilteredByCallbacks<\n Services,\n Extract<\n keyof Callbacks,\n | InvokeOperationCallback\n | UtilityOperationCallbacks\n | QueryOperationHookCallbacks\n | QueryOperationStateHookCallbacks\n | MutationOperationStateHookCallbacks\n | MutationOperationHookCallbacks\n >\n>;\n\nexport type APIUtilityClientServices<\n Services extends UnionServiceOperationsDeclaration<Services>,\n Callbacks extends Pick<PartialServiceMethods, UtilityOperationCallbacks>,\n> = ServicesFilteredByUtilityCallbacks<\n Services,\n Extract<keyof Callbacks, UtilityOperationCallbacks>\n>;\n\ntype ServicesFilteredByCallbacks<\n Services extends UnionServiceOperationsDeclaration<Services>,\n CallbackList extends OperationCallbackList,\n> = Services extends OperationDeclaration\n ? Pick<\n Services[QraftServiceOperationsToken],\n Extract<\n keyof Services[QraftServiceOperationsToken],\n CallbackList | 'schema' | 'types'\n >\n > &\n OperationInvokeFn<Services[QraftServiceOperationsToken], CallbackList>\n : Services extends OperationsDeclaration<Services>\n ? {\n [operation in keyof Services]: Pick<\n Services[operation][QraftServiceOperationsToken],\n Extract<\n keyof Services[operation][QraftServiceOperationsToken],\n CallbackList | 'schema' | 'types'\n >\n > &\n OperationInvokeFn<\n Services[operation][QraftServiceOperationsToken],\n CallbackList\n >;\n }\n : Services extends ServicesDeclaration<Services>\n ? {\n [serviceName in keyof Services]: {\n [operation in keyof Services[serviceName]]: Pick<\n Services[serviceName][operation][QraftServiceOperationsToken],\n Extract<\n keyof Services[serviceName][operation][QraftServiceOperationsToken],\n CallbackList | 'schema' | 'types'\n >\n > &\n OperationInvokeFn<\n Services[serviceName][operation][QraftServiceOperationsToken],\n CallbackList\n >;\n };\n }\n : never;\n\ntype OperationInvokeFn<\n InvokeFn extends (...args: any[]) => any,\n CallbackList extends OperationCallbackList,\n> = InvokeOperationCallback extends CallbackList\n ? InvokeFn extends (...args: infer Args) => infer Result\n ? { (...args: Args): Result }\n : Record<string, never>\n : Record<string, never>;\n\ntype ServicesFilteredByUtilityCallbacks<\n Services extends UnionServiceOperationsDeclaration<Services>,\n CallbackList extends UtilityOperationCallbacks,\n> = Services extends OperationDeclaration\n ? Pick<\n Services[QraftServiceOperationsToken],\n Extract<\n keyof Services[QraftServiceOperationsToken],\n CallbackList | 'schema' | 'types'\n >\n >\n : Services extends OperationsDeclaration<Services>\n ? {\n [operation in keyof Services]: Pick<\n Services[operation][QraftServiceOperationsToken],\n Extract<\n keyof Services[operation][QraftServiceOperationsToken],\n CallbackList | 'schema' | 'types'\n >\n >;\n }\n : Services extends ServicesDeclaration<Services>\n ? {\n [serviceName in keyof Services]: {\n [operation in keyof Services[serviceName]]: Pick<\n Services[serviceName][operation][QraftServiceOperationsToken],\n Extract<\n keyof Services[serviceName][operation][QraftServiceOperationsToken],\n CallbackList | 'schema' | 'types'\n >\n >;\n };\n }\n : never;\n"],"names":["qraftAPIClient","services","callbacks","options","stringTag","toString","path","length","join","primitiveMethods","Symbol","toPrimitive","hint","NaN","getByPath","valueOf","toJSON","JSON","stringify","createRecursiveProxy","getCallback","getPath","key","Object","prototype","hasOwnProperty","call","bind","undefined","toStringTag","schema","serviceOperation","isServiceOperation","Error","applyCallback","applyPath","args","callbackName","extractCallbackDetails","assertValidCallbackName","queryClient","String","slice","input","obj","reduce","acc"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"useMutation.d.ts","sourceRoot":"","sources":["../../../src/callbacks/useMutation.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,eAAe,EAEf,2BAA2B,EAC5B,MAAM,2CAA2C,CAAC;AACnD,OAAO,KAAK,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC7E,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,sBAAsB,CAAC;AAMxE,eAAO,MAAM,WAAW,EAAE,CACxB,KAAK,GAAG,OAAO,EACf,MAAM,GAAG,YAAY,EACrB,UAAU,GAAG,IAAI,EACjB,QAAQ,GAAG,OAAO,EAElB,YAAY,EAAE,2BAA2B,EACzC,MAAM,EAAE,eAAe,EACvB,IAAI,EAAE,UAAU,CACd,2BAA2B,CACzB,eAAe,EACf,MAAM,GAAG,SAAS,EAClB,UAAU,EACV,KAAK,EACL,YAAY,CACb,CAAC,aAAa,CAAC,CACjB,KACE,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,CAyDzD,CAAC"}
1
+ {"version":3,"file":"useMutation.d.ts","sourceRoot":"","sources":["../../../src/callbacks/useMutation.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,eAAe,EAEf,2BAA2B,EAC5B,MAAM,2CAA2C,CAAC;AACnD,OAAO,KAAK,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC7E,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,sBAAsB,CAAC;AAMxE,eAAO,MAAM,WAAW,EAAE,CACxB,KAAK,GAAG,OAAO,EACf,MAAM,GAAG,YAAY,EACrB,UAAU,GAAG,IAAI,EACjB,QAAQ,GAAG,OAAO,EAElB,YAAY,EAAE,2BAA2B,EACzC,MAAM,EAAE,eAAe,EACvB,IAAI,EAAE,UAAU,CACd,2BAA2B,CACzB,eAAe,EACf,MAAM,GAAG,SAAS,EAClB,UAAU,EACV,KAAK,EACL,YAAY,CACb,CAAC,aAAa,CAAC,CACjB,KACE,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,CAuDzD,CAAC"}
@@ -148,7 +148,7 @@ type QueryOperationStateHookCallbacks = Extract<keyof ServiceMethods, 'useIsFetc
148
148
  type QueryOperationStateCallbacks = Extract<keyof ServiceMethods, 'cancelQueries' | 'getInfiniteQueryData' | 'getInfiniteQueryState' | 'getQueriesData' | 'getQueryData' | 'getQueryState' | 'invalidateQueries' | 'isFetching' | 'removeQueries' | 'resetQueries' | 'setInfiniteQueryData' | 'setQueriesData' | 'setQueryData'> | QueryOperationStateHookCallbacks;
149
149
  type MutationOperationHookCallbacks = Extract<keyof ServiceMethods, 'useMutation'>;
150
150
  type MutationOperationStateHookCallbacks = Extract<keyof ServiceMethods, 'useIsMutating' | 'useMutationState'>;
151
- type MutationOperationStateCallbacks = Extract<keyof ServiceMethods, 'isMutating'> | MutationOperationStateHookCallbacks;
151
+ type MutationOperationStateCallbacks = Extract<keyof ServiceMethods, 'getMutationCache' | 'isMutating'> | MutationOperationStateHookCallbacks;
152
152
  type InvokeOperationCallback = Extract<keyof typeof operationInvokeModule, 'operationInvokeFn'>;
153
153
  type UtilityOperationCallbacks = Extract<keyof ServiceMethods, 'getQueryKey' | 'getInfiniteQueryKey' | 'getMutationKey' | QueryOperationStateHookCallbacks | MutationOperationStateHookCallbacks>;
154
154
  type OperationCallbackList = QueryOperationCallbacks | QueryOperationStateCallbacks | MutationOperationHookCallbacks | MutationOperationStateCallbacks | InvokeOperationCallback | UtilityOperationCallbacks;
@@ -1 +1 @@
1
- {"version":3,"file":"qraftAPIClient.d.ts","sourceRoot":"","sources":["../../src/qraftAPIClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"qraftAPIClient.d.ts","sourceRoot":"","sources":["../../src/qraftAPIClient.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openapi-qraft/react",
3
- "version": "2.15.0-beta.3",
3
+ "version": "2.15.0-beta.4",
4
4
  "description": "OpenAPI client for React, providing type-safe requests and dynamic TanStack Query React Hooks via a modular, Proxy-based architecture.",
5
5
  "scripts": {
6
6
  "build": "NODE_ENV=production rollup --config rollup.config.mjs && tsc --project tsconfig.build.json --emitDeclarationOnly",
@@ -15,19 +15,19 @@
15
15
  },
16
16
  "sideEffects": false,
17
17
  "dependencies": {
18
- "@openapi-qraft/tanstack-query-react-types": "2.15.0-beta.3"
18
+ "@openapi-qraft/tanstack-query-react-types": "2.15.0-beta.4"
19
19
  },
20
20
  "peerDependencies": {
21
21
  "@tanstack/react-query": "^5.80.0",
22
22
  "react": "^18 || ^19"
23
23
  },
24
24
  "devDependencies": {
25
- "@openapi-qraft/cli": "2.15.0-beta.3",
25
+ "@openapi-qraft/cli": "2.15.0-beta.4",
26
26
  "@openapi-qraft/eslint-config": "1.0.1",
27
- "@openapi-qraft/eslint-plugin-query": "2.15.0-beta.3",
28
- "@openapi-qraft/openapi-typescript-plugin": "^2.15.0-beta.3",
27
+ "@openapi-qraft/eslint-plugin-query": "2.15.0-beta.4",
28
+ "@openapi-qraft/openapi-typescript-plugin": "^2.15.0-beta.4",
29
29
  "@openapi-qraft/rollup-config": "1.1.1",
30
- "@openapi-qraft/tanstack-query-react-plugin": "2.15.0-beta.3",
30
+ "@openapi-qraft/tanstack-query-react-plugin": "2.15.0-beta.4",
31
31
  "@openapi-qraft/test-fixtures": "1.2.0-beta.1",
32
32
  "@tanstack/react-query": "^5.80.6",
33
33
  "@testing-library/dom": "^10.4.0",
@@ -71,9 +71,7 @@ export const useMutation: <
71
71
  .then(requestFnResponseResolver, requestFnResponseRejecter);
72
72
  }
73
73
  : function (parametersAndBodyPayload) {
74
- const { body, ...parameters } = parametersAndBodyPayload as {
75
- body: unknown;
76
- };
74
+ const { body, ...parameters } = parametersAndBodyPayload ?? {};
77
75
 
78
76
  return qraftOptions
79
77
  .requestFn(schema, {
@@ -447,7 +447,7 @@ type MutationOperationStateHookCallbacks = Extract<
447
447
  >;
448
448
 
449
449
  type MutationOperationStateCallbacks =
450
- | Extract<keyof ServiceMethods, 'isMutating'>
450
+ | Extract<keyof ServiceMethods, 'getMutationCache' | 'isMutating'>
451
451
  | MutationOperationStateHookCallbacks;
452
452
 
453
453
  type InvokeOperationCallback = Extract<