@kubb/plugin-vue-query 3.0.0-beta.1 → 3.0.0-beta.10

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 (41) hide show
  1. package/dist/{chunk-FSQSBTBH.cjs → chunk-5MY3SE2R.cjs} +220 -18
  2. package/dist/chunk-5MY3SE2R.cjs.map +1 -0
  3. package/dist/{chunk-V6YETPDM.js → chunk-DWWRCRGY.js} +220 -18
  4. package/dist/chunk-DWWRCRGY.js.map +1 -0
  5. package/dist/{chunk-S7SEIU2L.cjs → chunk-PGNSMLGU.cjs} +31 -20
  6. package/dist/chunk-PGNSMLGU.cjs.map +1 -0
  7. package/dist/{chunk-VAPLKIAH.js → chunk-YQOJHRKU.js} +18 -7
  8. package/dist/chunk-YQOJHRKU.js.map +1 -0
  9. package/dist/components.cjs +8 -8
  10. package/dist/components.d.cts +19 -10
  11. package/dist/components.d.ts +19 -10
  12. package/dist/components.js +1 -1
  13. package/dist/generators.cjs +5 -5
  14. package/dist/generators.d.cts +1 -1
  15. package/dist/generators.d.ts +1 -1
  16. package/dist/generators.js +2 -2
  17. package/dist/index.cjs +6 -5
  18. package/dist/index.cjs.map +1 -1
  19. package/dist/index.d.cts +1 -1
  20. package/dist/index.d.ts +1 -1
  21. package/dist/index.js +5 -4
  22. package/dist/index.js.map +1 -1
  23. package/dist/{types-FQruQAe4.d.cts → types-Dx6yZliF.d.cts} +30 -31
  24. package/dist/{types-FQruQAe4.d.ts → types-Dx6yZliF.d.ts} +30 -31
  25. package/package.json +14 -14
  26. package/src/components/InfiniteQuery.tsx +54 -1
  27. package/src/components/InfiniteQueryOptions.tsx +49 -2
  28. package/src/components/Mutation.tsx +7 -3
  29. package/src/components/Query.tsx +65 -2
  30. package/src/components/QueryOptions.tsx +50 -3
  31. package/src/generators/__snapshots__/findByTagsObject.ts +62 -0
  32. package/src/generators/__snapshots__/updatePetByIdPathParamsObject.ts +1 -3
  33. package/src/generators/infiniteQueryGenerator.tsx +3 -1
  34. package/src/generators/mutationGenerator.tsx +2 -1
  35. package/src/generators/queryGenerator.tsx +3 -1
  36. package/src/plugin.ts +3 -2
  37. package/src/types.ts +14 -18
  38. package/dist/chunk-FSQSBTBH.cjs.map +0 -1
  39. package/dist/chunk-S7SEIU2L.cjs.map +0 -1
  40. package/dist/chunk-V6YETPDM.js.map +0 -1
  41. package/dist/chunk-VAPLKIAH.js.map +0 -1
@@ -1,7 +1,7 @@
1
1
  import { Operation } from '@kubb/oas';
2
2
  import { OperationSchemas } from '@kubb/plugin-oas';
3
3
  import { ReactNode } from 'react';
4
- import { P as PluginVueQuery, I as Infinite } from './types-FQruQAe4.cjs';
4
+ import { P as PluginVueQuery, I as Infinite } from './types-Dx6yZliF.cjs';
5
5
  import { FunctionParams } from '@kubb/react';
6
6
  import '@kubb/core';
7
7
 
@@ -15,10 +15,11 @@ type Props$6 = {
15
15
  mutationKeyName: string;
16
16
  typeSchemas: OperationSchemas;
17
17
  operation: Operation;
18
+ paramsType: PluginVueQuery['resolvedOptions']['paramsType'];
18
19
  dataReturnType: PluginVueQuery['resolvedOptions']['client']['dataReturnType'];
19
20
  pathParamsType: PluginVueQuery['resolvedOptions']['pathParamsType'];
20
21
  };
21
- declare function Mutation({ name, clientName, pathParamsType, dataReturnType, typeSchemas, operation, mutationKeyName }: Props$6): ReactNode;
22
+ declare function Mutation({ name, clientName, paramsType, pathParamsType, dataReturnType, typeSchemas, operation, mutationKeyName }: Props$6): ReactNode;
22
23
 
