@openapi-qraft/react 2.4.0 → 2.5.0-beta.0
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 +17 -0
- package/dist/cjs/callbacks/useMutation.cjs +3 -2
- package/dist/cjs/callbacks/useMutation.cjs.map +1 -1
- package/dist/cjs/callbacks/useQueries.cjs +2 -1
- package/dist/cjs/callbacks/useQueries.cjs.map +1 -1
- package/dist/cjs/callbacks/useSuspenseQueries.cjs +2 -1
- package/dist/cjs/callbacks/useSuspenseQueries.cjs.map +1 -1
- package/dist/cjs/lib/callQueryClientFetchMethod.cjs +2 -1
- package/dist/cjs/lib/callQueryClientFetchMethod.cjs.map +1 -1
- package/dist/cjs/lib/requestFn.cjs +4 -1
- package/dist/cjs/lib/requestFn.cjs.map +1 -1
- package/dist/cjs/lib/requestFnResponseRejecter.cjs +12 -0
- package/dist/cjs/lib/requestFnResponseRejecter.cjs.map +1 -0
- package/dist/cjs/lib/useComposeUseQueryOptions.cjs +5 -2
- package/dist/cjs/lib/useComposeUseQueryOptions.cjs.map +1 -1
- package/dist/esm/callbacks/useMutation.js +3 -2
- package/dist/esm/callbacks/useMutation.js.map +1 -1
- package/dist/esm/callbacks/useQueries.js +2 -1
- package/dist/esm/callbacks/useQueries.js.map +1 -1
- package/dist/esm/callbacks/useSuspenseQueries.js +2 -1
- package/dist/esm/callbacks/useSuspenseQueries.js.map +1 -1
- package/dist/esm/lib/callQueryClientFetchMethod.js +2 -1
- package/dist/esm/lib/callQueryClientFetchMethod.js.map +1 -1
- package/dist/esm/lib/requestFn.js +4 -1
- package/dist/esm/lib/requestFn.js.map +1 -1
- package/dist/esm/lib/requestFnResponseRejecter.js +10 -0
- package/dist/esm/lib/requestFnResponseRejecter.js.map +1 -0
- package/dist/esm/lib/useComposeUseQueryOptions.js +5 -2
- package/dist/esm/lib/useComposeUseQueryOptions.js.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/lib/callQueryClientFetchMethod.d.ts.map +1 -1
- package/dist/types/lib/requestFn.d.ts.map +1 -1
- package/dist/types/lib/requestFn.test.d.ts +2 -0
- package/dist/types/lib/requestFn.test.d.ts.map +1 -0
- package/dist/types/lib/requestFnResponseRejecter.d.ts +3 -0
- package/dist/types/lib/requestFnResponseRejecter.d.ts.map +1 -0
- package/dist/types/lib/requestFnResponseRejecter.test.d.ts +2 -0
- package/dist/types/lib/requestFnResponseRejecter.test.d.ts.map +1 -0
- package/dist/types/lib/useComposeUseQueryOptions.d.ts.map +1 -1
- package/package.json +6 -6
- package/src/callbacks/useMutation.ts +3 -2
- package/src/callbacks/useQueries.ts +2 -1
- package/src/callbacks/useSuspenseQueries.ts +2 -1
- package/src/lib/callQueryClientFetchMethod.ts +2 -1
- package/src/lib/requestFn.test.ts +125 -0
- package/src/lib/requestFn.ts +20 -6
- package/src/lib/requestFnResponseRejecter.test.ts +46 -0
- package/src/lib/requestFnResponseRejecter.ts +11 -0
- package/src/lib/useComposeUseQueryOptions.ts +10 -3
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,22 @@
|
|
|
1
1
|
# @openapi-qraft/react
|
|
2
2
|
|
|
3
|
+
## 2.5.0-beta.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- 8b7e980: Added support for generating query hooks for writable HTTP methods via `--queryable-write-operations` option.
|
|
8
|
+
|
|
9
|
+
### Patch Changes
|
|
10
|
+
|
|
11
|
+
- @openapi-qraft/tanstack-query-react-types@2.5.0-beta.0
|
|
12
|
+
|
|
13
|
+
## 2.4.1
|
|
14
|
+
|
|
15
|
+
### Patch Changes
|
|
16
|
+
|
|
17
|
+
- 70518c4: Fixed error handling issues with `<QraftSecureRequestFn/>` by implementing dedicated error rejection handling instead of incorrectly using the same resolver for both success and error cases.
|
|
18
|
+
- @openapi-qraft/tanstack-query-react-types@2.4.1
|
|
19
|
+
|
|
3
20
|
## 2.4.0
|
|
4
21
|
|
|
5
22
|
### Patch Changes
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
var reactQuery = require('@tanstack/react-query');
|
|
5
5
|
var composeMutationKey = require('../lib/composeMutationKey.cjs');
|
|
6
|
+
var requestFnResponseRejecter = require('../lib/requestFnResponseRejecter.cjs');
|
|
6
7
|
var requestFnResponseResolver = require('../lib/requestFnResponseResolver.cjs');
|
|
7
8
|
|
|
8
9
|
const useMutation = (qraftOptions, schema, args)=>{
|
|
@@ -18,14 +19,14 @@ const useMutation = (qraftOptions, schema, args)=>{
|
|
|
18
19
|
parameters,
|
|
19
20
|
baseUrl: qraftOptions.baseUrl,
|
|
20
21
|
body: bodyPayload
|
|
21
|
-
}).then(requestFnResponseResolver.requestFnResponseResolver,
|
|
22
|
+
}).then(requestFnResponseResolver.requestFnResponseResolver, requestFnResponseRejecter.requestFnResponseRejecter);
|
|
22
23
|
} : function(parametersAndBodyPayload) {
|
|
23
24
|
const { body, ...parameters } = parametersAndBodyPayload;
|
|
24
25
|
return qraftOptions.requestFn(schema, {
|
|
25
26
|
parameters,
|
|
26
27
|
baseUrl: qraftOptions.baseUrl,
|
|
27
28
|
body
|
|
28
|
-
}).then(requestFnResponseResolver.requestFnResponseResolver,
|
|
29
|
+
}).then(requestFnResponseResolver.requestFnResponseResolver, requestFnResponseRejecter.requestFnResponseRejecter);
|
|
29
30
|
})
|
|
30
31
|
}, qraftOptions.queryClient);
|
|
31
32
|
};
|
|
@@ -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 } from '@tanstack/query-core';\nimport type { 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 { 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 // @ts-expect-error - Too complex to type\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,
|
|
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 } from '@tanstack/query-core';\nimport type { 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 // @ts-expect-error - Too complex to type\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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"}
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
var reactQuery = require('@tanstack/react-query');
|
|
5
5
|
var composeQueryKey = require('../lib/composeQueryKey.cjs');
|
|
6
|
+
var requestFnResponseRejecter = require('../lib/requestFnResponseRejecter.cjs');
|
|
6
7
|
var requestFnResponseResolver = require('../lib/requestFnResponseResolver.cjs');
|
|
7
8
|
|
|
8
9
|
const useQueries = (qraftOptions, schema, args)=>{
|
|
@@ -26,7 +27,7 @@ const useQueries = (qraftOptions, schema, args)=>{
|
|
|
26
27
|
baseUrl: qraftOptions.baseUrl,
|
|
27
28
|
signal,
|
|
28
29
|
meta
|
|
29
|
-
}).then(requestFnResponseResolver.requestFnResponseResolver,
|
|
30
|
+
}).then(requestFnResponseResolver.requestFnResponseResolver, requestFnResponseRejecter.requestFnResponseRejecter);
|
|
30
31
|
}
|
|
31
32
|
};
|
|
32
33
|
})
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useQueries.cjs","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 { DefaultError } from '@tanstack/query-core';\nimport type { QueriesResults } 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 { 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 // @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], signal, meta }) {\n return qraftOptions\n .requestFn(schema, {\n parameters: queryParams as never,\n baseUrl: qraftOptions.baseUrl,\n signal,\n meta,\n })\n .then(requestFnResponseResolver,
|
|
1
|
+
{"version":3,"file":"useQueries.cjs","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 { DefaultError } from '@tanstack/query-core';\nimport type { QueriesResults } 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 { 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 // @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], signal, meta }) {\n return qraftOptions\n .requestFn(schema, {\n parameters: queryParams as never,\n baseUrl: qraftOptions.baseUrl,\n signal,\n meta,\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","queryParams","signal","meta","requestFn","baseUrl","then","requestFnResponseResolver","requestFnResponseRejecter","queryClient"],"mappings":"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"}
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
var reactQuery = require('@tanstack/react-query');
|
|
5
5
|
var composeQueryKey = require('../lib/composeQueryKey.cjs');
|
|
6
|
+
var requestFnResponseRejecter = require('../lib/requestFnResponseRejecter.cjs');
|
|
6
7
|
var requestFnResponseResolver = require('../lib/requestFnResponseResolver.cjs');
|
|
7
8
|
|
|
8
9
|
const useSuspenseQueries = (qraftOptions, schema, args)=>{
|
|
@@ -26,7 +27,7 @@ const useSuspenseQueries = (qraftOptions, schema, args)=>{
|
|
|
26
27
|
baseUrl: qraftOptions.baseUrl,
|
|
27
28
|
signal,
|
|
28
29
|
meta
|
|
29
|
-
}).then(requestFnResponseResolver.requestFnResponseResolver,
|
|
30
|
+
}).then(requestFnResponseResolver.requestFnResponseResolver, requestFnResponseRejecter.requestFnResponseRejecter);
|
|
30
31
|
}
|
|
31
32
|
};
|
|
32
33
|
})
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSuspenseQueries.cjs","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 { DefaultError } from '@tanstack/query-core';\nimport type { SuspenseQueriesResults } 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 { 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], signal, meta }) {\n return qraftOptions\n .requestFn(schema, {\n parameters: queryParams as never,\n baseUrl: qraftOptions.baseUrl,\n signal,\n meta,\n })\n .then(requestFnResponseResolver,
|
|
1
|
+
{"version":3,"file":"useSuspenseQueries.cjs","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 { DefaultError } from '@tanstack/query-core';\nimport type { SuspenseQueriesResults } 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 { 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], signal, meta }) {\n return qraftOptions\n .requestFn(schema, {\n parameters: queryParams as never,\n baseUrl: qraftOptions.baseUrl,\n signal,\n meta,\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","queryParams","signal","meta","requestFn","baseUrl","then","requestFnResponseResolver","requestFnResponseRejecter","queryClient"],"mappings":";;;;;;;;AAcaA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,GAWwB,CAACC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,EAAcC,CAAQC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,IAAAA,CAAAA,CAAAA,CAAAA,CAAAA;IAC1D,MAAM,CAACC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,EAAQ,CAAA,CAAA,CAAGD,IAAAA,CAAAA;AAElB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAOE,6BACL,CAAA,CAAA;AACE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAGD,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAEVE,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAASF,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAQE,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAO,CAACC,CAAG,CAAA,CAAA,CAAC,CAACC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA;AAC5B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAMC,mBACJ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAgBD,CACZ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;gBACC,MAAME,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAmBC,CAAOC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,MAAM,CACpC,CAAA;CACEC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAUC,EAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAgBZ,MAAQM,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAaO,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAU,CAAA;CAE3DP,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA;AAEF,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAOE,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,EAAiBK,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAU,CAAA;CAClC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAOL,gBAAAA,CAAAA;AACT,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACAF,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA;YAEN,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACL,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAGC,CAAmB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACtBO,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,OAAAA,CACEP,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAoBO,CAAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAC3B,SAAU,CAAEH,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAU,CAAA,CAAA,CAAA,CAAGI,WAAAA,CAAY,CAAA,CAAEC,MAAM,CAAEC,CAAAA,CAAAA,CAAAA,CAAAA,CAAI,EAAE,CAAA,CAAA,CAAA;oBACnD,OAAOlB,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CACJmB,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAClB,MAAQ,CAAA,CAAA,CAAA;CACjBa,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAYE,EAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA;AACZI,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAASpB,aAAaoB,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAC7BH,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA;AACAC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA;CAEDG,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAI,CAAA,CAAA,CAAA,CAACC,mDAA2BC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA;AACrC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACJ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACF,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACF,CAAA,CAAA,CAAA,CAAA,CAAA,CACAvB,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,EAAawB,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAW,CAAA,CAAA;AAE5B,CAAA,CAAA;;"}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
var composeInfiniteQueryKey = require('./composeInfiniteQueryKey.cjs');
|
|
4
4
|
var composeQueryKey = require('./composeQueryKey.cjs');
|
|
5
|
+
var requestFnResponseRejecter = require('./requestFnResponseRejecter.cjs');
|
|
5
6
|
var requestFnResponseResolver = require('./requestFnResponseResolver.cjs');
|
|
6
7
|
var shelfMerge = require('./shelfMerge.cjs');
|
|
7
8
|
|
|
@@ -25,7 +26,7 @@ var shelfMerge = require('./shelfMerge.cjs');
|
|
|
25
26
|
baseUrl,
|
|
26
27
|
signal,
|
|
27
28
|
meta
|
|
28
|
-
}).then(requestFnResponseResolver.requestFnResponseResolver,
|
|
29
|
+
}).then(requestFnResponseResolver.requestFnResponseResolver, requestFnResponseRejecter.requestFnResponseRejecter);
|
|
29
30
|
} : undefined);
|
|
30
31
|
// @ts-expect-error - Too complex union to type
|
|
31
32
|
return queryClient[queryFilterMethod]({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"callQueryClientFetchMethod.cjs","sources":["../../../src/lib/callQueryClientFetchMethod.ts"],"sourcesContent":["import type { QueryClient } from '@tanstack/query-core';\nimport type { CreateAPIQueryClientOptions } from '../qraftAPIClient.js';\nimport type { OperationSchema, RequestFn } from './requestFn.js';\nimport { composeInfiniteQueryKey } from './composeInfiniteQueryKey.js';\nimport { composeQueryKey } from './composeQueryKey.js';\nimport { requestFnResponseResolver } from './requestFnResponseResolver.js';\nimport { shelfMerge } from './shelfMerge.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 ? // @ts-expect-error - Too complex union to type\n function ({ queryKey: [, queryParams], signal, meta, pageParam }) {\n return requestFn(schema, {\n parameters: infinite\n ? (shelfMerge(2, queryParams, pageParam) as never)\n : queryParams,\n baseUrl,\n signal,\n meta,\n }).then(requestFnResponseResolver,
|
|
1
|
+
{"version":3,"file":"callQueryClientFetchMethod.cjs","sources":["../../../src/lib/callQueryClientFetchMethod.ts"],"sourcesContent":["import type { QueryClient } from '@tanstack/query-core';\nimport type { CreateAPIQueryClientOptions } from '../qraftAPIClient.js';\nimport type { OperationSchema, RequestFn } from './requestFn.js';\nimport { composeInfiniteQueryKey } from './composeInfiniteQueryKey.js';\nimport { composeQueryKey } from './composeQueryKey.js';\nimport { requestFnResponseRejecter } from './requestFnResponseRejecter.js';\nimport { requestFnResponseResolver } from './requestFnResponseResolver.js';\nimport { shelfMerge } from './shelfMerge.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 ? // @ts-expect-error - Too complex union to type\n function ({ queryKey: [, queryParams], signal, meta, pageParam }) {\n return requestFn(schema, {\n parameters: infinite\n ? (shelfMerge(2, queryParams, pageParam) as never)\n : queryParams,\n baseUrl,\n signal,\n meta,\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","queryParams","signal","meta","pageParam","shelfMerge","then","requestFnResponseResolver","requestFnResponseRejecter","undefined","composeInfiniteQueryKey","composeQueryKey"],"mappings":";;;;;;;;AASA;;;IAIO,SAASA,iCAAAA,CAGdC,YAAyC,EACzCC,iBAA2B,EAC3BC,MAAuB,EACvBC,QAAiB,EACjBC,IAAqC,EAAA;AAErC,IAAA,MAAM,EACJC,SAAWC,EAAAA,eAAe,EAC1BC,OAASC,EAAAA,aAAa,EACtBC,OAASC,EAAAA,aAAa,EACtBC,UAAU,EACV,GAAGC,OACJ,EAAA,GAAGR,IAAI,CAAC,CAAA,CAAE,IAAI,EAAC,CAAA;IAEhB,MAAMS,WAAAA,GAAcb,aAAaa,WAAW,CAAA;IAC5C,MAAMN,OAAAA,GAAUC,aAAiBR,IAAAA,YAAAA,CAAaO,OAAO,CAAA;AAErD,IAAA,IAAIG,iBAAiBJ,eAAiB,EAAA;AACpC,QAAA,MAAM,IAAIQ,KACR,CAAA,iGAAA,CAAA,CAAA;AAEJ,KAAA;IAEA,MAAMT,SAAAA,GAAYC,eAAmBN,IAAAA,YAAAA,CAAaK,SAAS,CAAA;IAE3D,IAAIO,OAAAA,CAAQG,QAAQ,IAAIJ,UAAY,EAAA;AAClC,QAAA,MAAM,IAAIG,KACR,CAAA,mGAAA,CAAA,CAAA;AAEJ,KAAA;AAEA,IAAA,MAAML,OACJC,GAAAA,aAAAA,KACCL,SAAAA,GAEG,SAAU,EAAEU,QAAAA,EAAU,GAAGC,WAAAA,CAAY,EAAEC,MAAM,EAAEC,IAAI,EAAEC,SAAS,EAAE,EAAA;AAC9D,QAAA,OAAOd,UAAUH,MAAQ,EAAA;AACvBS,YAAAA,UAAAA,EAAYR,QACPiB,GAAAA,qBAAAA,CAAW,CAAGJ,EAAAA,WAAAA,EAAaG,SAC5BH,CAAAA,GAAAA,WAAAA;AACJT,YAAAA,OAAAA;AACAU,YAAAA,MAAAA;AACAC,YAAAA,IAAAA;SACCG,CAAAA,CAAAA,IAAI,CAACC,mDAA2BC,EAAAA,mDAAAA,CAAAA,CAAAA;AACrC,KAAA,GACAC,SAAQ,CAAA,CAAA;;IAGd,OAAOX,WAAW,CAACZ,iBAAAA,CAAkB,CAAC;AACpC,QAAA,GAAGW,OAAO;AACVH,QAAAA,OAAAA;QACAM,QACEH,EAAAA,OAAAA,CAAQG,QAAQ,KACfZ,QAAAA,GACGsB,gDAAwBvB,MAAQS,EAAAA,UAAAA,CAAAA,GAChCe,+BAAgBxB,CAAAA,MAAAA,EAAQS,UAAU,CAAA,CAAA;AAC1C,KAAA,CAAA,CAAA;AACF;;;;"}
|
|
@@ -121,7 +121,7 @@ function mergeHeaders(...allHeaders) {
|
|
|
121
121
|
return headers;
|
|
122
122
|
}
|
|
123
123
|
function bodySerializer(schema, body) {
|
|
124
|
-
if (schema
|
|
124
|
+
if (isReadOnlyOperation(schema)) return undefined;
|
|
125
125
|
if (body === undefined || body === null) return undefined;
|
|
126
126
|
if (typeof body === 'string') {
|
|
127
127
|
return {
|
|
@@ -200,6 +200,9 @@ function getRequestBodyFormData(body) {
|
|
|
200
200
|
});
|
|
201
201
|
return formData;
|
|
202
202
|
}
|
|
203
|
+
function isReadOnlyOperation(operation) {
|
|
204
|
+
return operation.method === 'get' || operation.method === 'head' || operation.method === 'trace' || operation.method === 'options';
|
|
205
|
+
}
|
|
203
206
|
|
|
204
207
|
exports.baseRequestFn = baseRequestFn;
|
|
205
208
|
exports.bodySerializer = bodySerializer;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"requestFn.cjs","sources":["../../../src/lib/requestFn.ts"],"sourcesContent":["import type {\n HeadersOptions,\n OperationSchema,\n RequestFnInfo,\n RequestFnOptions,\n RequestFnResponse,\n} from '@openapi-qraft/tanstack-query-react-types';\nimport { processResponse, resolveResponse } from './responseUtils.js';\n\n/**\n * This function is used to make a request to a specified endpoint.\n *\n * @template T The expected return type of the request.\n *\n * @param schema The schema of the operation to be performed. It includes the OpenAPI path, HTTP method and media type.\n * @param requestInfo The information required to make the request. It includes parameters, headers, body, etc.\n * @param [options] Optional. Additional options for the request. It includes custom urlSerializer, bodySerializer, and fetch function.\n *\n * @returns {Promise<T>} Returns a promise that resolves with the response of the request.\n *\n * @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.\n */\nexport async function requestFn<TData, TError>(\n schema: OperationSchema,\n requestInfo: RequestFnInfo,\n options?: RequestFnOptions\n): Promise<RequestFnResponse<TData, TError>> {\n return baseRequestFn<TData, TError>(schema, requestInfo, {\n urlSerializer,\n bodySerializer,\n ...options,\n });\n}\n\n/**\n * This function is used to make a request to a specified endpoint.\n * It's necessary to create a custom `requestFn` with a custom `urlSerializer`\n * and `bodySerializer`, with the tree-shaking of the default `requestFn`\n * and its serializers.\n *\n * @template T The expected return type of the request.\n *\n * @param requestSchema The schema of the operation to be performed. It includes the OpenAPI path, HTTP method and media type.\n * @param requestInfo The information required to make the request. It includes parameters, headers, body, etc.\n * @param options The options for the request. It includes urlSerializer, bodySerializer, and fetch function. The 'urlSerializer' and 'bodySerializer' are required.\n *\n * @returns {Promise<T>} Returns a promise that resolves with the response of the request.\n *\n * @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.\n */\nexport async function baseRequestFn<TData, TError>(\n requestSchema: OperationSchema,\n requestInfo: RequestFnInfo,\n options: WithRequired<RequestFnOptions, 'urlSerializer' | 'bodySerializer'>\n): Promise<RequestFnResponse<TData, TError>> {\n const { parameters, headers, body, ...requestInfoRest } = requestInfo;\n\n const requestPayload = options.bodySerializer(requestSchema, body);\n\n const baseFetch = options.fetch ?? fetch;\n\n return baseFetch(options.urlSerializer(requestSchema, requestInfo), {\n method: requestSchema.method.toUpperCase(),\n body: requestPayload?.body,\n headers: mergeHeaders(\n { Accept: 'application/json' },\n requestPayload?.headers,\n headers,\n parameters?.header\n ),\n ...requestInfoRest,\n })\n .then(processResponse as typeof processResponse<TData, TError>)\n .catch(resolveResponse as typeof resolveResponse<TData, TError>);\n}\n\n/**\n * Serializes the given schema and request payload into a URL string.\n *\n * This function is implemented according to the URI Template standard\n * defined in RFC 6570. It supports the expansion of path and query parameters,\n * correctly handling empty arrays, `null`, and `undefined` values by ignoring\n * them during the expansion process, as specified by the standard.\n *\n * For more information, refer to the official documentation:\n * https://datatracker.ietf.org/doc/html/rfc6570\n *\n * @param schema - The operation schema containing the URL template and method.\n * @param info - The request payload including baseUrl, path parameters, and query parameters.\n * @returns The fully constructed URL string.\n */\nexport function urlSerializer(\n schema: OperationSchema,\n info: Pick<RequestFnInfo, 'baseUrl' | 'parameters'>\n): string {\n const path = schema.url.replace(\n /{(.*?)}/g,\n (substring: string, group: string) => {\n if (\n info.parameters?.path &&\n Object.prototype.hasOwnProperty.call(info.parameters.path, group)\n ) {\n return encodeURI(String(info.parameters?.path[group]));\n }\n return substring;\n }\n );\n\n const baseUrl = info.baseUrl ?? '';\n\n if (info.parameters?.query) {\n return `${baseUrl}${path}${getQueryString(info.parameters.query)}`;\n }\n\n return `${baseUrl}${path}`;\n}\n\nfunction getQueryString(params: Record<string, any>): string {\n const qs: string[] = [];\n\n const append = (key: string, value: any) => {\n qs.push(`${encodeURIComponent(key)}=${encodeURIComponent(String(value))}`);\n };\n\n const process = (key: string, value: any) => {\n if (typeof value === 'undefined' || value === null) return;\n\n if (Array.isArray(value)) {\n value.forEach((v) => {\n process(key, v);\n });\n } else if (typeof value === 'object') {\n Object.entries(value).forEach(([k, v]) => {\n process(`${key}[${k}]`, v);\n });\n } else {\n append(key, value);\n }\n };\n\n Object.entries(params).forEach(([key, value]) => {\n process(key, value);\n });\n\n if (qs.length > 0) {\n return `?${qs.join('&')}`;\n }\n\n return '';\n}\n\nexport function mergeHeaders(...allHeaders: (HeadersOptions | undefined)[]) {\n const headers = new Headers();\n\n for (const headerSet of allHeaders) {\n if (!headerSet || typeof headerSet !== 'object') {\n continue;\n }\n\n const headersIterator =\n headerSet instanceof Headers\n ? headerSet.entries()\n : Object.entries(headerSet);\n\n for (const [headerKey, headerValue] of headersIterator) {\n if (headerValue === null) {\n headers.delete(headerKey);\n } else if (headerValue !== undefined) {\n headers.set(headerKey, headerValue);\n }\n }\n }\n\n return headers;\n}\n\nexport function bodySerializer(\n schema: OperationSchema,\n body: RequestFnInfo['body']\n) {\n if (\n schema.method === 'get' ||\n schema.method === 'head' ||\n schema.method === 'options'\n )\n return undefined;\n\n if (body === undefined || body === null) return undefined;\n\n if (typeof body === 'string') {\n return {\n body,\n headers: {\n 'Content-Type':\n // prefer text/* media type\n schema.mediaType?.find((mediaType) => mediaType.includes('text/')) ??\n // prefer JSON media type, assume that body is serialized as JSON\n schema.mediaType?.find((mediaType) => mediaType.includes('/json')) ??\n 'text/plain',\n },\n };\n }\n\n if (body instanceof FormData) {\n return {\n body,\n headers: {\n // remove `Content-Type` if the serialized body is FormData;\n // the browser will correctly set Content-Type & boundary expression\n 'Content-Type': null,\n },\n };\n }\n\n if (body instanceof Blob) {\n return {\n body,\n headers: {\n 'Content-Type':\n body.type ||\n schema.mediaType?.find(\n (mediaType) =>\n !(\n mediaType.includes('text/') &&\n mediaType.includes('/form-data') &&\n mediaType.includes('/json')\n )\n ) ||\n 'application/octet-stream',\n },\n };\n }\n\n let jsonMediaType: string | null = null;\n let formDataMediaType: string | null = null;\n\n if (schema.mediaType) {\n for (let i = 0; i < schema.mediaType.length; i++) {\n const mediaType = schema.mediaType[i];\n if (mediaType.includes('/json')) jsonMediaType = mediaType;\n else if (mediaType.includes('/form-data')) formDataMediaType = mediaType;\n }\n }\n\n if (formDataMediaType) {\n if (\n !jsonMediaType ||\n // Prefer FormData serialization if one of the fields is a Blob\n Object.values(body).some((value) => value instanceof Blob)\n ) {\n return {\n body: getRequestBodyFormData(body),\n headers: {\n // remove `Content-Type` if the serialized body is FormData;\n // the browser will correctly set Content-Type & boundary expression\n 'Content-Type': null,\n },\n };\n }\n }\n\n return {\n body: JSON.stringify(body),\n headers: {\n 'Content-Type': jsonMediaType ?? 'application/json',\n },\n };\n}\n\nfunction getRequestBodyFormData(\n body: NonNullable<RequestFnInfo['body']>\n): FormData {\n if (body instanceof FormData) return body;\n if (typeof body !== 'object')\n throw new Error(`Unsupported body type ${typeof body} in form-data.`);\n\n const formData = new FormData();\n\n const process = (key: string, value: any) => {\n if (typeof value === 'string' || value instanceof Blob) {\n formData.append(key, value);\n } else {\n formData.append(key, JSON.stringify(value));\n }\n };\n\n Object.entries(body)\n .filter(([_, value]) => typeof value !== 'undefined' && value !== null)\n .forEach(([key, value]) => {\n if (Array.isArray(value)) {\n value.forEach((v) => process(key, v));\n } else {\n process(key, value);\n }\n });\n\n return formData;\n}\n\ntype WithRequired<T, K extends keyof T> = T & {\n [_ in K]: {};\n};\n\nexport type {\n RequestFn,\n RequestFnResponse,\n HeadersOptions,\n RequestFnOptions,\n RequestFnInfo,\n OperationSchema,\n} from '@openapi-qraft/tanstack-query-react-types';\n\n/**\n * @deprecated use `RequestFnInfo` instead\n */\nexport type RequestFnPayload = RequestFnInfo;\n"],"names":["requestFn","schema","requestInfo","options","baseRequestFn","urlSerializer","bodySerializer","requestSchema","parameters","headers","body","requestInfoRest","requestPayload","baseFetch","fetch","method","toUpperCase","mergeHeaders","Accept","header","then","processResponse","catch","resolveResponse","info","path","url","replace","substring","group","Object","prototype","hasOwnProperty","call","encodeURI","String","baseUrl","query","getQueryString","params","qs","append","key","value","push","encodeURIComponent","process","Array","isArray","forEach","v","entries","k","length","join","allHeaders","Headers","headerSet","headersIterator","headerKey","headerValue","delete","undefined","set","mediaType","find","includes","FormData","Blob","type","jsonMediaType","formDataMediaType","i","values","some","getRequestBodyFormData","JSON","stringify","Error","formData","filter","_"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"requestFn.cjs","sources":["../../../src/lib/requestFn.ts"],"sourcesContent":["import type {\n HeadersOptions,\n OperationSchema,\n RequestFnInfo,\n RequestFnOptions,\n RequestFnResponse,\n} from '@openapi-qraft/tanstack-query-react-types';\nimport { processResponse, resolveResponse } from './responseUtils.js';\n\n/**\n * This function is used to make a request to a specified endpoint.\n *\n * @template T The expected return type of the request.\n *\n * @param schema The schema of the operation to be performed. It includes the OpenAPI path, HTTP method and media type.\n * @param requestInfo The information required to make the request. It includes parameters, headers, body, etc.\n * @param [options] Optional. Additional options for the request. It includes custom urlSerializer, bodySerializer, and fetch function.\n *\n * @returns {Promise<T>} Returns a promise that resolves with the response of the request.\n *\n * @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.\n */\nexport async function requestFn<TData, TError>(\n schema: OperationSchema,\n requestInfo: RequestFnInfo,\n options?: RequestFnOptions\n): Promise<RequestFnResponse<TData, TError>> {\n return baseRequestFn<TData, TError>(schema, requestInfo, {\n urlSerializer,\n bodySerializer,\n ...options,\n });\n}\n\n/**\n * This function is used to make a request to a specified endpoint.\n * It's necessary to create a custom `requestFn` with a custom `urlSerializer`\n * and `bodySerializer`, with the tree-shaking of the default `requestFn`\n * and its serializers.\n *\n * @template T The expected return type of the request.\n *\n * @param requestSchema The schema of the operation to be performed. It includes the OpenAPI path, HTTP method and media type.\n * @param requestInfo The information required to make the request. It includes parameters, headers, body, etc.\n * @param options The options for the request. It includes urlSerializer, bodySerializer, and fetch function. The 'urlSerializer' and 'bodySerializer' are required.\n *\n * @returns {Promise<T>} Returns a promise that resolves with the response of the request.\n *\n * @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.\n */\nexport async function baseRequestFn<TData, TError>(\n requestSchema: OperationSchema,\n requestInfo: RequestFnInfo,\n options: WithRequired<RequestFnOptions, 'urlSerializer' | 'bodySerializer'>\n): Promise<RequestFnResponse<TData, TError>> {\n const { parameters, headers, body, ...requestInfoRest } = requestInfo;\n\n const requestPayload = options.bodySerializer(requestSchema, body);\n\n const baseFetch = options.fetch ?? fetch;\n\n return baseFetch(options.urlSerializer(requestSchema, requestInfo), {\n method: requestSchema.method.toUpperCase(),\n body: requestPayload?.body,\n headers: mergeHeaders(\n { Accept: 'application/json' },\n requestPayload?.headers,\n headers,\n parameters?.header\n ),\n ...requestInfoRest,\n })\n .then(processResponse as typeof processResponse<TData, TError>)\n .catch(resolveResponse as typeof resolveResponse<TData, TError>);\n}\n\n/**\n * Serializes the given schema and request payload into a URL string.\n *\n * This function is implemented according to the URI Template standard\n * defined in RFC 6570. It supports the expansion of path and query parameters,\n * correctly handling empty arrays, `null`, and `undefined` values by ignoring\n * them during the expansion process, as specified by the standard.\n *\n * For more information, refer to the official documentation:\n * https://datatracker.ietf.org/doc/html/rfc6570\n *\n * @param schema - The operation schema containing the URL template and method.\n * @param info - The request payload including baseUrl, path parameters, and query parameters.\n * @returns The fully constructed URL string.\n */\nexport function urlSerializer(\n schema: OperationSchema,\n info: Pick<RequestFnInfo, 'baseUrl' | 'parameters'>\n): string {\n const path = schema.url.replace(\n /{(.*?)}/g,\n (substring: string, group: string) => {\n if (\n info.parameters?.path &&\n Object.prototype.hasOwnProperty.call(info.parameters.path, group)\n ) {\n return encodeURI(String(info.parameters?.path[group]));\n }\n return substring;\n }\n );\n\n const baseUrl = info.baseUrl ?? '';\n\n if (info.parameters?.query) {\n return `${baseUrl}${path}${getQueryString(info.parameters.query)}`;\n }\n\n return `${baseUrl}${path}`;\n}\n\nfunction getQueryString(params: Record<string, any>): string {\n const qs: string[] = [];\n\n const append = (key: string, value: any) => {\n qs.push(`${encodeURIComponent(key)}=${encodeURIComponent(String(value))}`);\n };\n\n const process = (key: string, value: any) => {\n if (typeof value === 'undefined' || value === null) return;\n\n if (Array.isArray(value)) {\n value.forEach((v) => {\n process(key, v);\n });\n } else if (typeof value === 'object') {\n Object.entries(value).forEach(([k, v]) => {\n process(`${key}[${k}]`, v);\n });\n } else {\n append(key, value);\n }\n };\n\n Object.entries(params).forEach(([key, value]) => {\n process(key, value);\n });\n\n if (qs.length > 0) {\n return `?${qs.join('&')}`;\n }\n\n return '';\n}\n\nexport function mergeHeaders(...allHeaders: (HeadersOptions | undefined)[]) {\n const headers = new Headers();\n\n for (const headerSet of allHeaders) {\n if (!headerSet || typeof headerSet !== 'object') {\n continue;\n }\n\n const headersIterator =\n headerSet instanceof Headers\n ? headerSet.entries()\n : Object.entries(headerSet);\n\n for (const [headerKey, headerValue] of headersIterator) {\n if (headerValue === null) {\n headers.delete(headerKey);\n } else if (headerValue !== undefined) {\n headers.set(headerKey, headerValue);\n }\n }\n }\n\n return headers;\n}\n\nexport function bodySerializer(\n schema: OperationSchema,\n body: RequestFnInfo['body']\n) {\n if (isReadOnlyOperation(schema)) return undefined;\n\n if (body === undefined || body === null) return undefined;\n\n if (typeof body === 'string') {\n return {\n body,\n headers: {\n 'Content-Type':\n // prefer text/* media type\n schema.mediaType?.find((mediaType) => mediaType.includes('text/')) ??\n // prefer JSON media type, assume that body is serialized as JSON\n schema.mediaType?.find((mediaType) => mediaType.includes('/json')) ??\n 'text/plain',\n },\n };\n }\n\n if (body instanceof FormData) {\n return {\n body,\n headers: {\n // remove `Content-Type` if the serialized body is FormData;\n // the browser will correctly set Content-Type & boundary expression\n 'Content-Type': null,\n },\n };\n }\n\n if (body instanceof Blob) {\n return {\n body,\n headers: {\n 'Content-Type':\n body.type ||\n schema.mediaType?.find(\n (mediaType) =>\n !(\n mediaType.includes('text/') &&\n mediaType.includes('/form-data') &&\n mediaType.includes('/json')\n )\n ) ||\n 'application/octet-stream',\n },\n };\n }\n\n let jsonMediaType: string | null = null;\n let formDataMediaType: string | null = null;\n\n if (schema.mediaType) {\n for (let i = 0; i < schema.mediaType.length; i++) {\n const mediaType = schema.mediaType[i];\n if (mediaType.includes('/json')) jsonMediaType = mediaType;\n else if (mediaType.includes('/form-data')) formDataMediaType = mediaType;\n }\n }\n\n if (formDataMediaType) {\n if (\n !jsonMediaType ||\n // Prefer FormData serialization if one of the fields is a Blob\n Object.values(body).some((value) => value instanceof Blob)\n ) {\n return {\n body: getRequestBodyFormData(body),\n headers: {\n // remove `Content-Type` if the serialized body is FormData;\n // the browser will correctly set Content-Type & boundary expression\n 'Content-Type': null,\n },\n };\n }\n }\n\n return {\n body: JSON.stringify(body),\n headers: {\n 'Content-Type': jsonMediaType ?? 'application/json',\n },\n };\n}\n\nfunction getRequestBodyFormData(\n body: NonNullable<RequestFnInfo['body']>\n): FormData {\n if (body instanceof FormData) return body;\n if (typeof body !== 'object')\n throw new Error(`Unsupported body type ${typeof body} in form-data.`);\n\n const formData = new FormData();\n\n const process = (key: string, value: any) => {\n if (typeof value === 'string' || value instanceof Blob) {\n formData.append(key, value);\n } else {\n formData.append(key, JSON.stringify(value));\n }\n };\n\n Object.entries(body)\n .filter(([_, value]) => typeof value !== 'undefined' && value !== null)\n .forEach(([key, value]) => {\n if (Array.isArray(value)) {\n value.forEach((v) => process(key, v));\n } else {\n process(key, value);\n }\n });\n\n return formData;\n}\n\ntype WithRequired<T, K extends keyof T> = T & {\n [_ in K]: {};\n};\n\nexport type {\n RequestFn,\n RequestFnResponse,\n HeadersOptions,\n RequestFnOptions,\n RequestFnInfo,\n OperationSchema,\n} from '@openapi-qraft/tanstack-query-react-types';\n\n/**\n * @deprecated use `RequestFnInfo` instead\n */\nexport type RequestFnPayload = RequestFnInfo;\n\nfunction isReadOnlyOperation(operation: {\n readonly method:\n | 'get'\n | 'put'\n | 'post'\n | 'patch'\n | 'delete'\n | 'options'\n | 'head'\n | 'trace';\n}) {\n return (\n operation.method === 'get' ||\n operation.method === 'head' ||\n operation.method === 'trace' ||\n operation.method === 'options'\n );\n}\n"],"names":["requestFn","schema","requestInfo","options","baseRequestFn","urlSerializer","bodySerializer","requestSchema","parameters","headers","body","requestInfoRest","requestPayload","baseFetch","fetch","method","toUpperCase","mergeHeaders","Accept","header","then","processResponse","catch","resolveResponse","info","path","url","replace","substring","group","Object","prototype","hasOwnProperty","call","encodeURI","String","baseUrl","query","getQueryString","params","qs","append","key","value","push","encodeURIComponent","process","Array","isArray","forEach","v","entries","k","length","join","allHeaders","Headers","headerSet","headersIterator","headerKey","headerValue","delete","undefined","set","isReadOnlyOperation","mediaType","find","includes","FormData","Blob","type","jsonMediaType","formDataMediaType","i","values","some","getRequestBodyFormData","JSON","stringify","Error","formData","filter","_","operation"],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
function requestFnResponseRejecter(requestFnResponseOrError) {
|
|
4
|
+
if (requestFnResponseOrError instanceof Error) throw requestFnResponseOrError;
|
|
5
|
+
if ('error' in requestFnResponseOrError) throw requestFnResponseOrError.error;
|
|
6
|
+
throw new Error('Unhandled `requestFn` response', {
|
|
7
|
+
cause: requestFnResponseOrError
|
|
8
|
+
});
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
exports.requestFnResponseRejecter = requestFnResponseRejecter;
|
|
12
|
+
//# sourceMappingURL=requestFnResponseRejecter.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"requestFnResponseRejecter.cjs","sources":["../../../src/lib/requestFnResponseRejecter.ts"],"sourcesContent":["import type { RequestFnResponse } from './requestFn.js';\n\nexport function requestFnResponseRejecter<TData, TError>(\n requestFnResponseOrError: RequestFnResponse<TData, TError> | Error\n): TData | undefined {\n if (requestFnResponseOrError instanceof Error) throw requestFnResponseOrError;\n if ('error' in requestFnResponseOrError) throw requestFnResponseOrError.error;\n throw new Error('Unhandled `requestFn` response', {\n cause: requestFnResponseOrError,\n });\n}\n"],"names":["requestFnResponseRejecter","requestFnResponseOrError","Error","error","cause"],"mappings":";;AAEO,SAASA,0BACdC,wBAAkE,EAAA;IAElE,IAAIA,wBAAAA,YAAoCC,OAAO,MAAMD,wBAAAA,CAAAA;AACrD,IAAA,IAAI,OAAWA,IAAAA,wBAAAA,EAA0B,MAAMA,wBAAAA,CAAyBE,KAAK,CAAA;IAC7E,MAAM,IAAID,MAAM,gCAAkC,EAAA;QAChDE,KAAOH,EAAAA,wBAAAA;AACT,KAAA,CAAA,CAAA;AACF;;;;"}
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
var composeInfiniteQueryKey = require('./composeInfiniteQueryKey.cjs');
|
|
5
5
|
var composeQueryKey = require('./composeQueryKey.cjs');
|
|
6
|
+
var requestFnResponseRejecter = require('./requestFnResponseRejecter.cjs');
|
|
6
7
|
var requestFnResponseResolver = require('./requestFnResponseResolver.cjs');
|
|
7
8
|
var shelfMerge = require('./shelfMerge.cjs');
|
|
8
9
|
|
|
@@ -12,13 +13,15 @@ var shelfMerge = require('./shelfMerge.cjs');
|
|
|
12
13
|
*/ function useComposeUseQueryOptions(qraftOptions, schema, args, infinite) {
|
|
13
14
|
const [parameters, options] = args;
|
|
14
15
|
const queryFn = options?.queryFn ?? function({ queryKey: [, queryParams], signal, meta, pageParam }) {
|
|
16
|
+
const { body, ...parameters } = queryParams;
|
|
15
17
|
return qraftOptions.requestFn(schema, {
|
|
16
18
|
// @ts-expect-error - Too complex to type
|
|
17
|
-
parameters: infinite ? shelfMerge.shelfMerge(2,
|
|
19
|
+
parameters: infinite ? shelfMerge.shelfMerge(2, parameters, pageParam) : parameters,
|
|
18
20
|
baseUrl: qraftOptions.baseUrl,
|
|
21
|
+
body,
|
|
19
22
|
signal,
|
|
20
23
|
meta
|
|
21
|
-
}).then(requestFnResponseResolver.requestFnResponseResolver,
|
|
24
|
+
}).then(requestFnResponseResolver.requestFnResponseResolver, requestFnResponseRejecter.requestFnResponseRejecter);
|
|
22
25
|
};
|
|
23
26
|
const queryKey = Array.isArray(parameters) ? parameters : infinite ? composeInfiniteQueryKey.composeInfiniteQueryKey(schema, parameters) : composeQueryKey.composeQueryKey(schema, parameters);
|
|
24
27
|
return [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useComposeUseQueryOptions.cjs","sources":["../../../src/lib/useComposeUseQueryOptions.ts"],"sourcesContent":["'use client';\n\nimport type { ServiceOperationQueryKey } from '@openapi-qraft/tanstack-query-react-types';\nimport type { QueryClient } from '@tanstack/query-core';\nimport type { UseQueryOptions } from '@tanstack/react-query';\nimport type { CreateAPIQueryClientOptions } from '../qraftAPIClient.js';\nimport type { OperationSchema } from './requestFn.js';\nimport { composeInfiniteQueryKey } from './composeInfiniteQueryKey.js';\nimport { composeQueryKey } from './composeQueryKey.js';\nimport { requestFnResponseResolver } from './requestFnResponseResolver.js';\nimport { shelfMerge } from './shelfMerge.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 =\n options?.queryFn ??\n function ({ queryKey: [, queryParams], signal, meta, pageParam }) {\n return qraftOptions\n .requestFn(schema, {\n // @ts-expect-error - Too complex to type\n parameters: infinite\n ? (shelfMerge(2,
|
|
1
|
+
{"version":3,"file":"useComposeUseQueryOptions.cjs","sources":["../../../src/lib/useComposeUseQueryOptions.ts"],"sourcesContent":["'use client';\n\nimport type { ServiceOperationQueryKey } from '@openapi-qraft/tanstack-query-react-types';\nimport type { QueryClient } from '@tanstack/query-core';\nimport type { UseQueryOptions } from '@tanstack/react-query';\nimport type { CreateAPIQueryClientOptions } from '../qraftAPIClient.js';\nimport type { OperationSchema } from './requestFn.js';\nimport { composeInfiniteQueryKey } from './composeInfiniteQueryKey.js';\nimport { composeQueryKey } from './composeQueryKey.js';\nimport { requestFnResponseRejecter } from './requestFnResponseRejecter.js';\nimport { requestFnResponseResolver } from './requestFnResponseResolver.js';\nimport { shelfMerge } from './shelfMerge.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 =\n options?.queryFn ??\n function ({ queryKey: [, queryParams], signal, meta, pageParam }) {\n const { body, ...parameters } = queryParams as {\n body: BodyInit;\n parameters: Record<string, unknown>;\n };\n\n return qraftOptions\n .requestFn(schema, {\n // @ts-expect-error - Too complex to type\n parameters: infinite\n ? (shelfMerge(2, parameters, pageParam) as never)\n : parameters,\n baseUrl: qraftOptions.baseUrl,\n body,\n signal,\n meta,\n })\n .then(requestFnResponseResolver, requestFnResponseRejecter);\n };\n\n const queryKey = Array.isArray(parameters)\n ? (parameters as ServiceOperationQueryKey<OperationSchema, unknown>)\n : infinite\n ? composeInfiniteQueryKey(schema, parameters)\n : composeQueryKey(schema, parameters);\n\n return [{ ...options, queryFn, queryKey }, qraftOptions.queryClient] as never;\n}\n\ntype UseQueryOptionsArgs = [\n parameters: unknown,\n options?: UseQueryOptions,\n queryClient?: QueryClient,\n];\n"],"names":["useComposeUseQueryOptions","qraftOptions","schema","args","infinite","parameters","options","queryFn","queryKey","queryParams","signal","meta","pageParam","body","requestFn","shelfMerge","baseUrl","then","requestFnResponseResolver","requestFnResponseRejecter","Array","isArray","composeInfiniteQueryKey","composeQueryKey","queryClient"],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import { useMutation as useMutation$1 } from '@tanstack/react-query';
|
|
3
3
|
import { composeMutationKey } from '../lib/composeMutationKey.js';
|
|
4
|
+
import { requestFnResponseRejecter } from '../lib/requestFnResponseRejecter.js';
|
|
4
5
|
import { requestFnResponseResolver } from '../lib/requestFnResponseResolver.js';
|
|
5
6
|
|
|
6
7
|
const useMutation = (qraftOptions, schema, args)=>{
|
|
@@ -16,14 +17,14 @@ const useMutation = (qraftOptions, schema, args)=>{
|
|
|
16
17
|
parameters,
|
|
17
18
|
baseUrl: qraftOptions.baseUrl,
|
|
18
19
|
body: bodyPayload
|
|
19
|
-
}).then(requestFnResponseResolver,
|
|
20
|
+
}).then(requestFnResponseResolver, requestFnResponseRejecter);
|
|
20
21
|
} : function(parametersAndBodyPayload) {
|
|
21
22
|
const { body, ...parameters } = parametersAndBodyPayload;
|
|
22
23
|
return qraftOptions.requestFn(schema, {
|
|
23
24
|
parameters,
|
|
24
25
|
baseUrl: qraftOptions.baseUrl,
|
|
25
26
|
body
|
|
26
|
-
}).then(requestFnResponseResolver,
|
|
27
|
+
}).then(requestFnResponseResolver, requestFnResponseRejecter);
|
|
27
28
|
})
|
|
28
29
|
}, qraftOptions.queryClient);
|
|
29
30
|
};
|
|
@@ -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 } from '@tanstack/query-core';\nimport type { 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 { 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 // @ts-expect-error - Too complex to type\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,
|
|
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 } from '@tanstack/query-core';\nimport type { 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 // @ts-expect-error - Too complex to type\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,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 { requestFnResponseRejecter } from '../lib/requestFnResponseRejecter.js';
|
|
4
5
|
import { requestFnResponseResolver } from '../lib/requestFnResponseResolver.js';
|
|
5
6
|
|
|
6
7
|
const useQueries = (qraftOptions, schema, args)=>{
|
|
@@ -24,7 +25,7 @@ const useQueries = (qraftOptions, schema, args)=>{
|
|
|
24
25
|
baseUrl: qraftOptions.baseUrl,
|
|
25
26
|
signal,
|
|
26
27
|
meta
|
|
27
|
-
}).then(requestFnResponseResolver,
|
|
28
|
+
}).then(requestFnResponseResolver, requestFnResponseRejecter);
|
|
28
29
|
}
|
|
29
30
|
};
|
|
30
31
|
})
|
|
@@ -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 { DefaultError } from '@tanstack/query-core';\nimport type { QueriesResults } 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 { 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 // @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], signal, meta }) {\n return qraftOptions\n .requestFn(schema, {\n parameters: queryParams as never,\n baseUrl: qraftOptions.baseUrl,\n signal,\n meta,\n })\n .then(requestFnResponseResolver,
|
|
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 { DefaultError } from '@tanstack/query-core';\nimport type { QueriesResults } 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 { 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 // @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], signal, meta }) {\n return qraftOptions\n .requestFn(schema, {\n parameters: queryParams as never,\n baseUrl: qraftOptions.baseUrl,\n signal,\n meta,\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","queryParams","signal","meta","requestFn","baseUrl","then","requestFnResponseResolver","requestFnResponseRejecter","queryClient"],"mappings":"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"}
|