@kubb/plugin-solid-query 3.0.14 → 3.2.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/dist/{chunk-MJ5KIMWZ.cjs → chunk-DVSYWSJI.cjs} +11 -7
- package/dist/chunk-DVSYWSJI.cjs.map +1 -0
- package/dist/{chunk-EUTZZKJ3.cjs → chunk-JJUVLRTD.cjs} +31 -23
- package/dist/chunk-JJUVLRTD.cjs.map +1 -0
- package/dist/{chunk-FDSKHS3A.js → chunk-Y4R4BN3G.js} +31 -23
- package/dist/chunk-Y4R4BN3G.js.map +1 -0
- package/dist/{chunk-46JQ7CUT.js → chunk-ZROTVRZS.js} +7 -3
- package/dist/chunk-ZROTVRZS.js.map +1 -0
- package/dist/components.cjs +4 -4
- package/dist/components.d.cts +13 -7
- package/dist/components.d.ts +13 -7
- package/dist/components.js +1 -1
- package/dist/generators.cjs +3 -3
- package/dist/generators.d.cts +1 -1
- package/dist/generators.d.ts +1 -1
- package/dist/generators.js +2 -2
- package/dist/index.cjs +18 -10
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +16 -8
- package/dist/index.js.map +1 -1
- package/dist/{types-DXL9Aw6E.d.cts → types-EeNWbWqm.d.cts} +22 -0
- package/dist/{types-DXL9Aw6E.d.ts → types-EeNWbWqm.d.ts} +22 -0
- package/package.json +11 -11
- package/src/components/Query.tsx +9 -3
- package/src/components/QueryKey.tsx +9 -6
- package/src/components/QueryOptions.tsx +9 -5
- package/src/generators/queryGenerator.tsx +4 -0
- package/src/plugin.ts +16 -6
- package/src/types.ts +8 -0
- package/dist/chunk-46JQ7CUT.js.map +0 -1
- package/dist/chunk-EUTZZKJ3.cjs.map +0 -1
- package/dist/chunk-FDSKHS3A.js.map +0 -1
- package/dist/chunk-MJ5KIMWZ.cjs.map +0 -1
|
@@ -47,6 +47,11 @@ type Options$2 = {
|
|
|
47
47
|
* @default 'data'
|
|
48
48
|
*/
|
|
49
49
|
dataReturnType?: 'data' | 'full';
|
|
50
|
+
/**
|
|
51
|
+
* How to style your params, by default no casing is applied
|
|
52
|
+
* - 'camelcase' will use camelcase for the params names
|
|
53
|
+
*/
|
|
54
|
+
paramsCasing?: 'camelcase';
|
|
50
55
|
/**
|
|
51
56
|
* How to pass your params
|
|
52
57
|
* - 'object' will return the params and pathParams as an object.
|
|
@@ -87,12 +92,14 @@ type ResolvedOptions$2 = {
|
|
|
87
92
|
dataReturnType: NonNullable<Options$2['dataReturnType']>;
|
|
88
93
|
pathParamsType: NonNullable<Options$2['pathParamsType']>;
|
|
89
94
|
paramsType: NonNullable<Options$2['paramsType']>;
|
|
95
|
+
paramsCasing: Options$2['paramsCasing'];
|
|
90
96
|
};
|
|
91
97
|
type PluginClient = PluginFactoryOptions<'plugin-client', Options$2, ResolvedOptions$2, never, ResolvePathOptions>;
|
|
92
98
|
|
|
93
99
|
type TransformerProps$1 = {
|
|
94
100
|
operation: Operation;
|
|
95
101
|
schemas: OperationSchemas;
|
|
102
|
+
casing: 'camelcase' | undefined;
|
|
96
103
|
};
|
|
97
104
|
type Transformer$1 = (props: TransformerProps$1) => unknown[];
|
|
98
105
|
type Suspense = object;
|
|
@@ -173,6 +180,11 @@ type Options$1 = {
|
|
|
173
180
|
* Array containing override parameters to override `options` based on tags/operations/methods/paths.
|
|
174
181
|
*/
|
|
175
182
|
override?: Array<Override<ResolvedOptions$1>>;
|
|
183
|
+
/**
|
|
184
|
+
* How to style your params, by default no casing is applied
|
|
185
|
+
* - 'camelcase' will use camelcase for the params names
|
|
186
|
+
*/
|
|
187
|
+
paramsCasing?: 'camelcase';
|
|
176
188
|
/**
|
|
177
189
|
* How to pass your params
|
|
178
190
|
* - 'object' will return the params and pathParams as an object.
|
|
@@ -223,11 +235,13 @@ type Options$1 = {
|
|
|
223
235
|
};
|
|
224
236
|
type ResolvedOptions$1 = {
|
|
225
237
|
output: Output;
|
|
238
|
+
group: Options$1['group'];
|
|
226
239
|
client: Required<Omit<NonNullable<PluginReactQuery['options']['client']>, 'baseURL'>> & {
|
|
227
240
|
baseURL?: string;
|
|
228
241
|
};
|
|
229
242
|
parser: Required<NonNullable<Options$1['parser']>>;
|
|
230
243
|
pathParamsType: NonNullable<Options$1['pathParamsType']>;
|
|
244
|
+
paramsCasing: Options$1['paramsCasing'];
|
|
231
245
|
paramsType: NonNullable<Options$1['paramsType']>;
|
|
232
246
|
/**
|
|
233
247
|
* Only used of infinite
|
|
@@ -244,6 +258,7 @@ type PluginReactQuery = PluginFactoryOptions<'plugin-react-query', Options$1, Re
|
|
|
244
258
|
type TransformerProps = {
|
|
245
259
|
operation: Operation;
|
|
246
260
|
schemas: OperationSchemas;
|
|
261
|
+
casing: 'camelcase' | undefined;
|
|
247
262
|
};
|
|
248
263
|
type Transformer = (props: TransformerProps) => unknown[];
|
|
249
264
|
/**
|
|
@@ -288,6 +303,11 @@ type Options = {
|
|
|
288
303
|
* Array containing override parameters to override `options` based on tags/operations/methods/paths.
|
|
289
304
|
*/
|
|
290
305
|
override?: Array<Override<ResolvedOptions>>;
|
|
306
|
+
/**
|
|
307
|
+
* How to style your params, by default no casing is applied
|
|
308
|
+
* - 'camelcase' will use camelcase for the params names
|
|
309
|
+
*/
|
|
310
|
+
paramsCasing?: 'camelcase';
|
|
291
311
|
/**
|
|
292
312
|
* How to pass your params
|
|
293
313
|
* - 'object' will return the params and pathParams as an object.
|
|
@@ -325,10 +345,12 @@ type Options = {
|
|
|
325
345
|
};
|
|
326
346
|
type ResolvedOptions = {
|
|
327
347
|
output: Output;
|
|
348
|
+
group: Options['group'];
|
|
328
349
|
client: Required<Omit<NonNullable<PluginReactQuery['options']['client']>, 'baseURL'>> & {
|
|
329
350
|
baseURL?: string;
|
|
330
351
|
};
|
|
331
352
|
parser: Required<NonNullable<Options['parser']>>;
|
|
353
|
+
paramsCasing: Options['paramsCasing'];
|
|
332
354
|
paramsType: NonNullable<Options['paramsType']>;
|
|
333
355
|
pathParamsType: NonNullable<Options['pathParamsType']>;
|
|
334
356
|
queryKey: QueryKey | undefined;
|
|
@@ -47,6 +47,11 @@ type Options$2 = {
|
|
|
47
47
|
* @default 'data'
|
|
48
48
|
*/
|
|
49
49
|
dataReturnType?: 'data' | 'full';
|
|
50
|
+
/**
|
|
51
|
+
* How to style your params, by default no casing is applied
|
|
52
|
+
* - 'camelcase' will use camelcase for the params names
|
|
53
|
+
*/
|
|
54
|
+
paramsCasing?: 'camelcase';
|
|
50
55
|
/**
|
|
51
56
|
* How to pass your params
|
|
52
57
|
* - 'object' will return the params and pathParams as an object.
|
|
@@ -87,12 +92,14 @@ type ResolvedOptions$2 = {
|
|
|
87
92
|
dataReturnType: NonNullable<Options$2['dataReturnType']>;
|
|
88
93
|
pathParamsType: NonNullable<Options$2['pathParamsType']>;
|
|
89
94
|
paramsType: NonNullable<Options$2['paramsType']>;
|
|
95
|
+
paramsCasing: Options$2['paramsCasing'];
|
|
90
96
|
};
|
|
91
97
|
type PluginClient = PluginFactoryOptions<'plugin-client', Options$2, ResolvedOptions$2, never, ResolvePathOptions>;
|
|
92
98
|
|
|
93
99
|
type TransformerProps$1 = {
|
|
94
100
|
operation: Operation;
|
|
95
101
|
schemas: OperationSchemas;
|
|
102
|
+
casing: 'camelcase' | undefined;
|
|
96
103
|
};
|
|
97
104
|
type Transformer$1 = (props: TransformerProps$1) => unknown[];
|
|
98
105
|
type Suspense = object;
|
|
@@ -173,6 +180,11 @@ type Options$1 = {
|
|
|
173
180
|
* Array containing override parameters to override `options` based on tags/operations/methods/paths.
|
|
174
181
|
*/
|
|
175
182
|
override?: Array<Override<ResolvedOptions$1>>;
|
|
183
|
+
/**
|
|
184
|
+
* How to style your params, by default no casing is applied
|
|
185
|
+
* - 'camelcase' will use camelcase for the params names
|
|
186
|
+
*/
|
|
187
|
+
paramsCasing?: 'camelcase';
|
|
176
188
|
/**
|
|
177
189
|
* How to pass your params
|
|
178
190
|
* - 'object' will return the params and pathParams as an object.
|
|
@@ -223,11 +235,13 @@ type Options$1 = {
|
|
|
223
235
|
};
|
|
224
236
|
type ResolvedOptions$1 = {
|
|
225
237
|
output: Output;
|
|
238
|
+
group: Options$1['group'];
|
|
226
239
|
client: Required<Omit<NonNullable<PluginReactQuery['options']['client']>, 'baseURL'>> & {
|
|
227
240
|
baseURL?: string;
|
|
228
241
|
};
|
|
229
242
|
parser: Required<NonNullable<Options$1['parser']>>;
|
|
230
243
|
pathParamsType: NonNullable<Options$1['pathParamsType']>;
|
|
244
|
+
paramsCasing: Options$1['paramsCasing'];
|
|
231
245
|
paramsType: NonNullable<Options$1['paramsType']>;
|
|
232
246
|
/**
|
|
233
247
|
* Only used of infinite
|
|
@@ -244,6 +258,7 @@ type PluginReactQuery = PluginFactoryOptions<'plugin-react-query', Options$1, Re
|
|
|
244
258
|
type TransformerProps = {
|
|
245
259
|
operation: Operation;
|
|
246
260
|
schemas: OperationSchemas;
|
|
261
|
+
casing: 'camelcase' | undefined;
|
|
247
262
|
};
|
|
248
263
|
type Transformer = (props: TransformerProps) => unknown[];
|
|
249
264
|
/**
|
|
@@ -288,6 +303,11 @@ type Options = {
|
|
|
288
303
|
* Array containing override parameters to override `options` based on tags/operations/methods/paths.
|
|
289
304
|
*/
|
|
290
305
|
override?: Array<Override<ResolvedOptions>>;
|
|
306
|
+
/**
|
|
307
|
+
* How to style your params, by default no casing is applied
|
|
308
|
+
* - 'camelcase' will use camelcase for the params names
|
|
309
|
+
*/
|
|
310
|
+
paramsCasing?: 'camelcase';
|
|
291
311
|
/**
|
|
292
312
|
* How to pass your params
|
|
293
313
|
* - 'object' will return the params and pathParams as an object.
|
|
@@ -325,10 +345,12 @@ type Options = {
|
|
|
325
345
|
};
|
|
326
346
|
type ResolvedOptions = {
|
|
327
347
|
output: Output;
|
|
348
|
+
group: Options['group'];
|
|
328
349
|
client: Required<Omit<NonNullable<PluginReactQuery['options']['client']>, 'baseURL'>> & {
|
|
329
350
|
baseURL?: string;
|
|
330
351
|
};
|
|
331
352
|
parser: Required<NonNullable<Options['parser']>>;
|
|
353
|
+
paramsCasing: Options['paramsCasing'];
|
|
332
354
|
paramsType: NonNullable<Options['paramsType']>;
|
|
333
355
|
pathParamsType: NonNullable<Options['pathParamsType']>;
|
|
334
356
|
queryKey: QueryKey | undefined;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kubb/plugin-solid-query",
|
|
3
|
-
"version": "3.0
|
|
3
|
+
"version": "3.2.0",
|
|
4
4
|
"description": "Generator solid-query hooks",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"faker",
|
|
@@ -63,21 +63,21 @@
|
|
|
63
63
|
],
|
|
64
64
|
"dependencies": {
|
|
65
65
|
"remeda": "^2.17.4",
|
|
66
|
-
"@kubb/core": "3.0
|
|
67
|
-
"@kubb/
|
|
68
|
-
"@kubb/
|
|
69
|
-
"@kubb/plugin-oas": "3.0
|
|
70
|
-
"@kubb/plugin-ts": "3.0
|
|
71
|
-
"@kubb/plugin-zod": "3.0
|
|
72
|
-
"@kubb/react": "3.0
|
|
66
|
+
"@kubb/core": "3.2.0",
|
|
67
|
+
"@kubb/oas": "3.2.0",
|
|
68
|
+
"@kubb/fs": "3.2.0",
|
|
69
|
+
"@kubb/plugin-oas": "3.2.0",
|
|
70
|
+
"@kubb/plugin-ts": "3.2.0",
|
|
71
|
+
"@kubb/plugin-zod": "3.2.0",
|
|
72
|
+
"@kubb/react": "3.2.0"
|
|
73
73
|
},
|
|
74
74
|
"devDependencies": {
|
|
75
|
-
"@types/react": "^18.3.
|
|
75
|
+
"@types/react": "^18.3.16",
|
|
76
76
|
"react": "^18.3.1",
|
|
77
77
|
"tsup": "^8.3.5",
|
|
78
78
|
"typescript": "^5.7.2",
|
|
79
|
-
"@kubb/config-ts": "3.0
|
|
80
|
-
"@kubb/config-tsup": "3.0
|
|
79
|
+
"@kubb/config-ts": "3.2.0",
|
|
80
|
+
"@kubb/config-tsup": "3.2.0"
|
|
81
81
|
},
|
|
82
82
|
"peerDependencies": {
|
|
83
83
|
"@kubb/react": "^3.0.0"
|
package/src/components/Query.tsx
CHANGED
|
@@ -18,19 +18,21 @@ type Props = {
|
|
|
18
18
|
queryKeyTypeName: string
|
|
19
19
|
typeSchemas: OperationSchemas
|
|
20
20
|
operation: Operation
|
|
21
|
+
paramsCasing: PluginSolidQuery['resolvedOptions']['paramsCasing']
|
|
21
22
|
paramsType: PluginSolidQuery['resolvedOptions']['paramsType']
|
|
22
23
|
pathParamsType: PluginSolidQuery['resolvedOptions']['pathParamsType']
|
|
23
24
|
dataReturnType: PluginSolidQuery['resolvedOptions']['client']['dataReturnType']
|
|
24
25
|
}
|
|
25
26
|
|
|
26
27
|
type GetParamsProps = {
|
|
28
|
+
paramsCasing: PluginSolidQuery['resolvedOptions']['paramsCasing']
|
|
27
29
|
paramsType: PluginSolidQuery['resolvedOptions']['paramsType']
|
|
28
30
|
pathParamsType: PluginSolidQuery['resolvedOptions']['pathParamsType']
|
|
29
31
|
dataReturnType: PluginSolidQuery['resolvedOptions']['client']['dataReturnType']
|
|
30
32
|
typeSchemas: OperationSchemas
|
|
31
33
|
}
|
|
32
34
|
|
|
33
|
-
function getParams({ paramsType, pathParamsType, dataReturnType, typeSchemas }: GetParamsProps) {
|
|
35
|
+
function getParams({ paramsType, paramsCasing, pathParamsType, dataReturnType, typeSchemas }: GetParamsProps) {
|
|
34
36
|
const TData = dataReturnType === 'data' ? typeSchemas.response.name : `ResponseConfig<${typeSchemas.response.name}>`
|
|
35
37
|
|
|
36
38
|
if (paramsType === 'object') {
|
|
@@ -38,7 +40,7 @@ function getParams({ paramsType, pathParamsType, dataReturnType, typeSchemas }:
|
|
|
38
40
|
data: {
|
|
39
41
|
mode: 'object',
|
|
40
42
|
children: {
|
|
41
|
-
...getPathParams(typeSchemas.pathParams, { typed: true }),
|
|
43
|
+
...getPathParams(typeSchemas.pathParams, { typed: true, casing: paramsCasing }),
|
|
42
44
|
data: typeSchemas.request?.name
|
|
43
45
|
? {
|
|
44
46
|
type: typeSchemas.request?.name,
|
|
@@ -75,7 +77,7 @@ function getParams({ paramsType, pathParamsType, dataReturnType, typeSchemas }:
|
|
|
75
77
|
pathParams: typeSchemas.pathParams?.name
|
|
76
78
|
? {
|
|
77
79
|
mode: pathParamsType === 'object' ? 'object' : 'inlineSpread',
|
|
78
|
-
children: getPathParams(typeSchemas.pathParams, { typed: true }),
|
|
80
|
+
children: getPathParams(typeSchemas.pathParams, { typed: true, casing: paramsCasing }),
|
|
79
81
|
optional: isOptional(typeSchemas.pathParams?.schema),
|
|
80
82
|
}
|
|
81
83
|
: undefined,
|
|
@@ -114,6 +116,7 @@ export function Query({
|
|
|
114
116
|
queryKeyTypeName,
|
|
115
117
|
queryOptionsName,
|
|
116
118
|
queryKeyName,
|
|
119
|
+
paramsCasing,
|
|
117
120
|
paramsType,
|
|
118
121
|
pathParamsType,
|
|
119
122
|
dataReturnType,
|
|
@@ -127,13 +130,16 @@ export function Query({
|
|
|
127
130
|
const queryKeyParams = QueryKey.getParams({
|
|
128
131
|
pathParamsType,
|
|
129
132
|
typeSchemas,
|
|
133
|
+
paramsCasing,
|
|
130
134
|
})
|
|
131
135
|
const queryOptionsParams = QueryOptions.getParams({
|
|
132
136
|
paramsType,
|
|
137
|
+
paramsCasing,
|
|
133
138
|
pathParamsType,
|
|
134
139
|
typeSchemas,
|
|
135
140
|
})
|
|
136
141
|
const params = getParams({
|
|
142
|
+
paramsCasing,
|
|
137
143
|
paramsType,
|
|
138
144
|
pathParamsType,
|
|
139
145
|
dataReturnType,
|
|
@@ -12,20 +12,22 @@ type Props = {
|
|
|
12
12
|
typeName: string
|
|
13
13
|
typeSchemas: OperationSchemas
|
|
14
14
|
operation: Operation
|
|
15
|
+
paramsCasing: PluginSolidQuery['resolvedOptions']['paramsCasing']
|
|
15
16
|
pathParamsType: PluginSolidQuery['resolvedOptions']['pathParamsType']
|
|
16
17
|
transformer: Transformer | undefined
|
|
17
18
|
}
|
|
18
19
|
|
|
19
20
|
type GetParamsProps = {
|
|
21
|
+
paramsCasing: PluginSolidQuery['resolvedOptions']['paramsCasing']
|
|
20
22
|
pathParamsType: PluginSolidQuery['resolvedOptions']['pathParamsType']
|
|
21
23
|
typeSchemas: OperationSchemas
|
|
22
24
|
}
|
|
23
25
|
|
|
24
|
-
function getParams({ pathParamsType, typeSchemas }: GetParamsProps) {
|
|
26
|
+
function getParams({ pathParamsType, paramsCasing, typeSchemas }: GetParamsProps) {
|
|
25
27
|
return FunctionParams.factory({
|
|
26
28
|
pathParams: {
|
|
27
29
|
mode: pathParamsType === 'object' ? 'object' : 'inlineSpread',
|
|
28
|
-
children: getPathParams(typeSchemas.pathParams, { typed: true }),
|
|
30
|
+
children: getPathParams(typeSchemas.pathParams, { typed: true, casing: paramsCasing }),
|
|
29
31
|
},
|
|
30
32
|
data: typeSchemas.request?.name
|
|
31
33
|
? {
|
|
@@ -42,8 +44,8 @@ function getParams({ pathParamsType, typeSchemas }: GetParamsProps) {
|
|
|
42
44
|
})
|
|
43
45
|
}
|
|
44
46
|
|
|
45
|
-
const getTransformer: Transformer = ({ operation, schemas }) => {
|
|
46
|
-
const path = new URLPath(operation.path)
|
|
47
|
+
const getTransformer: Transformer = ({ operation, schemas, casing }) => {
|
|
48
|
+
const path = new URLPath(operation.path, { casing })
|
|
47
49
|
const keys = [
|
|
48
50
|
path.toObject({
|
|
49
51
|
type: 'path',
|
|
@@ -56,11 +58,12 @@ const getTransformer: Transformer = ({ operation, schemas }) => {
|
|
|
56
58
|
return keys
|
|
57
59
|
}
|
|
58
60
|
|
|
59
|
-
export function QueryKey({ name, typeSchemas, pathParamsType, operation, typeName, transformer = getTransformer }: Props): ReactNode {
|
|
60
|
-
const params = getParams({ pathParamsType, typeSchemas })
|
|
61
|
+
export function QueryKey({ name, typeSchemas, paramsCasing, pathParamsType, operation, typeName, transformer = getTransformer }: Props): ReactNode {
|
|
62
|
+
const params = getParams({ pathParamsType, paramsCasing, typeSchemas })
|
|
61
63
|
const keys = transformer({
|
|
62
64
|
operation,
|
|
63
65
|
schemas: typeSchemas,
|
|
66
|
+
casing: paramsCasing,
|
|
64
67
|
})
|
|
65
68
|
|
|
66
69
|
return (
|
|
@@ -14,23 +14,25 @@ type Props = {
|
|
|
14
14
|
clientName: string
|
|
15
15
|
queryKeyName: string
|
|
16
16
|
typeSchemas: OperationSchemas
|
|
17
|
+
paramsCasing: PluginSolidQuery['resolvedOptions']['paramsCasing']
|
|
17
18
|
paramsType: PluginSolidQuery['resolvedOptions']['paramsType']
|
|
18
19
|
pathParamsType: PluginSolidQuery['resolvedOptions']['pathParamsType']
|
|
19
20
|
}
|
|
20
21
|
|
|
21
22
|
type GetParamsProps = {
|
|
23
|
+
paramsCasing: PluginSolidQuery['resolvedOptions']['paramsCasing']
|
|
22
24
|
paramsType: PluginSolidQuery['resolvedOptions']['paramsType']
|
|
23
25
|
pathParamsType: PluginSolidQuery['resolvedOptions']['pathParamsType']
|
|
24
26
|
typeSchemas: OperationSchemas
|
|
25
27
|
}
|
|
26
28
|
|
|
27
|
-
function getParams({ paramsType, pathParamsType, typeSchemas }: GetParamsProps) {
|
|
29
|
+
function getParams({ paramsType, paramsCasing, pathParamsType, typeSchemas }: GetParamsProps) {
|
|
28
30
|
if (paramsType === 'object') {
|
|
29
31
|
return FunctionParams.factory({
|
|
30
32
|
data: {
|
|
31
33
|
mode: 'object',
|
|
32
34
|
children: {
|
|
33
|
-
...getPathParams(typeSchemas.pathParams, { typed: true }),
|
|
35
|
+
...getPathParams(typeSchemas.pathParams, { typed: true, casing: paramsCasing }),
|
|
34
36
|
data: typeSchemas.request?.name
|
|
35
37
|
? {
|
|
36
38
|
type: typeSchemas.request?.name,
|
|
@@ -62,7 +64,7 @@ function getParams({ paramsType, pathParamsType, typeSchemas }: GetParamsProps)
|
|
|
62
64
|
pathParams: typeSchemas.pathParams?.name
|
|
63
65
|
? {
|
|
64
66
|
mode: pathParamsType === 'object' ? 'object' : 'inlineSpread',
|
|
65
|
-
children: getPathParams(typeSchemas.pathParams, { typed: true }),
|
|
67
|
+
children: getPathParams(typeSchemas.pathParams, { typed: true, casing: paramsCasing }),
|
|
66
68
|
optional: isOptional(typeSchemas.pathParams?.schema),
|
|
67
69
|
}
|
|
68
70
|
: undefined,
|
|
@@ -91,15 +93,17 @@ function getParams({ paramsType, pathParamsType, typeSchemas }: GetParamsProps)
|
|
|
91
93
|
})
|
|
92
94
|
}
|
|
93
95
|
|
|
94
|
-
export function QueryOptions({ name, clientName, typeSchemas, paramsType, pathParamsType, queryKeyName }: Props): ReactNode {
|
|
95
|
-
const params = getParams({ paramsType, pathParamsType, typeSchemas })
|
|
96
|
+
export function QueryOptions({ name, clientName, typeSchemas, paramsCasing, paramsType, pathParamsType, queryKeyName }: Props): ReactNode {
|
|
97
|
+
const params = getParams({ paramsType, paramsCasing, pathParamsType, typeSchemas })
|
|
96
98
|
const clientParams = Client.getParams({
|
|
99
|
+
paramsCasing,
|
|
97
100
|
typeSchemas,
|
|
98
101
|
paramsType,
|
|
99
102
|
pathParamsType,
|
|
100
103
|
})
|
|
101
104
|
const queryKeyParams = QueryKey.getParams({
|
|
102
105
|
pathParamsType,
|
|
106
|
+
paramsCasing,
|
|
103
107
|
typeSchemas,
|
|
104
108
|
})
|
|
105
109
|
|
|
@@ -80,6 +80,7 @@ export const queryGenerator = createReactGenerator<PluginSolidQuery>({
|
|
|
80
80
|
name={queryKey.name}
|
|
81
81
|
typeName={queryKey.typeName}
|
|
82
82
|
operation={operation}
|
|
83
|
+
paramsCasing={options.paramsCasing}
|
|
83
84
|
pathParamsType={options.pathParamsType}
|
|
84
85
|
typeSchemas={type.schemas}
|
|
85
86
|
transformer={options.queryKey}
|
|
@@ -93,6 +94,7 @@ export const queryGenerator = createReactGenerator<PluginSolidQuery>({
|
|
|
93
94
|
typeSchemas={type.schemas}
|
|
94
95
|
zodSchemas={zod.schemas}
|
|
95
96
|
dataReturnType={options.client.dataReturnType}
|
|
97
|
+
paramsCasing={options.paramsCasing}
|
|
96
98
|
paramsType={options.paramsType}
|
|
97
99
|
pathParamsType={options.pathParamsType}
|
|
98
100
|
parser={options.parser}
|
|
@@ -103,6 +105,7 @@ export const queryGenerator = createReactGenerator<PluginSolidQuery>({
|
|
|
103
105
|
clientName={client.name}
|
|
104
106
|
queryKeyName={queryKey.name}
|
|
105
107
|
typeSchemas={type.schemas}
|
|
108
|
+
paramsCasing={options.paramsCasing}
|
|
106
109
|
paramsType={options.paramsType}
|
|
107
110
|
pathParamsType={options.pathParamsType}
|
|
108
111
|
/>
|
|
@@ -117,6 +120,7 @@ export const queryGenerator = createReactGenerator<PluginSolidQuery>({
|
|
|
117
120
|
paramsType={options.paramsType}
|
|
118
121
|
pathParamsType={options.pathParamsType}
|
|
119
122
|
operation={operation}
|
|
123
|
+
paramsCasing={options.paramsCasing}
|
|
120
124
|
dataReturnType={options.client.dataReturnType}
|
|
121
125
|
queryKeyName={queryKey.name}
|
|
122
126
|
queryKeyTypeName={queryKey.typeName}
|
package/src/plugin.ts
CHANGED
|
@@ -29,6 +29,7 @@ export const pluginSolidQuery = createPlugin<PluginSolidQuery>((options) => {
|
|
|
29
29
|
queryKey = QueryKey.getTransformer,
|
|
30
30
|
generators = [queryGenerator].filter(Boolean),
|
|
31
31
|
query = {},
|
|
32
|
+
paramsCasing,
|
|
32
33
|
} = options
|
|
33
34
|
|
|
34
35
|
return {
|
|
@@ -53,18 +54,14 @@ export const pluginSolidQuery = createPlugin<PluginSolidQuery>((options) => {
|
|
|
53
54
|
paramsType,
|
|
54
55
|
pathParamsType: paramsType === 'object' ? 'object' : pathParamsType,
|
|
55
56
|
parser,
|
|
57
|
+
group,
|
|
58
|
+
paramsCasing,
|
|
56
59
|
},
|
|
57
60
|
pre: [pluginOasName, pluginTsName, parser === 'zod' ? pluginZodName : undefined].filter(Boolean),
|
|
58
61
|
resolvePath(baseName, pathMode, options) {
|
|
59
62
|
const root = path.resolve(this.config.root, this.config.output.path)
|
|
60
63
|
const mode = pathMode ?? FileManager.getMode(path.resolve(root, output.path))
|
|
61
64
|
|
|
62
|
-
if (options?.tag && group?.type === 'tag') {
|
|
63
|
-
const groupName: Group['name'] = group?.name ? group.name : (ctx) => `${ctx.group}Controller`
|
|
64
|
-
|
|
65
|
-
return path.resolve(root, output.path, groupName({ group: camelCase(options.tag) }), baseName)
|
|
66
|
-
}
|
|
67
|
-
|
|
68
65
|
if (mode === 'single') {
|
|
69
66
|
/**
|
|
70
67
|
* when output is a file then we will always append to the same file(output file), see fileManager.addOrAppend
|
|
@@ -73,6 +70,19 @@ export const pluginSolidQuery = createPlugin<PluginSolidQuery>((options) => {
|
|
|
73
70
|
return path.resolve(root, output.path)
|
|
74
71
|
}
|
|
75
72
|
|
|
73
|
+
if (options?.group && group) {
|
|
74
|
+
const groupName: Group['name'] = group?.name
|
|
75
|
+
? group.name
|
|
76
|
+
: (ctx) => {
|
|
77
|
+
if (group?.type === 'path') {
|
|
78
|
+
return `${ctx.group.split('/')[1]}`
|
|
79
|
+
}
|
|
80
|
+
return `${camelCase(ctx.group)}Controller`
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
return path.resolve(root, output.path, groupName({ group: options.group }), baseName)
|
|
84
|
+
}
|
|
85
|
+
|
|
76
86
|
return path.resolve(root, output.path, baseName)
|
|
77
87
|
},
|
|
78
88
|
resolveName(name, type) {
|
package/src/types.ts
CHANGED
|
@@ -8,6 +8,7 @@ import type { PluginReactQuery } from '@kubb/plugin-react-query'
|
|
|
8
8
|
type TransformerProps = {
|
|
9
9
|
operation: Operation
|
|
10
10
|
schemas: OperationSchemas
|
|
11
|
+
casing: 'camelcase' | undefined
|
|
11
12
|
}
|
|
12
13
|
|
|
13
14
|
export type Transformer = (props: TransformerProps) => unknown[]
|
|
@@ -57,6 +58,11 @@ export type Options = {
|
|
|
57
58
|
* Array containing override parameters to override `options` based on tags/operations/methods/paths.
|
|
58
59
|
*/
|
|
59
60
|
override?: Array<Override<ResolvedOptions>>
|
|
61
|
+
/**
|
|
62
|
+
* How to style your params, by default no casing is applied
|
|
63
|
+
* - 'camelcase' will use camelcase for the params names
|
|
64
|
+
*/
|
|
65
|
+
paramsCasing?: 'camelcase'
|
|
60
66
|
/**
|
|
61
67
|
* How to pass your params
|
|
62
68
|
* - 'object' will return the params and pathParams as an object.
|
|
@@ -95,8 +101,10 @@ export type Options = {
|
|
|
95
101
|
|
|
96
102
|
type ResolvedOptions = {
|
|
97
103
|
output: Output
|
|
104
|
+
group: Options['group']
|
|
98
105
|
client: Required<Omit<NonNullable<PluginReactQuery['options']['client']>, 'baseURL'>> & { baseURL?: string }
|
|
99
106
|
parser: Required<NonNullable<Options['parser']>>
|
|
107
|
+
paramsCasing: Options['paramsCasing']
|
|
100
108
|
paramsType: NonNullable<Options['paramsType']>
|
|
101
109
|
pathParamsType: NonNullable<Options['pathParamsType']>
|
|
102
110
|
queryKey: QueryKey | undefined
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/generators/queryGenerator.tsx"],"names":[],"mappings":"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","file":"chunk-46JQ7CUT.js","sourcesContent":["import { pluginClientName } from '@kubb/plugin-client'\nimport { Client } from '@kubb/plugin-client/components'\nimport { createReactGenerator } from '@kubb/plugin-oas'\nimport { useOperationManager } from '@kubb/plugin-oas/hooks'\nimport { pluginTsName } from '@kubb/plugin-ts'\nimport { pluginZodName } from '@kubb/plugin-zod'\nimport { File, useApp } from '@kubb/react'\nimport { difference } from 'remeda'\nimport { Query, QueryKey, QueryOptions } from '../components'\nimport type { PluginSolidQuery } from '../types'\n\nexport const queryGenerator = createReactGenerator<PluginSolidQuery>({\n name: 'svelte-query',\n Operation({ options, operation }) {\n const {\n plugin: {\n options: { output },\n },\n } = useApp<PluginSolidQuery>()\n const { getSchemas, getName, getFile } = useOperationManager()\n\n const isQuery = typeof options.query === 'boolean' ? true : options.query?.methods.some((method) => operation.method === method)\n const isMutation = difference(['post', 'put', 'delete', 'patch'], options.query ? options.query.methods : []).some((method) => operation.method === method)\n const importPath = options.query ? options.query.importPath : '@tanstack/solid-query'\n\n const query = {\n name: getName(operation, { type: 'function', prefix: 'create' }),\n typeName: getName(operation, { type: 'type' }),\n file: getFile(operation, { prefix: 'create' }),\n }\n\n const client = {\n name: getName(operation, { type: 'function' }),\n }\n\n const queryOptions = {\n name: getName(operation, { type: 'function', suffix: 'QueryOptions' }),\n }\n\n const queryKey = {\n name: getName(operation, { type: 'const', suffix: 'QueryKey' }),\n typeName: getName(operation, { type: 'type', suffix: 'QueryKey' }),\n }\n\n const type = {\n file: getFile(operation, { pluginKey: [pluginTsName] }),\n //todo remove type?\n schemas: getSchemas(operation, { pluginKey: [pluginTsName], type: 'type' }),\n }\n\n const zod = {\n file: getFile(operation, { pluginKey: [pluginZodName] }),\n schemas: getSchemas(operation, { pluginKey: [pluginZodName], type: 'function' }),\n }\n\n if (!isQuery || isMutation) {\n return null\n }\n\n return (\n <File baseName={query.file.baseName} path={query.file.path} meta={query.file.meta} banner={output?.banner} footer={output?.footer}>\n {options.parser === 'zod' && <File.Import name={[zod.schemas.response.name]} root={query.file.path} path={zod.file.path} />}\n <File.Import name={'client'} path={options.client.importPath} />\n <File.Import name={['RequestConfig']} path={options.client.importPath} isTypeOnly />\n {options.client.dataReturnType === 'full' && <File.Import name={['ResponseConfig']} path={options.client.importPath} isTypeOnly />}\n <File.Import\n name={[\n type.schemas.request?.name,\n type.schemas.response.name,\n type.schemas.pathParams?.name,\n type.schemas.queryParams?.name,\n type.schemas.headerParams?.name,\n ...(type.schemas.statusCodes?.map((item) => item.name) || []),\n ].filter(Boolean)}\n root={query.file.path}\n path={type.file.path}\n isTypeOnly\n />\n <QueryKey\n name={queryKey.name}\n typeName={queryKey.typeName}\n operation={operation}\n pathParamsType={options.pathParamsType}\n typeSchemas={type.schemas}\n transformer={options.queryKey}\n />\n <Client\n name={client.name}\n isExportable={false}\n isIndexable={false}\n baseURL={options.client.baseURL}\n operation={operation}\n typeSchemas={type.schemas}\n zodSchemas={zod.schemas}\n dataReturnType={options.client.dataReturnType}\n paramsType={options.paramsType}\n pathParamsType={options.pathParamsType}\n parser={options.parser}\n />\n <File.Import name={['queryOptions']} path={importPath} />\n <QueryOptions\n name={queryOptions.name}\n clientName={client.name}\n queryKeyName={queryKey.name}\n typeSchemas={type.schemas}\n paramsType={options.paramsType}\n pathParamsType={options.pathParamsType}\n />\n {options.query && (\n <>\n <File.Import name={['createQuery']} path={importPath} />\n <File.Import name={['QueryKey', 'CreateBaseQueryOptions', 'CreateQueryResult']} path={importPath} isTypeOnly />\n <Query\n name={query.name}\n queryOptionsName={queryOptions.name}\n typeSchemas={type.schemas}\n paramsType={options.paramsType}\n pathParamsType={options.pathParamsType}\n operation={operation}\n dataReturnType={options.client.dataReturnType}\n queryKeyName={queryKey.name}\n queryKeyTypeName={queryKey.typeName}\n />\n </>\n )}\n </File>\n )\n },\n})\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/QueryKey.tsx","../../plugin-client/src/components/Client.tsx","../src/components/QueryOptions.tsx","../src/components/Query.tsx"],"names":["FunctionParams","getPathParams","isOptional","URLPath","jsxs","Fragment","jsx","File","Function","Type","getParams","getComments"],"mappings":"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","file":"chunk-EUTZZKJ3.cjs","sourcesContent":["import { URLPath } from '@kubb/core/utils'\nimport { getPathParams } from '@kubb/plugin-oas/utils'\nimport { File, Function, FunctionParams, Type } from '@kubb/react'\n\nimport { type Operation, isOptional } from '@kubb/oas'\nimport type { OperationSchemas } from '@kubb/plugin-oas'\nimport type { ReactNode } from 'react'\nimport type { PluginSolidQuery, Transformer } from '../types'\n\ntype Props = {\n name: string\n typeName: string\n typeSchemas: OperationSchemas\n operation: Operation\n pathParamsType: PluginSolidQuery['resolvedOptions']['pathParamsType']\n transformer: Transformer | undefined\n}\n\ntype GetParamsProps = {\n pathParamsType: PluginSolidQuery['resolvedOptions']['pathParamsType']\n typeSchemas: OperationSchemas\n}\n\nfunction getParams({ pathParamsType, typeSchemas }: GetParamsProps) {\n return FunctionParams.factory({\n pathParams: {\n mode: pathParamsType === 'object' ? 'object' : 'inlineSpread',\n children: getPathParams(typeSchemas.pathParams, { typed: true }),\n },\n data: typeSchemas.request?.name\n ? {\n type: typeSchemas.request?.name,\n optional: isOptional(typeSchemas.request?.schema),\n }\n : undefined,\n params: typeSchemas.queryParams?.name\n ? {\n type: typeSchemas.queryParams?.name,\n optional: isOptional(typeSchemas.queryParams?.schema),\n }\n : undefined,\n })\n}\n\nconst getTransformer: Transformer = ({ operation, schemas }) => {\n const path = new URLPath(operation.path)\n const keys = [\n path.toObject({\n type: 'path',\n stringify: true,\n }),\n schemas.queryParams?.name ? '...(params ? [params] : [])' : undefined,\n schemas.request?.name ? '...(data ? [data] : [])' : undefined,\n ].filter(Boolean)\n\n return keys\n}\n\nexport function QueryKey({ name, typeSchemas, pathParamsType, operation, typeName, transformer = getTransformer }: Props): ReactNode {\n const params = getParams({ pathParamsType, typeSchemas })\n const keys = transformer({\n operation,\n schemas: typeSchemas,\n })\n\n return (\n <>\n <File.Source name={name} isExportable isIndexable>\n <Function.Arrow name={name} export params={params.toConstructor()} singleLine>\n {`[${keys.join(', ')}] as const`}\n </Function.Arrow>\n </File.Source>\n <File.Source name={typeName} isExportable isIndexable isTypeOnly>\n <Type name={typeName} export>\n {`ReturnType<typeof ${name}>`}\n </Type>\n </File.Source>\n </>\n )\n}\n\nQueryKey.getParams = getParams\nQueryKey.getTransformer = getTransformer\n","import { URLPath } from '@kubb/core/utils'\n\nimport { type Operation, isOptional } from '@kubb/oas'\nimport type { OperationSchemas } from '@kubb/plugin-oas'\nimport { getComments, getPathParams } from '@kubb/plugin-oas/utils'\nimport { File, Function, FunctionParams } from '@kubb/react'\nimport type { KubbNode } from '@kubb/react/types'\nimport type { PluginClient } from '../types.ts'\n\ntype Props = {\n /**\n * Name of the function\n */\n name: string\n isExportable?: boolean\n isIndexable?: boolean\n\n baseURL: string | undefined\n dataReturnType: PluginClient['resolvedOptions']['dataReturnType']\n paramsType: PluginClient['resolvedOptions']['pathParamsType']\n pathParamsType: PluginClient['resolvedOptions']['pathParamsType']\n parser: PluginClient['resolvedOptions']['parser'] | undefined\n typeSchemas: OperationSchemas\n zodSchemas: OperationSchemas | undefined\n operation: Operation\n}\n\ntype GetParamsProps = {\n paramsType: PluginClient['resolvedOptions']['paramsType']\n pathParamsType: PluginClient['resolvedOptions']['pathParamsType']\n typeSchemas: OperationSchemas\n}\n\nfunction getParams({ paramsType, pathParamsType, typeSchemas }: GetParamsProps) {\n if (paramsType === 'object') {\n return FunctionParams.factory({\n data: {\n mode: 'object',\n children: {\n ...getPathParams(typeSchemas.pathParams, { typed: true }),\n data: typeSchemas.request?.name\n ? {\n type: typeSchemas.request?.name,\n optional: isOptional(typeSchemas.request?.schema),\n }\n : undefined,\n params: typeSchemas.queryParams?.name\n ? {\n type: typeSchemas.queryParams?.name,\n optional: isOptional(typeSchemas.queryParams?.schema),\n }\n : undefined,\n headers: typeSchemas.headerParams?.name\n ? {\n type: typeSchemas.headerParams?.name,\n optional: isOptional(typeSchemas.headerParams?.schema),\n }\n : undefined,\n },\n },\n config: {\n type: typeSchemas.request?.name ? `Partial<RequestConfig<${typeSchemas.request?.name}>>` : 'Partial<RequestConfig>',\n default: '{}',\n },\n })\n }\n\n return FunctionParams.factory({\n pathParams: typeSchemas.pathParams?.name\n ? {\n mode: pathParamsType === 'object' ? 'object' : 'inlineSpread',\n children: getPathParams(typeSchemas.pathParams, { typed: true }),\n optional: isOptional(typeSchemas.pathParams?.schema),\n }\n : undefined,\n data: typeSchemas.request?.name\n ? {\n type: typeSchemas.request?.name,\n optional: isOptional(typeSchemas.request?.schema),\n }\n : undefined,\n params: typeSchemas.queryParams?.name\n ? {\n type: typeSchemas.queryParams?.name,\n optional: isOptional(typeSchemas.queryParams?.schema),\n }\n : undefined,\n headers: typeSchemas.headerParams?.name\n ? {\n type: typeSchemas.headerParams?.name,\n optional: isOptional(typeSchemas.headerParams?.schema),\n }\n : undefined,\n config: {\n type: typeSchemas.request?.name ? `Partial<RequestConfig<${typeSchemas.request?.name}>>` : 'Partial<RequestConfig>',\n default: '{}',\n },\n })\n}\n\nexport function Client({\n name,\n isExportable = true,\n isIndexable = true,\n typeSchemas,\n baseURL,\n dataReturnType,\n parser,\n zodSchemas,\n paramsType,\n pathParamsType,\n operation,\n}: Props): KubbNode {\n const path = new URLPath(operation.path)\n const contentType = operation.getContentType()\n const isFormData = contentType === 'multipart/form-data'\n const headers = [\n contentType !== 'application/json' ? `'Content-Type': '${contentType}'` : undefined,\n typeSchemas.headerParams?.name ? '...headers' : undefined,\n ].filter(Boolean)\n\n const generics = [\n typeSchemas.response.name,\n typeSchemas.errors?.map((item) => item.name).join(' | ') || 'Error',\n typeSchemas.request?.name || 'unknown',\n ].filter(Boolean)\n const params = getParams({ paramsType, pathParamsType, typeSchemas })\n const clientParams = FunctionParams.factory({\n config: {\n mode: 'object',\n children: {\n method: {\n value: JSON.stringify(operation.method.toUpperCase()),\n },\n url: {\n value: path.template,\n },\n baseURL: baseURL\n ? {\n value: JSON.stringify(baseURL),\n }\n : undefined,\n params: typeSchemas.queryParams?.name ? {} : undefined,\n data: typeSchemas.request?.name\n ? {\n value: isFormData ? 'formData' : undefined,\n }\n : undefined,\n headers: headers.length\n ? {\n value: headers.length ? `{ ${headers.join(', ')}, ...config.headers }` : undefined,\n }\n : undefined,\n config: {\n mode: 'inlineSpread',\n },\n },\n },\n })\n\n const formData = isFormData\n ? `\n const formData = new FormData()\n if(data) {\n Object.keys(data).forEach((key) => {\n const value = data[key as keyof typeof data];\n if (typeof key === \"string\" && (typeof value === \"string\" || value instanceof Blob)) {\n formData.append(key, value);\n }\n })\n }\n `\n : ''\n\n return (\n <File.Source name={name} isExportable={isExportable} isIndexable={isIndexable}>\n <Function\n name={name}\n async\n export={isExportable}\n params={params.toConstructor()}\n JSDoc={{\n comments: getComments(operation),\n }}\n >\n {formData}\n {`const res = await client<${generics.join(', ')}>(${clientParams.toCall()})`}\n <br />\n {dataReturnType === 'full' && parser === 'zod' && zodSchemas && `return {...res, data: ${zodSchemas.response.name}.parse(res.data)}`}\n {dataReturnType === 'data' && parser === 'zod' && zodSchemas && `return ${zodSchemas.response.name}.parse(res.data)`}\n {dataReturnType === 'full' && parser === 'client' && 'return res'}\n {dataReturnType === 'data' && parser === 'client' && 'return res.data'}\n </Function>\n </File.Source>\n )\n}\n\nClient.getParams = getParams\n","import { getPathParams } from '@kubb/plugin-oas/utils'\nimport { File, Function, FunctionParams } from '@kubb/react'\n\nimport type { ReactNode } from 'react'\n\nimport { isOptional } from '@kubb/oas'\nimport { Client } from '@kubb/plugin-client/components'\nimport type { OperationSchemas } from '@kubb/plugin-oas'\nimport type { PluginSolidQuery } from '../types.ts'\nimport { QueryKey } from './QueryKey.tsx'\n\ntype Props = {\n name: string\n clientName: string\n queryKeyName: string\n typeSchemas: OperationSchemas\n paramsType: PluginSolidQuery['resolvedOptions']['paramsType']\n pathParamsType: PluginSolidQuery['resolvedOptions']['pathParamsType']\n}\n\ntype GetParamsProps = {\n paramsType: PluginSolidQuery['resolvedOptions']['paramsType']\n pathParamsType: PluginSolidQuery['resolvedOptions']['pathParamsType']\n typeSchemas: OperationSchemas\n}\n\nfunction getParams({ paramsType, pathParamsType, typeSchemas }: GetParamsProps) {\n if (paramsType === 'object') {\n return FunctionParams.factory({\n data: {\n mode: 'object',\n children: {\n ...getPathParams(typeSchemas.pathParams, { typed: true }),\n data: typeSchemas.request?.name\n ? {\n type: typeSchemas.request?.name,\n optional: isOptional(typeSchemas.request?.schema),\n }\n : undefined,\n params: typeSchemas.queryParams?.name\n ? {\n type: typeSchemas.queryParams?.name,\n optional: isOptional(typeSchemas.queryParams?.schema),\n }\n : undefined,\n headers: typeSchemas.headerParams?.name\n ? {\n type: typeSchemas.headerParams?.name,\n optional: isOptional(typeSchemas.headerParams?.schema),\n }\n : undefined,\n },\n },\n config: {\n type: typeSchemas.request?.name ? `Partial<RequestConfig<${typeSchemas.request?.name}>>` : 'Partial<RequestConfig>',\n default: '{}',\n },\n })\n }\n\n return FunctionParams.factory({\n pathParams: typeSchemas.pathParams?.name\n ? {\n mode: pathParamsType === 'object' ? 'object' : 'inlineSpread',\n children: getPathParams(typeSchemas.pathParams, { typed: true }),\n optional: isOptional(typeSchemas.pathParams?.schema),\n }\n : undefined,\n data: typeSchemas.request?.name\n ? {\n type: typeSchemas.request?.name,\n optional: isOptional(typeSchemas.request?.schema),\n }\n : undefined,\n params: typeSchemas.queryParams?.name\n ? {\n type: typeSchemas.queryParams?.name,\n optional: isOptional(typeSchemas.queryParams?.schema),\n }\n : undefined,\n headers: typeSchemas.headerParams?.name\n ? {\n type: typeSchemas.headerParams?.name,\n optional: isOptional(typeSchemas.headerParams?.schema),\n }\n : undefined,\n config: {\n type: typeSchemas.request?.name ? `Partial<RequestConfig<${typeSchemas.request?.name}>>` : 'Partial<RequestConfig>',\n default: '{}',\n },\n })\n}\n\nexport function QueryOptions({ name, clientName, typeSchemas, paramsType, pathParamsType, queryKeyName }: Props): ReactNode {\n const params = getParams({ paramsType, pathParamsType, typeSchemas })\n const clientParams = Client.getParams({\n typeSchemas,\n paramsType,\n pathParamsType,\n })\n const queryKeyParams = QueryKey.getParams({\n pathParamsType,\n typeSchemas,\n })\n\n const enabled = Object.entries(queryKeyParams.flatParams)\n .map(([key, item]) => (item && !item.optional ? key : undefined))\n .filter(Boolean)\n .join('&& ')\n\n const enabledText = enabled ? `enabled: !!(${enabled}),` : ''\n\n return (\n <File.Source name={name} isExportable isIndexable>\n <Function name={name} export params={params.toConstructor()}>\n {`\n const queryKey = ${queryKeyName}(${queryKeyParams.toCall()})\n return queryOptions({\n ${enabledText}\n queryKey,\n queryFn: async ({ signal }) => {\n config.signal = signal\n return ${clientName}(${clientParams.toCall()})\n },\n })\n`}\n </Function>\n </File.Source>\n )\n}\n\nQueryOptions.getParams = getParams\n","import { File, Function, FunctionParams } from '@kubb/react'\n\nimport { type Operation, isOptional } from '@kubb/oas'\nimport type { OperationSchemas } from '@kubb/plugin-oas'\nimport { getComments, getPathParams } from '@kubb/plugin-oas/utils'\nimport type { ReactNode } from 'react'\nimport type { PluginSolidQuery } from '../types.ts'\nimport { QueryKey } from './QueryKey.tsx'\nimport { QueryOptions } from './QueryOptions.tsx'\n\ntype Props = {\n /**\n * Name of the function\n */\n name: string\n queryOptionsName: string\n queryKeyName: string\n queryKeyTypeName: string\n typeSchemas: OperationSchemas\n operation: Operation\n paramsType: PluginSolidQuery['resolvedOptions']['paramsType']\n pathParamsType: PluginSolidQuery['resolvedOptions']['pathParamsType']\n dataReturnType: PluginSolidQuery['resolvedOptions']['client']['dataReturnType']\n}\n\ntype GetParamsProps = {\n paramsType: PluginSolidQuery['resolvedOptions']['paramsType']\n pathParamsType: PluginSolidQuery['resolvedOptions']['pathParamsType']\n dataReturnType: PluginSolidQuery['resolvedOptions']['client']['dataReturnType']\n typeSchemas: OperationSchemas\n}\n\nfunction getParams({ paramsType, pathParamsType, dataReturnType, typeSchemas }: GetParamsProps) {\n const TData = dataReturnType === 'data' ? typeSchemas.response.name : `ResponseConfig<${typeSchemas.response.name}>`\n\n if (paramsType === 'object') {\n return FunctionParams.factory({\n data: {\n mode: 'object',\n children: {\n ...getPathParams(typeSchemas.pathParams, { typed: true }),\n data: typeSchemas.request?.name\n ? {\n type: typeSchemas.request?.name,\n optional: isOptional(typeSchemas.request?.schema),\n }\n : undefined,\n params: typeSchemas.queryParams?.name\n ? {\n type: typeSchemas.queryParams?.name,\n optional: isOptional(typeSchemas.queryParams?.schema),\n }\n : undefined,\n headers: typeSchemas.headerParams?.name\n ? {\n type: typeSchemas.headerParams?.name,\n optional: isOptional(typeSchemas.headerParams?.schema),\n }\n : undefined,\n },\n },\n options: {\n type: `\n{\n query?: Partial<CreateBaseQueryOptions<${[TData, typeSchemas.errors?.map((item) => item.name).join(' | ') || 'Error', 'TData', 'TQueryData', 'TQueryKey'].join(', ')}>>,\n client?: ${typeSchemas.request?.name ? `Partial<RequestConfig<${typeSchemas.request?.name}>>` : 'Partial<RequestConfig>'}\n}\n`,\n default: '{}',\n },\n })\n }\n\n return FunctionParams.factory({\n pathParams: typeSchemas.pathParams?.name\n ? {\n mode: pathParamsType === 'object' ? 'object' : 'inlineSpread',\n children: getPathParams(typeSchemas.pathParams, { typed: true }),\n optional: isOptional(typeSchemas.pathParams?.schema),\n }\n : undefined,\n data: typeSchemas.request?.name\n ? {\n type: typeSchemas.request?.name,\n optional: isOptional(typeSchemas.request?.schema),\n }\n : undefined,\n params: typeSchemas.queryParams?.name\n ? {\n type: typeSchemas.queryParams?.name,\n optional: isOptional(typeSchemas.queryParams?.schema),\n }\n : undefined,\n headers: typeSchemas.headerParams?.name\n ? {\n type: typeSchemas.headerParams?.name,\n optional: isOptional(typeSchemas.headerParams?.schema),\n }\n : undefined,\n options: {\n type: `\n{\n query?: Partial<CreateBaseQueryOptions<${[TData, typeSchemas.errors?.map((item) => item.name).join(' | ') || 'Error', 'TData', 'TQueryData', 'TQueryKey'].join(', ')}>>,\n client?: ${typeSchemas.request?.name ? `Partial<RequestConfig<${typeSchemas.request?.name}>>` : 'Partial<RequestConfig>'}\n}\n`,\n default: '{}',\n },\n })\n}\n\nexport function Query({\n name,\n queryKeyTypeName,\n queryOptionsName,\n queryKeyName,\n paramsType,\n pathParamsType,\n dataReturnType,\n typeSchemas,\n operation,\n}: Props): ReactNode {\n const TData = dataReturnType === 'data' ? typeSchemas.response.name : `ResponseConfig<${typeSchemas.response.name}>`\n const returnType = `CreateQueryResult<${['TData', typeSchemas.errors?.map((item) => item.name).join(' | ') || 'Error'].join(', ')}> & { queryKey: TQueryKey }`\n const generics = [`TData = ${TData}`, `TQueryData = ${TData}`, `TQueryKey extends QueryKey = ${queryKeyTypeName}`]\n\n const queryKeyParams = QueryKey.getParams({\n pathParamsType,\n typeSchemas,\n })\n const queryOptionsParams = QueryOptions.getParams({\n paramsType,\n pathParamsType,\n typeSchemas,\n })\n const params = getParams({\n paramsType,\n pathParamsType,\n dataReturnType,\n typeSchemas,\n })\n\n const queryOptions = `${queryOptionsName}(${queryOptionsParams.toCall()}) as unknown as CreateBaseQueryOptions`\n\n return (\n <File.Source name={name} isExportable isIndexable>\n <Function\n name={name}\n export\n generics={generics.join(', ')}\n params={params.toConstructor()}\n JSDoc={{\n comments: getComments(operation),\n }}\n >\n {`\n const { query: queryOptions, client: config = {} } = options ?? {}\n const queryKey = queryOptions?.queryKey ?? ${queryKeyName}(${queryKeyParams.toCall()})\n\n const query = createQuery(() => ({\n ...${queryOptions},\n queryKey,\n initialData: null,\n ...queryOptions as unknown as Omit<CreateBaseQueryOptions, \"queryKey\">\n })) as ${returnType}\n\n query.queryKey = queryKey as TQueryKey\n\n return query\n `}\n </Function>\n </File.Source>\n )\n}\n\nQuery.getParams = getParams\n"]}
|