@openapi-qraft/react 2.15.0-beta.7 → 2.15.0-beta.9
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 +34 -0
- package/dist/cjs/callbacks/operationInvokeFn.cjs +4 -1
- package/dist/cjs/callbacks/operationInvokeFn.cjs.map +1 -1
- package/dist/cjs/callbacks/useMutation.cjs +16 -5
- package/dist/cjs/callbacks/useMutation.cjs.map +1 -1
- package/dist/cjs/callbacks/useQueries.cjs +5 -4
- package/dist/cjs/callbacks/useQueries.cjs.map +1 -1
- package/dist/cjs/callbacks/useSuspenseQueries.cjs +5 -4
- package/dist/cjs/callbacks/useSuspenseQueries.cjs.map +1 -1
- package/dist/cjs/lib/callQueryClientFetchMethod.cjs +5 -4
- package/dist/cjs/lib/callQueryClientFetchMethod.cjs.map +1 -1
- package/dist/cjs/lib/createRequestFnInfo.cjs +17 -0
- package/dist/cjs/lib/createRequestFnInfo.cjs.map +1 -0
- package/dist/cjs/lib/requestFn.cjs +1 -1
- package/dist/cjs/lib/requestFn.cjs.map +1 -1
- package/dist/cjs/lib/useComposeUseQueryOptions.cjs +5 -4
- package/dist/cjs/lib/useComposeUseQueryOptions.cjs.map +1 -1
- package/dist/cjs/qraftReactAPIClient.cjs.map +1 -1
- package/dist/esm/callbacks/operationInvokeFn.js +4 -1
- package/dist/esm/callbacks/operationInvokeFn.js.map +1 -1
- package/dist/esm/callbacks/useMutation.js +16 -5
- package/dist/esm/callbacks/useMutation.js.map +1 -1
- package/dist/esm/callbacks/useQueries.js +5 -4
- package/dist/esm/callbacks/useQueries.js.map +1 -1
- package/dist/esm/callbacks/useSuspenseQueries.js +5 -4
- package/dist/esm/callbacks/useSuspenseQueries.js.map +1 -1
- package/dist/esm/lib/callQueryClientFetchMethod.js +5 -4
- package/dist/esm/lib/callQueryClientFetchMethod.js.map +1 -1
- package/dist/esm/lib/createRequestFnInfo.js +15 -0
- package/dist/esm/lib/createRequestFnInfo.js.map +1 -0
- package/dist/esm/lib/requestFn.js +1 -1
- package/dist/esm/lib/requestFn.js.map +1 -1
- package/dist/esm/lib/useComposeUseQueryOptions.js +5 -4
- package/dist/esm/lib/useComposeUseQueryOptions.js.map +1 -1
- package/dist/esm/qraftReactAPIClient.js.map +1 -1
- package/dist/types/callbacks/operationInvokeFn.d.ts.map +1 -1
- package/dist/types/callbacks/useMutation.d.ts.map +1 -1
- package/dist/types/callbacks/useQueries.d.ts.map +1 -1
- package/dist/types/callbacks/useSuspenseQueries.d.ts.map +1 -1
- package/dist/types/index.d.ts +1 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/lib/callQueryClientFetchMethod.d.ts.map +1 -1
- package/dist/types/lib/createRequestFnInfo.d.ts +4 -0
- package/dist/types/lib/createRequestFnInfo.d.ts.map +1 -0
- package/dist/types/lib/requestFn.d.ts.map +1 -1
- package/dist/types/lib/useComposeUseQueryOptions.d.ts.map +1 -1
- package/dist/types/qraftReactAPIClient.d.ts +28 -44
- package/dist/types/qraftReactAPIClient.d.ts.map +1 -1
- package/package.json +14 -14
- package/src/callbacks/operationInvokeFn.ts +3 -0
- package/src/callbacks/useMutation.ts +14 -1
- package/src/callbacks/useQueries.ts +20 -9
- package/src/callbacks/useSuspenseQueries.ts +16 -8
- package/src/index.ts +5 -1
- package/src/lib/callQueryClientFetchMethod.ts +17 -10
- package/src/lib/createRequestFnInfo.ts +22 -0
- package/src/lib/requestFn.ts +7 -1
- package/src/lib/useComposeUseQueryOptions.ts +16 -13
- package/src/qraftReactAPIClient.ts +112 -57
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useComposeUseQueryOptions.cjs","sources":["../../../src/lib/useComposeUseQueryOptions.ts"],"sourcesContent":["'use client';\n\nimport type {\n ServiceOperationInfiniteQueryKey,\n ServiceOperationQueryKey,\n} from '@openapi-qraft/tanstack-query-react-types';\nimport type {\n QueryClient,\n QueryFunctionContext,\n UseQueryOptions,\n} from '@tanstack/react-query';\nimport type { CreateAPIQueryClientOptions } from '../qraftAPIClient.js';\nimport type { OperationSchema } from './requestFn.js';\nimport { useMemo } from 'react';\nimport { composeInfiniteQueryKey } from './composeInfiniteQueryKey.js';\nimport { composeQueryKey } from './composeQueryKey.js';\nimport { prepareRequestFnParameters } from './prepareRequestFnParameters.js';\nimport { requestFnResponseRejecter } from './requestFnResponseRejecter.js';\nimport { requestFnResponseResolver } from './requestFnResponseResolver.js';\n\n/**\n * Composes the options for useQuery, useInfiniteQuery, useSuspenseQuery, and useSuspenseQueries.\n * @internal\n */\nexport function useComposeUseQueryOptions(\n qraftOptions: CreateAPIQueryClientOptions,\n schema: OperationSchema,\n args: UseQueryOptionsArgs,\n infinite: boolean\n): never {\n const [parameters, options] = args;\n\n const queryFn = useMemo(\n () =>\n options?.queryFn ??\n qraftQueryFn.bind(null, qraftOptions.requestFn, qraftOptions.baseUrl),\n [qraftOptions.requestFn, qraftOptions.baseUrl, options?.queryFn]\n );\n\n const queryKey = useMemo(\n () =>\n Array.isArray(parameters)\n ? (parameters as ServiceOperationQueryKey<OperationSchema, unknown>)\n : infinite\n ? composeInfiniteQueryKey(schema, parameters)\n : composeQueryKey(schema, parameters),\n [schema, parameters, infinite]\n );\n\n return [{ ...options, queryFn, queryKey }, qraftOptions.queryClient] as never;\n}\n\nfunction qraftQueryFn(\n requestFn: CreateAPIQueryClientOptions['requestFn'],\n baseUrl: CreateAPIQueryClientOptions['baseUrl'],\n
|
|
1
|
+
{"version":3,"file":"useComposeUseQueryOptions.cjs","sources":["../../../src/lib/useComposeUseQueryOptions.ts"],"sourcesContent":["'use client';\n\nimport type {\n ServiceOperationInfiniteQueryKey,\n ServiceOperationQueryKey,\n} from '@openapi-qraft/tanstack-query-react-types';\nimport type {\n QueryClient,\n QueryFunctionContext,\n UseQueryOptions,\n} from '@tanstack/react-query';\nimport type { CreateAPIQueryClientOptions } from '../qraftAPIClient.js';\nimport type { OperationSchema } from './requestFn.js';\nimport { useMemo } from 'react';\nimport { composeInfiniteQueryKey } from './composeInfiniteQueryKey.js';\nimport { composeQueryKey } from './composeQueryKey.js';\nimport { createQueryRequestFnInfo } from './createRequestFnInfo.js';\nimport { prepareRequestFnParameters } from './prepareRequestFnParameters.js';\nimport { requestFnResponseRejecter } from './requestFnResponseRejecter.js';\nimport { requestFnResponseResolver } from './requestFnResponseResolver.js';\n\n/**\n * Composes the options for useQuery, useInfiniteQuery, useSuspenseQuery, and useSuspenseQueries.\n * @internal\n */\nexport function useComposeUseQueryOptions(\n qraftOptions: CreateAPIQueryClientOptions,\n schema: OperationSchema,\n args: UseQueryOptionsArgs,\n infinite: boolean\n): never {\n const [parameters, options] = args;\n\n const queryFn = useMemo(\n () =>\n options?.queryFn ??\n qraftQueryFn.bind(null, qraftOptions.requestFn, qraftOptions.baseUrl),\n [qraftOptions.requestFn, qraftOptions.baseUrl, options?.queryFn]\n );\n\n const queryKey = useMemo(\n () =>\n Array.isArray(parameters)\n ? (parameters as ServiceOperationQueryKey<OperationSchema, unknown>)\n : infinite\n ? composeInfiniteQueryKey(schema, parameters)\n : composeQueryKey(schema, parameters),\n [schema, parameters, infinite]\n );\n\n return [{ ...options, queryFn, queryKey }, qraftOptions.queryClient] as never;\n}\n\nfunction qraftQueryFn(\n requestFn: CreateAPIQueryClientOptions['requestFn'],\n baseUrl: CreateAPIQueryClientOptions['baseUrl'],\n context: QueryFunctionContext<\n | ServiceOperationQueryKey<OperationSchema, unknown>\n | ServiceOperationInfiniteQueryKey<OperationSchema, unknown>\n >\n) {\n const {\n queryKey: [schema, queryParams],\n meta,\n pageParam,\n } = context;\n const { parameters, body } = prepareRequestFnParameters(\n queryParams,\n pageParam,\n Boolean('infinite' in schema && schema.infinite)\n );\n\n return requestFn(\n schema,\n createQueryRequestFnInfo(context, {\n parameters: parameters as never,\n baseUrl,\n body,\n meta,\n })\n ).then(requestFnResponseResolver, requestFnResponseRejecter);\n}\n\ntype UseQueryOptionsArgs = [\n parameters: unknown,\n options?: UseQueryOptions,\n queryClient?: QueryClient,\n];\n"],"names":["useComposeUseQueryOptions","qraftOptions","schema","args","infinite","parameters","options","queryFn","useMemo","qraftQueryFn","bind","requestFn","baseUrl","queryKey","Array","isArray","composeInfiniteQueryKey","composeQueryKey","queryClient","context","queryParams","meta","pageParam","body","prepareRequestFnParameters","Boolean","createQueryRequestFnInfo","then","requestFnResponseResolver","requestFnResponseRejecter"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"qraftReactAPIClient.cjs","sources":["../../src/qraftReactAPIClient.ts"],"sourcesContent":["'use client';\n\nimport type { Context } from 'react';\nimport type * as callbacks from './callbacks/index.js';\nimport type { OperationSchema } from './lib/requestFn.js';\nimport type {\n APIBasicClientServices,\n APIBasicQueryClientServices,\n APIDefaultQueryClientServices,\n APIQueryClientServices,\n APIUtilityClientServices,\n CreateAPIBasicClientOptions,\n CreateAPIBasicQueryClientOptions,\n CreateAPIClientOptions,\n CreateAPIQueryClientOptions,\n MutationOperationHookCallbacks,\n QueryOperationHookCallbacks,\n ServicesFilteredByCallbacks,\n UnionServiceOperationsDeclaration,\n UtilityOperationCallbacks,\n} from './qraftAPIClient.js';\nimport { useContext } from 'react';\nimport { qraftAPIClient } from './qraftAPIClient.js';\n\ntype ServiceMethods = typeof callbacks;\n\ntype PartialServiceMethods = Partial<ServiceMethods>;\n\n/**\n * Creates a QueryClient compatible API Client which contains all operations\n * such as `useQuery`, `useMutation` with React Context support.\n *\n * @example Fetching data with QueryClient\n * ```ts\n * const api = qraftReactAPIClient(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 qraftReactAPIClient<\n Services extends UnionServiceOperationsDeclaration<Services>,\n Callbacks extends ServiceMethods,\n>(\n services: Services,\n callbacks: Callbacks,\n options:\n | CreateAPIQueryClientOptions\n | Context<CreateAPIQueryClientOptions | undefined>\n): APIDefaultQueryClientServices<Services>;\n\n/**\n * It creates a QueryClient-compatible API client that contains all the hooks\n * (useQuery, useMutation) and utilities for non-context operations,\n * such as `getQueryKey`.\n *\n * @example Fetching data with QueryClient from React Context\n * ```ts\n * const api = qraftReactAPIClient(services, callbacks, context);\n *\n * api.service.operation.useQuery({\n * parameters: { path: { id: 1 } },\n * });\n * ```\n */\nexport function qraftReactAPIClient<\n Services extends UnionServiceOperationsDeclaration<Services>,\n Callbacks extends PartialServiceMethods,\n>(\n services: Services,\n callbacks: Callbacks,\n options: Context<CreateAPIQueryClientOptions | undefined>\n): APIContextQueryClientServices<Services, Callbacks>;\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 = qraftReactAPIClient(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 qraftReactAPIClient<\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 = qraftReactAPIClient(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 qraftReactAPIClient<\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 = qraftReactAPIClient(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 = qraftReactAPIClient(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 qraftReactAPIClient<\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 = qraftReactAPIClient(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 = qraftReactAPIClient(services, callbacks);\n *\n * api.service.operation.getQueryKey({\n * parameters: { path: { id: 1 } },\n * });\n * ```\n */\nexport function qraftReactAPIClient<\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 qraftReactAPIClient<\n Services extends UnionServiceOperationsDeclaration<Services>,\n Callbacks extends PartialServiceMethods,\n>(\n services: Services,\n callbacks: Callbacks,\n options?:\n | CreateAPIClientOptions\n | Context<CreateAPIQueryClientOptions | undefined>\n):\n | APIQueryClientServices<Services, Callbacks>\n | APIDefaultQueryClientServices<Services>\n | APIBasicQueryClientServices<Services, Callbacks>\n | APIUtilityClientServices<Services, Callbacks>\n | APIContextQueryClientServices<Services, Callbacks> {\n if (options && 'Provider' in options && 'Consumer' in options) {\n const wrappedCallbacks = wrapHookCallbacks(callbacks, options);\n return qraftAPIClient(services, wrappedCallbacks) as never;\n }\n\n return qraftAPIClient(services, callbacks, options as never) as never;\n}\n\nfunction wrapHookCallbacks<Callbacks extends PartialServiceMethods>(\n callbacks: Callbacks,\n context: Context<CreateAPIQueryClientOptions | undefined>\n): Callbacks {\n return Object.fromEntries(\n Object.entries(callbacks).map(([callbackName, callback]) => {\n if (!callbackName.startsWith('use')) return [callbackName, callback];\n\n return [\n callbackName,\n wrapHookCallbackWithUseContext(context, callback as never),\n ];\n })\n ) as Callbacks;\n}\n\nfunction wrapHookCallbackWithUseContext(\n context: Context<CreateAPIQueryClientOptions | undefined>,\n callback: (\n options: CreateAPIClientOptions,\n schema: OperationSchema,\n args: unknown[]\n ) => any\n) {\n function useCallbackContext(\n _options: CreateAPIQueryClientOptions | undefined,\n schema: OperationSchema,\n args: unknown[]\n ) {\n const options = useContext(context);\n if (!options) throw new Error('No API Client context found');\n\n return callback(options, schema, args);\n }\n\n return useCallbackContext;\n}\n\nexport type APIContextQueryClientServices<\n Services extends UnionServiceOperationsDeclaration<Services>,\n Callbacks extends PartialServiceMethods,\n> = ServicesFilteredByCallbacks<\n Services,\n Extract<keyof Callbacks, HookOperationCallbackList>\n>;\n\ntype HookOperationCallbackList =\n | UtilityOperationCallbacks\n | QueryOperationHookCallbacks\n | MutationOperationHookCallbacks;\n"],"names":["qraftReactAPIClient","services","callbacks","options","wrappedCallbacks","wrapHookCallbacks","qraftAPIClient","context","Object","fromEntries","entries","map","callbackName","callback","startsWith","wrapHookCallbackWithUseContext","useCallbackContext","_options","schema","args","useContext","Error"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"qraftReactAPIClient.cjs","sources":["../../src/qraftReactAPIClient.ts"],"sourcesContent":["'use client';\n\nimport type { Context } from 'react';\nimport type * as callbacks from './callbacks/index.js';\nimport type { OperationSchema } from './lib/requestFn.js';\nimport type {\n CreateAPIBasicClientOptions,\n CreateAPIBasicQueryClientOptions,\n CreateAPIClientOptions,\n CreateAPIQueryClientOptions,\n MutationOperationHookCallbacks,\n QueryOperationHookCallbacks,\n ServicesFilteredByCallbacks,\n UnionServiceOperationsDeclaration,\n UtilityOperationCallbacks,\n} from './qraftAPIClient.js';\nimport { useContext } from 'react';\nimport { qraftAPIClient } from './qraftAPIClient.js';\n\ntype ServiceMethods = typeof callbacks;\n\ntype PartialServiceMethods = Partial<ServiceMethods>;\n\n/**\n * Creates a QueryClient compatible API Client which contains all non-hook\n * methods with request and QueryClient options bound.\n *\n * @example Fetching data with QueryClient\n * ```ts\n * const api = qraftReactAPIClient(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 qraftReactAPIClient<\n Services extends UnionServiceOperationsDeclaration<Services>,\n Callbacks extends ServiceMethods,\n>(\n services: Services,\n callbacks: Callbacks,\n options: CreateAPIQueryClientOptions\n): APIQueryClientMethodsServices<Services, Callbacks>;\n\n/**\n * It creates a QueryClient-compatible API client that contains all the hooks\n * (useQuery, useMutation) and utilities for non-context operations,\n * such as `getQueryKey`.\n *\n * @example Fetching data with QueryClient from React Context\n * ```ts\n * const api = qraftReactAPIClient(services, callbacks, context);\n *\n * api.service.operation.useQuery({\n * parameters: { path: { id: 1 } },\n * });\n * ```\n */\nexport function qraftReactAPIClient<\n Services extends UnionServiceOperationsDeclaration<Services>,\n Callbacks extends PartialServiceMethods,\n>(\n services: Services,\n callbacks: Callbacks,\n options: Context<CreateAPIQueryClientOptions | undefined>\n): APIQueryClientHooksServices<Services, Callbacks>;\n\n/**\n * Creates a QueryClient compatible API Client which contains all non-hook\n * methods with request and QueryClient options bound.\n *\n * @example Fetching data with QueryClient\n * ```ts\n * const api = qraftReactAPIClient(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 qraftReactAPIClient<\n Services extends UnionServiceOperationsDeclaration<Services>,\n Callbacks extends PartialServiceMethods,\n>(\n services: Services,\n callbacks: Callbacks,\n options: CreateAPIQueryClientOptions\n): APIQueryClientMethodsServices<Services, Callbacks>;\n\n/**\n * Creates a QueryClient compatible API Client which contains non-hook state\n * management methods such as `setQueryData`, `getQueryData` and\n * `invalidateQueries`.\n *\n * @example Invalidating queries with QueryClient\n * ```ts\n * const api = qraftReactAPIClient(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 qraftReactAPIClient<\n Services extends UnionServiceOperationsDeclaration<Services>,\n Callbacks extends PartialServiceMethods,\n>(\n services: Services,\n callbacks: Callbacks,\n options: CreateAPIBasicQueryClientOptions\n): APIBasicQueryClientMethodsServices<Services, Callbacks>;\n\n/**\n * Creates a basic API Client which contains operation invoke and key helpers.\n *\n * @example Fetching data\n * ```ts\n * const api = qraftReactAPIClient(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 qraftReactAPIClient<\n Services extends UnionServiceOperationsDeclaration<Services>,\n Callbacks extends PartialServiceMethods,\n>(\n services: Services,\n callbacks: Callbacks,\n options: CreateAPIBasicClientOptions\n): APIBasicClientMethodsServices<Services, Callbacks>;\n\n/**\n * Creates a utility API Client which contains key helper operations such as\n * `getQueryKey`, `getInfiniteQueryKey` and `getMutationKey`.\n *\n * @example Getting query keys with utility client\n * ```ts\n * const api = qraftReactAPIClient(services, callbacks);\n *\n * api.service.operation.getQueryKey({\n * parameters: { path: { id: 1 } },\n * });\n * ```\n */\nexport function qraftReactAPIClient<\n Services extends UnionServiceOperationsDeclaration<Services>,\n Callbacks extends PartialServiceMethods,\n>(\n services: Services,\n callbacks: Callbacks\n): APIUtilityClientMethodsServices<Services, Callbacks>;\n\nexport function qraftReactAPIClient<\n Services extends UnionServiceOperationsDeclaration<Services>,\n Callbacks extends PartialServiceMethods,\n>(\n services: Services,\n callbacks: Callbacks,\n options?:\n | CreateAPIClientOptions\n | Context<CreateAPIQueryClientOptions | undefined>\n):\n | APIQueryClientMethodsServices<Services, Callbacks>\n | APIBasicQueryClientMethodsServices<Services, Callbacks>\n | APIBasicClientMethodsServices<Services, Callbacks>\n | APIUtilityClientMethodsServices<Services, Callbacks>\n | APIQueryClientHooksServices<Services, Callbacks> {\n if (options && 'Provider' in options && 'Consumer' in options) {\n const wrappedCallbacks = wrapHookCallbacks(callbacks, options);\n return qraftAPIClient(services, wrappedCallbacks) as never;\n }\n\n return qraftAPIClient(services, callbacks, options as never) as never;\n}\n\nfunction wrapHookCallbacks<Callbacks extends PartialServiceMethods>(\n callbacks: Callbacks,\n context: Context<CreateAPIQueryClientOptions | undefined>\n): Callbacks {\n return Object.fromEntries(\n Object.entries(callbacks).map(([callbackName, callback]) => {\n if (!callbackName.startsWith('use')) return [callbackName, callback];\n\n return [\n callbackName,\n wrapHookCallbackWithUseContext(context, callback as never),\n ];\n })\n ) as Callbacks;\n}\n\nfunction wrapHookCallbackWithUseContext(\n context: Context<CreateAPIQueryClientOptions | undefined>,\n callback: (\n options: CreateAPIClientOptions,\n schema: OperationSchema,\n args: unknown[]\n ) => any\n) {\n function useCallbackContext(\n _options: CreateAPIQueryClientOptions | undefined,\n schema: OperationSchema,\n args: unknown[]\n ) {\n const options = useContext(context);\n if (!options) throw new Error('No API Client context found');\n\n return callback(options, schema, args);\n }\n\n return useCallbackContext;\n}\n\nexport type APIQueryClientHooksServices<\n Services extends UnionServiceOperationsDeclaration<Services>,\n Callbacks extends PartialServiceMethods,\n> = ServicesFilteredByCallbacks<\n Services,\n Extract<keyof Callbacks, HookOperationCallbackList>\n>;\n\ntype HookOperationCallbackList =\n | UtilityOperationCallbacks\n | QueryOperationHookCallbacks\n | MutationOperationHookCallbacks;\n\nexport type APIUtilityClientMethodsServices<\n Services extends UnionServiceOperationsDeclaration<Services>,\n Callbacks extends PartialServiceMethods,\n> = ServicesFilteredByCallbacks<\n Services,\n Extract<keyof Callbacks, KeyOperationCallbacks>\n>;\n\nexport type APIBasicClientMethodsServices<\n Services extends UnionServiceOperationsDeclaration<Services>,\n Callbacks extends PartialServiceMethods,\n> = ServicesFilteredByCallbacks<\n Services,\n Extract<keyof Callbacks, InvokeOperationCallback | KeyOperationCallbacks>\n>;\n\nexport type APIBasicQueryClientMethodsServices<\n Services extends UnionServiceOperationsDeclaration<Services>,\n Callbacks extends PartialServiceMethods,\n> = ServicesFilteredByCallbacks<\n Services,\n Extract<\n keyof Callbacks,\n | QueryOperationStateMethodCallbacks\n | MutationOperationStateMethodCallbacks\n | KeyOperationCallbacks\n >\n>;\n\nexport type APIQueryClientMethodsServices<\n Services extends UnionServiceOperationsDeclaration<Services>,\n Callbacks extends PartialServiceMethods,\n> = ServicesFilteredByCallbacks<\n Services,\n Extract<\n keyof Callbacks,\n | QueryOperationMethodCallbacks\n | QueryOperationStateMethodCallbacks\n | MutationOperationStateMethodCallbacks\n | InvokeOperationCallback\n | KeyOperationCallbacks\n >\n>;\n\ntype QueryOperationMethodCallbacks = Extract<\n keyof ServiceMethods,\n | 'fetchInfiniteQuery'\n | 'fetchQuery'\n | 'prefetchInfiniteQuery'\n | 'prefetchQuery'\n | 'refetchQueries'\n | 'ensureQueryData'\n | 'ensureInfiniteQueryData'\n>;\n\ntype QueryOperationStateMethodCallbacks = 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\ntype MutationOperationStateMethodCallbacks = Extract<\n keyof ServiceMethods,\n 'getMutationCache' | 'isMutating'\n>;\n\ntype InvokeOperationCallback = Extract<\n keyof ServiceMethods,\n 'operationInvokeFn'\n>;\n\ntype KeyOperationCallbacks = Extract<\n keyof ServiceMethods,\n 'getQueryKey' | 'getInfiniteQueryKey' | 'getMutationKey'\n>;\n"],"names":["qraftReactAPIClient","services","callbacks","options","wrappedCallbacks","wrapHookCallbacks","qraftAPIClient","context","Object","fromEntries","entries","map","callbackName","callback","startsWith","wrapHookCallbackWithUseContext","useCallbackContext","_options","schema","args","useContext","Error"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"operationInvokeFn.js","sources":["../../../src/callbacks/operationInvokeFn.ts"],"sourcesContent":["import type {\n OperationSchema,\n RequestFnResponse,\n ServiceOperationMutationFn,\n ServiceOperationQueryFn,\n} from '@openapi-qraft/tanstack-query-react-types';\nimport type { CreateAPIBasicClientOptions } from '../qraftAPIClient.js';\n\n/**\n * Called when <service>.<operation>(...) is invoked.\n */\nexport const operationInvokeFn: <\n TSchema extends OperationSchema,\n TBody,\n TData,\n TParams,\n TError,\n>(\n qraftOptions: CreateAPIBasicClientOptions,\n schema: TSchema,\n args:\n | Parameters<ServiceOperationQueryFn<TSchema, TData, TParams, TError>>\n | Parameters<\n ServiceOperationMutationFn<TSchema, TBody, TData, TParams, TError>\n >\n) => Promise<RequestFnResponse<TData, TError>> = (\n qraftOptions,\n schema,\n args\n) => {\n const queryOperationMethods = ['get', 'head', 'options'] as const; // todo::make it shared\n\n const isQueryOperationType = queryOperationMethods.includes(\n schema.method as (typeof queryOperationMethods)[number]\n );\n\n const [options, requestFn = qraftOptions.requestFn] = args;\n\n const invokeSchema =\n options && isQueryOperationType && 'queryKey' in options\n ? options.queryKey![0]\n : schema;\n\n const invokeParameters =\n options && isQueryOperationType && 'queryKey' in options\n ? options.queryKey![1]\n : options && 'parameters' in options\n ? options.parameters\n : undefined;\n\n const baseUrl = options && 'baseUrl' in options ? options.baseUrl : undefined;\n\n return requestFn(invokeSchema, {\n ...options,\n baseUrl: baseUrl ?? qraftOptions.baseUrl,\n parameters: invokeParameters,\n } as never);\n};\n"],"names":["operationInvokeFn","qraftOptions","schema","args","queryOperationMethods","isQueryOperationType","includes","method","options","requestFn","invokeSchema","queryKey","invokeParameters","parameters","undefined","baseUrl"],"mappings":"AAQA;;AAEC,IACM,MAAMA,iBAAAA,GAcoC,CAC/CC,cACAC,MAAAA,EACAC,IAAAA,GAAAA;AAEA,IAAA,MAAMC,qBAAAA,GAAwB;AAAC,QAAA,KAAA;AAAO,QAAA,MAAA;AAAQ,QAAA;AAAU,KAAA,CAAA;AAExD,IAAA,MAAMC,oBAAAA,GAAuBD,qBAAAA,CAAsBE,QAAQ,CACzDJ,OAAOK,MAAM,CAAA;AAGf,IAAA,MAAM,CAACC,OAAAA,EAASC,SAAAA,GAAYR,YAAAA,CAAaQ,SAAS,CAAC,GAAGN,IAAAA;IAEtD,MAAMO,YAAAA,GACJF,OAAAA,IAAWH,oBAAAA,IAAwB,UAAA,IAAcG,OAAAA,GAC7CA,QAAQG,QAAS,CAAC,CAAA,CAAE,GACpBT,MAAAA;AAEN,IAAA,MAAMU,mBACJJ,OAAAA,IAAWH,oBAAAA,IAAwB,UAAA,IAAcG,OAAAA,GAC7CA,QAAQG,QAAS,CAAC,CAAA,CAAE,GACpBH,OAAAA,IAAW,YAAA,IAAgBA,OAAAA,GACzBA,OAAAA,CAAQK,UAAU,GAClBC,SAAAA;AAER,IAAA,MAAMC,UAAUP,OAAAA,IAAW,SAAA,IAAaA,OAAAA,GAAUA,OAAAA,CAAQO,OAAO,GAAGD,SAAAA;AAEpE,IAAA,OAAOL,UAAUC,YAAAA,EAAc;AAC7B,QAAA,GAAGF,OAAO;QACVO,OAAAA,EAASA,OAAAA,IAAWd,aAAac,OAAO;QACxCF,UAAAA,EAAYD;
|
|
1
|
+
{"version":3,"file":"operationInvokeFn.js","sources":["../../../src/callbacks/operationInvokeFn.ts"],"sourcesContent":["import type {\n OperationSchema,\n RequestFnResponse,\n ServiceOperationMutationFn,\n ServiceOperationQueryFn,\n} from '@openapi-qraft/tanstack-query-react-types';\nimport type { CreateAPIBasicClientOptions } from '../qraftAPIClient.js';\n\n/**\n * Called when <service>.<operation>(...) is invoked.\n */\nexport const operationInvokeFn: <\n TSchema extends OperationSchema,\n TBody,\n TData,\n TParams,\n TError,\n>(\n qraftOptions: CreateAPIBasicClientOptions,\n schema: TSchema,\n args:\n | Parameters<ServiceOperationQueryFn<TSchema, TData, TParams, TError>>\n | Parameters<\n ServiceOperationMutationFn<TSchema, TBody, TData, TParams, TError>\n >\n) => Promise<RequestFnResponse<TData, TError>> = (\n qraftOptions,\n schema,\n args\n) => {\n const queryOperationMethods = ['get', 'head', 'options'] as const; // todo::make it shared\n\n const isQueryOperationType = queryOperationMethods.includes(\n schema.method as (typeof queryOperationMethods)[number]\n );\n\n const [options, requestFn = qraftOptions.requestFn] = args;\n\n const invokeSchema =\n options && isQueryOperationType && 'queryKey' in options\n ? options.queryKey![0]\n : schema;\n\n const invokeParameters =\n options && isQueryOperationType && 'queryKey' in options\n ? options.queryKey![1]\n : options && 'parameters' in options\n ? options.parameters\n : undefined;\n\n const baseUrl = options && 'baseUrl' in options ? options.baseUrl : undefined;\n\n return requestFn(invokeSchema, {\n ...options,\n baseUrl: baseUrl ?? qraftOptions.baseUrl,\n parameters: invokeParameters,\n source: {\n type: 'invoke',\n },\n } as never);\n};\n"],"names":["operationInvokeFn","qraftOptions","schema","args","queryOperationMethods","isQueryOperationType","includes","method","options","requestFn","invokeSchema","queryKey","invokeParameters","parameters","undefined","baseUrl","source","type"],"mappings":"AAQA;;AAEC,IACM,MAAMA,iBAAAA,GAcoC,CAC/CC,cACAC,MAAAA,EACAC,IAAAA,GAAAA;AAEA,IAAA,MAAMC,qBAAAA,GAAwB;AAAC,QAAA,KAAA;AAAO,QAAA,MAAA;AAAQ,QAAA;AAAU,KAAA,CAAA;AAExD,IAAA,MAAMC,oBAAAA,GAAuBD,qBAAAA,CAAsBE,QAAQ,CACzDJ,OAAOK,MAAM,CAAA;AAGf,IAAA,MAAM,CAACC,OAAAA,EAASC,SAAAA,GAAYR,YAAAA,CAAaQ,SAAS,CAAC,GAAGN,IAAAA;IAEtD,MAAMO,YAAAA,GACJF,OAAAA,IAAWH,oBAAAA,IAAwB,UAAA,IAAcG,OAAAA,GAC7CA,QAAQG,QAAS,CAAC,CAAA,CAAE,GACpBT,MAAAA;AAEN,IAAA,MAAMU,mBACJJ,OAAAA,IAAWH,oBAAAA,IAAwB,UAAA,IAAcG,OAAAA,GAC7CA,QAAQG,QAAS,CAAC,CAAA,CAAE,GACpBH,OAAAA,IAAW,YAAA,IAAgBA,OAAAA,GACzBA,OAAAA,CAAQK,UAAU,GAClBC,SAAAA;AAER,IAAA,MAAMC,UAAUP,OAAAA,IAAW,SAAA,IAAaA,OAAAA,GAAUA,OAAAA,CAAQO,OAAO,GAAGD,SAAAA;AAEpE,IAAA,OAAOL,UAAUC,YAAAA,EAAc;AAC7B,QAAA,GAAGF,OAAO;QACVO,OAAAA,EAASA,OAAAA,IAAWd,aAAac,OAAO;QACxCF,UAAAA,EAAYD,gBAAAA;QACZI,MAAAA,EAAQ;YACNC,IAAAA,EAAM;AACR;AACF,KAAA,CAAA;AACF;;;;"}
|
|
@@ -17,21 +17,27 @@ const useMutation = (qraftOptions, schema, args)=>{
|
|
|
17
17
|
return useMutation$1({
|
|
18
18
|
...options,
|
|
19
19
|
mutationKey,
|
|
20
|
-
mutationFn: useMemo(()=>options?.mutationFn ?? qraftMutationFn.bind(null, qraftOptions.requestFn, qraftOptions.baseUrl, schema, parameters), [
|
|
20
|
+
mutationFn: useMemo(()=>options?.mutationFn ?? qraftMutationFn.bind(null, qraftOptions.requestFn, qraftOptions.baseUrl, schema, parameters, mutationKey), [
|
|
21
21
|
options?.mutationFn,
|
|
22
22
|
qraftOptions.requestFn,
|
|
23
23
|
qraftOptions.baseUrl,
|
|
24
24
|
schema,
|
|
25
|
-
parameters
|
|
25
|
+
parameters,
|
|
26
|
+
mutationKey
|
|
26
27
|
])
|
|
27
28
|
}, qraftOptions.queryClient);
|
|
28
29
|
};
|
|
29
|
-
function qraftMutationFn(requestFn, baseUrl, schema, parameters, mutationVariables) {
|
|
30
|
+
function qraftMutationFn(requestFn, baseUrl, schema, parameters, mutationKey, mutationVariables) {
|
|
30
31
|
if (parameters) {
|
|
31
32
|
return requestFn(schema, {
|
|
32
33
|
parameters,
|
|
33
34
|
baseUrl,
|
|
34
|
-
body: mutationVariables
|
|
35
|
+
body: mutationVariables,
|
|
36
|
+
source: {
|
|
37
|
+
type: 'mutation',
|
|
38
|
+
variables: mutationVariables,
|
|
39
|
+
mutationKey
|
|
40
|
+
}
|
|
35
41
|
}).then(requestFnResponseResolver, requestFnResponseRejecter);
|
|
36
42
|
}
|
|
37
43
|
const mutationParameters = typeof mutationVariables === 'object' && mutationVariables !== null ? {
|
|
@@ -42,7 +48,12 @@ function qraftMutationFn(requestFn, baseUrl, schema, parameters, mutationVariabl
|
|
|
42
48
|
return requestFn(schema, {
|
|
43
49
|
parameters: mutationParameters,
|
|
44
50
|
baseUrl,
|
|
45
|
-
body
|
|
51
|
+
body,
|
|
52
|
+
source: {
|
|
53
|
+
type: 'mutation',
|
|
54
|
+
variables: mutationVariables,
|
|
55
|
+
mutationKey
|
|
56
|
+
}
|
|
46
57
|
}).then(requestFnResponseResolver, requestFnResponseRejecter);
|
|
47
58
|
}
|
|
48
59
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useMutation.js","sources":["../../../src/callbacks/useMutation.ts"],"sourcesContent":["'use client';\n\nimport type {\n OperationSchema,\n ServiceOperationMutationKey,\n ServiceOperationUseMutationOptions,\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 { useMemo } from 'react';\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: [\n parameters?: unknown,\n options?: ServiceOperationUseMutationOptions<any, any, any, any, any>,\n ]\n) => UseMutationResult<TData, TError, TVariables, TContext> = (\n qraftOptions,\n schema,\n args\n) => {\n const [parameters, options] = args;\n\n const optionsMutationKey =\n options && 'mutationKey' in options\n ? (options.mutationKey as ServiceOperationMutationKey<\n typeof schema,\n unknown\n >)\n : undefined;\n\n if (parameters && typeof parameters === 'object' && optionsMutationKey)\n throw new Error(\n `'useMutation': parameters and 'options.mutationKey' cannot be used together`\n );\n\n const mutationKey = useMemo(\n () => optionsMutationKey ?? composeMutationKey(schema, parameters),\n [optionsMutationKey, schema, parameters]\n );\n\n return useMutationBase(\n {\n ...options,\n mutationKey,\n mutationFn: useMemo(\n () =>\n options?.mutationFn ??\n qraftMutationFn.bind(\n null,\n qraftOptions.requestFn,\n qraftOptions.baseUrl,\n schema,\n parameters\n ),\n [\n options?.mutationFn,\n qraftOptions.requestFn,\n qraftOptions.baseUrl,\n schema,\n parameters,\n ]\n ),\n },\n qraftOptions.queryClient\n ) as never;\n};\n\nfunction qraftMutationFn(\n requestFn: CreateAPIQueryClientOptions['requestFn'],\n baseUrl: CreateAPIQueryClientOptions['baseUrl'],\n schema: OperationSchema,\n parameters: unknown,\n mutationVariables:\n | {\n body: unknown;\n }\n | undefined\n) {\n if (parameters) {\n return requestFn(schema, {\n parameters,\n baseUrl,\n body: mutationVariables as never,\n }).then(requestFnResponseResolver, requestFnResponseRejecter);\n }\n\n const mutationParameters =\n typeof mutationVariables === 'object' && mutationVariables !== null\n ? { ...mutationVariables }\n : undefined;\n const body = mutationParameters?.body;\n delete mutationParameters?.body;\n\n return requestFn(schema, {\n parameters: mutationParameters,\n baseUrl,\n body,\n } as never).then(requestFnResponseResolver, requestFnResponseRejecter);\n}\n"],"names":["useMutation","qraftOptions","schema","args","parameters","options","optionsMutationKey","mutationKey","undefined","Error","useMemo","composeMutationKey","useMutationBase","mutationFn","qraftMutationFn","bind","requestFn","baseUrl","queryClient","mutationVariables","body","then","requestFnResponseResolver","requestFnResponseRejecter","mutationParameters"],"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 ServiceOperationUseMutationOptions,\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 { useMemo } from 'react';\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: [\n parameters?: unknown,\n options?: ServiceOperationUseMutationOptions<any, any, any, any, any>,\n ]\n) => UseMutationResult<TData, TError, TVariables, TContext> = (\n qraftOptions,\n schema,\n args\n) => {\n const [parameters, options] = args;\n\n const optionsMutationKey =\n options && 'mutationKey' in options\n ? (options.mutationKey as ServiceOperationMutationKey<\n typeof schema,\n unknown\n >)\n : undefined;\n\n if (parameters && typeof parameters === 'object' && optionsMutationKey)\n throw new Error(\n `'useMutation': parameters and 'options.mutationKey' cannot be used together`\n );\n\n const mutationKey = useMemo(\n () => optionsMutationKey ?? composeMutationKey(schema, parameters),\n [optionsMutationKey, schema, parameters]\n );\n\n return useMutationBase(\n {\n ...options,\n mutationKey,\n mutationFn: useMemo(\n () =>\n options?.mutationFn ??\n qraftMutationFn.bind(\n null,\n qraftOptions.requestFn,\n qraftOptions.baseUrl,\n schema,\n parameters,\n mutationKey\n ),\n [\n options?.mutationFn,\n qraftOptions.requestFn,\n qraftOptions.baseUrl,\n schema,\n parameters,\n mutationKey,\n ]\n ),\n },\n qraftOptions.queryClient\n ) as never;\n};\n\nfunction qraftMutationFn(\n requestFn: CreateAPIQueryClientOptions['requestFn'],\n baseUrl: CreateAPIQueryClientOptions['baseUrl'],\n schema: OperationSchema,\n parameters: unknown,\n mutationKey: ServiceOperationMutationKey<OperationSchema, unknown>,\n mutationVariables:\n | {\n body: unknown;\n }\n | undefined\n) {\n if (parameters) {\n return requestFn(schema, {\n parameters,\n baseUrl,\n body: mutationVariables as never,\n source: {\n type: 'mutation',\n variables: mutationVariables,\n mutationKey,\n },\n }).then(requestFnResponseResolver, requestFnResponseRejecter);\n }\n\n const mutationParameters =\n typeof mutationVariables === 'object' && mutationVariables !== null\n ? { ...mutationVariables }\n : undefined;\n const body = mutationParameters?.body;\n delete mutationParameters?.body;\n\n return requestFn(schema, {\n parameters: mutationParameters,\n baseUrl,\n body,\n source: {\n type: 'mutation',\n variables: mutationVariables,\n mutationKey,\n },\n } as never).then(requestFnResponseResolver, requestFnResponseRejecter);\n}\n"],"names":["useMutation","qraftOptions","schema","args","parameters","options","optionsMutationKey","mutationKey","undefined","Error","useMemo","composeMutationKey","useMutationBase","mutationFn","qraftMutationFn","bind","requestFn","baseUrl","queryClient","mutationVariables","body","source","type","variables","then","requestFnResponseResolver","requestFnResponseRejecter","mutationParameters"],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import { useQueries as useQueries$1 } from '@tanstack/react-query';
|
|
3
3
|
import { composeQueryKey } from '../lib/composeQueryKey.js';
|
|
4
|
+
import { createQueryRequestFnInfo } from '../lib/createRequestFnInfo.js';
|
|
4
5
|
import { prepareRequestFnParameters } from '../lib/prepareRequestFnParameters.js';
|
|
5
6
|
import { requestFnResponseRejecter } from '../lib/requestFnResponseRejecter.js';
|
|
6
7
|
import { requestFnResponseResolver } from '../lib/requestFnResponseResolver.js';
|
|
@@ -19,15 +20,15 @@ const useQueries = (qraftOptions, schema, args)=>{
|
|
|
19
20
|
})() : queryOptions;
|
|
20
21
|
return {
|
|
21
22
|
...optionsWithQueryKey,
|
|
22
|
-
queryFn: optionsWithQueryKey.queryFn ?? function(
|
|
23
|
+
queryFn: optionsWithQueryKey.queryFn ?? function(context) {
|
|
24
|
+
const { queryKey: [, queryParams], meta } = context;
|
|
23
25
|
const { parameters, body } = prepareRequestFnParameters(queryParams, undefined, false);
|
|
24
|
-
return qraftOptions.requestFn(schema, {
|
|
26
|
+
return qraftOptions.requestFn(schema, createQueryRequestFnInfo(context, {
|
|
25
27
|
parameters: parameters,
|
|
26
28
|
baseUrl: qraftOptions.baseUrl,
|
|
27
29
|
body,
|
|
28
|
-
signal,
|
|
29
30
|
meta
|
|
30
|
-
}).then(requestFnResponseResolver, requestFnResponseRejecter);
|
|
31
|
+
})).then(requestFnResponseResolver, requestFnResponseRejecter);
|
|
31
32
|
}
|
|
32
33
|
};
|
|
33
34
|
})
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useQueries.js","sources":["../../../src/callbacks/useQueries.ts"],"sourcesContent":["'use client';\n\nimport type {\n OperationSchema,\n ServiceOperationUseQueries,\n} from '@openapi-qraft/tanstack-query-react-types';\nimport type {
|
|
1
|
+
{"version":3,"file":"useQueries.js","sources":["../../../src/callbacks/useQueries.ts"],"sourcesContent":["'use client';\n\nimport type {\n OperationSchema,\n ServiceOperationUseQueries,\n} from '@openapi-qraft/tanstack-query-react-types';\nimport type {\n DefaultError,\n QueriesResults,\n QueryFunctionContext,\n} from '@tanstack/react-query';\nimport type { CreateAPIQueryClientOptions } from '../qraftAPIClient.js';\nimport { useQueries as useQueriesTanstack } from '@tanstack/react-query';\nimport { composeQueryKey } from '../lib/composeQueryKey.js';\nimport { createQueryRequestFnInfo } from '../lib/createRequestFnInfo.js';\nimport { prepareRequestFnParameters } from '../lib/prepareRequestFnParameters.js';\nimport { requestFnResponseRejecter } from '../lib/requestFnResponseRejecter.js';\nimport { requestFnResponseResolver } from '../lib/requestFnResponseResolver.js';\n\nexport const useQueries: (\n qraftOptions: CreateAPIQueryClientOptions,\n schema: OperationSchema,\n args: Parameters<\n ServiceOperationUseQueries<\n OperationSchema,\n unknown,\n unknown,\n DefaultError\n >['useQueries']\n >\n) => QueriesResults<never> = (qraftOptions, schema, args) => {\n const [options] = args;\n\n return useQueriesTanstack(\n {\n ...options,\n queries: options.queries.map((queryOptions) => {\n const optionsWithQueryKey =\n 'parameters' in queryOptions\n ? (() => {\n const queryOptionsCopy = Object.assign(\n {\n queryKey: composeQueryKey(schema, queryOptions.parameters),\n },\n queryOptions\n );\n delete queryOptionsCopy.parameters;\n return queryOptionsCopy;\n })()\n : queryOptions;\n\n return {\n ...optionsWithQueryKey,\n queryFn:\n optionsWithQueryKey.queryFn ??\n function (context: QueryFunctionContext) {\n const {\n queryKey: [, queryParams],\n meta,\n } = context;\n const { parameters, body } = prepareRequestFnParameters(\n queryParams,\n undefined,\n false\n );\n\n return qraftOptions\n .requestFn(\n schema,\n createQueryRequestFnInfo(context, {\n parameters: parameters as never,\n baseUrl: qraftOptions.baseUrl,\n body,\n meta,\n })\n )\n .then(requestFnResponseResolver, requestFnResponseRejecter);\n },\n };\n }),\n },\n qraftOptions.queryClient\n ) as never;\n};\n"],"names":["useQueries","qraftOptions","schema","args","options","useQueriesTanstack","queries","map","queryOptions","optionsWithQueryKey","queryOptionsCopy","Object","assign","queryKey","composeQueryKey","parameters","queryFn","context","queryParams","meta","body","prepareRequestFnParameters","undefined","requestFn","createQueryRequestFnInfo","baseUrl","then","requestFnResponseResolver","requestFnResponseRejecter","queryClient"],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import { useSuspenseQueries as useSuspenseQueries$1 } from '@tanstack/react-query';
|
|
3
3
|
import { composeQueryKey } from '../lib/composeQueryKey.js';
|
|
4
|
+
import { createQueryRequestFnInfo } from '../lib/createRequestFnInfo.js';
|
|
4
5
|
import { prepareRequestFnParameters } from '../lib/prepareRequestFnParameters.js';
|
|
5
6
|
import { requestFnResponseRejecter } from '../lib/requestFnResponseRejecter.js';
|
|
6
7
|
import { requestFnResponseResolver } from '../lib/requestFnResponseResolver.js';
|
|
@@ -20,15 +21,15 @@ const useSuspenseQueries = (qraftOptions, schema, args)=>{
|
|
|
20
21
|
})() : queryOptions;
|
|
21
22
|
return {
|
|
22
23
|
...optionsWithQueryKey,
|
|
23
|
-
queryFn: optionsWithQueryKey.queryFn ?? function(
|
|
24
|
+
queryFn: optionsWithQueryKey.queryFn ?? function(context) {
|
|
25
|
+
const { queryKey: [, queryParams], meta } = context;
|
|
24
26
|
const { parameters, body } = prepareRequestFnParameters(queryParams, undefined, false);
|
|
25
|
-
return qraftOptions.requestFn(schema, {
|
|
27
|
+
return qraftOptions.requestFn(schema, createQueryRequestFnInfo(context, {
|
|
26
28
|
parameters: parameters,
|
|
27
29
|
baseUrl: qraftOptions.baseUrl,
|
|
28
30
|
body,
|
|
29
|
-
signal,
|
|
30
31
|
meta
|
|
31
|
-
}).then(requestFnResponseResolver, requestFnResponseRejecter);
|
|
32
|
+
})).then(requestFnResponseResolver, requestFnResponseRejecter);
|
|
32
33
|
}
|
|
33
34
|
};
|
|
34
35
|
})
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSuspenseQueries.js","sources":["../../../src/callbacks/useSuspenseQueries.ts"],"sourcesContent":["'use client';\n\nimport type {\n OperationSchema,\n ServiceOperationUseSuspenseQueries,\n} from '@openapi-qraft/tanstack-query-react-types';\nimport type {\n DefaultError,\n SuspenseQueriesResults,\n} from '@tanstack/react-query';\nimport type { CreateAPIQueryClientOptions } from '../qraftAPIClient.js';\nimport { useSuspenseQueries as useSuspenseQueriesTanstack } from '@tanstack/react-query';\nimport { composeQueryKey } from '../lib/composeQueryKey.js';\nimport { prepareRequestFnParameters } from '../lib/prepareRequestFnParameters.js';\nimport { requestFnResponseRejecter } from '../lib/requestFnResponseRejecter.js';\nimport { requestFnResponseResolver } from '../lib/requestFnResponseResolver.js';\n\nexport const useSuspenseQueries: (\n qraftOptions: CreateAPIQueryClientOptions,\n schema: OperationSchema,\n args: Parameters<\n ServiceOperationUseSuspenseQueries<\n OperationSchema,\n unknown,\n unknown,\n DefaultError\n >['useSuspenseQueries']\n >\n) => SuspenseQueriesResults<never> = (qraftOptions, schema, args) => {\n const [options] = args;\n\n return useSuspenseQueriesTanstack(\n {\n ...options,\n // @ts-expect-error - Too complex to type\n queries: options.queries.map((queryOptions) => {\n const optionsWithQueryKey =\n 'parameters' in queryOptions\n ? (() => {\n const queryOptionsCopy = Object.assign(\n {\n queryKey: composeQueryKey(schema, queryOptions.parameters),\n },\n queryOptions\n );\n delete queryOptionsCopy.parameters;\n return queryOptionsCopy;\n })()\n : queryOptions;\n\n return {\n ...optionsWithQueryKey,\n queryFn:\n optionsWithQueryKey.queryFn ??\n function ({ queryKey: [, queryParams]
|
|
1
|
+
{"version":3,"file":"useSuspenseQueries.js","sources":["../../../src/callbacks/useSuspenseQueries.ts"],"sourcesContent":["'use client';\n\nimport type {\n OperationSchema,\n ServiceOperationUseSuspenseQueries,\n} from '@openapi-qraft/tanstack-query-react-types';\nimport type {\n DefaultError,\n QueryFunctionContext,\n SuspenseQueriesResults,\n} from '@tanstack/react-query';\nimport type { CreateAPIQueryClientOptions } from '../qraftAPIClient.js';\nimport { useSuspenseQueries as useSuspenseQueriesTanstack } from '@tanstack/react-query';\nimport { composeQueryKey } from '../lib/composeQueryKey.js';\nimport { createQueryRequestFnInfo } from '../lib/createRequestFnInfo.js';\nimport { prepareRequestFnParameters } from '../lib/prepareRequestFnParameters.js';\nimport { requestFnResponseRejecter } from '../lib/requestFnResponseRejecter.js';\nimport { requestFnResponseResolver } from '../lib/requestFnResponseResolver.js';\n\nexport const useSuspenseQueries: (\n qraftOptions: CreateAPIQueryClientOptions,\n schema: OperationSchema,\n args: Parameters<\n ServiceOperationUseSuspenseQueries<\n OperationSchema,\n unknown,\n unknown,\n DefaultError\n >['useSuspenseQueries']\n >\n) => SuspenseQueriesResults<never> = (qraftOptions, schema, args) => {\n const [options] = args;\n\n return useSuspenseQueriesTanstack(\n {\n ...options,\n // @ts-expect-error - Too complex to type\n queries: options.queries.map((queryOptions) => {\n const optionsWithQueryKey =\n 'parameters' in queryOptions\n ? (() => {\n const queryOptionsCopy = Object.assign(\n {\n queryKey: composeQueryKey(schema, queryOptions.parameters),\n },\n queryOptions\n );\n delete queryOptionsCopy.parameters;\n return queryOptionsCopy;\n })()\n : queryOptions;\n\n return {\n ...optionsWithQueryKey,\n queryFn:\n optionsWithQueryKey.queryFn ??\n function (context: QueryFunctionContext) {\n const {\n queryKey: [, queryParams],\n meta,\n } = context;\n const { parameters, body } = prepareRequestFnParameters(\n queryParams,\n undefined,\n false\n );\n\n return qraftOptions\n .requestFn(\n schema,\n createQueryRequestFnInfo(context, {\n parameters: parameters as never,\n baseUrl: qraftOptions.baseUrl,\n body,\n meta,\n })\n )\n .then(requestFnResponseResolver, requestFnResponseRejecter);\n },\n };\n }),\n },\n qraftOptions.queryClient\n ) as never;\n};\n"],"names":["useSuspenseQueries","qraftOptions","schema","args","options","useSuspenseQueriesTanstack","queries","map","queryOptions","optionsWithQueryKey","queryOptionsCopy","Object","assign","queryKey","composeQueryKey","parameters","queryFn","context","queryParams","meta","body","prepareRequestFnParameters","undefined","requestFn","createQueryRequestFnInfo","baseUrl","then","requestFnResponseResolver","requestFnResponseRejecter","queryClient"],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { composeInfiniteQueryKey } from './composeInfiniteQueryKey.js';
|
|
2
2
|
import { composeQueryKey } from './composeQueryKey.js';
|
|
3
|
+
import { createQueryRequestFnInfo } from './createRequestFnInfo.js';
|
|
3
4
|
import { prepareRequestFnParameters } from './prepareRequestFnParameters.js';
|
|
4
5
|
import { requestFnResponseRejecter } from './requestFnResponseRejecter.js';
|
|
5
6
|
import { requestFnResponseResolver } from './requestFnResponseResolver.js';
|
|
@@ -18,15 +19,15 @@ import { requestFnResponseResolver } from './requestFnResponseResolver.js';
|
|
|
18
19
|
if (options.queryKey && parameters) {
|
|
19
20
|
throw new Error('callQueryClientMethodWithQueryKey: options.queryKey and options.parameters are mutually exclusive');
|
|
20
21
|
}
|
|
21
|
-
const queryFn = queryFnOption ?? (requestFn ? function(
|
|
22
|
+
const queryFn = queryFnOption ?? (requestFn ? function(context) {
|
|
23
|
+
const { queryKey: [, queryParams], meta, pageParam } = context;
|
|
22
24
|
const { parameters, body } = prepareRequestFnParameters(queryParams, pageParam, infinite);
|
|
23
|
-
return requestFn(schema, {
|
|
25
|
+
return requestFn(schema, createQueryRequestFnInfo(context, {
|
|
24
26
|
parameters: parameters,
|
|
25
27
|
baseUrl,
|
|
26
28
|
body,
|
|
27
|
-
signal,
|
|
28
29
|
meta
|
|
29
|
-
}).then(requestFnResponseResolver, requestFnResponseRejecter);
|
|
30
|
+
})).then(requestFnResponseResolver, requestFnResponseRejecter);
|
|
30
31
|
} : undefined);
|
|
31
32
|
// @ts-expect-error - Too complex union to type
|
|
32
33
|
return queryClient[queryFilterMethod]({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"callQueryClientFetchMethod.js","sources":["../../../src/lib/callQueryClientFetchMethod.ts"],"sourcesContent":["import type { QueryClient } from '@tanstack/react-query';\nimport type { CreateAPIQueryClientOptions } from '../qraftAPIClient.js';\nimport type { OperationSchema, RequestFn } from './requestFn.js';\nimport { composeInfiniteQueryKey } from './composeInfiniteQueryKey.js';\nimport { composeQueryKey } from './composeQueryKey.js';\nimport { prepareRequestFnParameters } from './prepareRequestFnParameters.js';\nimport { requestFnResponseRejecter } from './requestFnResponseRejecter.js';\nimport { requestFnResponseResolver } from './requestFnResponseResolver.js';\n\n/**\n * Calls a query client fetch method with parameters and options,\n * and automatically composes the `QueryKey` based on the schema and parameters.\n */\nexport function callQueryClientMethodWithQueryKey<\n QFMethod extends QueryKeyMethods,\n>(\n qraftOptions: CreateAPIQueryClientOptions,\n queryFilterMethod: QFMethod,\n schema: OperationSchema,\n infinite: boolean,\n args: QueryClientMethodArgs<QFMethod>\n): ReturnType<(typeof QueryClient.prototype)[QFMethod]> {\n const {\n requestFn: requestFnOption,\n baseUrl: baseUrlOption,\n queryFn: queryFnOption,\n parameters,\n ...options\n } = args[0] ?? {};\n\n const queryClient = qraftOptions.queryClient;\n const baseUrl = baseUrlOption ?? qraftOptions.baseUrl;\n\n if (queryFnOption && requestFnOption) {\n throw new Error(\n 'callQueryClientMethodWithQueryKey: options.queryFn and options.requestFn are mutually exclusive'\n );\n }\n\n const requestFn = requestFnOption ?? qraftOptions.requestFn;\n\n if (options.queryKey && parameters) {\n throw new Error(\n 'callQueryClientMethodWithQueryKey: options.queryKey and options.parameters are mutually exclusive'\n );\n }\n\n const queryFn =\n queryFnOption ??\n (requestFn\n ?
|
|
1
|
+
{"version":3,"file":"callQueryClientFetchMethod.js","sources":["../../../src/lib/callQueryClientFetchMethod.ts"],"sourcesContent":["import type { QueryClient, QueryFunctionContext } from '@tanstack/react-query';\nimport type { CreateAPIQueryClientOptions } from '../qraftAPIClient.js';\nimport type { OperationSchema, RequestFn } from './requestFn.js';\nimport { composeInfiniteQueryKey } from './composeInfiniteQueryKey.js';\nimport { composeQueryKey } from './composeQueryKey.js';\nimport { createQueryRequestFnInfo } from './createRequestFnInfo.js';\nimport { prepareRequestFnParameters } from './prepareRequestFnParameters.js';\nimport { requestFnResponseRejecter } from './requestFnResponseRejecter.js';\nimport { requestFnResponseResolver } from './requestFnResponseResolver.js';\n\n/**\n * Calls a query client fetch method with parameters and options,\n * and automatically composes the `QueryKey` based on the schema and parameters.\n */\nexport function callQueryClientMethodWithQueryKey<\n QFMethod extends QueryKeyMethods,\n>(\n qraftOptions: CreateAPIQueryClientOptions,\n queryFilterMethod: QFMethod,\n schema: OperationSchema,\n infinite: boolean,\n args: QueryClientMethodArgs<QFMethod>\n): ReturnType<(typeof QueryClient.prototype)[QFMethod]> {\n const {\n requestFn: requestFnOption,\n baseUrl: baseUrlOption,\n queryFn: queryFnOption,\n parameters,\n ...options\n } = args[0] ?? {};\n\n const queryClient = qraftOptions.queryClient;\n const baseUrl = baseUrlOption ?? qraftOptions.baseUrl;\n\n if (queryFnOption && requestFnOption) {\n throw new Error(\n 'callQueryClientMethodWithQueryKey: options.queryFn and options.requestFn are mutually exclusive'\n );\n }\n\n const requestFn = requestFnOption ?? qraftOptions.requestFn;\n\n if (options.queryKey && parameters) {\n throw new Error(\n 'callQueryClientMethodWithQueryKey: options.queryKey and options.parameters are mutually exclusive'\n );\n }\n\n const queryFn =\n queryFnOption ??\n (requestFn\n ? function (context: QueryFunctionContext) {\n const {\n queryKey: [, queryParams],\n meta,\n pageParam,\n } = context;\n const { parameters, body } = prepareRequestFnParameters(\n queryParams,\n pageParam,\n infinite\n );\n\n return requestFn(\n schema,\n createQueryRequestFnInfo(context, {\n parameters: parameters as never,\n baseUrl,\n body,\n meta,\n })\n ).then(requestFnResponseResolver, requestFnResponseRejecter);\n }\n : undefined);\n\n // @ts-expect-error - Too complex union to type\n return queryClient[queryFilterMethod]({\n ...options,\n queryFn,\n queryKey:\n options.queryKey ??\n (infinite\n ? composeInfiniteQueryKey(schema, parameters)\n : composeQueryKey(schema, parameters)),\n });\n}\n\ntype QueryClientMethodArgs<QMethod extends keyof QueryClientPrototype> = [\n options: Parameters<QueryClientPrototype[QMethod]>[0] & {\n parameters?: unknown;\n baseUrl?: string;\n requestFn?: RequestFn<unknown, unknown>;\n },\n queryClient: QueryClient,\n];\n\ntype QueryKeyMethods =\n | QueryKeyMethod<'fetchQuery'>\n | QueryKeyMethod<'prefetchQuery'>\n | QueryKeyMethod<'ensureQueryData'>\n | QueryKeyMethod<'fetchInfiniteQuery'>\n | QueryKeyMethod<'prefetchInfiniteQuery'>\n | QueryKeyMethod<'ensureInfiniteQueryData'>;\n\ntype QueryClientPrototype = typeof QueryClient.prototype;\n\ntype QueryKeyMethod<QFMethod extends keyof typeof QueryClient.prototype> =\n QFMethod;\n"],"names":["callQueryClientMethodWithQueryKey","qraftOptions","queryFilterMethod","schema","infinite","args","requestFn","requestFnOption","baseUrl","baseUrlOption","queryFn","queryFnOption","parameters","options","queryClient","Error","queryKey","context","queryParams","meta","pageParam","body","prepareRequestFnParameters","createQueryRequestFnInfo","then","requestFnResponseResolver","requestFnResponseRejecter","undefined","composeInfiniteQueryKey","composeQueryKey"],"mappings":";;;;;;;AAUA;;;IAIO,SAASA,iCAAAA,CAGdC,YAAyC,EACzCC,iBAA2B,EAC3BC,MAAuB,EACvBC,QAAiB,EACjBC,IAAqC,EAAA;AAErC,IAAA,MAAM,EACJC,SAAAA,EAAWC,eAAe,EAC1BC,OAAAA,EAASC,aAAa,EACtBC,OAAAA,EAASC,aAAa,EACtBC,UAAU,EACV,GAAGC,OAAAA,EACJ,GAAGR,IAAI,CAAC,CAAA,CAAE,IAAI,EAAC;IAEhB,MAAMS,WAAAA,GAAcb,aAAaa,WAAW;IAC5C,MAAMN,OAAAA,GAAUC,aAAAA,IAAiBR,YAAAA,CAAaO,OAAO;AAErD,IAAA,IAAIG,iBAAiBJ,eAAAA,EAAiB;AACpC,QAAA,MAAM,IAAIQ,KAAAA,CACR,iGAAA,CAAA;AAEJ,IAAA;IAEA,MAAMT,SAAAA,GAAYC,eAAAA,IAAmBN,YAAAA,CAAaK,SAAS;IAE3D,IAAIO,OAAAA,CAAQG,QAAQ,IAAIJ,UAAAA,EAAY;AAClC,QAAA,MAAM,IAAIG,KAAAA,CACR,mGAAA,CAAA;AAEJ,IAAA;AAEA,IAAA,MAAML,OAAAA,GACJC,aAAAA,KACCL,SAAAA,GACG,SAAUW,OAA6B,EAAA;QACrC,MAAM,EACJD,UAAU,GAAGE,WAAAA,CAAY,EACzBC,IAAI,EACJC,SAAS,EACV,GAAGH,OAAAA;QACJ,MAAM,EAAEL,UAAU,EAAES,IAAI,EAAE,GAAGC,0BAAAA,CAC3BJ,aACAE,SAAAA,EACAhB,QAAAA,CAAAA;QAGF,OAAOE,SAAAA,CACLH,MAAAA,EACAoB,wBAAAA,CAAyBN,OAAAA,EAAS;YAChCL,UAAAA,EAAYA,UAAAA;AACZJ,YAAAA,OAAAA;AACAa,YAAAA,IAAAA;AACAF,YAAAA;SACF,CAAA,CAAA,CACAK,IAAI,CAACC,yBAAAA,EAA2BC,yBAAAA,CAAAA;AACpC,IAAA,CAAA,GACAC,SAAQ,CAAA;;IAGd,OAAOb,WAAW,CAACZ,iBAAAA,CAAkB,CAAC;AACpC,QAAA,GAAGW,OAAO;AACVH,QAAAA,OAAAA;QACAM,QAAAA,EACEH,OAAAA,CAAQG,QAAQ,KACfZ,QAAAA,GACGwB,wBAAwBzB,MAAAA,EAAQS,UAAAA,CAAAA,GAChCiB,eAAAA,CAAgB1B,MAAAA,EAAQS,UAAAA,CAAU;AAC1C,KAAA,CAAA;AACF;;;;"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
function createQueryRequestFnInfo(context, requestInfo) {
|
|
2
|
+
return Object.defineProperty({
|
|
3
|
+
...requestInfo,
|
|
4
|
+
source: {
|
|
5
|
+
type: 'query',
|
|
6
|
+
context
|
|
7
|
+
}
|
|
8
|
+
}, 'signal', {
|
|
9
|
+
enumerable: true,
|
|
10
|
+
get: ()=>context.signal
|
|
11
|
+
});
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
export { createQueryRequestFnInfo };
|
|
15
|
+
//# sourceMappingURL=createRequestFnInfo.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createRequestFnInfo.js","sources":["../../../src/lib/createRequestFnInfo.ts"],"sourcesContent":["import type { RequestFnInfo } from '@openapi-qraft/tanstack-query-react-types';\nimport type { QueryFunctionContext } from '@tanstack/react-query';\n\nexport function createQueryRequestFnInfo(\n context: QueryFunctionContext,\n requestInfo: Omit<RequestFnInfo, 'signal' | 'source'>\n): RequestFnInfo {\n return Object.defineProperty(\n {\n ...requestInfo,\n source: {\n type: 'query',\n context,\n },\n } satisfies Omit<RequestFnInfo, 'signal'>,\n 'signal',\n {\n enumerable: true,\n get: () => context.signal,\n }\n );\n}\n"],"names":["createQueryRequestFnInfo","context","requestInfo","Object","defineProperty","source","type","enumerable","get","signal"],"mappings":"AAGO,SAASA,wBAAAA,CACdC,OAA6B,EAC7BC,WAAqD,EAAA;IAErD,OAAOC,MAAAA,CAAOC,cAAc,CAC1B;AACE,QAAA,GAAGF,WAAW;QACdG,MAAAA,EAAQ;YACNC,IAAAA,EAAM,OAAA;AACNL,YAAAA;AACF;AACF,KAAA,EACA,QAAA,EACA;QACEM,UAAAA,EAAY,IAAA;QACZC,GAAAA,EAAK,IAAMP,QAAQQ;AACrB,KAAA,CAAA;AAEJ;;;;"}
|
|
@@ -35,7 +35,7 @@ import { processResponse, resolveResponse } from './responseUtils.js';
|
|
|
35
35
|
*
|
|
36
36
|
* @throws {error: object|string, response: Response} Throws an error if the request fails. The error includes the error message and the response from the server.
|
|
37
37
|
*/ async function baseRequestFn(requestSchema, requestInfo, options) {
|
|
38
|
-
const { parameters, headers, body, ...requestInfoRest } = requestInfo;
|
|
38
|
+
const { parameters, headers, body, source: _source, ...requestInfoRest } = requestInfo;
|
|
39
39
|
const requestPayload = options.bodySerializer(requestSchema, body);
|
|
40
40
|
const baseFetch = options.fetch ?? fetch;
|
|
41
41
|
return baseFetch(options.urlSerializer(requestSchema, requestInfo), {
|