@kubb/plugin-react-query 5.0.0-beta.79 → 5.0.0-beta.80
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/index.cjs +189 -153
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +11 -0
- package/dist/index.js +189 -153
- package/dist/index.js.map +1 -1
- package/package.json +3 -3
package/dist/index.cjs
CHANGED
|
@@ -692,12 +692,15 @@ function MutationKey({ name, node, transformer }) {
|
|
|
692
692
|
* The grouped request options, ordered for both the destructured signature and the
|
|
693
693
|
* call passed to the underlying client.
|
|
694
694
|
*/
|
|
695
|
-
const requestGroupOrder = [
|
|
695
|
+
const requestGroupOrder$1 = [
|
|
696
696
|
"path",
|
|
697
697
|
"query",
|
|
698
698
|
"body",
|
|
699
699
|
"headers"
|
|
700
700
|
];
|
|
701
|
+
function maybeValueOrGetter(type) {
|
|
702
|
+
return `${type} | (() => ${type})`;
|
|
703
|
+
}
|
|
701
704
|
/**
|
|
702
705
|
* Builds the grouped `{ path, query, body, headers }` parameter that mirrors the client
|
|
703
706
|
* function signature. Only the groups the operation carries are emitted, typed from the
|
|
@@ -710,7 +713,7 @@ const requestGroupOrder = [
|
|
|
710
713
|
* `MaybeRefOrGetter` per group.
|
|
711
714
|
*/
|
|
712
715
|
function buildGroupedRequestParam(node, options) {
|
|
713
|
-
const { resolver, keys = requestGroupOrder, memberTypeWrapper } = options;
|
|
716
|
+
const { resolver, keys = requestGroupOrder$1, memberTypeWrapper } = options;
|
|
714
717
|
const { groups, hasRequiredPath, hasRequiredQuery, hasRequiredHeader } = getRequestGroupOptionality(node);
|
|
715
718
|
const names = keys.filter((key) => groups[key]);
|
|
716
719
|
if (names.length === 0) return null;
|
|
@@ -722,7 +725,7 @@ function buildGroupedRequestParam(node, options) {
|
|
|
722
725
|
};
|
|
723
726
|
const isOptional = names.every((name) => !requiredByGroup[name]);
|
|
724
727
|
const requestConfigName = resolver.resolveRequestConfigName(node);
|
|
725
|
-
const omittedKeys = requestGroupOrder.filter((key) => !keys.includes(key));
|
|
728
|
+
const omittedKeys = requestGroupOrder$1.filter((key) => !keys.includes(key));
|
|
726
729
|
const requestConfigType = omittedKeys.length > 0 ? `Omit<${requestConfigName}, ${omittedKeys.map((key) => `'${key}'`).join(" | ")}>` : requestConfigName;
|
|
727
730
|
if (memberTypeWrapper) {
|
|
728
731
|
const members = names.map((name) => ({
|
|
@@ -778,7 +781,7 @@ function buildClientCall(node, options) {
|
|
|
778
781
|
const { groups } = getRequestGroupOptionality(node);
|
|
779
782
|
return `${clientName}({ ${[
|
|
780
783
|
"...config",
|
|
781
|
-
...requestGroupOrder.filter((key) => groups[key]),
|
|
784
|
+
...requestGroupOrder$1.filter((key) => groups[key]),
|
|
782
785
|
signal ? "signal: config.signal ?? signal" : null,
|
|
783
786
|
"throwOnError: true"
|
|
784
787
|
].filter((part) => part !== null).join(", ")} })`;
|
|
@@ -1005,6 +1008,30 @@ const customHookOptionsFileGenerator = (0, _kubb_core.defineGenerator)({
|
|
|
1005
1008
|
}
|
|
1006
1009
|
});
|
|
1007
1010
|
//#endregion
|
|
1011
|
+
//#region src/utils.ts
|
|
1012
|
+
const requestGroupOrder = [
|
|
1013
|
+
"path",
|
|
1014
|
+
"query",
|
|
1015
|
+
"body",
|
|
1016
|
+
"headers"
|
|
1017
|
+
];
|
|
1018
|
+
/**
|
|
1019
|
+
* Builds the object literal that resolves each request group to a concrete value, unwrapping a getter
|
|
1020
|
+
* once before the value reaches the plain `queryKey`/`queryOptions` helpers. A getter must never reach a
|
|
1021
|
+
* React Query key, which is hashed structurally. Returns `null` when the operation carries no request group.
|
|
1022
|
+
*
|
|
1023
|
+
* @example
|
|
1024
|
+
* ```ts
|
|
1025
|
+
* buildResolvedRequestParams(node) // { path: typeof path === 'function' ? path() : path }
|
|
1026
|
+
* ```
|
|
1027
|
+
*/
|
|
1028
|
+
function buildResolvedRequestParams(node) {
|
|
1029
|
+
const groups = getRequestGroups(node);
|
|
1030
|
+
const names = requestGroupOrder.filter((key) => groups[key]);
|
|
1031
|
+
if (names.length === 0) return null;
|
|
1032
|
+
return `{ ${names.map((name) => `${name}: typeof ${name} === 'function' ? ${name}() : ${name}`).join(", ")} }`;
|
|
1033
|
+
}
|
|
1034
|
+
//#endregion
|
|
1008
1035
|
//#region src/generators/hookOptionsGenerator.tsx
|
|
1009
1036
|
/**
|
|
1010
1037
|
* Emits the `HookOptions` type used by `customOptions`. Enabled when
|
|
@@ -1017,8 +1044,8 @@ const hookOptionsGenerator = (0, _kubb_core.defineGenerator)({
|
|
|
1017
1044
|
renderer: _kubb_renderer_jsx.jsxRenderer,
|
|
1018
1045
|
operations(nodes, ctx) {
|
|
1019
1046
|
const { resolver, config, root } = ctx;
|
|
1020
|
-
const { output, customOptions, query, mutation, suspense, infinite, group, override } = ctx.options;
|
|
1021
|
-
if (!customOptions) return null;
|
|
1047
|
+
const { output, customOptions, query, mutation, suspense, infinite, group, override, hooks } = ctx.options;
|
|
1048
|
+
if (!customOptions || !hooks) return null;
|
|
1022
1049
|
const name = resolver.resolveHookOptionsName();
|
|
1023
1050
|
const resolvedFile = resolver.resolveFile({
|
|
1024
1051
|
name,
|
|
@@ -1162,51 +1189,8 @@ const hookOptionsGenerator = (0, _kubb_core.defineGenerator)({
|
|
|
1162
1189
|
}
|
|
1163
1190
|
});
|
|
1164
1191
|
//#endregion
|
|
1165
|
-
//#region src/components/QueryOptions.tsx
|
|
1166
|
-
const declarationPrinter$8 = (0, _kubb_plugin_ts.functionPrinter)({ mode: "declaration" });
|
|
1167
|
-
const callPrinter$8 = (0, _kubb_plugin_ts.functionPrinter)({ mode: "call" });
|
|
1168
|
-
function getQueryOptionsParams(node, options) {
|
|
1169
|
-
return buildQueryOptionsParams(node, options);
|
|
1170
|
-
}
|
|
1171
|
-
function QueryOptions({ name, clientName, node, tsResolver, queryKeyName }) {
|
|
1172
|
-
const successNames = resolveSuccessNames(node, tsResolver);
|
|
1173
|
-
const responseName = successNames.length > 0 ? successNames.join(" | ") : tsResolver.resolveResponseName(node);
|
|
1174
|
-
const errorNames = resolveErrorNames(node, tsResolver);
|
|
1175
|
-
const TData = responseName;
|
|
1176
|
-
const TError = `ResponseErrorConfig<${errorNames.length > 0 ? errorNames.join(" | ") : "Error"}>`;
|
|
1177
|
-
const queryKeyParamsNode = buildQueryKeyParams(node, { resolver: tsResolver });
|
|
1178
|
-
const queryKeyParamsCall = callPrinter$8.print(queryKeyParamsNode) ?? "";
|
|
1179
|
-
const paramsNode = getQueryOptionsParams(node, { resolver: tsResolver });
|
|
1180
|
-
const paramsSignature = declarationPrinter$8.print(paramsNode) ?? "";
|
|
1181
|
-
const queryFnBody = `const { data } = await ${buildClientCall(node, {
|
|
1182
|
-
clientName,
|
|
1183
|
-
signal: true
|
|
1184
|
-
})}
|
|
1185
|
-
return data`;
|
|
1186
|
-
return /* @__PURE__ */ (0, _kubb_renderer_jsx_jsx_runtime.jsx)(_kubb_renderer_jsx.File.Source, {
|
|
1187
|
-
name,
|
|
1188
|
-
isExportable: true,
|
|
1189
|
-
isIndexable: true,
|
|
1190
|
-
children: /* @__PURE__ */ (0, _kubb_renderer_jsx_jsx_runtime.jsx)(_kubb_renderer_jsx.Function, {
|
|
1191
|
-
name,
|
|
1192
|
-
export: true,
|
|
1193
|
-
params: paramsSignature,
|
|
1194
|
-
children: `
|
|
1195
|
-
const queryKey = ${queryKeyName}(${queryKeyParamsCall})
|
|
1196
|
-
return queryOptions<${TData}, ${TError}, ${TData}, typeof queryKey>({
|
|
1197
|
-
queryKey,
|
|
1198
|
-
queryFn: async ({ signal }) => {
|
|
1199
|
-
${queryFnBody}
|
|
1200
|
-
},
|
|
1201
|
-
})
|
|
1202
|
-
`
|
|
1203
|
-
})
|
|
1204
|
-
});
|
|
1205
|
-
}
|
|
1206
|
-
//#endregion
|
|
1207
1192
|
//#region src/components/InfiniteQuery.tsx
|
|
1208
|
-
const declarationPrinter$
|
|
1209
|
-
const callPrinter$7 = (0, _kubb_plugin_ts.functionPrinter)({ mode: "call" });
|
|
1193
|
+
const declarationPrinter$8 = (0, _kubb_plugin_ts.functionPrinter)({ mode: "declaration" });
|
|
1210
1194
|
function buildInfiniteQueryParamsNode(node, options) {
|
|
1211
1195
|
const { resolver, pageParamGeneric } = options;
|
|
1212
1196
|
const optionsParam = (0, _kubb_plugin_ts.createFunctionParameter)({
|
|
@@ -1217,7 +1201,10 @@ function buildInfiniteQueryParamsNode(node, options) {
|
|
|
1217
1201
|
}`,
|
|
1218
1202
|
default: "{}"
|
|
1219
1203
|
});
|
|
1220
|
-
return (0, _kubb_plugin_ts.createFunctionParameters)({ params: [buildGroupedRequestParam(node, {
|
|
1204
|
+
return (0, _kubb_plugin_ts.createFunctionParameters)({ params: [buildGroupedRequestParam(node, {
|
|
1205
|
+
resolver,
|
|
1206
|
+
memberTypeWrapper: maybeValueOrGetter
|
|
1207
|
+
}), optionsParam].filter((param) => param !== null) });
|
|
1221
1208
|
}
|
|
1222
1209
|
function InfiniteQuery({ name, queryKeyTypeName, queryOptionsName, queryKeyName, node, tsResolver, initialPageParam, queryParam, customOptions }) {
|
|
1223
1210
|
const successNames = resolveSuccessNames(node, tsResolver);
|
|
@@ -1245,15 +1232,14 @@ function InfiniteQuery({ name, queryKeyTypeName, queryOptionsName, queryKeyName,
|
|
|
1245
1232
|
`TQueryKey extends QueryKey = ${queryKeyTypeName}`,
|
|
1246
1233
|
`TPageParam = ${pageParamType}`
|
|
1247
1234
|
];
|
|
1248
|
-
const
|
|
1249
|
-
const
|
|
1250
|
-
const
|
|
1251
|
-
const queryOptionsParamsCall = callPrinter$7.print(queryOptionsParamsNode) ?? "";
|
|
1235
|
+
const resolvedParams = buildResolvedRequestParams(node);
|
|
1236
|
+
const queryKeyArgs = resolvedParams ? "resolvedParams" : "";
|
|
1237
|
+
const queryOptionsArgs = resolvedParams ? "resolvedParams, config" : "config";
|
|
1252
1238
|
const paramsNode = buildInfiniteQueryParamsNode(node, {
|
|
1253
1239
|
resolver: tsResolver,
|
|
1254
1240
|
pageParamGeneric: "TPageParam"
|
|
1255
1241
|
});
|
|
1256
|
-
const paramsSignature = declarationPrinter$
|
|
1242
|
+
const paramsSignature = declarationPrinter$8.print(paramsNode) ?? "";
|
|
1257
1243
|
return /* @__PURE__ */ (0, _kubb_renderer_jsx_jsx_runtime.jsx)(_kubb_renderer_jsx.File.Source, {
|
|
1258
1244
|
name,
|
|
1259
1245
|
isExportable: true,
|
|
@@ -1267,11 +1253,11 @@ function InfiniteQuery({ name, queryKeyTypeName, queryOptionsName, queryKeyName,
|
|
|
1267
1253
|
JSDoc: { comments: buildOperationComments(node) },
|
|
1268
1254
|
children: `
|
|
1269
1255
|
const { query: queryConfig = {}, client: config = {} } = options ?? {}
|
|
1270
|
-
const { client: queryClient, ...resolvedOptions } = queryConfig
|
|
1271
|
-
const queryKey = resolvedOptions?.queryKey ?? ${queryKeyName}(${
|
|
1256
|
+
const { client: queryClient, ...resolvedOptions } = queryConfig${resolvedParams ? `\n const resolvedParams = ${resolvedParams}` : ""}
|
|
1257
|
+
const queryKey = resolvedOptions?.queryKey ?? ${queryKeyName}(${queryKeyArgs})${customOptions ? `\n const customOptions = ${customOptions.name}({ hookName: '${name}', operationId: '${node.operationId}' })` : ""}
|
|
1272
1258
|
|
|
1273
1259
|
const queryResult = useInfiniteQuery({
|
|
1274
|
-
...${queryOptionsName}(${
|
|
1260
|
+
...${queryOptionsName}(${queryOptionsArgs}),${customOptions ? "\n ...customOptions," : ""}
|
|
1275
1261
|
...resolvedOptions,
|
|
1276
1262
|
queryKey,
|
|
1277
1263
|
} as unknown as InfiniteQueryObserverOptions<TQueryFnData, TError, TData, TQueryKey, TPageParam>, queryClient) as ${returnType}
|
|
@@ -1284,9 +1270,51 @@ function InfiniteQuery({ name, queryKeyTypeName, queryOptionsName, queryKeyName,
|
|
|
1284
1270
|
});
|
|
1285
1271
|
}
|
|
1286
1272
|
//#endregion
|
|
1273
|
+
//#region src/components/QueryOptions.tsx
|
|
1274
|
+
const declarationPrinter$7 = (0, _kubb_plugin_ts.functionPrinter)({ mode: "declaration" });
|
|
1275
|
+
const callPrinter$4 = (0, _kubb_plugin_ts.functionPrinter)({ mode: "call" });
|
|
1276
|
+
function getQueryOptionsParams(node, options) {
|
|
1277
|
+
return buildQueryOptionsParams(node, options);
|
|
1278
|
+
}
|
|
1279
|
+
function QueryOptions({ name, clientName, node, tsResolver, queryKeyName }) {
|
|
1280
|
+
const successNames = resolveSuccessNames(node, tsResolver);
|
|
1281
|
+
const responseName = successNames.length > 0 ? successNames.join(" | ") : tsResolver.resolveResponseName(node);
|
|
1282
|
+
const errorNames = resolveErrorNames(node, tsResolver);
|
|
1283
|
+
const TData = responseName;
|
|
1284
|
+
const TError = `ResponseErrorConfig<${errorNames.length > 0 ? errorNames.join(" | ") : "Error"}>`;
|
|
1285
|
+
const queryKeyParamsNode = buildQueryKeyParams(node, { resolver: tsResolver });
|
|
1286
|
+
const queryKeyParamsCall = callPrinter$4.print(queryKeyParamsNode) ?? "";
|
|
1287
|
+
const paramsNode = getQueryOptionsParams(node, { resolver: tsResolver });
|
|
1288
|
+
const paramsSignature = declarationPrinter$7.print(paramsNode) ?? "";
|
|
1289
|
+
const queryFnBody = `const { data } = await ${buildClientCall(node, {
|
|
1290
|
+
clientName,
|
|
1291
|
+
signal: true
|
|
1292
|
+
})}
|
|
1293
|
+
return data`;
|
|
1294
|
+
return /* @__PURE__ */ (0, _kubb_renderer_jsx_jsx_runtime.jsx)(_kubb_renderer_jsx.File.Source, {
|
|
1295
|
+
name,
|
|
1296
|
+
isExportable: true,
|
|
1297
|
+
isIndexable: true,
|
|
1298
|
+
children: /* @__PURE__ */ (0, _kubb_renderer_jsx_jsx_runtime.jsx)(_kubb_renderer_jsx.Function, {
|
|
1299
|
+
name,
|
|
1300
|
+
export: true,
|
|
1301
|
+
params: paramsSignature,
|
|
1302
|
+
children: `
|
|
1303
|
+
const queryKey = ${queryKeyName}(${queryKeyParamsCall})
|
|
1304
|
+
return queryOptions<${TData}, ${TError}, ${TData}, typeof queryKey>({
|
|
1305
|
+
queryKey,
|
|
1306
|
+
queryFn: async ({ signal }) => {
|
|
1307
|
+
${queryFnBody}
|
|
1308
|
+
},
|
|
1309
|
+
})
|
|
1310
|
+
`
|
|
1311
|
+
})
|
|
1312
|
+
});
|
|
1313
|
+
}
|
|
1314
|
+
//#endregion
|
|
1287
1315
|
//#region src/components/InfiniteQueryOptions.tsx
|
|
1288
1316
|
const declarationPrinter$6 = (0, _kubb_plugin_ts.functionPrinter)({ mode: "declaration" });
|
|
1289
|
-
const callPrinter$
|
|
1317
|
+
const callPrinter$3 = (0, _kubb_plugin_ts.functionPrinter)({ mode: "call" });
|
|
1290
1318
|
function InfiniteQueryOptions({ name, clientName, initialPageParam, cursorParam, nextParam, previousParam, node, tsResolver, queryParam, queryKeyName }) {
|
|
1291
1319
|
const successNames = resolveSuccessNames(node, tsResolver);
|
|
1292
1320
|
const queryFnDataType = successNames.length > 0 ? successNames.join(" | ") : tsResolver.resolveResponseName(node);
|
|
@@ -1305,7 +1333,7 @@ function InfiniteQueryOptions({ name, clientName, initialPageParam, cursorParam,
|
|
|
1305
1333
|
const queryParamType = queryParam && queryParamsTypeName ? `${queryParamsTypeName}['${queryParam}']` : null;
|
|
1306
1334
|
const pageParamType = queryParamType ? isInitialPageParamDefined ? `NonNullable<${queryParamType}>` : queryParamType : fallbackPageParamType;
|
|
1307
1335
|
const queryKeyParamsNode = buildQueryKeyParams(node, { resolver: tsResolver });
|
|
1308
|
-
const queryKeyParamsCall = callPrinter$
|
|
1336
|
+
const queryKeyParamsCall = callPrinter$3.print(queryKeyParamsNode) ?? "";
|
|
1309
1337
|
const paramsNode = getQueryOptionsParams(node, { resolver: tsResolver });
|
|
1310
1338
|
const paramsSignature = declarationPrinter$6.print(paramsNode) ?? "";
|
|
1311
1339
|
const queryFnBody = `const { data } = await ${buildClientCall(node, {
|
|
@@ -1377,7 +1405,7 @@ return infiniteQueryOptions<${queryFnDataType}, ${errorType}, InfiniteData<${que
|
|
|
1377
1405
|
//#endregion
|
|
1378
1406
|
//#region src/components/MutationOptions.tsx
|
|
1379
1407
|
const declarationPrinter$5 = (0, _kubb_plugin_ts.functionPrinter)({ mode: "declaration" });
|
|
1380
|
-
const callPrinter$
|
|
1408
|
+
const callPrinter$2 = (0, _kubb_plugin_ts.functionPrinter)({ mode: "call" });
|
|
1381
1409
|
function buildMutationConfigParamsNode(node) {
|
|
1382
1410
|
return (0, _kubb_plugin_ts.createFunctionParameters)({ params: [(0, _kubb_plugin_ts.createFunctionParameter)({
|
|
1383
1411
|
name: "config",
|
|
@@ -1396,7 +1424,7 @@ function MutationOptions({ name, clientName, node, tsResolver, mutationKeyName }
|
|
|
1396
1424
|
const hasMutationParams = groupedParam !== null;
|
|
1397
1425
|
const groupedParamsNode = (0, _kubb_plugin_ts.createFunctionParameters)({ params: groupedParam ? [groupedParam] : [] });
|
|
1398
1426
|
const TRequest = hasMutationParams ? tsResolver.resolveRequestConfigName(node) : "undefined";
|
|
1399
|
-
const argBindingStr = hasMutationParams ? callPrinter$
|
|
1427
|
+
const argBindingStr = hasMutationParams ? callPrinter$2.print(groupedParamsNode) ?? "" : "_";
|
|
1400
1428
|
const mutationFnBody = `const { data } = await ${buildClientCall(node, {
|
|
1401
1429
|
clientName,
|
|
1402
1430
|
signal: false
|
|
@@ -1426,7 +1454,7 @@ function MutationOptions({ name, clientName, node, tsResolver, mutationKeyName }
|
|
|
1426
1454
|
//#endregion
|
|
1427
1455
|
//#region src/components/Mutation.tsx
|
|
1428
1456
|
const declarationPrinter$4 = (0, _kubb_plugin_ts.functionPrinter)({ mode: "declaration" });
|
|
1429
|
-
const callPrinter$
|
|
1457
|
+
const callPrinter$1 = (0, _kubb_plugin_ts.functionPrinter)({ mode: "call" });
|
|
1430
1458
|
function resolveMutationRequestType(node, resolver) {
|
|
1431
1459
|
return buildGroupedRequestParam(node, { resolver }) ? resolver.resolveRequestConfigName(node) : "undefined";
|
|
1432
1460
|
}
|
|
@@ -1461,7 +1489,7 @@ function Mutation({ name, mutationOptionsName, node, tsResolver, mutationKeyName
|
|
|
1461
1489
|
].join(", ");
|
|
1462
1490
|
const returnType = `UseMutationResult<${generics}>`;
|
|
1463
1491
|
const mutationOptionsConfigNode = buildMutationConfigParamsNode(node);
|
|
1464
|
-
const mutationOptionsParamsCall = callPrinter$
|
|
1492
|
+
const mutationOptionsParamsCall = callPrinter$1.print(mutationOptionsConfigNode) ?? "";
|
|
1465
1493
|
const paramsNode = buildMutationParamsNode(node, { resolver: tsResolver });
|
|
1466
1494
|
const paramsSignature = declarationPrinter$4.print(paramsNode) ?? "";
|
|
1467
1495
|
return /* @__PURE__ */ (0, _kubb_renderer_jsx_jsx_runtime.jsx)(_kubb_renderer_jsx.File.Source, {
|
|
@@ -1493,7 +1521,6 @@ function Mutation({ name, mutationOptionsName, node, tsResolver, mutationKeyName
|
|
|
1493
1521
|
//#endregion
|
|
1494
1522
|
//#region src/components/Query.tsx
|
|
1495
1523
|
const declarationPrinter$3 = (0, _kubb_plugin_ts.functionPrinter)({ mode: "declaration" });
|
|
1496
|
-
const callPrinter$3 = (0, _kubb_plugin_ts.functionPrinter)({ mode: "call" });
|
|
1497
1524
|
function buildQueryParamsNode(node, options) {
|
|
1498
1525
|
const { resolver } = options;
|
|
1499
1526
|
const successNames = resolveSuccessNames(node, resolver);
|
|
@@ -1513,7 +1540,10 @@ function buildQueryParamsNode(node, options) {
|
|
|
1513
1540
|
}`,
|
|
1514
1541
|
default: "{}"
|
|
1515
1542
|
});
|
|
1516
|
-
return (0, _kubb_plugin_ts.createFunctionParameters)({ params: [buildGroupedRequestParam(node, {
|
|
1543
|
+
return (0, _kubb_plugin_ts.createFunctionParameters)({ params: [buildGroupedRequestParam(node, {
|
|
1544
|
+
resolver,
|
|
1545
|
+
memberTypeWrapper: maybeValueOrGetter
|
|
1546
|
+
}), optionsParam].filter((param) => param !== null) });
|
|
1517
1547
|
}
|
|
1518
1548
|
function Query({ name, queryKeyTypeName, queryOptionsName, queryKeyName, node, tsResolver, customOptions }) {
|
|
1519
1549
|
const successNames = resolveSuccessNames(node, tsResolver);
|
|
@@ -1526,10 +1556,9 @@ function Query({ name, queryKeyTypeName, queryOptionsName, queryKeyName, node, t
|
|
|
1526
1556
|
`TQueryData = ${TData}`,
|
|
1527
1557
|
`TQueryKey extends QueryKey = ${queryKeyTypeName}`
|
|
1528
1558
|
];
|
|
1529
|
-
const
|
|
1530
|
-
const
|
|
1531
|
-
const
|
|
1532
|
-
const queryOptionsParamsCall = callPrinter$3.print(queryOptionsParamsNode) ?? "";
|
|
1559
|
+
const resolvedParams = buildResolvedRequestParams(node);
|
|
1560
|
+
const queryKeyArgs = resolvedParams ? "resolvedParams" : "";
|
|
1561
|
+
const queryOptionsArgs = resolvedParams ? "resolvedParams, config" : "config";
|
|
1533
1562
|
const paramsNode = buildQueryParamsNode(node, { resolver: tsResolver });
|
|
1534
1563
|
const paramsSignature = declarationPrinter$3.print(paramsNode) ?? "";
|
|
1535
1564
|
return /* @__PURE__ */ (0, _kubb_renderer_jsx_jsx_runtime.jsx)(_kubb_renderer_jsx.File.Source, {
|
|
@@ -1545,11 +1574,11 @@ function Query({ name, queryKeyTypeName, queryOptionsName, queryKeyName, node, t
|
|
|
1545
1574
|
JSDoc: { comments: buildOperationComments(node) },
|
|
1546
1575
|
children: `
|
|
1547
1576
|
const { query: queryConfig = {}, client: config = {} } = options ?? {}
|
|
1548
|
-
const { client: queryClient, ...resolvedOptions } = queryConfig
|
|
1549
|
-
const queryKey = resolvedOptions?.queryKey ?? ${queryKeyName}(${
|
|
1577
|
+
const { client: queryClient, ...resolvedOptions } = queryConfig${resolvedParams ? `\n const resolvedParams = ${resolvedParams}` : ""}
|
|
1578
|
+
const queryKey = resolvedOptions?.queryKey ?? ${queryKeyName}(${queryKeyArgs})${customOptions ? `\n const customOptions = ${customOptions.name}({ hookName: '${name}', operationId: '${node.operationId}' })` : ""}
|
|
1550
1579
|
|
|
1551
1580
|
const queryResult = useQuery({
|
|
1552
|
-
...${queryOptionsName}(${
|
|
1581
|
+
...${queryOptionsName}(${queryOptionsArgs}),${customOptions ? "\n ...customOptions," : ""}
|
|
1553
1582
|
...resolvedOptions,
|
|
1554
1583
|
queryKey,
|
|
1555
1584
|
} as unknown as QueryObserverOptions, queryClient) as ${returnType}
|
|
@@ -1564,7 +1593,6 @@ function Query({ name, queryKeyTypeName, queryOptionsName, queryKeyName, node, t
|
|
|
1564
1593
|
//#endregion
|
|
1565
1594
|
//#region src/components/SuspenseInfiniteQuery.tsx
|
|
1566
1595
|
const declarationPrinter$2 = (0, _kubb_plugin_ts.functionPrinter)({ mode: "declaration" });
|
|
1567
|
-
const callPrinter$2 = (0, _kubb_plugin_ts.functionPrinter)({ mode: "call" });
|
|
1568
1596
|
function buildSuspenseInfiniteQueryParamsNode(node, options) {
|
|
1569
1597
|
const { resolver, pageParamGeneric } = options;
|
|
1570
1598
|
const optionsParam = (0, _kubb_plugin_ts.createFunctionParameter)({
|
|
@@ -1575,7 +1603,10 @@ function buildSuspenseInfiniteQueryParamsNode(node, options) {
|
|
|
1575
1603
|
}`,
|
|
1576
1604
|
default: "{}"
|
|
1577
1605
|
});
|
|
1578
|
-
return (0, _kubb_plugin_ts.createFunctionParameters)({ params: [buildGroupedRequestParam(node, {
|
|
1606
|
+
return (0, _kubb_plugin_ts.createFunctionParameters)({ params: [buildGroupedRequestParam(node, {
|
|
1607
|
+
resolver,
|
|
1608
|
+
memberTypeWrapper: maybeValueOrGetter
|
|
1609
|
+
}), optionsParam].filter((param) => param !== null) });
|
|
1579
1610
|
}
|
|
1580
1611
|
function SuspenseInfiniteQuery({ name, queryKeyTypeName, queryOptionsName, queryKeyName, node, tsResolver, customOptions, initialPageParam, queryParam }) {
|
|
1581
1612
|
const successNames = resolveSuccessNames(node, tsResolver);
|
|
@@ -1603,10 +1634,9 @@ function SuspenseInfiniteQuery({ name, queryKeyTypeName, queryOptionsName, query
|
|
|
1603
1634
|
`TQueryKey extends QueryKey = ${queryKeyTypeName}`,
|
|
1604
1635
|
`TPageParam = ${pageParamType}`
|
|
1605
1636
|
];
|
|
1606
|
-
const
|
|
1607
|
-
const
|
|
1608
|
-
const
|
|
1609
|
-
const queryOptionsParamsCall = callPrinter$2.print(queryOptionsParamsNode) ?? "";
|
|
1637
|
+
const resolvedParams = buildResolvedRequestParams(node);
|
|
1638
|
+
const queryKeyArgs = resolvedParams ? "resolvedParams" : "";
|
|
1639
|
+
const queryOptionsArgs = resolvedParams ? "resolvedParams, config" : "config";
|
|
1610
1640
|
const paramsNode = buildSuspenseInfiniteQueryParamsNode(node, {
|
|
1611
1641
|
resolver: tsResolver,
|
|
1612
1642
|
pageParamGeneric: "TPageParam"
|
|
@@ -1625,11 +1655,11 @@ function SuspenseInfiniteQuery({ name, queryKeyTypeName, queryOptionsName, query
|
|
|
1625
1655
|
JSDoc: { comments: buildOperationComments(node) },
|
|
1626
1656
|
children: `
|
|
1627
1657
|
const { query: queryConfig = {}, client: config = {} } = options ?? {}
|
|
1628
|
-
const { client: queryClient, ...resolvedOptions } = queryConfig
|
|
1629
|
-
const queryKey = resolvedOptions?.queryKey ?? ${queryKeyName}(${
|
|
1658
|
+
const { client: queryClient, ...resolvedOptions } = queryConfig${resolvedParams ? `\n const resolvedParams = ${resolvedParams}` : ""}
|
|
1659
|
+
const queryKey = resolvedOptions?.queryKey ?? ${queryKeyName}(${queryKeyArgs})${customOptions ? `\n const customOptions = ${customOptions.name}({ hookName: '${name}', operationId: '${node.operationId}' })` : ""}
|
|
1630
1660
|
|
|
1631
1661
|
const queryResult = useSuspenseInfiniteQuery({
|
|
1632
|
-
...${queryOptionsName}(${
|
|
1662
|
+
...${queryOptionsName}(${queryOptionsArgs}),${customOptions ? "\n ...customOptions," : ""}
|
|
1633
1663
|
...resolvedOptions,
|
|
1634
1664
|
queryKey,
|
|
1635
1665
|
} as unknown as UseSuspenseInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryKey, TPageParam>, queryClient) as ${returnType}
|
|
@@ -1644,7 +1674,7 @@ function SuspenseInfiniteQuery({ name, queryKeyTypeName, queryOptionsName, query
|
|
|
1644
1674
|
//#endregion
|
|
1645
1675
|
//#region src/components/SuspenseInfiniteQueryOptions.tsx
|
|
1646
1676
|
const declarationPrinter$1 = (0, _kubb_plugin_ts.functionPrinter)({ mode: "declaration" });
|
|
1647
|
-
const callPrinter
|
|
1677
|
+
const callPrinter = (0, _kubb_plugin_ts.functionPrinter)({ mode: "call" });
|
|
1648
1678
|
function SuspenseInfiniteQueryOptions({ name, clientName, initialPageParam, cursorParam, nextParam, previousParam, node, tsResolver, queryParam, queryKeyName }) {
|
|
1649
1679
|
const successNames = resolveSuccessNames(node, tsResolver);
|
|
1650
1680
|
const queryFnDataType = successNames.length > 0 ? successNames.join(" | ") : tsResolver.resolveResponseName(node);
|
|
@@ -1670,7 +1700,7 @@ function SuspenseInfiniteQueryOptions({ name, clientName, initialPageParam, curs
|
|
|
1670
1700
|
})}
|
|
1671
1701
|
return data`;
|
|
1672
1702
|
const queryKeyParamsNode = buildQueryKeyParams(node, { resolver: tsResolver });
|
|
1673
|
-
const queryKeyParamsCall = callPrinter
|
|
1703
|
+
const queryKeyParamsCall = callPrinter.print(queryKeyParamsNode) ?? "";
|
|
1674
1704
|
const hasNewParams = nextParam != null || previousParam != null;
|
|
1675
1705
|
const [getNextPageParamExpr, getPreviousPageParamExpr] = (() => {
|
|
1676
1706
|
if (hasNewParams) {
|
|
@@ -1735,7 +1765,6 @@ return infiniteQueryOptions<${queryFnDataType}, ${errorType}, InfiniteData<${que
|
|
|
1735
1765
|
//#endregion
|
|
1736
1766
|
//#region src/components/SuspenseQuery.tsx
|
|
1737
1767
|
const declarationPrinter = (0, _kubb_plugin_ts.functionPrinter)({ mode: "declaration" });
|
|
1738
|
-
const callPrinter = (0, _kubb_plugin_ts.functionPrinter)({ mode: "call" });
|
|
1739
1768
|
function buildSuspenseQueryParamsNode(node, options) {
|
|
1740
1769
|
const { resolver } = options;
|
|
1741
1770
|
const successNames = resolveSuccessNames(node, resolver);
|
|
@@ -1754,7 +1783,10 @@ function buildSuspenseQueryParamsNode(node, options) {
|
|
|
1754
1783
|
}`,
|
|
1755
1784
|
default: "{}"
|
|
1756
1785
|
});
|
|
1757
|
-
return (0, _kubb_plugin_ts.createFunctionParameters)({ params: [buildGroupedRequestParam(node, {
|
|
1786
|
+
return (0, _kubb_plugin_ts.createFunctionParameters)({ params: [buildGroupedRequestParam(node, {
|
|
1787
|
+
resolver,
|
|
1788
|
+
memberTypeWrapper: maybeValueOrGetter
|
|
1789
|
+
}), optionsParam].filter((param) => param !== null) });
|
|
1758
1790
|
}
|
|
1759
1791
|
function SuspenseQuery({ name, queryKeyTypeName, queryOptionsName, queryKeyName, node, tsResolver, customOptions }) {
|
|
1760
1792
|
const successNames = resolveSuccessNames(node, tsResolver);
|
|
@@ -1763,10 +1795,9 @@ function SuspenseQuery({ name, queryKeyTypeName, queryOptionsName, queryKeyName,
|
|
|
1763
1795
|
const TData = responseName;
|
|
1764
1796
|
const returnType = `UseSuspenseQueryResult<TData, ${`ResponseErrorConfig<${errorNames.length > 0 ? errorNames.join(" | ") : "Error"}>`}> & { queryKey: TQueryKey }`;
|
|
1765
1797
|
const generics = [`TData = ${TData}`, `TQueryKey extends QueryKey = ${queryKeyTypeName}`];
|
|
1766
|
-
const
|
|
1767
|
-
const
|
|
1768
|
-
const
|
|
1769
|
-
const queryOptionsParamsCall = callPrinter.print(queryOptionsParamsNode) ?? "";
|
|
1798
|
+
const resolvedParams = buildResolvedRequestParams(node);
|
|
1799
|
+
const queryKeyArgs = resolvedParams ? "resolvedParams" : "";
|
|
1800
|
+
const queryOptionsArgs = resolvedParams ? "resolvedParams, config" : "config";
|
|
1770
1801
|
const paramsNode = buildSuspenseQueryParamsNode(node, { resolver: tsResolver });
|
|
1771
1802
|
const paramsSignature = declarationPrinter.print(paramsNode) ?? "";
|
|
1772
1803
|
return /* @__PURE__ */ (0, _kubb_renderer_jsx_jsx_runtime.jsx)(_kubb_renderer_jsx.File.Source, {
|
|
@@ -1782,11 +1813,11 @@ function SuspenseQuery({ name, queryKeyTypeName, queryOptionsName, queryKeyName,
|
|
|
1782
1813
|
JSDoc: { comments: buildOperationComments(node) },
|
|
1783
1814
|
children: `
|
|
1784
1815
|
const { query: queryConfig = {}, client: config = {} } = options ?? {}
|
|
1785
|
-
const { client: queryClient, ...resolvedOptions } = queryConfig
|
|
1786
|
-
const queryKey = resolvedOptions?.queryKey ?? ${queryKeyName}(${
|
|
1816
|
+
const { client: queryClient, ...resolvedOptions } = queryConfig${resolvedParams ? `\n const resolvedParams = ${resolvedParams}` : ""}
|
|
1817
|
+
const queryKey = resolvedOptions?.queryKey ?? ${queryKeyName}(${queryKeyArgs})${customOptions ? `\n const customOptions = ${customOptions.name}({ hookName: '${name}', operationId: '${node.operationId}' })` : ""}
|
|
1787
1818
|
|
|
1788
1819
|
const queryResult = useSuspenseQuery({
|
|
1789
|
-
...${queryOptionsName}(${
|
|
1820
|
+
...${queryOptionsName}(${queryOptionsArgs}),${customOptions ? "\n ...customOptions," : ""}
|
|
1790
1821
|
...resolvedOptions,
|
|
1791
1822
|
queryKey,
|
|
1792
1823
|
} as unknown as UseSuspenseQueryOptions, queryClient) as ${returnType}
|
|
@@ -1812,7 +1843,7 @@ const infiniteQueryGenerator = (0, _kubb_core.defineGenerator)({
|
|
|
1812
1843
|
operation(node, ctx) {
|
|
1813
1844
|
if (!_kubb_core.ast.isHttpOperationNode(node)) return null;
|
|
1814
1845
|
const { config, driver, resolver, root } = ctx;
|
|
1815
|
-
const { output, query, mutation, infinite, validator, client, group, customOptions } = ctx.options;
|
|
1846
|
+
const { output, query, mutation, infinite, validator, client, group, customOptions, hooks } = ctx.options;
|
|
1816
1847
|
const pluginTs = driver.getPlugin(_kubb_plugin_ts.pluginTsName);
|
|
1817
1848
|
if (!pluginTs) return null;
|
|
1818
1849
|
const tsResolver = driver.getResolver(_kubb_plugin_ts.pluginTsName);
|
|
@@ -1946,31 +1977,33 @@ const infiniteQueryGenerator = (0, _kubb_core.defineGenerator)({
|
|
|
1946
1977
|
initialPageParam: infiniteOptions.initialPageParam,
|
|
1947
1978
|
queryParam: infiniteOptions.queryParam
|
|
1948
1979
|
}),
|
|
1949
|
-
/* @__PURE__ */ (0, _kubb_renderer_jsx_jsx_runtime.
|
|
1950
|
-
|
|
1951
|
-
|
|
1952
|
-
|
|
1953
|
-
|
|
1954
|
-
|
|
1955
|
-
|
|
1956
|
-
|
|
1957
|
-
|
|
1958
|
-
|
|
1959
|
-
|
|
1960
|
-
|
|
1961
|
-
|
|
1962
|
-
|
|
1963
|
-
|
|
1964
|
-
|
|
1965
|
-
|
|
1966
|
-
|
|
1967
|
-
|
|
1968
|
-
|
|
1969
|
-
|
|
1970
|
-
|
|
1971
|
-
|
|
1972
|
-
|
|
1973
|
-
|
|
1980
|
+
hooks && /* @__PURE__ */ (0, _kubb_renderer_jsx_jsx_runtime.jsxs)(_kubb_renderer_jsx_jsx_runtime.Fragment, { children: [
|
|
1981
|
+
/* @__PURE__ */ (0, _kubb_renderer_jsx_jsx_runtime.jsx)(_kubb_renderer_jsx.File.Import, {
|
|
1982
|
+
name: ["useInfiniteQuery"],
|
|
1983
|
+
path: importPath
|
|
1984
|
+
}),
|
|
1985
|
+
/* @__PURE__ */ (0, _kubb_renderer_jsx_jsx_runtime.jsx)(_kubb_renderer_jsx.File.Import, {
|
|
1986
|
+
name: [
|
|
1987
|
+
"QueryKey",
|
|
1988
|
+
"QueryClient",
|
|
1989
|
+
"InfiniteQueryObserverOptions",
|
|
1990
|
+
"UseInfiniteQueryResult"
|
|
1991
|
+
],
|
|
1992
|
+
path: importPath,
|
|
1993
|
+
isTypeOnly: true
|
|
1994
|
+
}),
|
|
1995
|
+
/* @__PURE__ */ (0, _kubb_renderer_jsx_jsx_runtime.jsx)(InfiniteQuery, {
|
|
1996
|
+
name: queryName,
|
|
1997
|
+
queryOptionsName,
|
|
1998
|
+
queryKeyName,
|
|
1999
|
+
queryKeyTypeName,
|
|
2000
|
+
node,
|
|
2001
|
+
tsResolver,
|
|
2002
|
+
initialPageParam: infiniteOptions.initialPageParam,
|
|
2003
|
+
queryParam: infiniteOptions.queryParam,
|
|
2004
|
+
customOptions
|
|
2005
|
+
})
|
|
2006
|
+
] })
|
|
1974
2007
|
]
|
|
1975
2008
|
});
|
|
1976
2009
|
}
|
|
@@ -1988,7 +2021,7 @@ const mutationGenerator = (0, _kubb_core.defineGenerator)({
|
|
|
1988
2021
|
operation(node, ctx) {
|
|
1989
2022
|
if (!_kubb_core.ast.isHttpOperationNode(node)) return null;
|
|
1990
2023
|
const { config, driver, resolver, root } = ctx;
|
|
1991
|
-
const { output, query, mutation, validator, client, group, customOptions } = ctx.options;
|
|
2024
|
+
const { output, query, mutation, validator, client, group, customOptions, hooks } = ctx.options;
|
|
1992
2025
|
const pluginTs = driver.getPlugin(_kubb_plugin_ts.pluginTsName);
|
|
1993
2026
|
if (!pluginTs) return null;
|
|
1994
2027
|
const tsResolver = driver.getResolver(_kubb_plugin_ts.pluginTsName);
|
|
@@ -2096,7 +2129,7 @@ const mutationGenerator = (0, _kubb_core.defineGenerator)({
|
|
|
2096
2129
|
node,
|
|
2097
2130
|
tsResolver
|
|
2098
2131
|
}),
|
|
2099
|
-
mutation && /* @__PURE__ */ (0, _kubb_renderer_jsx_jsx_runtime.jsxs)(_kubb_renderer_jsx_jsx_runtime.Fragment, { children: [
|
|
2132
|
+
mutation && hooks && /* @__PURE__ */ (0, _kubb_renderer_jsx_jsx_runtime.jsxs)(_kubb_renderer_jsx_jsx_runtime.Fragment, { children: [
|
|
2100
2133
|
/* @__PURE__ */ (0, _kubb_renderer_jsx_jsx_runtime.jsx)(_kubb_renderer_jsx.File.Import, {
|
|
2101
2134
|
name: ["useMutation"],
|
|
2102
2135
|
path: importPath
|
|
@@ -2137,7 +2170,7 @@ const queryGenerator = (0, _kubb_core.defineGenerator)({
|
|
|
2137
2170
|
operation(node, ctx) {
|
|
2138
2171
|
if (!_kubb_core.ast.isHttpOperationNode(node)) return null;
|
|
2139
2172
|
const { config, driver, resolver, root } = ctx;
|
|
2140
|
-
const { output, query, mutation, validator, client, group, customOptions } = ctx.options;
|
|
2173
|
+
const { output, query, mutation, validator, client, group, customOptions, hooks } = ctx.options;
|
|
2141
2174
|
const pluginTs = driver.getPlugin(_kubb_plugin_ts.pluginTsName);
|
|
2142
2175
|
if (!pluginTs) return null;
|
|
2143
2176
|
const tsResolver = driver.getResolver(_kubb_plugin_ts.pluginTsName);
|
|
@@ -2249,7 +2282,7 @@ const queryGenerator = (0, _kubb_core.defineGenerator)({
|
|
|
2249
2282
|
node,
|
|
2250
2283
|
tsResolver
|
|
2251
2284
|
}),
|
|
2252
|
-
query && /* @__PURE__ */ (0, _kubb_renderer_jsx_jsx_runtime.jsxs)(_kubb_renderer_jsx_jsx_runtime.Fragment, { children: [
|
|
2285
|
+
query && hooks && /* @__PURE__ */ (0, _kubb_renderer_jsx_jsx_runtime.jsxs)(_kubb_renderer_jsx_jsx_runtime.Fragment, { children: [
|
|
2253
2286
|
/* @__PURE__ */ (0, _kubb_renderer_jsx_jsx_runtime.jsx)(_kubb_renderer_jsx.File.Import, {
|
|
2254
2287
|
name: ["useQuery"],
|
|
2255
2288
|
path: importPath
|
|
@@ -2292,7 +2325,7 @@ const suspenseInfiniteQueryGenerator = (0, _kubb_core.defineGenerator)({
|
|
|
2292
2325
|
operation(node, ctx) {
|
|
2293
2326
|
if (!_kubb_core.ast.isHttpOperationNode(node)) return null;
|
|
2294
2327
|
const { config, driver, resolver, root } = ctx;
|
|
2295
|
-
const { output, query, mutation, infinite, suspense, validator, client, group, customOptions } = ctx.options;
|
|
2328
|
+
const { output, query, mutation, infinite, suspense, validator, client, group, customOptions, hooks } = ctx.options;
|
|
2296
2329
|
const pluginTs = driver.getPlugin(_kubb_plugin_ts.pluginTsName);
|
|
2297
2330
|
if (!pluginTs) return null;
|
|
2298
2331
|
const tsResolver = driver.getResolver(_kubb_plugin_ts.pluginTsName);
|
|
@@ -2426,31 +2459,33 @@ const suspenseInfiniteQueryGenerator = (0, _kubb_core.defineGenerator)({
|
|
|
2426
2459
|
initialPageParam: infiniteOptions.initialPageParam,
|
|
2427
2460
|
queryParam: infiniteOptions.queryParam
|
|
2428
2461
|
}),
|
|
2429
|
-
/* @__PURE__ */ (0, _kubb_renderer_jsx_jsx_runtime.
|
|
2430
|
-
|
|
2431
|
-
|
|
2432
|
-
|
|
2433
|
-
|
|
2434
|
-
|
|
2435
|
-
|
|
2436
|
-
|
|
2437
|
-
|
|
2438
|
-
|
|
2439
|
-
|
|
2440
|
-
|
|
2441
|
-
|
|
2442
|
-
|
|
2443
|
-
|
|
2444
|
-
|
|
2445
|
-
|
|
2446
|
-
|
|
2447
|
-
|
|
2448
|
-
|
|
2449
|
-
|
|
2450
|
-
|
|
2451
|
-
|
|
2452
|
-
|
|
2453
|
-
|
|
2462
|
+
hooks && /* @__PURE__ */ (0, _kubb_renderer_jsx_jsx_runtime.jsxs)(_kubb_renderer_jsx_jsx_runtime.Fragment, { children: [
|
|
2463
|
+
/* @__PURE__ */ (0, _kubb_renderer_jsx_jsx_runtime.jsx)(_kubb_renderer_jsx.File.Import, {
|
|
2464
|
+
name: ["useSuspenseInfiniteQuery"],
|
|
2465
|
+
path: importPath
|
|
2466
|
+
}),
|
|
2467
|
+
/* @__PURE__ */ (0, _kubb_renderer_jsx_jsx_runtime.jsx)(_kubb_renderer_jsx.File.Import, {
|
|
2468
|
+
name: [
|
|
2469
|
+
"QueryKey",
|
|
2470
|
+
"QueryClient",
|
|
2471
|
+
"UseSuspenseInfiniteQueryOptions",
|
|
2472
|
+
"UseSuspenseInfiniteQueryResult"
|
|
2473
|
+
],
|
|
2474
|
+
path: importPath,
|
|
2475
|
+
isTypeOnly: true
|
|
2476
|
+
}),
|
|
2477
|
+
/* @__PURE__ */ (0, _kubb_renderer_jsx_jsx_runtime.jsx)(SuspenseInfiniteQuery, {
|
|
2478
|
+
name: queryName,
|
|
2479
|
+
queryOptionsName,
|
|
2480
|
+
queryKeyName,
|
|
2481
|
+
queryKeyTypeName,
|
|
2482
|
+
node,
|
|
2483
|
+
tsResolver,
|
|
2484
|
+
initialPageParam: infiniteOptions.initialPageParam,
|
|
2485
|
+
queryParam: infiniteOptions.queryParam,
|
|
2486
|
+
customOptions
|
|
2487
|
+
})
|
|
2488
|
+
] })
|
|
2454
2489
|
]
|
|
2455
2490
|
});
|
|
2456
2491
|
}
|
|
@@ -2469,7 +2504,7 @@ const suspenseQueryGenerator = (0, _kubb_core.defineGenerator)({
|
|
|
2469
2504
|
operation(node, ctx) {
|
|
2470
2505
|
if (!_kubb_core.ast.isHttpOperationNode(node)) return null;
|
|
2471
2506
|
const { config, driver, resolver, root } = ctx;
|
|
2472
|
-
const { output, query, mutation, suspense, validator, client, group, customOptions } = ctx.options;
|
|
2507
|
+
const { output, query, mutation, suspense, validator, client, group, customOptions, hooks } = ctx.options;
|
|
2473
2508
|
const pluginTs = driver.getPlugin(_kubb_plugin_ts.pluginTsName);
|
|
2474
2509
|
if (!pluginTs) return null;
|
|
2475
2510
|
const tsResolver = driver.getResolver(_kubb_plugin_ts.pluginTsName);
|
|
@@ -2581,7 +2616,7 @@ const suspenseQueryGenerator = (0, _kubb_core.defineGenerator)({
|
|
|
2581
2616
|
node,
|
|
2582
2617
|
tsResolver
|
|
2583
2618
|
}),
|
|
2584
|
-
suspense && /* @__PURE__ */ (0, _kubb_renderer_jsx_jsx_runtime.jsxs)(_kubb_renderer_jsx_jsx_runtime.Fragment, { children: [
|
|
2619
|
+
suspense && hooks && /* @__PURE__ */ (0, _kubb_renderer_jsx_jsx_runtime.jsxs)(_kubb_renderer_jsx_jsx_runtime.Fragment, { children: [
|
|
2585
2620
|
/* @__PURE__ */ (0, _kubb_renderer_jsx_jsx_runtime.jsx)(_kubb_renderer_jsx.File.Import, {
|
|
2586
2621
|
name: ["useSuspenseQuery"],
|
|
2587
2622
|
path: importPath
|
|
@@ -2761,7 +2796,7 @@ const pluginReactQuery = (0, _kubb_core.definePlugin)((options) => {
|
|
|
2761
2796
|
const { output = {
|
|
2762
2797
|
path: "hooks",
|
|
2763
2798
|
barrel: { type: "named" }
|
|
2764
|
-
}, group, exclude = [], include, override = [], validator = false, suspense = {}, infinite = false, mutation = {}, query = {}, mutationKey = mutationKeyTransformer, queryKey = queryKeyTransformer, customOptions, client, resolver: userResolver, macros: userMacros } = options;
|
|
2799
|
+
}, group, exclude = [], include, override = [], validator = false, suspense = {}, infinite = false, mutation = {}, query = {}, mutationKey = mutationKeyTransformer, queryKey = queryKeyTransformer, customOptions, hooks = false, client, resolver: userResolver, macros: userMacros } = options;
|
|
2765
2800
|
const selectedGenerators = [
|
|
2766
2801
|
queryGenerator,
|
|
2767
2802
|
suspenseQueryGenerator,
|
|
@@ -2823,6 +2858,7 @@ const pluginReactQuery = (0, _kubb_core.definePlugin)((options) => {
|
|
|
2823
2858
|
name: "useCustomHookOptions",
|
|
2824
2859
|
...customOptions
|
|
2825
2860
|
} : null,
|
|
2861
|
+
hooks,
|
|
2826
2862
|
validator,
|
|
2827
2863
|
group: groupConfig,
|
|
2828
2864
|
exclude,
|