23
24
  type Props$5 = {
24
25
  /**
@@ -30,17 +31,19 @@ type Props$5 = {
30
31
  queryKeyTypeName: string;
31
32
  typeSchemas: OperationSchemas;
32
33
  operation: Operation;
34
+ paramsType: PluginVueQuery['resolvedOptions']['paramsType'];
33
35
  pathParamsType: PluginVueQuery['resolvedOptions']['pathParamsType'];
34
36
  dataReturnType: PluginVueQuery['resolvedOptions']['client']['dataReturnType'];
35
37
  };
36
38
  type GetParamsProps$5 = {
39
+ paramsType: PluginVueQuery['resolvedOptions']['paramsType'];
37
40
  pathParamsType: PluginVueQuery['resolvedOptions']['pathParamsType'];
38
41
  dataReturnType: PluginVueQuery['resolvedOptions']['client']['dataReturnType'];
39
42
  typeSchemas: OperationSchemas;
40
43
  };
41
- declare function Query({ name, queryKeyTypeName, queryOptionsName, queryKeyName, pathParamsType, dataReturnType, typeSchemas, operation }: Props$5): ReactNode;
44
+ declare function Query({ name, queryKeyTypeName, queryOptionsName, queryKeyName, paramsType, pathParamsType, dataReturnType, typeSchemas, operation, }: Props$5): ReactNode;
42
45
  declare namespace Query {
43
- var getParams: ({ pathParamsType, dataReturnType, typeSchemas }: GetParamsProps$5) => FunctionParams;
46
+ var getParams: ({ paramsType, pathParamsType, dataReturnType, typeSchemas }: GetParamsProps$5) => FunctionParams;
44
47
  }
45
48
 
46
49
  type Props$4 = {
@@ -65,15 +68,17 @@ type Props$3 = {
65
68
  clientName: string;
66
69
  queryKeyName: string;
67
70
  typeSchemas: OperationSchemas;
71
+ paramsType: PluginVueQuery['resolvedOptions']['paramsType'];
68
72
  pathParamsType: PluginVueQuery['resolvedOptions']['pathParamsType'];
69
73
  };
70
74
  type GetParamsProps$3 = {
75
+ paramsType: PluginVueQuery['resolvedOptions']['paramsType'];
71
76
  pathParamsType: PluginVueQuery['resolvedOptions']['pathParamsType'];
72
77
  typeSchemas: OperationSchemas;
73
78
  };
74
- declare function QueryOptions({ name, clientName, typeSchemas, pathParamsType, queryKeyName }: Props$3): ReactNode;
79
+ declare function QueryOptions({ name, clientName, typeSchemas, paramsType, pathParamsType, queryKeyName }: Props$3): ReactNode;
75
80
  declare namespace QueryOptions {
76
- var getParams: ({ pathParamsType, typeSchemas }: GetParamsProps$3) => FunctionParams;
81
+ var getParams: ({ paramsType, pathParamsType, typeSchemas }: GetParamsProps$3) => FunctionParams;
77
82
  }
78
83
 
79
84
  type Props$2 = {
@@ -81,6 +86,7 @@ type Props$2 = {
81
86
  clientName: string;
82
87
  queryKeyName: string;
83
88
  typeSchemas: OperationSchemas;
89
+ paramsType: PluginVueQuery['resolvedOptions']['paramsType'];
84
90
  pathParamsType: PluginVueQuery['resolvedOptions']['pathParamsType'];
85
91
  dataReturnType: PluginVueQuery['resolvedOptions']['client']['dataReturnType'];
86
92
  initialPageParam: Infinite['initialPageParam'];
@@ -88,12 +94,13 @@ type Props$2 = {
88
94
  queryParam: Infinite['queryParam'];
89
95
  };
90
96
  type GetParamsProps$2 = {
97
+ paramsType: PluginVueQuery['resolvedOptions']['paramsType'];
91
98
  pathParamsType: PluginVueQuery['resolvedOptions']['pathParamsType'];
92
99
  typeSchemas: OperationSchemas;
93
100
  };
94
- declare function InfiniteQueryOptions({ name, clientName, initialPageParam, cursorParam, typeSchemas, dataReturnType, pathParamsType, queryParam, queryKeyName, }: Props$2): ReactNode;
101
+ declare function InfiniteQueryOptions({ name, clientName, initialPageParam, cursorParam, typeSchemas, paramsType, dataReturnType, pathParamsType, queryParam, queryKeyName, }: Props$2): ReactNode;
95
102
  declare namespace InfiniteQueryOptions {
96
- var getParams: ({ pathParamsType, typeSchemas }: GetParamsProps$2) => FunctionParams;
103
+ var getParams: ({ paramsType, pathParamsType, typeSchemas }: GetParamsProps$2) => FunctionParams;
97
104
  }
98
105
 
99
106
  type Props$1 = {
@@ -106,17 +113,19 @@ type Props$1 = {
106
113
  queryKeyTypeName: string;
107
114
  typeSchemas: OperationSchemas;
108
115
  operation: Operation;
116
+ paramsType: PluginVueQuery['resolvedOptions']['paramsType'];
109
117
  pathParamsType: PluginVueQuery['resolvedOptions']['pathParamsType'];
110
118
  dataReturnType: PluginVueQuery['resolvedOptions']['client']['dataReturnType'];
111
119
  };
112
120
  type GetParamsProps$1 = {
121
+ paramsType: PluginVueQuery['resolvedOptions']['paramsType'];
113
122
  pathParamsType: PluginVueQuery['resolvedOptions']['pathParamsType'];
114
123
  dataReturnType: PluginVueQuery['resolvedOptions']['client']['dataReturnType'];
115
124
  typeSchemas: OperationSchemas;
116
125
  };
117
- declare function InfiniteQuery({ name, queryKeyTypeName, queryOptionsName, queryKeyName, pathParamsType, dataReturnType, typeSchemas, operation, }: Props$1): ReactNode;
126
+ declare function InfiniteQuery({ name, queryKeyTypeName, queryOptionsName, queryKeyName, paramsType, pathParamsType, dataReturnType, typeSchemas, operation, }: Props$1): ReactNode;
118
127
  declare namespace InfiniteQuery {
119
- var getParams: ({ pathParamsType, dataReturnType, typeSchemas }: GetParamsProps$1) => FunctionParams;
128
+ var getParams: ({ paramsType, pathParamsType, dataReturnType, typeSchemas }: GetParamsProps$1) => FunctionParams;
120
129
  }
121
130
 
122
131
  type Props = {
@@ -1,7 +1,7 @@
1
1
  import { Operation } from '@kubb/oas';
2
2
  import { OperationSchemas } from '@kubb/plugin-oas';
3
3
  import { ReactNode } from 'react';
4
- import { P as PluginVueQuery, I as Infinite } from './types-FQruQAe4.js';
4
+ import { P as PluginVueQuery, I as Infinite } from './types-Dx6yZliF.js';
5
5
  import { FunctionParams } from '@kubb/react';
6
6
  import '@kubb/core';
7
7
 
@@ -15,10 +15,11 @@ type Props$6 = {
15
15
  mutationKeyName: string;
16
16
  typeSchemas: OperationSchemas;
17
17
  operation: Operation;
18
+ paramsType: PluginVueQuery['resolvedOptions']['paramsType'];
18
19
  dataReturnType: PluginVueQuery['resolvedOptions']['client']['dataReturnType'];
19
20
  pathParamsType: PluginVueQuery['resolvedOptions']['pathParamsType'];
20
21
  };
21
- declare function Mutation({ name, clientName, pathParamsType, dataReturnType, typeSchemas, operation, mutationKeyName }: Props$6): ReactNode;
22
+ declare function Mutation({ name, clientName, paramsType, pathParamsType, dataReturnType, typeSchemas, operation, mutationKeyName }: Props$6): ReactNode;
22
23
 
23
24
  type Props$5 = {
24
25
  /**
@@ -30,17 +31,19 @@ type Props$5 = {
30
31
  queryKeyTypeName: string;
31
32
  typeSchemas: OperationSchemas;
32
33
  operation: Operation;
34
+ paramsType: PluginVueQuery['resolvedOptions']['paramsType'];
33
35
  pathParamsType: PluginVueQuery['resolvedOptions']['pathParamsType'];
34
36
  dataReturnType: PluginVueQuery['resolvedOptions']['client']['dataReturnType'];
35
37
  };
36
38
  type GetParamsProps$5 = {
39
+ paramsType: PluginVueQuery['resolvedOptions']['paramsType'];
37
40
  pathParamsType: PluginVueQuery['resolvedOptions']['pathParamsType'];
38
41
  dataReturnType: PluginVueQuery['resolvedOptions']['client']['dataReturnType'];
39
42
  typeSchemas: OperationSchemas;
40
43
  };
41
- declare function Query({ name, queryKeyTypeName, queryOptionsName, queryKeyName, pathParamsType, dataReturnType, typeSchemas, operation }: Props$5): ReactNode;
44
+ declare function Query({ name, queryKeyTypeName, queryOptionsName, queryKeyName, paramsType, pathParamsType, dataReturnType, typeSchemas, operation, }: Props$5): ReactNode;
42
45
  declare namespace Query {
43
- var getParams: ({ pathParamsType, dataReturnType, typeSchemas }: GetParamsProps$5) => FunctionParams;
46
+ var getParams: ({ paramsType, pathParamsType, dataReturnType, typeSchemas }: GetParamsProps$5) => FunctionParams;
44
47
  }
45
48
 
46
49
  type Props$4 = {
@@ -65,15 +68,17 @@ type Props$3 = {
65
68
  clientName: string;
66
69
  queryKeyName: string;
67
70
  typeSchemas: OperationSchemas;
71
+ paramsType: PluginVueQuery['resolvedOptions']['paramsType'];
68
72
  pathParamsType: PluginVueQuery['resolvedOptions']['pathParamsType'];
69
73
  };
70
74
  type GetParamsProps$3 = {
75
+ paramsType: PluginVueQuery['resolvedOptions']['paramsType'];
71
76
  pathParamsType: PluginVueQuery['resolvedOptions']['pathParamsType'];
72
77
  typeSchemas: OperationSchemas;
73
78
  };
74
- declare function QueryOptions({ name, clientName, typeSchemas, pathParamsType, queryKeyName }: Props$3): ReactNode;
79
+ declare function QueryOptions({ name, clientName, typeSchemas, paramsType, pathParamsType, queryKeyName }: Props$3): ReactNode;
75
80
  declare namespace QueryOptions {
76
- var getParams: ({ pathParamsType, typeSchemas }: GetParamsProps$3) => FunctionParams;
81
+ var getParams: ({ paramsType, pathParamsType, typeSchemas }: GetParamsProps$3) => FunctionParams;
77
82
  }
78
83
 
79
84
  type Props$2 = {
@@ -81,6 +86,7 @@ type Props$2 = {
81
86
  clientName: string;
82
87
  queryKeyName: string;
83
88
  typeSchemas: OperationSchemas;
89
+ paramsType: PluginVueQuery['resolvedOptions']['paramsType'];
84
90
  pathParamsType: PluginVueQuery['resolvedOptions']['pathParamsType'];
85
91
  dataReturnType: PluginVueQuery['resolvedOptions']['client']['dataReturnType'];
86
92
  initialPageParam: Infinite['initialPageParam'];
@@ -88,12 +94,13 @@ type Props$2 = {
88
94
  queryParam: Infinite['queryParam'];
89
95
  };
90
96
  type GetParamsProps$2 = {
97
+ paramsType: PluginVueQuery['resolvedOptions']['paramsType'];
91
98
  pathParamsType: PluginVueQuery['resolvedOptions']['pathParamsType'];
92
99
  typeSchemas: OperationSchemas;
93
100
  };
94
- declare function InfiniteQueryOptions({ name, clientName, initialPageParam, cursorParam, typeSchemas, dataReturnType, pathParamsType, queryParam, queryKeyName, }: Props$2): ReactNode;
101
+ declare function InfiniteQueryOptions({ name, clientName, initialPageParam, cursorParam, typeSchemas, paramsType, dataReturnType, pathParamsType, queryParam, queryKeyName, }: Props$2): ReactNode;
95
102
  declare namespace InfiniteQueryOptions {
96
- var getParams: ({ pathParamsType, typeSchemas }: GetParamsProps$2) => FunctionParams;
103
+ var getParams: ({ paramsType, pathParamsType, typeSchemas }: GetParamsProps$2) => FunctionParams;
97
104
  }
98
105
 
99
106
  type Props$1 = {
@@ -106,17 +113,19 @@ type Props$1 = {
106
113
  queryKeyTypeName: string;
107
114
  typeSchemas: OperationSchemas;
108
115
  operation: Operation;
116
+ paramsType: PluginVueQuery['resolvedOptions']['paramsType'];
109
117
  pathParamsType: PluginVueQuery['resolvedOptions']['pathParamsType'];
110
118
  dataReturnType: PluginVueQuery['resolvedOptions']['client']['dataReturnType'];
111
119
  };
112
120
  type GetParamsProps$1 = {
121
+ paramsType: PluginVueQuery['resolvedOptions']['paramsType'];
113
122
  pathParamsType: PluginVueQuery['resolvedOptions']['pathParamsType'];
114
123
  dataReturnType: PluginVueQuery['resolvedOptions']['client']['dataReturnType'];
115
124
  typeSchemas: OperationSchemas;
116
125
  };
117
- declare function InfiniteQuery({ name, queryKeyTypeName, queryOptionsName, queryKeyName, pathParamsType, dataReturnType, typeSchemas, operation, }: Props$1): ReactNode;
126
+ declare function InfiniteQuery({ name, queryKeyTypeName, queryOptionsName, queryKeyName, paramsType, pathParamsType, dataReturnType, typeSchemas, operation, }: Props$1): ReactNode;
118
127
  declare namespace InfiniteQuery {
119
- var getParams: ({ pathParamsType, dataReturnType, typeSchemas }: GetParamsProps$1) => FunctionParams;
128
+ var getParams: ({ paramsType, pathParamsType, dataReturnType, typeSchemas }: GetParamsProps$1) => FunctionParams;
120
129
  }
121
130
 
122
131
  type Props = {
@@ -1,3 +1,3 @@
1
- export { InfiniteQuery, InfiniteQueryOptions, Mutation, MutationKey, Query, QueryKey, QueryOptions } from './chunk-V6YETPDM.js';
1
+ export { InfiniteQuery, InfiniteQueryOptions, Mutation, MutationKey, Query, QueryKey, QueryOptions } from './chunk-DWWRCRGY.js';
2
2
  //# sourceMappingURL=components.js.map
3
3
  //# sourceMappingURL=components.js.map
@@ -1,21 +1,21 @@
1
1
  'use strict';
2
2
 
3
- var chunkS7SEIU2L_cjs = require('./chunk-S7SEIU2L.cjs');
4
- require('./chunk-FSQSBTBH.cjs');
3
+ var chunkPGNSMLGU_cjs = require('./chunk-PGNSMLGU.cjs');
4
+ require('./chunk-5MY3SE2R.cjs');
5
5
 
6
6
 
7
7
 
8
8
  Object.defineProperty(exports, "infiniteQueryGenerator", {
9
9
  enumerable: true,
10
- get: function () { return chunkS7SEIU2L_cjs.infiniteQueryGenerator; }
10
+ get: function () { return chunkPGNSMLGU_cjs.infiniteQueryGenerator; }
11
11
  });
12
12
  Object.defineProperty(exports, "mutationGenerator", {
13
13
  enumerable: true,
14
- get: function () { return chunkS7SEIU2L_cjs.mutationGenerator; }
14
+ get: function () { return chunkPGNSMLGU_cjs.mutationGenerator; }
15
15
  });
16
16
  Object.defineProperty(exports, "queryGenerator", {
17
17
  enumerable: true,
18
- get: function () { return chunkS7SEIU2L_cjs.queryGenerator; }
18
+ get: function () { return chunkPGNSMLGU_cjs.queryGenerator; }
19
19
  });
20
20
  //# sourceMappingURL=generators.cjs.map
21
21
  //# sourceMappingURL=generators.cjs.map
@@ -1,5 +1,5 @@
1
1
  import * as _kubb_plugin_oas from '@kubb/plugin-oas';
2
- import { P as PluginVueQuery } from './types-FQruQAe4.cjs';
2
+ import { P as PluginVueQuery } from './types-Dx6yZliF.cjs';
3
3
  import '@kubb/core';
4
4
  import '@kubb/oas';
5
5
 
@@ -1,5 +1,5 @@
1
1
  import * as _kubb_plugin_oas from '@kubb/plugin-oas';
2
- import { P as PluginVueQuery } from './types-FQruQAe4.js';
2
+ import { P as PluginVueQuery } from './types-Dx6yZliF.js';
3
3
  import '@kubb/core';
4
4
  import '@kubb/oas';
5
5
 
@@ -1,4 +1,4 @@
1
- export { infiniteQueryGenerator, mutationGenerator, queryGenerator } from './chunk-VAPLKIAH.js';
2
- import './chunk-V6YETPDM.js';
1
+ export { infiniteQueryGenerator, mutationGenerator, queryGenerator } from './chunk-YQOJHRKU.js';
2
+ import './chunk-DWWRCRGY.js';
3
3
  //# sourceMappingURL=generators.js.map
4
4
  //# sourceMappingURL=generators.js.map
package/dist/index.cjs CHANGED
@@ -1,11 +1,10 @@
1
1
  'use strict';
2
2
 
3
- var chunkS7SEIU2L_cjs = require('./chunk-S7SEIU2L.cjs');
4
- require('./chunk-FSQSBTBH.cjs');
3
+ var chunkPGNSMLGU_cjs = require('./chunk-PGNSMLGU.cjs');
4
+ require('./chunk-5MY3SE2R.cjs');
5
5
  var path = require('path');
6
6
  var core = require('@kubb/core');
7
7
  var transformers = require('@kubb/core/transformers');
8
- require('@kubb/core/utils');
9
8
  var pluginOas = require('@kubb/plugin-oas');
10
9
  var pluginTs = require('@kubb/plugin-ts');
11
10
  var pluginZod = require('@kubb/plugin-zod');
@@ -25,10 +24,11 @@ var pluginVueQuery = core.createPlugin((options) => {
25
24
  parser = "client",
26
25
  infinite,
27
26
  transformers: transformers$1 = {},
27
+ paramsType = "inline",
28
28
  pathParamsType = "inline",
29
29
  mutation = {},
30
30
  query = {},
31
- generators = [chunkS7SEIU2L_cjs.queryGenerator, chunkS7SEIU2L_cjs.infiniteQueryGenerator, chunkS7SEIU2L_cjs.mutationGenerator].filter(Boolean)
31
+ generators = [chunkPGNSMLGU_cjs.queryGenerator, chunkPGNSMLGU_cjs.infiniteQueryGenerator, chunkPGNSMLGU_cjs.mutationGenerator].filter(Boolean)
32
32
  } = options;
33
33
  return {
34
34
  name: pluginVueQueryName,
@@ -59,7 +59,8 @@ var pluginVueQuery = core.createPlugin((options) => {
59
59
  importPath: "@tanstack/vue-query",
60
60
  ...mutation
61
61
  },
62
- pathParamsType,
62
+ paramsType,
63
+ pathParamsType: paramsType === "object" ? "object" : pathParamsType,
63
64
  parser
64
65
  },
65
66
  pre: [pluginOas.pluginOasName, pluginTs.pluginTsName, parser === "zod" ? pluginZod.pluginZodName : void 0].filter(Boolean),
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/plugin.ts"],"names":["createPlugin","transformers","queryGenerator","infiniteQueryGenerator","mutationGenerator","pluginOasName","pluginTsName","pluginZodName","options","path","FileManager","camelCase","pascalCase","PluginManager","OperationGenerator"],"mappings":"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","file":"index.cjs","sourcesContent":["import path from 'node:path'\n\nimport { FileManager, type Group, PluginManager, createPlugin } from '@kubb/core'\nimport { camelCase, pascalCase } from '@kubb/core/transformers'\nimport { renderTemplate } from '@kubb/core/utils'\nimport { OperationGenerator, pluginOasName } from '@kubb/plugin-oas'\n\nimport { pluginTsName } from '@kubb/plugin-ts'\nimport { pluginZodName } from '@kubb/plugin-zod'\n\nimport type { Plugin } from '@kubb/core'\nimport type { PluginOas } from '@kubb/plugin-oas'\nimport { infiniteQueryGenerator, mutationGenerator, queryGenerator } from './generators'\nimport type { PluginVueQuery } from './types.ts'\n\nexport const pluginVueQueryName = 'plugin-vue-query' satisfies PluginVueQuery['name']\n\nexport const pluginVueQuery = createPlugin<PluginVueQuery>((options) => {\n const {\n output = { path: 'hooks', barrelType: 'named' },\n group,\n exclude = [],\n include,\n override = [],\n parser = 'client',\n infinite,\n transformers = {},\n pathParamsType = 'inline',\n mutation = {},\n query = {},\n generators = [queryGenerator, infiniteQueryGenerator, mutationGenerator].filter(Boolean),\n } = options\n\n return {\n name: pluginVueQueryName,\n options: {\n output,\n baseURL: undefined,\n client: {\n importPath: '@kubb/plugin-client/client',\n dataReturnType: 'data',\n pathParamsType: 'inline',\n ...options.client,\n },\n infinite: infinite\n ? {\n queryParam: 'id',\n initialPageParam: 0,\n cursorParam: undefined,\n ...infinite,\n }\n : false,\n query: {\n key: (key: unknown[]) => key,\n methods: ['get'],\n importPath: '@tanstack/vue-query',\n ...query,\n },\n mutation: {\n key: (key: unknown[]) => key,\n methods: ['post', 'put', 'patch', 'delete'],\n importPath: '@tanstack/vue-query',\n ...mutation,\n },\n pathParamsType,\n parser,\n },\n pre: [pluginOasName, pluginTsName, parser === 'zod' ? pluginZodName : undefined].filter(Boolean),\n resolvePath(baseName, pathMode, options) {\n const root = path.resolve(this.config.root, this.config.output.path)\n const mode = pathMode ?? FileManager.getMode(path.resolve(root, output.path))\n\n if (options?.tag && group?.type === 'tag') {\n const groupName: Group['name'] = group?.name ? group.name : (ctx) => `${ctx.group}Controller`\n\n return path.resolve(root, output.path, groupName({ group: camelCase(options.tag) }), baseName)\n }\n\n if (mode === 'single') {\n /**\n * when output is a file then we will always append to the same file(output file), see fileManager.addOrAppend\n * Other plugins then need to call addOrAppend instead of just add from the fileManager class\n */\n return path.resolve(root, output.path)\n }\n\n return path.resolve(root, output.path, baseName)\n },\n resolveName(name, type) {\n let resolvedName = camelCase(name)\n\n if (type === 'file' || type === 'function') {\n resolvedName = camelCase(name, {\n isFile: type === 'file',\n })\n }\n if (type === 'type') {\n resolvedName = pascalCase(name)\n }\n\n if (type) {\n return transformers?.name?.(resolvedName, type) || resolvedName\n }\n\n return resolvedName\n },\n async buildStart() {\n const [swaggerPlugin]: [Plugin<PluginOas>] = PluginManager.getDependedPlugins<PluginOas>(this.plugins, [pluginOasName])\n\n const oas = await swaggerPlugin.context.getOas()\n const root = path.resolve(this.config.root, this.config.output.path)\n const mode = FileManager.getMode(path.resolve(root, output.path))\n const baseURL = await swaggerPlugin.context.getBaseURL()\n\n const operationGenerator = new OperationGenerator(\n {\n ...this.plugin.options,\n baseURL,\n },\n {\n oas,\n pluginManager: this.pluginManager,\n plugin: this.plugin,\n contentType: swaggerPlugin.context.contentType,\n exclude,\n include,\n override,\n mode,\n },\n )\n\n const files = await operationGenerator.build(...generators)\n await this.addFile(...files)\n\n const barrelFiles = await this.fileManager.getBarrelFiles({\n type: output.barrelType ?? 'named',\n root,\n output,\n files: this.fileManager.files,\n meta: {\n pluginKey: this.plugin.key,\n },\n logger: this.logger,\n })\n\n await this.addFile(...barrelFiles)\n },\n }\n})\n"]}
1
+ {"version":3,"sources":["../src/plugin.ts"],"names":["createPlugin","transformers","queryGenerator","infiniteQueryGenerator","mutationGenerator","pluginOasName","pluginTsName","pluginZodName","options","path","FileManager","camelCase","pascalCase","PluginManager","OperationGenerator"],"mappings":"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","file":"index.cjs","sourcesContent":["import path from 'node:path'\n\nimport { FileManager, type Group, PluginManager, createPlugin } from '@kubb/core'\nimport { camelCase, pascalCase } from '@kubb/core/transformers'\nimport { OperationGenerator, pluginOasName } from '@kubb/plugin-oas'\n\nimport { pluginTsName } from '@kubb/plugin-ts'\nimport { pluginZodName } from '@kubb/plugin-zod'\n\nimport type { Plugin } from '@kubb/core'\nimport type { PluginOas } from '@kubb/plugin-oas'\nimport { infiniteQueryGenerator, mutationGenerator, queryGenerator } from './generators'\nimport type { PluginVueQuery } from './types.ts'\n\nexport const pluginVueQueryName = 'plugin-vue-query' satisfies PluginVueQuery['name']\n\nexport const pluginVueQuery = createPlugin<PluginVueQuery>((options) => {\n const {\n output = { path: 'hooks', barrelType: 'named' },\n group,\n exclude = [],\n include,\n override = [],\n parser = 'client',\n infinite,\n transformers = {},\n paramsType = 'inline',\n pathParamsType = 'inline',\n mutation = {},\n query = {},\n generators = [queryGenerator, infiniteQueryGenerator, mutationGenerator].filter(Boolean),\n } = options\n\n return {\n name: pluginVueQueryName,\n options: {\n output,\n baseURL: undefined,\n client: {\n importPath: '@kubb/plugin-client/client',\n dataReturnType: 'data',\n pathParamsType: 'inline',\n ...options.client,\n },\n infinite: infinite\n ? {\n queryParam: 'id',\n initialPageParam: 0,\n cursorParam: undefined,\n ...infinite,\n }\n : false,\n query: {\n key: (key: unknown[]) => key,\n methods: ['get'],\n importPath: '@tanstack/vue-query',\n ...query,\n },\n mutation: {\n key: (key: unknown[]) => key,\n methods: ['post', 'put', 'patch', 'delete'],\n importPath: '@tanstack/vue-query',\n ...mutation,\n },\n paramsType,\n pathParamsType: paramsType === 'object' ? 'object' : pathParamsType,\n parser,\n },\n pre: [pluginOasName, pluginTsName, parser === 'zod' ? pluginZodName : undefined].filter(Boolean),\n resolvePath(baseName, pathMode, options) {\n const root = path.resolve(this.config.root, this.config.output.path)\n const mode = pathMode ?? FileManager.getMode(path.resolve(root, output.path))\n\n if (options?.tag && group?.type === 'tag') {\n const groupName: Group['name'] = group?.name ? group.name : (ctx) => `${ctx.group}Controller`\n\n return path.resolve(root, output.path, groupName({ group: camelCase(options.tag) }), baseName)\n }\n\n if (mode === 'single') {\n /**\n * when output is a file then we will always append to the same file(output file), see fileManager.addOrAppend\n * Other plugins then need to call addOrAppend instead of just add from the fileManager class\n */\n return path.resolve(root, output.path)\n }\n\n return path.resolve(root, output.path, baseName)\n },\n resolveName(name, type) {\n let resolvedName = camelCase(name)\n\n if (type === 'file' || type === 'function') {\n resolvedName = camelCase(name, {\n isFile: type === 'file',\n })\n }\n if (type === 'type') {\n resolvedName = pascalCase(name)\n }\n\n if (type) {\n return transformers?.name?.(resolvedName, type) || resolvedName\n }\n\n return resolvedName\n },\n async buildStart() {\n const [swaggerPlugin]: [Plugin<PluginOas>] = PluginManager.getDependedPlugins<PluginOas>(this.plugins, [pluginOasName])\n\n const oas = await swaggerPlugin.context.getOas()\n const root = path.resolve(this.config.root, this.config.output.path)\n const mode = FileManager.getMode(path.resolve(root, output.path))\n const baseURL = await swaggerPlugin.context.getBaseURL()\n\n const operationGenerator = new OperationGenerator(\n {\n ...this.plugin.options,\n baseURL,\n },\n {\n oas,\n pluginManager: this.pluginManager,\n plugin: this.plugin,\n contentType: swaggerPlugin.context.contentType,\n exclude,\n include,\n override,\n mode,\n },\n )\n\n const files = await operationGenerator.build(...generators)\n await this.addFile(...files)\n\n const barrelFiles = await this.fileManager.getBarrelFiles({\n type: output.barrelType ?? 'named',\n root,\n output,\n files: this.fileManager.files,\n meta: {\n pluginKey: this.plugin.key,\n },\n logger: this.logger,\n })\n\n await this.addFile(...barrelFiles)\n },\n }\n})\n"]}
package/dist/index.d.cts CHANGED
@@ -1,5 +1,5 @@
1
1
  import * as _kubb_core from '@kubb/core';
