@kubb/plugin-react-query 5.0.0-alpha.9 → 5.0.0-beta.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +17 -10
- package/README.md +1 -3
- package/dist/components-DTGLu4UV.js +1451 -0
- package/dist/components-DTGLu4UV.js.map +1 -0
- package/dist/components-dAKJEn9b.cjs +1571 -0
- package/dist/components-dAKJEn9b.cjs.map +1 -0
- package/dist/components.cjs +1 -1
- package/dist/components.d.ts +105 -161
- package/dist/components.js +1 -1
- package/dist/generators-CWEQsdO9.cjs +1502 -0
- package/dist/generators-CWEQsdO9.cjs.map +1 -0
- package/dist/generators-C_fbcjpG.js +1460 -0
- package/dist/generators-C_fbcjpG.js.map +1 -0
- package/dist/generators.cjs +1 -1
- package/dist/generators.d.ts +9 -505
- package/dist/generators.js +1 -1
- package/dist/index.cjs +114 -126
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +4 -4
- package/dist/index.js +110 -126
- package/dist/index.js.map +1 -1
- package/dist/{types-D5S7Ny9r.d.ts → types-DfaFRSBf.d.ts} +100 -86
- package/extension.yaml +938 -0
- package/package.json +59 -62
- package/src/components/InfiniteQuery.tsx +75 -139
- package/src/components/InfiniteQueryOptions.tsx +62 -164
- package/src/components/Mutation.tsx +58 -113
- package/src/components/MutationOptions.tsx +61 -80
- package/src/components/Query.tsx +67 -140
- package/src/components/QueryOptions.tsx +75 -135
- package/src/components/SuspenseInfiniteQuery.tsx +75 -139
- package/src/components/SuspenseInfiniteQueryOptions.tsx +62 -164
- package/src/components/SuspenseQuery.tsx +67 -150
- package/src/generators/customHookOptionsFileGenerator.tsx +33 -45
- package/src/generators/hookOptionsGenerator.tsx +115 -175
- package/src/generators/infiniteQueryGenerator.tsx +183 -176
- package/src/generators/mutationGenerator.tsx +127 -138
- package/src/generators/queryGenerator.tsx +141 -141
- package/src/generators/suspenseInfiniteQueryGenerator.tsx +175 -155
- package/src/generators/suspenseQueryGenerator.tsx +149 -148
- package/src/index.ts +1 -1
- package/src/plugin.ts +133 -183
- package/src/resolvers/resolverReactQuery.ts +22 -0
- package/src/types.ts +67 -45
- package/src/utils.ts +40 -0
- package/dist/components-BHQT9ZLc.cjs +0 -1634
- package/dist/components-BHQT9ZLc.cjs.map +0 -1
- package/dist/components-CpyHYGOw.js +0 -1520
- package/dist/components-CpyHYGOw.js.map +0 -1
- package/dist/generators-DP07m3rH.cjs +0 -1469
- package/dist/generators-DP07m3rH.cjs.map +0 -1
- package/dist/generators-DkQwKTc2.js +0 -1427
- package/dist/generators-DkQwKTc2.js.map +0 -1
package/package.json
CHANGED
|
@@ -1,35 +1,56 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kubb/plugin-react-query",
|
|
3
|
-
"version": "5.0.0-
|
|
3
|
+
"version": "5.0.0-beta.4",
|
|
4
4
|
"description": "React Query hooks generator plugin for Kubb, creating type-safe API client hooks from OpenAPI specifications for React applications.",
|
|
5
5
|
"keywords": [
|
|
6
|
-
"react-query",
|
|
7
|
-
"tanstack-query",
|
|
8
|
-
"react",
|
|
9
|
-
"react-hooks",
|
|
10
|
-
"hooks",
|
|
11
|
-
"data-fetching",
|
|
12
6
|
"api-client",
|
|
13
|
-
"sdk-generator",
|
|
14
|
-
"typescript",
|
|
15
|
-
"type-safe",
|
|
16
|
-
"openapi",
|
|
17
|
-
"swagger",
|
|
18
|
-
"oas",
|
|
19
7
|
"code-generator",
|
|
20
8
|
"codegen",
|
|
9
|
+
"data-fetching",
|
|
10
|
+
"hooks",
|
|
11
|
+
"kubb",
|
|
12
|
+
"oas",
|
|
13
|
+
"openapi",
|
|
21
14
|
"plugins",
|
|
22
|
-
"
|
|
15
|
+
"react",
|
|
16
|
+
"react-hooks",
|
|
17
|
+
"react-query",
|
|
18
|
+
"sdk-generator",
|
|
19
|
+
"swagger",
|
|
20
|
+
"tanstack-query",
|
|
21
|
+
"type-safe",
|
|
22
|
+
"typescript"
|
|
23
23
|
],
|
|
24
|
+
"license": "MIT",
|
|
25
|
+
"author": "stijnvanhulle",
|
|
24
26
|
"repository": {
|
|
25
27
|
"type": "git",
|
|
26
|
-
"url": "git+https://github.com/kubb-labs/
|
|
28
|
+
"url": "git+https://github.com/kubb-labs/plugins.git",
|
|
27
29
|
"directory": "packages/plugin-react-query"
|
|
28
30
|
},
|
|
29
|
-
"
|
|
30
|
-
|
|
31
|
-
|
|
31
|
+
"files": [
|
|
32
|
+
"src",
|
|
33
|
+
"dist",
|
|
34
|
+
"extension.yaml",
|
|
35
|
+
"!/**/**.test.**",
|
|
36
|
+
"!/**/__tests__/**",
|
|
37
|
+
"!/**/__snapshots__/**"
|
|
38
|
+
],
|
|
32
39
|
"type": "module",
|
|
40
|
+
"sideEffects": false,
|
|
41
|
+
"main": "./dist/index.cjs",
|
|
42
|
+
"module": "./dist/index.js",
|
|
43
|
+
"types": "./dist/index.d.ts",
|
|
44
|
+
"typesVersions": {
|
|
45
|
+
"*": {
|
|
46
|
+
"components": [
|
|
47
|
+
"./dist/components.d.ts"
|
|
48
|
+
],
|
|
49
|
+
"generators": [
|
|
50
|
+
"./dist/generators.d.ts"
|
|
51
|
+
]
|
|
52
|
+
}
|
|
53
|
+
},
|
|
33
54
|
"exports": {
|
|
34
55
|
".": {
|
|
35
56
|
"import": "./dist/index.js",
|
|
@@ -45,24 +66,25 @@
|
|
|
45
66
|
},
|
|
46
67
|
"./package.json": "./package.json"
|
|
47
68
|
},
|
|
48
|
-
"
|
|
49
|
-
|
|
50
|
-
"
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
69
|
+
"publishConfig": {
|
|
70
|
+
"access": "public",
|
|
71
|
+
"registry": "https://registry.npmjs.org/"
|
|
72
|
+
},
|
|
73
|
+
"dependencies": {
|
|
74
|
+
"@kubb/core": "5.0.0-beta.4",
|
|
75
|
+
"@kubb/renderer-jsx": "5.0.0-beta.4",
|
|
76
|
+
"remeda": "^2.34.0",
|
|
77
|
+
"@kubb/plugin-client": "5.0.0-beta.4",
|
|
78
|
+
"@kubb/plugin-ts": "5.0.0-beta.4",
|
|
79
|
+
"@kubb/plugin-zod": "5.0.0-beta.4"
|
|
80
|
+
},
|
|
81
|
+
"devDependencies": {
|
|
82
|
+
"@internals/tanstack-query": "0.0.0",
|
|
83
|
+
"@internals/utils": "0.0.0"
|
|
84
|
+
},
|
|
85
|
+
"peerDependencies": {
|
|
86
|
+
"@kubb/renderer-jsx": "5.0.0-beta.4"
|
|
58
87
|
},
|
|
59
|
-
"files": [
|
|
60
|
-
"src",
|
|
61
|
-
"dist",
|
|
62
|
-
"!/**/**.test.**",
|
|
63
|
-
"!/**/__tests__/**",
|
|
64
|
-
"!/**/__snapshots__/**"
|
|
65
|
-
],
|
|
66
88
|
"size-limit": [
|
|
67
89
|
{
|
|
68
90
|
"path": "./dist/*.js",
|
|
@@ -70,39 +92,14 @@
|
|
|
70
92
|
"gzip": true
|
|
71
93
|
}
|
|
72
94
|
],
|
|
73
|
-
"dependencies": {
|
|
74
|
-
"@kubb/fabric-core": "0.14.0",
|
|
75
|
-
"@kubb/react-fabric": "0.14.0",
|
|
76
|
-
"remeda": "^2.33.6",
|
|
77
|
-
"@kubb/core": "5.0.0-alpha.9",
|
|
78
|
-
"@kubb/oas": "5.0.0-alpha.9",
|
|
79
|
-
"@kubb/plugin-client": "5.0.0-alpha.9",
|
|
80
|
-
"@kubb/plugin-oas": "5.0.0-alpha.9",
|
|
81
|
-
"@kubb/plugin-ts": "5.0.0-alpha.9",
|
|
82
|
-
"@kubb/plugin-zod": "5.0.0-alpha.9"
|
|
83
|
-
},
|
|
84
|
-
"peerDependencies": {
|
|
85
|
-
"@kubb/fabric-core": "0.14.0",
|
|
86
|
-
"@kubb/react-fabric": "0.14.0"
|
|
87
|
-
},
|
|
88
95
|
"engines": {
|
|
89
96
|
"node": ">=22"
|
|
90
97
|
},
|
|
91
|
-
"publishConfig": {
|
|
92
|
-
"access": "public",
|
|
93
|
-
"registry": "https://registry.npmjs.org/"
|
|
94
|
-
},
|
|
95
|
-
"main": "./dist/index.cjs",
|
|
96
|
-
"module": "./dist/index.js",
|
|
97
|
-
"devDependencies": {
|
|
98
|
-
"@internals/tanstack-query": "0.0.0",
|
|
99
|
-
"@internals/utils": "0.0.0"
|
|
100
|
-
},
|
|
101
98
|
"scripts": {
|
|
102
99
|
"build": "tsdown && size-limit",
|
|
103
100
|
"clean": "npx rimraf ./dist",
|
|
104
|
-
"lint": "
|
|
105
|
-
"lint:fix": "
|
|
101
|
+
"lint": "oxlint .",
|
|
102
|
+
"lint:fix": "oxlint --fix .",
|
|
106
103
|
"release": "pnpm publish --no-git-check",
|
|
107
104
|
"release:canary": "bash ../../.github/canary.sh && node ../../scripts/build.js canary && pnpm publish --no-git-check",
|
|
108
105
|
"start": "tsdown --watch",
|
|
@@ -1,22 +1,20 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import type {
|
|
3
|
-
import {
|
|
4
|
-
import { File, Function
|
|
5
|
-
import type {
|
|
1
|
+
import { ast } from '@kubb/core'
|
|
2
|
+
import type { ResolverTs } from '@kubb/plugin-ts'
|
|
3
|
+
import { functionPrinter } from '@kubb/plugin-ts'
|
|
4
|
+
import { File, Function } from '@kubb/renderer-jsx'
|
|
5
|
+
import type { KubbReactNode } from '@kubb/renderer-jsx/types'
|
|
6
6
|
import type { Infinite, PluginReactQuery } from '../types.ts'
|
|
7
|
+
import { getComments, resolveErrorNames } from '../utils.ts'
|
|
7
8
|
import { QueryKey } from './QueryKey.tsx'
|
|
8
|
-
import {
|
|
9
|
+
import { getQueryOptionsParams } from './QueryOptions.tsx'
|
|
9
10
|
|
|
10
11
|
type Props = {
|
|
11
|
-
/**
|
|
12
|
-
* Name of the function
|
|
13
|
-
*/
|
|
14
12
|
name: string
|
|
15
13
|
queryOptionsName: string
|
|
16
14
|
queryKeyName: string
|
|
17
15
|
queryKeyTypeName: string
|
|
18
|
-
|
|
19
|
-
|
|
16
|
+
node: ast.OperationNode
|
|
17
|
+
tsResolver: ResolverTs
|
|
20
18
|
paramsCasing: PluginReactQuery['resolvedOptions']['paramsCasing']
|
|
21
19
|
paramsType: PluginReactQuery['resolvedOptions']['paramsType']
|
|
22
20
|
pathParamsType: PluginReactQuery['resolvedOptions']['pathParamsType']
|
|
@@ -26,99 +24,41 @@ type Props = {
|
|
|
26
24
|
customOptions: PluginReactQuery['resolvedOptions']['customOptions']
|
|
27
25
|
}
|
|
28
26
|
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
paramsCasing: PluginReactQuery['resolvedOptions']['paramsCasing']
|
|
32
|
-
pathParamsType: PluginReactQuery['resolvedOptions']['pathParamsType']
|
|
33
|
-
typeSchemas: OperationSchemas
|
|
34
|
-
pageParamGeneric: string
|
|
35
|
-
}
|
|
27
|
+
const declarationPrinter = functionPrinter({ mode: 'declaration' })
|
|
28
|
+
const callPrinter = functionPrinter({ mode: 'call' })
|
|
36
29
|
|
|
37
|
-
function getParams(
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
}
|
|
57
|
-
: undefined,
|
|
58
|
-
headers: typeSchemas.headerParams?.name
|
|
59
|
-
? {
|
|
60
|
-
type: typeSchemas.headerParams?.name,
|
|
61
|
-
optional: isOptional(typeSchemas.headerParams?.schema),
|
|
62
|
-
}
|
|
63
|
-
: undefined,
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
// Check if all children are optional or undefined
|
|
67
|
-
const allChildrenAreOptional = Object.values(children).every((child) => !child || child.optional)
|
|
68
|
-
|
|
69
|
-
return FunctionParams.factory({
|
|
70
|
-
data: {
|
|
71
|
-
mode: 'object',
|
|
72
|
-
children,
|
|
73
|
-
default: allChildrenAreOptional ? '{}' : undefined,
|
|
74
|
-
},
|
|
75
|
-
options: {
|
|
76
|
-
type: `
|
|
77
|
-
{
|
|
78
|
-
query?: Partial<InfiniteQueryObserverOptions<TQueryFnData, TError, TData, TQueryKey, ${pageParamGeneric}>> & { client?: QueryClient },
|
|
79
|
-
client?: ${typeSchemas.request?.name ? `Partial<RequestConfig<${typeSchemas.request?.name}>> & { client?: Client }` : 'Partial<RequestConfig> & { client?: Client }'}
|
|
80
|
-
}
|
|
81
|
-
`,
|
|
82
|
-
default: '{}',
|
|
83
|
-
},
|
|
84
|
-
})
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
return FunctionParams.factory({
|
|
88
|
-
pathParams: typeSchemas.pathParams?.name
|
|
89
|
-
? {
|
|
90
|
-
mode: pathParamsType === 'object' ? 'object' : 'inlineSpread',
|
|
91
|
-
children: getPathParams(typeSchemas.pathParams, { typed: true, casing: paramsCasing }),
|
|
92
|
-
default: isAllOptional(typeSchemas.pathParams?.schema) ? '{}' : undefined,
|
|
93
|
-
}
|
|
94
|
-
: undefined,
|
|
95
|
-
data: typeSchemas.request?.name
|
|
96
|
-
? {
|
|
97
|
-
type: typeSchemas.request?.name,
|
|
98
|
-
optional: isOptional(typeSchemas.request?.schema),
|
|
99
|
-
}
|
|
100
|
-
: undefined,
|
|
101
|
-
params: typeSchemas.queryParams?.name
|
|
102
|
-
? {
|
|
103
|
-
type: typeSchemas.queryParams?.name,
|
|
104
|
-
optional: isOptional(typeSchemas.queryParams?.schema),
|
|
105
|
-
}
|
|
106
|
-
: undefined,
|
|
107
|
-
headers: typeSchemas.headerParams?.name
|
|
108
|
-
? {
|
|
109
|
-
type: typeSchemas.headerParams?.name,
|
|
110
|
-
optional: isOptional(typeSchemas.headerParams?.schema),
|
|
111
|
-
}
|
|
112
|
-
: undefined,
|
|
113
|
-
options: {
|
|
114
|
-
type: `
|
|
115
|
-
{
|
|
30
|
+
function getParams(
|
|
31
|
+
node: ast.OperationNode,
|
|
32
|
+
options: {
|
|
33
|
+
paramsType: PluginReactQuery['resolvedOptions']['paramsType']
|
|
34
|
+
paramsCasing: PluginReactQuery['resolvedOptions']['paramsCasing']
|
|
35
|
+
pathParamsType: PluginReactQuery['resolvedOptions']['pathParamsType']
|
|
36
|
+
dataReturnType: PluginReactQuery['resolvedOptions']['client']['dataReturnType']
|
|
37
|
+
resolver: ResolverTs
|
|
38
|
+
pageParamGeneric: string
|
|
39
|
+
},
|
|
40
|
+
): ast.FunctionParametersNode {
|
|
41
|
+
const { paramsType, paramsCasing, pathParamsType, resolver, pageParamGeneric } = options
|
|
42
|
+
const requestName = node.requestBody?.content?.[0]?.schema ? resolver.resolveDataName(node) : undefined
|
|
43
|
+
|
|
44
|
+
const optionsParam = ast.createFunctionParameter({
|
|
45
|
+
name: 'options',
|
|
46
|
+
type: ast.createParamsType({
|
|
47
|
+
variant: 'reference',
|
|
48
|
+
name: `{
|
|
116
49
|
query?: Partial<InfiniteQueryObserverOptions<TQueryFnData, TError, TData, TQueryKey, ${pageParamGeneric}>> & { client?: QueryClient },
|
|
117
|
-
client?: ${
|
|
118
|
-
}
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
50
|
+
client?: ${requestName ? `Partial<RequestConfig<${requestName}>> & { client?: Client }` : 'Partial<RequestConfig> & { client?: Client }'}
|
|
51
|
+
}`,
|
|
52
|
+
}),
|
|
53
|
+
default: '{}',
|
|
54
|
+
})
|
|
55
|
+
|
|
56
|
+
return ast.createOperationParams(node, {
|
|
57
|
+
paramsType,
|
|
58
|
+
pathParamsType: paramsType === 'object' ? 'object' : pathParamsType === 'object' ? 'object' : 'inline',
|
|
59
|
+
paramsCasing,
|
|
60
|
+
resolver,
|
|
61
|
+
extraParams: [optionsParam],
|
|
122
62
|
})
|
|
123
63
|
}
|
|
124
64
|
|
|
@@ -131,14 +71,18 @@ export function InfiniteQuery({
|
|
|
131
71
|
paramsCasing,
|
|
132
72
|
pathParamsType,
|
|
133
73
|
dataReturnType,
|
|
134
|
-
|
|
135
|
-
|
|
74
|
+
node,
|
|
75
|
+
tsResolver,
|
|
136
76
|
initialPageParam,
|
|
137
77
|
queryParam,
|
|
138
78
|
customOptions,
|
|
139
|
-
}: Props):
|
|
140
|
-
const
|
|
141
|
-
const
|
|
79
|
+
}: Props): KubbReactNode {
|
|
80
|
+
const responseName = tsResolver.resolveResponseName(node)
|
|
81
|
+
const errorNames = resolveErrorNames(node, tsResolver)
|
|
82
|
+
|
|
83
|
+
const responseType = dataReturnType === 'data' ? responseName : `ResponseConfig<${responseName}>`
|
|
84
|
+
const errorType = `ResponseErrorConfig<${errorNames.length > 0 ? errorNames.join(' | ') : 'Error'}>`
|
|
85
|
+
|
|
142
86
|
const isInitialPageParamDefined = initialPageParam !== undefined && initialPageParam !== null
|
|
143
87
|
const fallbackPageParamType =
|
|
144
88
|
typeof initialPageParam === 'number'
|
|
@@ -153,8 +97,20 @@ export function InfiniteQuery({
|
|
|
153
97
|
: typeof initialPageParam === 'boolean'
|
|
154
98
|
? 'boolean'
|
|
155
99
|
: 'unknown'
|
|
156
|
-
|
|
100
|
+
|
|
101
|
+
const rawQueryParams = node.parameters.filter((p) => p.in === 'query')
|
|
102
|
+
const queryParamsTypeName =
|
|
103
|
+
rawQueryParams.length > 0
|
|
104
|
+
? (() => {
|
|
105
|
+
const groupName = tsResolver.resolveQueryParamsName(node, rawQueryParams[0]!)
|
|
106
|
+
const individualName = tsResolver.resolveParamName(node, rawQueryParams[0]!)
|
|
107
|
+
return groupName !== individualName ? groupName : undefined
|
|
108
|
+
})()
|
|
109
|
+
: undefined
|
|
110
|
+
|
|
111
|
+
const queryParamType = queryParam && queryParamsTypeName ? `${queryParamsTypeName}['${queryParam}']` : undefined
|
|
157
112
|
const pageParamType = queryParamType ? (isInitialPageParamDefined ? `NonNullable<${queryParamType}>` : queryParamType) : fallbackPageParamType
|
|
113
|
+
|
|
158
114
|
const returnType = 'UseInfiniteQueryResult<TData, TError> & { queryKey: TQueryKey }'
|
|
159
115
|
const generics = [
|
|
160
116
|
`TQueryFnData = ${responseType}`,
|
|
@@ -164,46 +120,26 @@ export function InfiniteQuery({
|
|
|
164
120
|
`TPageParam = ${pageParamType}`,
|
|
165
121
|
]
|
|
166
122
|
|
|
167
|
-
const
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
const queryOptionsParams = QueryOptions.getParams({
|
|
173
|
-
paramsType,
|
|
174
|
-
pathParamsType,
|
|
175
|
-
typeSchemas,
|
|
176
|
-
paramsCasing,
|
|
177
|
-
})
|
|
178
|
-
const params = getParams({
|
|
179
|
-
paramsCasing,
|
|
180
|
-
paramsType,
|
|
181
|
-
pathParamsType,
|
|
182
|
-
typeSchemas,
|
|
183
|
-
pageParamGeneric: 'TPageParam',
|
|
184
|
-
})
|
|
123
|
+
const queryKeyParamsNode = QueryKey.getParams(node, { pathParamsType, paramsCasing, resolver: tsResolver })
|
|
124
|
+
const queryKeyParamsCall = callPrinter.print(queryKeyParamsNode) ?? ''
|
|
125
|
+
|
|
126
|
+
const queryOptionsParamsNode = getQueryOptionsParams(node, { paramsType, paramsCasing, pathParamsType, resolver: tsResolver })
|
|
127
|
+
const queryOptionsParamsCall = callPrinter.print(queryOptionsParamsNode) ?? ''
|
|
185
128
|
|
|
186
|
-
const
|
|
129
|
+
const paramsNode = getParams(node, { paramsType, paramsCasing, pathParamsType, dataReturnType, resolver: tsResolver, pageParamGeneric: 'TPageParam' })
|
|
130
|
+
const paramsSignature = declarationPrinter.print(paramsNode) ?? ''
|
|
187
131
|
|
|
188
132
|
return (
|
|
189
133
|
<File.Source name={name} isExportable isIndexable>
|
|
190
|
-
<Function
|
|
191
|
-
name={name}
|
|
192
|
-
export
|
|
193
|
-
generics={generics.join(', ')}
|
|
194
|
-
params={params.toConstructor()}
|
|
195
|
-
JSDoc={{
|
|
196
|
-
comments: getComments(operation),
|
|
197
|
-
}}
|
|
198
|
-
>
|
|
134
|
+
<Function name={name} export generics={generics.join(', ')} params={paramsSignature} returnType={undefined} JSDoc={{ comments: getComments(node) }}>
|
|
199
135
|
{`
|
|
200
136
|
const { query: queryConfig = {}, client: config = {} } = options ?? {}
|
|
201
137
|
const { client: queryClient, ...resolvedOptions } = queryConfig
|
|
202
|
-
const queryKey = resolvedOptions?.queryKey ?? ${queryKeyName}(${
|
|
203
|
-
${customOptions ? `const customOptions = ${customOptions.name}({ hookName: '${name}', operationId: '${
|
|
138
|
+
const queryKey = resolvedOptions?.queryKey ?? ${queryKeyName}(${queryKeyParamsCall})
|
|
139
|
+
${customOptions ? `const customOptions = ${customOptions.name}({ hookName: '${name}', operationId: '${node.operationId}' })` : ''}
|
|
204
140
|
|
|
205
141
|
const query = useInfiniteQuery({
|
|
206
|
-
...${
|
|
142
|
+
...${queryOptionsName}(${queryOptionsParamsCall}),${customOptions ? '\n...customOptions,' : ''}
|
|
207
143
|
...resolvedOptions,
|
|
208
144
|
queryKey,
|
|
209
145
|
} as unknown as InfiniteQueryObserverOptions<TQueryFnData, TError, TData, TQueryKey, TPageParam>, queryClient) as ${returnType}
|