@kubb/plugin-react-query 5.0.0-beta.10 → 5.0.0-beta.100

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.
Files changed (49) hide show
  1. package/README.md +22 -26
  2. package/dist/index.cjs +2288 -191
  3. package/dist/index.cjs.map +1 -1
  4. package/dist/index.d.ts +494 -6
  5. package/dist/index.js +2258 -185
  6. package/dist/index.js.map +1 -1
  7. package/package.json +11 -34
  8. package/dist/components-Dow6tde8.js +0 -1459
  9. package/dist/components-Dow6tde8.js.map +0 -1
  10. package/dist/components-HwdCDefj.cjs +0 -1603
  11. package/dist/components-HwdCDefj.cjs.map +0 -1
  12. package/dist/components.cjs +0 -13
  13. package/dist/components.d.ts +0 -268
  14. package/dist/components.js +0 -2
  15. package/dist/generators-CcOmnTPa.cjs +0 -1454
  16. package/dist/generators-CcOmnTPa.cjs.map +0 -1
  17. package/dist/generators-yfZr_qfT.js +0 -1412
  18. package/dist/generators-yfZr_qfT.js.map +0 -1
  19. package/dist/generators.cjs +0 -9
  20. package/dist/generators.d.ts +0 -27
  21. package/dist/generators.js +0 -2
  22. package/dist/types-DG_OxOym.d.ts +0 -363
  23. package/extension.yaml +0 -911
  24. package/src/components/InfiniteQuery.tsx +0 -161
  25. package/src/components/InfiniteQueryOptions.tsx +0 -178
  26. package/src/components/Mutation.tsx +0 -121
  27. package/src/components/MutationKey.tsx +0 -1
  28. package/src/components/MutationOptions.tsx +0 -103
  29. package/src/components/Query.tsx +0 -118
  30. package/src/components/QueryKey.tsx +0 -1
  31. package/src/components/QueryOptions.tsx +0 -99
  32. package/src/components/SuspenseInfiniteQuery.tsx +0 -161
  33. package/src/components/SuspenseInfiniteQueryOptions.tsx +0 -178
  34. package/src/components/SuspenseQuery.tsx +0 -118
  35. package/src/components/index.ts +0 -11
  36. package/src/generators/customHookOptionsFileGenerator.tsx +0 -84
  37. package/src/generators/hookOptionsGenerator.tsx +0 -133
  38. package/src/generators/index.ts +0 -7
  39. package/src/generators/infiniteQueryGenerator.tsx +0 -194
  40. package/src/generators/mutationGenerator.tsx +0 -168
  41. package/src/generators/queryGenerator.tsx +0 -180
  42. package/src/generators/suspenseInfiniteQueryGenerator.tsx +0 -203
  43. package/src/generators/suspenseQueryGenerator.tsx +0 -181
  44. package/src/index.ts +0 -2
  45. package/src/plugin.ts +0 -186
  46. package/src/resolvers/resolverReactQuery.ts +0 -107
  47. package/src/types.ts +0 -328
  48. package/src/utils.ts +0 -10
  49. /package/dist/{chunk--u3MIqq1.js → rolldown-runtime-C0LytTxp.js} +0 -0