2
- import { O as Options, P as PluginVueQuery } from './types-FQruQAe4.cjs';
2
+ import { O as Options, P as PluginVueQuery } from './types-Dx6yZliF.cjs';
3
3
  import '@kubb/oas';
4
4
  import '@kubb/plugin-oas';
5
5
 
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import * as _kubb_core from '@kubb/core';
2
- import { O as Options, P as PluginVueQuery } from './types-FQruQAe4.js';
2
+ import { O as Options, P as PluginVueQuery } from './types-Dx6yZliF.js';
3
3
  import '@kubb/oas';
4
4
  import '@kubb/plugin-oas';
5
5
 
package/dist/index.js CHANGED
@@ -1,9 +1,8 @@
1
- import { queryGenerator, infiniteQueryGenerator, mutationGenerator } from './chunk-VAPLKIAH.js';
2
- import './chunk-V6YETPDM.js';
1
+ import { queryGenerator, infiniteQueryGenerator, mutationGenerator } from './chunk-YQOJHRKU.js';
2
+ import './chunk-DWWRCRGY.js';
3
3
  import path from 'node:path';
4
4
  import { createPlugin, FileManager, PluginManager } from '@kubb/core';
5
5
  import { camelCase, pascalCase } from '@kubb/core/transformers';
6
- import '@kubb/core/utils';
7
6
  import { pluginOasName, OperationGenerator } from '@kubb/plugin-oas';
8
7
  import { pluginTsName } from '@kubb/plugin-ts';
9
8
  import { pluginZodName } from '@kubb/plugin-zod';
@@ -19,6 +18,7 @@ var pluginVueQuery = createPlugin((options) => {
19
18
  parser = "client",
20
19
  infinite,
21
20
  transformers = {},
21
+ paramsType = "inline",
22
22
  pathParamsType = "inline",
23
23
  mutation = {},
24
24
  query = {},
@@ -53,7 +53,8 @@ var pluginVueQuery = createPlugin((options) => {
53
53
  importPath: "@tanstack/vue-query",
54
54
  ...mutation
55
55
  },
56
- pathParamsType,
56
+ paramsType,
57
+ pathParamsType: paramsType === "object" ? "object" : pathParamsType,
57
58
  parser
58
59
  },
59
60
  pre: [pluginOasName, pluginTsName, parser === "zod" ? pluginZodName : void 0].filter(Boolean),
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/plugin.ts"],"names":["options"],"mappings":"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","file":"index.js","sourcesContent":["import path from 'node:path'\n\nimport { FileManager, type Group, PluginManager, createPlugin } from '@kubb/core'\nimport { camelCase, pascalCase } from '@kubb/core/transformers'\nimport { renderTemplate } from '@kubb/core/utils'\nimport { OperationGenerator, pluginOasName } from '@kubb/plugin-oas'\n\nimport { pluginTsName } from '@kubb/plugin-ts'\nimport { pluginZodName } from '@kubb/plugin-zod'\n\nimport type { Plugin } from '@kubb/core'\nimport type { PluginOas } from '@kubb/plugin-oas'\nimport { infiniteQueryGenerator, mutationGenerator, queryGenerator } from './generators'\nimport type { PluginVueQuery } from './types.ts'\n\nexport const pluginVueQueryName = 'plugin-vue-query' satisfies PluginVueQuery['name']\n\nexport const pluginVueQuery = createPlugin<PluginVueQuery>((options) => {\n const {\n output = { path: 'hooks', barrelType: 'named' },\n group,\n exclude = [],\n include,\n override = [],\n parser = 'client',\n infinite,\n transformers = {},\n pathParamsType = 'inline',\n mutation = {},\n query = {},\n generators = [queryGenerator, infiniteQueryGenerator, mutationGenerator].filter(Boolean),\n } = options\n\n return {\n name: pluginVueQueryName,\n options: {\n output,\n baseURL: undefined,\n client: {\n importPath: '@kubb/plugin-client/client',\n dataReturnType: 'data',\n pathParamsType: 'inline',\n ...options.client,\n },\n infinite: infinite\n ? {\n queryParam: 'id',\n initialPageParam: 0,\n cursorParam: undefined,\n ...infinite,\n }\n : false,\n query: {\n key: (key: unknown[]) => key,\n methods: ['get'],\n importPath: '@tanstack/vue-query',\n ...query,\n },\n mutation: {\n key: (key: unknown[]) => key,\n methods: ['post', 'put', 'patch', 'delete'],\n importPath: '@tanstack/vue-query',\n ...mutation,\n },\n pathParamsType,\n parser,\n },\n pre: [pluginOasName, pluginTsName, parser === 'zod' ? pluginZodName : undefined].filter(Boolean),\n resolvePath(baseName, pathMode, options) {\n const root = path.resolve(this.config.root, this.config.output.path)\n const mode = pathMode ?? FileManager.getMode(path.resolve(root, output.path))\n\n if (options?.tag && group?.type === 'tag') {\n const groupName: Group['name'] = group?.name ? group.name : (ctx) => `${ctx.group}Controller`\n\n return path.resolve(root, output.path, groupName({ group: camelCase(options.tag) }), baseName)\n }\n\n if (mode === 'single') {\n /**\n * when output is a file then we will always append to the same file(output file), see fileManager.addOrAppend\n * Other plugins then need to call addOrAppend instead of just add from the fileManager class\n */\n return path.resolve(root, output.path)\n }\n\n return path.resolve(root, output.path, baseName)\n },\n resolveName(name, type) {\n let resolvedName = camelCase(name)\n\n if (type === 'file' || type === 'function') {\n resolvedName = camelCase(name, {\n isFile: type === 'file',\n })\n }\n if (type === 'type') {\n resolvedName = pascalCase(name)\n }\n\n if (type) {\n return transformers?.name?.(resolvedName, type) || resolvedName\n }\n\n return resolvedName\n },\n async buildStart() {\n const [swaggerPlugin]: [Plugin<PluginOas>] = PluginManager.getDependedPlugins<PluginOas>(this.plugins, [pluginOasName])\n\n const oas = await swaggerPlugin.context.getOas()\n const root = path.resolve(this.config.root, this.config.output.path)\n const mode = FileManager.getMode(path.resolve(root, output.path))\n const baseURL = await swaggerPlugin.context.getBaseURL()\n\n const operationGenerator = new OperationGenerator(\n {\n ...this.plugin.options,\n baseURL,\n },\n {\n oas,\n pluginManager: this.pluginManager,\n plugin: this.plugin,\n contentType: swaggerPlugin.context.contentType,\n exclude,\n include,\n override,\n mode,\n },\n )\n\n const files = await operationGenerator.build(...generators)\n await this.addFile(...files)\n\n const barrelFiles = await this.fileManager.getBarrelFiles({\n type: output.barrelType ?? 'named',\n root,\n output,\n files: this.fileManager.files,\n meta: {\n pluginKey: this.plugin.key,\n },\n logger: this.logger,\n })\n\n await this.addFile(...barrelFiles)\n },\n }\n})\n"]}
1
+ {"version":3,"sources":["../src/plugin.ts"],"names":["options"],"mappings":"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","file":"index.js","sourcesContent":["import path from 'node:path'\n\nimport { FileManager, type Group, PluginManager, createPlugin } from '@kubb/core'\nimport { camelCase, pascalCase } from '@kubb/core/transformers'\nimport { OperationGenerator, pluginOasName } from '@kubb/plugin-oas'\n\nimport { pluginTsName } from '@kubb/plugin-ts'\nimport { pluginZodName } from '@kubb/plugin-zod'\n\nimport type { Plugin } from '@kubb/core'\nimport type { PluginOas } from '@kubb/plugin-oas'\nimport { infiniteQueryGenerator, mutationGenerator, queryGenerator } from './generators'\nimport type { PluginVueQuery } from './types.ts'\n\nexport const pluginVueQueryName = 'plugin-vue-query' satisfies PluginVueQuery['name']\n\nexport const pluginVueQuery = createPlugin<PluginVueQuery>((options) => {\n const {\n output = { path: 'hooks', barrelType: 'named' },\n group,\n exclude = [],\n include,\n override = [],\n parser = 'client',\n infinite,\n transformers = {},\n paramsType = 'inline',\n pathParamsType = 'inline',\n mutation = {},\n query = {},\n generators = [queryGenerator, infiniteQueryGenerator, mutationGenerator].filter(Boolean),\n } = options\n\n return {\n name: pluginVueQueryName,\n options: {\n output,\n baseURL: undefined,\n client: {\n importPath: '@kubb/plugin-client/client',\n dataReturnType: 'data',\n pathParamsType: 'inline',\n ...options.client,\n },\n infinite: infinite\n ? {\n queryParam: 'id',\n initialPageParam: 0,\n cursorParam: undefined,\n ...infinite,\n }\n : false,\n query: {\n key: (key: unknown[]) => key,\n methods: ['get'],\n importPath: '@tanstack/vue-query',\n ...query,\n },\n mutation: {\n key: (key: unknown[]) => key,\n methods: ['post', 'put', 'patch', 'delete'],\n importPath: '@tanstack/vue-query',\n ...mutation,\n },\n paramsType,\n pathParamsType: paramsType === 'object' ? 'object' : pathParamsType,\n parser,\n },\n pre: [pluginOasName, pluginTsName, parser === 'zod' ? pluginZodName : undefined].filter(Boolean),\n resolvePath(baseName, pathMode, options) {\n const root = path.resolve(this.config.root, this.config.output.path)\n const mode = pathMode ?? FileManager.getMode(path.resolve(root, output.path))\n\n if (options?.tag && group?.type === 'tag') {\n const groupName: Group['name'] = group?.name ? group.name : (ctx) => `${ctx.group}Controller`\n\n return path.resolve(root, output.path, groupName({ group: camelCase(options.tag) }), baseName)\n }\n\n if (mode === 'single') {\n /**\n * when output is a file then we will always append to the same file(output file), see fileManager.addOrAppend\n * Other plugins then need to call addOrAppend instead of just add from the fileManager class\n */\n return path.resolve(root, output.path)\n }\n\n return path.resolve(root, output.path, baseName)\n },\n resolveName(name, type) {\n let resolvedName = camelCase(name)\n\n if (type === 'file' || type === 'function') {\n resolvedName = camelCase(name, {\n isFile: type === 'file',\n })\n }\n if (type === 'type') {\n resolvedName = pascalCase(name)\n }\n\n if (type) {\n return transformers?.name?.(resolvedName, type) || resolvedName\n }\n\n return resolvedName\n },\n async buildStart() {\n const [swaggerPlugin]: [Plugin<PluginOas>] = PluginManager.getDependedPlugins<PluginOas>(this.plugins, [pluginOasName])\n\n const oas = await swaggerPlugin.context.getOas()\n const root = path.resolve(this.config.root, this.config.output.path)\n const mode = FileManager.getMode(path.resolve(root, output.path))\n const baseURL = await swaggerPlugin.context.getBaseURL()\n\n const operationGenerator = new OperationGenerator(\n {\n ...this.plugin.options,\n baseURL,\n },\n {\n oas,\n pluginManager: this.pluginManager,\n plugin: this.plugin,\n contentType: swaggerPlugin.context.contentType,\n exclude,\n include,\n override,\n mode,\n },\n )\n\n const files = await operationGenerator.build(...generators)\n await this.addFile(...files)\n\n const barrelFiles = await this.fileManager.getBarrelFiles({\n type: output.barrelType ?? 'named',\n root,\n output,\n files: this.fileManager.files,\n meta: {\n pluginKey: this.plugin.key,\n },\n logger: this.logger,\n })\n\n await this.addFile(...barrelFiles)\n },\n }\n})\n"]}
@@ -26,7 +26,7 @@ type Options$1 = {
26
26
  override?: Array<Override<ResolvedOptions$1>>;
27
27
  /**
28
28
  * Create `operations.ts` file with all operations grouped by methods.
29
- * @default `false`
29
+ * @default false
30
30
  */
31
31
  operations?: boolean;
32
32
  /**
@@ -38,27 +38,28 @@ type Options$1 = {
38
38
  importPath?: string;
39
39
  /**
40
40
  * ReturnType that will be used when calling the client.
41
- *
42
- * `Data` will return ResponseConfig[data].
43
- *
44
- * `Full` will return ResponseConfig.
45
- * @default `'data'`
46
- * @private
41
+ * - 'data' will return ResponseConfig[data].
42
+ * - 'full' will return ResponseConfig.
43
+ * @default 'data'
47
44
  */
48
45
  dataReturnType?: 'data' | 'full';
46
+ /**
47
+ * How to pass your params
48
+ * - 'object' will return the params and pathParams as an object.
49
+ * - 'inline' will return the params as comma separated params.
50
+ * @default 'inline'
51
+ */
52
+ paramsType?: 'object' | 'inline';
49
53
  /**
50
54
  * How to pass your pathParams.
51
- *
52
- * `object` will return the pathParams as an object.
53
- *
54
- * `inline` will return the pathParams as comma separated params.
55
- * @default `'inline'`
56
- * @private
55
+ * - 'object' will return the pathParams as an object.
56
+ * - 'inline' will return the pathParams as comma separated params.
57
+ * @default 'inline'
57
58
  */
58
59
  pathParamsType?: 'object' | 'inline';
59
60
  /**
60
61
  * Which parser can be used before returning the data
61
- * `'zod'` will use `@kubb/plugin-zod` to parse the data.
62
+ * - 'zod' will use `@kubb/plugin-zod` to parse the data.
62
63
  * @default 'client'
63
64
  */
64
65
  parser?: 'client' | 'zod';
@@ -81,6 +82,7 @@ type ResolvedOptions$1 = {
81
82
  importPath: NonNullable<Options$1['importPath']>;
82
83
  dataReturnType: NonNullable<Options$1['dataReturnType']>;
83
84
  pathParamsType: NonNullable<Options$1['pathParamsType']>;
85
+ paramsType: NonNullable<Options$1['paramsType']>;
84
86
  };
85
87
  type PluginClient = PluginFactoryOptions<'plugin-client', Options$1, ResolvedOptions$1, never, ResolvePathOptions>;
86
88
 
@@ -140,7 +142,8 @@ type Infinite = {
140
142
  };
141
143
  type Options = {
142
144
  /**
143
- * @default 'hooks'
145
+ * Specify the export location for the files and define the behavior of the output
146
+ * @default { path: 'hooks', barrelType: 'named' }
144
147
  */
145
148
  output?: Output;
146
149
  /**
@@ -148,15 +151,6 @@ type Options = {
148
151
  */
149
152
  group?: Group;
150
153
  client?: Pick<PluginClient['options'], 'dataReturnType' | 'importPath'>;
151
- /**
152
- * ReturnType that needs to be used when calling client().
153
- *
154
- * `Data` will return ResponseConfig[data].
155
- *
156
- * `Full` will return ResponseConfig.
157
- * @default `'data'`
158
- * @private
159
- */
160
154
  /**
161
155
  * Array containing exclude parameters to exclude/skip tags/operations/methods/paths.
162
156
  */
@@ -169,14 +163,18 @@ type Options = {
169
163
  * Array containing override parameters to override `options` based on tags/operations/methods/paths.
170
164
  */
171
165
  override?: Array<Override<ResolvedOptions>>;
166
+ /**
167
+ * How to pass your params
168
+ * - 'object' will return the params and pathParams as an object.
169
+ * - 'inline' will return the params as comma separated params.
170
+ * @default 'inline'
171
+ */
172
+ paramsType?: 'object' | 'inline';
172
173
  /**
173
174
  * How to pass your pathParams.
174
- *
175
- * `object` will return the pathParams as an object.
176
- *
177
- * `inline` will return the pathParams as comma separated params.
178
- * @default `'inline'`
179
- * @private
175
+ * - 'object' will return the pathParams as an object.
176
+ * - 'inline' will return the pathParams as comma separated params.
177
+ * @default 'inline'
180
178
  */
181
179
  pathParamsType?: PluginClient['options']['pathParamsType'];
182
180
  /**
@@ -192,7 +190,7 @@ type Options = {
192
190
  */
193
191
  mutation?: Mutation | false;
194
192
  /**
195
- * Which parser can be used before returning the data to `@tanstack/query`.
193
+ * Which parser should be used before returning the data to `@tanstack/query`.
196
194
  * `'zod'` will use `@kubb/plugin-zod` to parse the data.
197
195
  */
198
196
  parser?: PluginClient['options']['parser'];
@@ -212,6 +210,7 @@ type ResolvedOptions = {
212
210
  baseURL: string | undefined;
213
211
  client: Required<NonNullable<PluginVueQuery['options']['client']>>;
214
212
  parser: Required<NonNullable<Options['parser']>>;
213
+ paramsType: NonNullable<Options['paramsType']>;
215
214
  pathParamsType: NonNullable<Options['pathParamsType']>;
216
215
  /**
217
216
  * Only used of infinite