package/src/plugin.ts DELETED
@@ -1,186 +0,0 @@
1
- import path from 'node:path'
2
- import { camelCase } from '@internals/utils'
3
- import { ast, definePlugin, type Group } from '@kubb/core'
4
- import { pluginClientName } from '@kubb/plugin-client'
5
- import { source as axiosClientSource } from '@kubb/plugin-client/templates/clients/axios.source'
6
- import { source as fetchClientSource } from '@kubb/plugin-client/templates/clients/fetch.source'
7
- import { source as configSource } from '@kubb/plugin-client/templates/config.source'
8
- import { pluginTsName } from '@kubb/plugin-ts'
9
- import { pluginZodName } from '@kubb/plugin-zod'
10
- import { mutationKeyTransformer, queryKeyTransformer } from '@internals/tanstack-query'
11
- import {
12
- customHookOptionsFileGenerator,
13
- hookOptionsGenerator,
14
- infiniteQueryGenerator,
15
- mutationGenerator,
16
- queryGenerator,
17
- suspenseInfiniteQueryGenerator,
18
- suspenseQueryGenerator,
19
- } from './generators'
20
- import { resolverReactQuery } from './resolvers/resolverReactQuery.ts'
21
- import type { PluginReactQuery } from './types.ts'
22
-
23
- export const pluginReactQueryName = 'plugin-react-query' satisfies PluginReactQuery['name']
24
-
25
- export const pluginReactQuery = definePlugin<PluginReactQuery>((options) => {
26
- const {
27
- output = { path: 'hooks', barrelType: 'named' },
28
- group,
29
- exclude = [],
30
- include,
31
- override = [],
32
- parser = 'client',
33
- suspense = {},
34
- infinite = false,
35
- paramsType = 'inline',
36
- pathParamsType = paramsType === 'object' ? 'object' : options.pathParamsType || 'inline',
37
- mutation = {},
38
- query = {},
39
- mutationKey = mutationKeyTransformer,
40
- queryKey = queryKeyTransformer,
41
- customOptions,
42
- paramsCasing,
43
- client,
44
- resolver: userResolver,
45
- transformer: userTransformer,
46
- generators: userGenerators = [],
47
- } = options
48
-
49
- const clientName = client?.client ?? 'axios'
50
- const clientImportPath = client?.importPath ?? (!client?.bundle ? `@kubb/plugin-client/clients/${clientName}` : undefined)
51
-
52
- const selectedGenerators =
53
- options.generators ??
54
- [
55
- queryGenerator,
56
- suspenseQueryGenerator,
57
- infiniteQueryGenerator,
58
- suspenseInfiniteQueryGenerator,
59
- mutationGenerator,
60
- hookOptionsGenerator,
61
- customHookOptionsFileGenerator,
62
- ].filter((generator): generator is NonNullable<typeof generator> => Boolean(generator))
63
-
64
- const groupConfig = group
65
- ? ({
66
- ...group,
67
- name: group.name
68
- ? group.name
69
- : (ctx: { group: string }) => {
70
- if (group.type === 'path') {
71
- return `${ctx.group.split('/')[1]}`
72
- }
73
- return `${camelCase(ctx.group)}Controller`
74
- },
75
- } satisfies Group)
76
- : undefined
77
-
78
- return {
79
- name: pluginReactQueryName,
80
- options,
81
- dependencies: [pluginTsName, parser === 'zod' ? pluginZodName : undefined].filter((dependency): dependency is string => Boolean(dependency)),
82
- hooks: {
83
- 'kubb:plugin:setup'(ctx) {
84
- const resolver = userResolver ? { ...resolverReactQuery, ...userResolver } : resolverReactQuery
85
-
86
- ctx.setOptions({
87
- output,
88
- client: {
89
- bundle: client?.bundle,
90
- baseURL: client?.baseURL,
91
- client: clientName,
92
- clientType: client?.clientType ?? 'function',
93
- importPath: clientImportPath,
94
- dataReturnType: client?.dataReturnType ?? 'data',
95
- paramsCasing,
96
- },
97
- queryKey,
98
- query:
99
- query === false
100
- ? false
101
- : {
102
- importPath: '@tanstack/react-query',
103
- methods: ['get'],
104
- ...query,
105
- },
106
- mutationKey,
107
- mutation:
108
- mutation === false
109
- ? false
110
- : {
111
- importPath: '@tanstack/react-query',
112
- methods: ['post', 'put', 'patch', 'delete'],
113
- ...mutation,
114
- },
115
- infinite: infinite
116
- ? {
117
- queryParam: 'id',
118
- initialPageParam: 0,
119
- cursorParam: undefined,
120
- nextParam: undefined,
121
- previousParam: undefined,
122
- ...infinite,
123
- }
124
- : false,
125
- suspense,
126
- customOptions: customOptions ? { name: 'useCustomHookOptions', ...customOptions } : undefined,
127
- parser,
128
- paramsType,
129
- pathParamsType,
130
- paramsCasing,
131
- group: groupConfig,
132
- exclude,
133
- include,
134
- override,
135
- resolver,
136
- })
137
- ctx.setResolver(resolver)
138
- if (userTransformer) {
139
- ctx.setTransformer(userTransformer)
140
- }
141
-
142
- for (const gen of selectedGenerators) {
143
- ctx.addGenerator(gen)
144
- }
145
- for (const gen of userGenerators) {
146
- ctx.addGenerator(gen)
147
- }
148
-
149
- const root = path.resolve(ctx.config.root, ctx.config.output.path)
150
- const hasClientPlugin = !!ctx.config.plugins?.some((p) => (p as { name?: string }).name === pluginClientName)
151
-
152
- if (client?.bundle && !hasClientPlugin && !clientImportPath) {
153
- ctx.injectFile({
154
- baseName: 'fetch.ts',
155
- path: path.resolve(root, '.kubb/fetch.ts'),
156
- sources: [
157
- ast.createSource({
158
- name: 'fetch',
159
- nodes: [ast.createText(clientName === 'fetch' ? fetchClientSource : axiosClientSource)],
160
- isExportable: true,
161
- isIndexable: true,
162
- }),
163
- ],
164
- })
165
- }
166
-
167
- if (!hasClientPlugin) {
168
- ctx.injectFile({
169
- baseName: 'config.ts',
170
- path: path.resolve(root, '.kubb/config.ts'),
171
- sources: [
172
- ast.createSource({
173
- name: 'config',
174
- nodes: [ast.createText(configSource)],
175
- isExportable: false,
176
- isIndexable: false,
177
- }),
178
- ],
179
- })
180
- }
181
- },
182
- },
183
- }
184
- })
185
-
186
- export default pluginReactQuery
@@ -1,107 +0,0 @@
1
- import { camelCase } from '@internals/utils'
2
- import { defineResolver } from '@kubb/core'
3
- import type { PluginReactQuery } from '../types.ts'
4
-
5
- function capitalize(name: string): string {
6
- return `${name.charAt(0).toUpperCase()}${name.slice(1)}`
7
- }
8
-
9
- /**
10
- * Naming convention resolver for React Query plugin.
11
- *
12
- * Provides default naming helpers using camelCase for functions and file paths.
13
- *
14
- * @example
15
- * `resolverReactQuery.default('list pets', 'function') // → 'listPets'`
16
- */
17
- export const resolverReactQuery = defineResolver<PluginReactQuery>(() => ({
18
- name: 'default',
19
- pluginName: 'plugin-react-query',
20
- default(name, type) {
21
- return camelCase(name, { isFile: type === 'file' })
22
- },
23
- resolveName(name) {
24
- return this.default(name, 'function')
25
- },
26
- resolvePathName(name, type) {
27
- return this.default(name, type)
28
- },
29
- resolveQueryName(node) {
30
- return `use${capitalize(this.resolveName(node.operationId))}`
31
- },
32
- resolveSuspenseQueryName(node) {
33
- return `use${capitalize(this.resolveName(node.operationId))}Suspense`
34
- },
35
- resolveInfiniteQueryName(node) {
36
- return `use${capitalize(this.resolveName(node.operationId))}Infinite`
37
- },
38
- resolveSuspenseInfiniteQueryName(node) {
39
- return `use${capitalize(this.resolveName(node.operationId))}SuspenseInfinite`
40
- },
41
- resolveMutationName(node) {
42
- return `use${capitalize(this.resolveName(node.operationId))}`
43
- },
44
- resolveQueryOptionsName(node) {
45
- return `${this.resolveName(node.operationId)}QueryOptions`
46
- },
47
- resolveSuspenseQueryOptionsName(node) {
48
- return `${this.resolveName(node.operationId)}SuspenseQueryOptions`
49
- },
50
- resolveInfiniteQueryOptionsName(node) {
51
- return `${this.resolveName(node.operationId)}InfiniteQueryOptions`
52
- },
53
- resolveSuspenseInfiniteQueryOptionsName(node) {
54
- return `${this.resolveName(node.operationId)}SuspenseInfiniteQueryOptions`
55
- },
56
- resolveMutationOptionsName(node) {
57
- return `${this.resolveName(node.operationId)}MutationOptions`
58
- },
59
- resolveQueryKeyName(node) {
60
- return `${this.resolveName(node.operationId)}QueryKey`
61
- },
62
- resolveSuspenseQueryKeyName(node) {
63
- return `${this.resolveName(node.operationId)}SuspenseQueryKey`
64
- },
65
- resolveInfiniteQueryKeyName(node) {
66
- return `${this.resolveName(node.operationId)}InfiniteQueryKey`
67
- },
68
- resolveSuspenseInfiniteQueryKeyName(node) {
69
- return `${this.resolveName(node.operationId)}SuspenseInfiniteQueryKey`
70
- },
71
- resolveMutationKeyName(node) {
72
- return `${this.resolveName(node.operationId)}MutationKey`
73
- },
74
- resolveQueryKeyTypeName(node) {
75
- return `${capitalize(this.resolveName(node.operationId))}QueryKey`
76
- },
77
- resolveSuspenseQueryKeyTypeName(node) {
78
- return `${capitalize(this.resolveName(node.operationId))}SuspenseQueryKey`
79
- },
80
- resolveInfiniteQueryKeyTypeName(node) {
81
- return `${capitalize(this.resolveName(node.operationId))}InfiniteQueryKey`
82
- },
83
- resolveSuspenseInfiniteQueryKeyTypeName(node) {
84
- return `${capitalize(this.resolveName(node.operationId))}SuspenseInfiniteQueryKey`
85
- },
86
- resolveMutationTypeName(node) {
87
- return capitalize(this.resolveName(node.operationId))
88
- },
89
- resolveClientName(node) {
90
- return this.resolveName(node.operationId)
91
- },
92
- resolveSuspenseClientName(node) {
93
- return `${this.resolveName(node.operationId)}Suspense`
94
- },
95
- resolveInfiniteClientName(node) {
96
- return `${this.resolveName(node.operationId)}Infinite`
97
- },
98
- resolveSuspenseInfiniteClientName(node) {
99
- return `${this.resolveName(node.operationId)}SuspenseInfinite`
100
- },
101
- resolveHookOptionsName() {
102
- return 'HookOptions'
103
- },
104
- resolveCustomHookOptionsName() {
105
- return 'getCustomHookOptions'
106
- },
107
- }))
package/src/types.ts DELETED
@@ -1,328 +0,0 @@
1
- import type { Transformer } from '@internals/tanstack-query'
2
- import type { ast, Exclude, Generator, Group, Include, Output, Override, PluginFactoryOptions, Resolver } from '@kubb/core'
3
- import type { ClientImportPath, PluginClient } from '@kubb/plugin-client'
4
-
5
- export type { Transformer } from '@internals/tanstack-query'
6
-
7
- /**
8
- * Resolver for React Query that provides naming methods for hook functions.
9
- */
10
- export type ResolverReactQuery = Resolver & {
11
- /**
12
- * Resolves the base function name for an operation.
13
- *
14
- * @example Resolving base operation names
15
- * `resolver.resolveName('show pet by id') // -> 'showPetById'`
16
- */
17
- resolveName(this: ResolverReactQuery, name: string): string
18
- /**
19
- * Resolves the output file name for a hook module.
20
- */
21
- resolvePathName(this: ResolverReactQuery, name: string, type?: 'file' | 'function' | 'type' | 'const'): string
22
- /**
23
- * Resolves a query hook function name.
24
- */
25
- resolveQueryName(this: ResolverReactQuery, node: ast.OperationNode): string
26
- /**
27
- * Resolves a suspense query hook function name.
28
- */
29
- resolveSuspenseQueryName(this: ResolverReactQuery, node: ast.OperationNode): string
30
- /**
31
- * Resolves an infinite query hook function name.
32
- */
33
- resolveInfiniteQueryName(this: ResolverReactQuery, node: ast.OperationNode): string
34
- /**
35
- * Resolves a suspense infinite query hook function name.
36
- */
37
- resolveSuspenseInfiniteQueryName(this: ResolverReactQuery, node: ast.OperationNode): string
38
- /**
39
- * Resolves a mutation hook function name.
40
- */
41
- resolveMutationName(this: ResolverReactQuery, node: ast.OperationNode): string
42
- /**
43
- * Resolves the query options helper name.
44
- */
45
- resolveQueryOptionsName(this: ResolverReactQuery, node: ast.OperationNode): string
46
- /**
47
- * Resolves the suspense query options helper name.
48
- */
49
- resolveSuspenseQueryOptionsName(this: ResolverReactQuery, node: ast.OperationNode): string
50
- /**
51
- * Resolves the infinite query options helper name.
52
- */
53
- resolveInfiniteQueryOptionsName(this: ResolverReactQuery, node: ast.OperationNode): string
54
- /**
55
- * Resolves the suspense infinite query options helper name.
56
- */
57
- resolveSuspenseInfiniteQueryOptionsName(this: ResolverReactQuery, node: ast.OperationNode): string
58
- /**
59
- * Resolves the mutation options helper name.
60
- */
61
- resolveMutationOptionsName(this: ResolverReactQuery, node: ast.OperationNode): string
62
- /**
63
- * Resolves the query key helper name.
64
- */
65
- resolveQueryKeyName(this: ResolverReactQuery, node: ast.OperationNode): string
66
- /**
67
- * Resolves the suspense query key helper name.
68
- */
69
- resolveSuspenseQueryKeyName(this: ResolverReactQuery, node: ast.OperationNode): string
70
- /**
71
- * Resolves the infinite query key helper name.
72
- */
73
- resolveInfiniteQueryKeyName(this: ResolverReactQuery, node: ast.OperationNode): string
74
- /**
75
- * Resolves the suspense infinite query key helper name.
76
- */
77
- resolveSuspenseInfiniteQueryKeyName(this: ResolverReactQuery, node: ast.OperationNode): string
78
- /**
79
- * Resolves the mutation key helper name.
80
- */
81
- resolveMutationKeyName(this: ResolverReactQuery, node: ast.OperationNode): string
82
- /**
83
- * Resolves the query key type name.
84
- */
85
- resolveQueryKeyTypeName(this: ResolverReactQuery, node: ast.OperationNode): string
86
- /**
87
- * Resolves the suspense query key type name.
88
- */
89
- resolveSuspenseQueryKeyTypeName(this: ResolverReactQuery, node: ast.OperationNode): string
90
- /**
91
- * Resolves the infinite query key type name.
92
- */
93
- resolveInfiniteQueryKeyTypeName(this: ResolverReactQuery, node: ast.OperationNode): string
94
- /**
95
- * Resolves the suspense infinite query key type name.
96
- */
97
- resolveSuspenseInfiniteQueryKeyTypeName(this: ResolverReactQuery, node: ast.OperationNode): string
98
- /**
99
- * Resolves the mutation type name.
100
- */
101
- resolveMutationTypeName(this: ResolverReactQuery, node: ast.OperationNode): string
102
- /**
103
- * Resolves the client function name generated inline by query hooks.
104
- */
105
- resolveClientName(this: ResolverReactQuery, node: ast.OperationNode): string
106
- /**
107
- * Resolves the client function name generated inline by suspense query hooks.
108
- */
109
- resolveSuspenseClientName(this: ResolverReactQuery, node: ast.OperationNode): string
110
- /**
111
- * Resolves the client function name generated inline by infinite query hooks.
112
- */
113
- resolveInfiniteClientName(this: ResolverReactQuery, node: ast.OperationNode): string
114
- /**
115
- * Resolves the client function name generated inline by suspense infinite query hooks.
116
- */
117
- resolveSuspenseInfiniteClientName(this: ResolverReactQuery, node: ast.OperationNode): string
118
- /**
119
- * Resolves the generated custom hook options map type name.
120
- */
121
- resolveHookOptionsName(this: ResolverReactQuery): string
122
- /**
123
- * Resolves the helper function name used inside the custom hook options file.
124
- */
125
- resolveCustomHookOptionsName(this: ResolverReactQuery): string
126
- }
127
-
128
- type Suspense = object
129
-
130
- /**
131
- * Customize the queryKey.
132
- */
133
- type QueryKey = Transformer
134
-
135
- /**
136
- * Customize the mutationKey.
137
- */
138
- type MutationKey = Transformer
139
-
140
- type Query = {
141
- /**
142
- * HTTP methods to use for queries.
143
- *
144
- * @default ['get']
145
- */
146
- methods?: Array<string>
147
- /**
148
- * Path to the useQuery hook for useQuery functionality.
149
- * Used as `import { useQuery } from '${importPath}'`.
150
- * Accepts relative and absolute paths.
151
- * Path is used as-is; relative paths are based on the generated file location.
152
- * @default '@tanstack/react-query'
153
- */
154
- importPath?: string
155
- }
156
-
157
- type Mutation = {
158
- /**
159
- * HTTP methods to use for mutations.
160
- *
161
- * @default ['post', 'put', 'delete']
162
- */
163
- methods?: Array<string>
164
- /**
165
- * Path to the useMutation hook for useMutation functionality.
166
- * Used as `import { useMutation } from '${importPath}'`.
167
- * Accepts relative and absolute paths.
168
- * Path is used as-is; relative paths are based on the generated file location.
169
- * @default '@tanstack/react-query'
170
- */
171
- importPath?: string
172
- }
173
-
174
- export type Infinite = {
175
- /**
176
- * Specify the params key used for `pageParam`.
177
- * @default 'id'
178
- */
179
- queryParam: string
180
- /**
181
- * Which field of the data is used, set it to undefined when no cursor is known.
182
- * @deprecated Use `nextParam` and `previousParam` instead for more flexible pagination handling.
183
- */
184
- cursorParam?: string | undefined
185
- /**
186
- * Which field of the data is used to get the cursor for the next page.
187
- * Supports dot notation (e.g. 'pagination.next.id') or array path (e.g. ['pagination', 'next', 'id']) to access nested fields.
188
- */
189
- nextParam?: string | string[] | undefined
190
- /**
191
- * Which field of the data is used to get the cursor for the previous page.
192
- * Supports dot notation (e.g. 'pagination.prev.id') or array path (e.g. ['pagination', 'prev', 'id']) to access nested fields.
193
- */
194
- previousParam?: string | string[] | undefined
195
- /**
196
- * The initial value, the value of the first page.
197
- * @default 0
198
- */
199
- initialPageParam: unknown
200
- }
201
-
202
- type CustomOptions = {
203
- /**
204
- * Path to the hook that is used to customize the hook options.
205
- * It used as `import ${customOptions.name} from '${customOptions.importPath}'`.
206
- * It allows both relative and absolute paths but be aware that we will not change the path.
207
- */
208
- importPath: string
209
- /**
210
- * Name of the exported hook that is used to customize the hook options.
211
- * It used as `import ${customOptions.name} from '${customOptions.importPath}'`.
212
- * @default 'useCustomHookOptions'
213
- */
214
- name?: string
215
- }
216
-
217
- export type Options = {
218
- /**
219
- * Specify the export location for the files and define the behavior of the output
220
- * @default { path: 'hooks', barrelType: 'named' }
221
- */
222
- output?: Output
223
- /**
224
- * Group the @tanstack/query hooks based on the provided name.
225
- */
226
- group?: Group
227
- client?: ClientImportPath & Pick<PluginClient['options'], 'clientType' | 'dataReturnType' | 'baseURL' | 'bundle' | 'paramsCasing'>
228
- /**
229
- * Tags, operations, or paths to exclude from generation.
230
- */
231
- exclude?: Array<Exclude>
232
- /**
233
- * Tags, operations, or paths to include in generation.
234
- */
235
- include?: Array<Include>
236
- /**
237
- * Override options for specific tags, operations, or paths.
238
- */
239
- override?: Array<Override<ResolvedOptions>>
240
- /**
241
- * Apply casing to parameter names.
242
- */
243
- paramsCasing?: 'camelcase'
244
- /**
245
- * How parameters are passed: grouped in an object or spread inline.
246
- *
247
- * @default 'inline'
248
- */
249
- paramsType?: 'object' | 'inline'
250
- /**
251
- * How path parameters are passed: grouped in an object or spread inline.
252
- *
253
- * @default 'inline'
254
- */
255
- pathParamsType?: PluginClient['options']['pathParamsType']
256
- /**
257
- * Add infinite query hooks.
258
- */
259
- infinite?: Partial<Infinite> | false
260
- /**
261
- * Add suspense query hooks.
262
- */
263
- suspense?: Partial<Suspense> | false
264
- queryKey?: QueryKey
265
- /**
266
- * Configure useQuery behavior.
267
- */
268
- query?: Partial<Query> | false
269
- mutationKey?: MutationKey
270
- /**
271
- * Configure useMutation behavior.
272
- */
273
- mutation?: Partial<Mutation> | false
274
- /**
275
- * Use a custom hook to customize hook options and generate a HookOptions type.
276
- */
277
- customOptions?: CustomOptions
278
- /**
279
- * Parser to use for validating response data.
280
- */
281
- parser?: PluginClient['options']['parser']
282
- /**
283
- * Override naming conventions for function names and types.
284
- */
285
- resolver?: Partial<ResolverReactQuery> & ThisType<ResolverReactQuery>
286
- /**
287
- * AST visitor to transform generated nodes.
288
- */
289
- transformer?: ast.Visitor
290
- /**
291
- * Additional generators alongside the default generators.
292
- */
293
- generators?: Array<Generator<PluginReactQuery>>
294
- }
295
-
296
- type ResolvedOptions = {
297
- output: Output
298
- group: Group | undefined
299
- exclude: NonNullable<Options['exclude']>
300
- include: Options['include']
301
- override: NonNullable<Options['override']>
302
- client: Pick<PluginClient['options'], 'client' | 'clientType' | 'dataReturnType' | 'importPath' | 'baseURL' | 'bundle' | 'paramsCasing'>
303
- parser: Required<NonNullable<Options['parser']>>
304
- pathParamsType: NonNullable<Options['pathParamsType']>
305
- paramsCasing: Options['paramsCasing']
306
- paramsType: NonNullable<Options['paramsType']>
307
- /**
308
- * Only used for infinite
309
- */
310
- infinite: NonNullable<Infinite> | false
311
- suspense: Suspense | false
312
- queryKey: QueryKey | undefined
313
- query: NonNullable<Required<Query>> | false
314
- mutationKey: MutationKey | undefined
315
- mutation: NonNullable<Required<Mutation>> | false
316
- customOptions: NonNullable<Required<CustomOptions>> | undefined
317
- resolver: ResolverReactQuery
318
- }
319
-
320
- export type PluginReactQuery = PluginFactoryOptions<'plugin-react-query', Options, ResolvedOptions, ResolverReactQuery>
321
-
322
- declare global {
323
- namespace Kubb {
324
- interface PluginRegistry {
325
- 'plugin-react-query': PluginReactQuery
326
- }
327
- }
328
- }
package/src/utils.ts DELETED
@@ -1,10 +0,0 @@
1
- export {
2
- buildGroupParam,
3
- buildQueryKeyParams,
4
- resolveHeaderGroupType,
5
- resolveOperationOverrides,
6
- resolvePathParamType,
7
- resolveQueryGroupType,
8
- resolveZodSchemaNames,
9
- } from '@internals/tanstack-query'
10
- export { buildOperationComments as getComments, buildRequestConfigType, getContentTypeInfo, resolveErrorNames, resolveStatusCodeNames } from '@internals/shared'