@kubb/plugin-react-query 5.0.0-beta.15 → 5.0.0-beta.25

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 (45) hide show
  1. package/dist/{components-BZ3a2O0G.cjs → components-C1_zAoAO.cjs} +65 -84
  2. package/dist/components-C1_zAoAO.cjs.map +1 -0
  3. package/dist/{components-DJqIUiZW.js → components-C91DnOOV.js} +65 -84
  4. package/dist/components-C91DnOOV.js.map +1 -0
  5. package/dist/components.cjs +1 -1
  6. package/dist/components.d.ts +1 -1
  7. package/dist/components.js +1 -1
  8. package/dist/{generators-BQ_vEksc.js → generators-9srJC_zb.js} +115 -75
  9. package/dist/generators-9srJC_zb.js.map +1 -0
  10. package/dist/{generators-DSjer1xY.cjs → generators-DS3JH1hR.cjs} +115 -75
  11. package/dist/generators-DS3JH1hR.cjs.map +1 -0
  12. package/dist/generators.cjs +1 -1
  13. package/dist/generators.d.ts +41 -1
  14. package/dist/generators.js +1 -1
  15. package/dist/index.cjs +51 -11
  16. package/dist/index.cjs.map +1 -1
  17. package/dist/index.d.ts +30 -1
  18. package/dist/index.js +51 -11
  19. package/dist/index.js.map +1 -1
  20. package/dist/{types-DG_OxOym.d.ts → types-DiZPLTXl.d.ts} +92 -55
  21. package/extension.yaml +904 -325
  22. package/package.json +7 -7
  23. package/src/components/InfiniteQuery.tsx +4 -4
  24. package/src/components/InfiniteQueryOptions.tsx +21 -31
  25. package/src/components/Mutation.tsx +2 -2
  26. package/src/components/MutationOptions.tsx +1 -1
  27. package/src/components/Query.tsx +1 -1
  28. package/src/components/QueryOptions.tsx +1 -1
  29. package/src/components/SuspenseInfiniteQuery.tsx +4 -4
  30. package/src/components/SuspenseInfiniteQueryOptions.tsx +21 -31
  31. package/src/components/SuspenseQuery.tsx +1 -1
  32. package/src/generators/customHookOptionsFileGenerator.tsx +7 -1
  33. package/src/generators/hookOptionsGenerator.tsx +17 -11
  34. package/src/generators/infiniteQueryGenerator.tsx +22 -13
  35. package/src/generators/mutationGenerator.tsx +20 -12
  36. package/src/generators/queryGenerator.tsx +20 -12
  37. package/src/generators/suspenseInfiniteQueryGenerator.tsx +22 -13
  38. package/src/generators/suspenseQueryGenerator.tsx +21 -12
  39. package/src/plugin.ts +34 -5
  40. package/src/resolvers/resolverReactQuery.ts +15 -4
  41. package/src/types.ts +89 -52
  42. package/dist/components-BZ3a2O0G.cjs.map +0 -1
  43. package/dist/components-DJqIUiZW.js.map +0 -1
  44. package/dist/generators-BQ_vEksc.js.map +0 -1
  45. package/dist/generators-DSjer1xY.cjs.map +0 -1
@@ -253,12 +253,12 @@ var URLPath = class {
253
253
  get object() {
254
254
  return this.toObject();
255
255
  }
256
- /** Returns a map of path parameter names, or `undefined` when the path has no parameters.
256
+ /** Returns a map of path parameter names, or `null` when the path has no parameters.
257
257
  *
258
258
  * @example
259
259
  * ```ts
260
260
  * new URLPath('/pet/{petId}').params // { petId: 'petId' }
261
- * new URLPath('/pet').params // undefined
261
+ * new URLPath('/pet').params // null
262
262
  * ```
263
263
  */
264
264
  get params() {
@@ -296,12 +296,13 @@ var URLPath = class {
296
296
  * @example
297
297
  * new URLPath('/pet/{petId}').toTemplateString() // '`/pet/${petId}`'
298
298
  */
299
- toTemplateString({ prefix = "", replacer } = {}) {
300
- return `\`${prefix}${this.path.split(/\{([^}]+)\}/).map((part, i) => {
299
+ toTemplateString({ prefix, replacer } = {}) {
300
+ const result = this.path.split(/\{([^}]+)\}/).map((part, i) => {
301
301
  if (i % 2 === 0) return part;
302
302
  const param = this.#transformParam(part);
303
303
  return `\${${replacer ? replacer(param) : param}}`;
304
- }).join("")}\``;
304
+ }).join("");
305
+ return `\`${prefix ?? ""}${result}\``;
305
306
  }
306
307
  /**
307
308
  * Extracts all `{param}` segments from the path and returns them as a key-value map.
@@ -320,7 +321,7 @@ var URLPath = class {
320
321
  const key = replacer ? replacer(param) : param;
321
322
  params[key] = key;
322
323
  });
323
- return Object.keys(params).length > 0 ? params : void 0;
324
+ return Object.keys(params).length > 0 ? params : null;
324
325
  }
325
326
  /** Converts the OpenAPI path to Express-style colon syntax.
326
327
  *
@@ -339,10 +340,10 @@ const declarationPrinter$10 = (0, _kubb_plugin_ts.functionPrinter)({ mode: "decl
339
340
  const mutationKeyTransformer = ({ node, casing }) => {
340
341
  return [`{ url: '${new URLPath(node.path, { casing }).toURLPath()}' }`];
341
342
  };
342
- function MutationKey({ name, paramsCasing, node, transformer = mutationKeyTransformer }) {
343
+ function MutationKey({ name, paramsCasing, node, transformer }) {
343
344
  const paramsNode = _kubb_core.ast.createFunctionParameters({ params: [] });
344
345
  const paramsSignature = declarationPrinter$10.print(paramsNode) ?? "";
345
- const keys = transformer({
346
+ const keys = (transformer ?? mutationKeyTransformer)({
346
347
  node,
347
348
  casing: paramsCasing
348
349
  });
@@ -362,9 +363,9 @@ function MutationKey({ name, paramsCasing, node, transformer = mutationKeyTransf
362
363
  //#endregion
363
364
  //#region ../../internals/shared/src/operation.ts
364
365
  function getOperationLink(node, link) {
365
- if (!link) return;
366
- if (typeof link === "function") return link(node);
367
- if (link === "urlPath") return node.path ? `{@link ${new URLPath(node.path).URL}}` : void 0;
366
+ if (!link) return null;
367
+ if (typeof link === "function") return link(node) ?? null;
368
+ if (link === "urlPath") return node.path ? `{@link ${new URLPath(node.path).URL}}` : null;
368
369
  return `{@link ${node.path.replaceAll("{", ":").replaceAll("}", "")}}`;
369
370
  }
370
371
  function getContentTypeInfo(node) {
@@ -379,9 +380,9 @@ function getContentTypeInfo(node) {
379
380
  };
380
381
  }
381
382
  function buildRequestConfigType(node, resolver) {
382
- const requestName = node.requestBody?.content?.[0]?.schema ? resolver.resolveDataName(node) : void 0;
383
+ const requestName = node.requestBody?.content?.[0]?.schema ? resolver.resolveDataName(node) : null;
383
384
  const { isMultipleContentTypes, contentTypeUnion } = getContentTypeInfo(node);
384
- return `${requestName ? `Partial<RequestConfig<${requestName}>>` : "Partial<RequestConfig>"} & { ${["client?: Client", isMultipleContentTypes ? `contentType?: ${contentTypeUnion}` : void 0].filter(Boolean).join("; ")} }`;
385
+ return `${requestName ? `Partial<RequestConfig<${requestName}>>` : "Partial<RequestConfig>"} & { ${["client?: Client", isMultipleContentTypes ? `contentType?: ${contentTypeUnion}` : null].filter(Boolean).join("; ")} }`;
385
386
  }
386
387
  function buildOperationComments(node, options = {}) {
387
388
  const { link = "pathTemplate", linkPosition = "afterDeprecated", splitLines = false } = options;
@@ -411,11 +412,11 @@ function getOperationParameters(node, options = {}) {
411
412
  }
412
413
  function getStatusCodeNumber(statusCode) {
413
414
  const code = Number(statusCode);
414
- return Number.isNaN(code) ? void 0 : code;
415
+ return Number.isNaN(code) ? null : code;
415
416
  }
416
417
  function isErrorStatusCode(statusCode) {
417
418
  const code = getStatusCodeNumber(statusCode);
418
- return code !== void 0 && code >= 400;
419
+ return code !== null && code >= 400;
419
420
  }
420
421
  function resolveErrorNames(node, resolver) {
421
422
  return node.responses.filter((response) => isErrorStatusCode(response.statusCode)).map((response) => resolver.resolveResponseStatusName(node, response.statusCode));
@@ -442,7 +443,7 @@ function resolveOperationTypeNames(node, resolver, options = {}) {
442
443
  ...query.map((param) => resolver.resolveQueryParamsName(node, param)),
443
444
  ...header.map((param) => resolver.resolveHeaderParamsName(node, param))
444
445
  ];
445
- const bodyAndResponseNames = [node.requestBody?.content?.[0]?.schema ? resolver.resolveDataName(node) : void 0, resolver.resolveResponseName(node)];
446
+ const bodyAndResponseNames = [node.requestBody?.content?.[0]?.schema ? resolver.resolveDataName(node) : null, resolver.resolveResponseName(node)];
446
447
  const result = (options.order === "body-response-first" ? [
447
448
  ...bodyAndResponseNames,
448
449
  ...paramNames,
@@ -486,7 +487,7 @@ function resolveOperationOverrides(node, override) {
486
487
  */
487
488
  function resolveZodSchemaNames(node, zodResolver) {
488
489
  if (!zodResolver) return [];
489
- return [zodResolver.resolveResponseName?.(node), node.requestBody?.content?.[0]?.schema ? zodResolver.resolveDataName?.(node) : void 0].filter((n) => Boolean(n));
490
+ return [zodResolver.resolveResponseName?.(node), node.requestBody?.content?.[0]?.schema ? zodResolver.resolveDataName?.(node) : null].filter((n) => Boolean(n));
490
491
  }
491
492
  /**
492
493
  * Resolve the type for a single path parameter.
@@ -510,14 +511,14 @@ function resolvePathParamType(node, param, resolver) {
510
511
  }
511
512
  /**
512
513
  * Derive a query-params group type from the resolver.
513
- * Returns `undefined` when no query params exist or when the group name
514
+ * Returns `null` when no query params exist or when the group name
514
515
  * equals the individual param name (no real group).
515
516
  */
516
517
  function resolveQueryGroupType(node, params, resolver) {
517
- if (!params.length) return void 0;
518
+ if (!params.length) return null;
518
519
  const firstParam = params[0];
519
520
  const groupName = resolver.resolveQueryParamsName(node, firstParam);
520
- if (groupName === resolver.resolveParamName(node, firstParam)) return void 0;
521
+ if (groupName === resolver.resolveParamName(node, firstParam)) return null;
521
522
  return {
522
523
  type: _kubb_core.ast.createParamsType({
523
524
  variant: "reference",
@@ -567,7 +568,7 @@ function buildQueryKeyParams(node, options) {
567
568
  const bodyType = node.requestBody?.content?.[0]?.schema ? _kubb_core.ast.createParamsType({
568
569
  variant: "reference",
569
570
  name: resolver.resolveDataName(node)
570
- }) : void 0;
571
+ }) : null;
571
572
  const bodyRequired = node.requestBody?.required ?? false;
572
573
  const params = [];
573
574
  if (pathParams.length) {
@@ -614,18 +615,18 @@ const queryKeyTransformer = ({ node, casing }) => {
614
615
  type: "path",
615
616
  stringify: true
616
617
  }),
617
- hasQueryParams ? "...(params ? [params] : [])" : void 0,
618
- hasRequestBody ? "...(data ? [data] : [])" : void 0
618
+ hasQueryParams ? "...(params ? [params] : [])" : null,
619
+ hasRequestBody ? "...(data ? [data] : [])" : null
619
620
  ].filter(Boolean);
620
621
  };
621
- function QueryKey({ name, node, tsResolver, paramsCasing, pathParamsType, typeName, transformer = queryKeyTransformer }) {
622
+ function QueryKey({ name, node, tsResolver, paramsCasing, pathParamsType, typeName, transformer }) {
622
623
  const paramsNode = buildQueryKeyParams(node, {
623
624
  pathParamsType,
624
625
  paramsCasing,
625
626
  resolver: tsResolver
626
627
  });
627
628
  const paramsSignature = declarationPrinter$9.print(paramsNode) ?? "";
628
- const keys = transformer({
629
+ const keys = (transformer ?? queryKeyTransformer)({
629
630
  node,
630
631
  casing: paramsCasing
631
632
  });
@@ -655,7 +656,7 @@ const declarationPrinter$8 = (0, _kubb_plugin_ts.functionPrinter)({ mode: "decla
655
656
  const callPrinter$8 = (0, _kubb_plugin_ts.functionPrinter)({ mode: "call" });
656
657
  function getQueryOptionsParams(node, options) {
657
658
  const { paramsType, paramsCasing, pathParamsType, resolver } = options;
658
- const requestName = node.requestBody?.content?.[0]?.schema ? resolver.resolveDataName(node) : void 0;
659
+ const requestName = node.requestBody?.content?.[0]?.schema ? resolver.resolveDataName(node) : null;
659
660
  return _kubb_core.ast.createOperationParams(node, {
660
661
  paramsType,
661
662
  pathParamsType: paramsType === "object" ? "object" : pathParamsType === "object" ? "object" : "inline",
@@ -719,7 +720,7 @@ const declarationPrinter$7 = (0, _kubb_plugin_ts.functionPrinter)({ mode: "decla
719
720
  const callPrinter$7 = (0, _kubb_plugin_ts.functionPrinter)({ mode: "call" });
720
721
  function buildInfiniteQueryParamsNode(node, options) {
721
722
  const { paramsType, paramsCasing, pathParamsType, resolver, pageParamGeneric } = options;
722
- const requestName = node.requestBody?.content?.[0]?.schema ? resolver.resolveDataName(node) : void 0;
723
+ const requestName = node.requestBody?.content?.[0]?.schema ? resolver.resolveDataName(node) : null;
723
724
  const optionsParam = _kubb_core.ast.createFunctionParameter({
724
725
  name: "options",
725
726
  type: _kubb_core.ast.createParamsType({
@@ -752,9 +753,9 @@ function InfiniteQuery({ name, queryKeyTypeName, queryOptionsName, queryKeyName,
752
753
  const rawQueryParams = getOperationParameters(node).query;
753
754
  const queryParamsTypeName = rawQueryParams.length > 0 ? (() => {
754
755
  const groupName = tsResolver.resolveQueryParamsName(node, rawQueryParams[0]);
755
- return groupName !== tsResolver.resolveParamName(node, rawQueryParams[0]) ? groupName : void 0;
756
- })() : void 0;
757
- const queryParamType = queryParam && queryParamsTypeName ? `${queryParamsTypeName}['${queryParam}']` : void 0;
756
+ return groupName !== tsResolver.resolveParamName(node, rawQueryParams[0]) ? groupName : null;
757
+ })() : null;
758
+ const queryParamType = queryParam && queryParamsTypeName ? `${queryParamsTypeName}['${queryParam}']` : null;
758
759
  const pageParamType = queryParamType ? isInitialPageParamDefined ? `NonNullable<${queryParamType}>` : queryParamType : fallbackPageParamType;
759
760
  const returnType = "UseInfiniteQueryResult<TData, TError> & { queryKey: TQueryKey }";
760
761
  const generics = [
@@ -833,9 +834,9 @@ function InfiniteQueryOptions({ name, clientName, initialPageParam, cursorParam,
833
834
  const rawQueryParams = getOperationParameters(node).query;
834
835
  const queryParamsTypeName = rawQueryParams.length > 0 ? (() => {
835
836
  const groupName = tsResolver.resolveQueryParamsName(node, rawQueryParams[0]);
836
- return groupName !== tsResolver.resolveParamName(node, rawQueryParams[0]) ? groupName : void 0;
837
- })() : void 0;
838
- const queryParamType = queryParam && queryParamsTypeName ? `${queryParamsTypeName}['${queryParam}']` : void 0;
837
+ return groupName !== tsResolver.resolveParamName(node, rawQueryParams[0]) ? groupName : null;
838
+ })() : null;
839
+ const queryParamType = queryParam && queryParamsTypeName ? `${queryParamsTypeName}['${queryParam}']` : null;
839
840
  const pageParamType = queryParamType ? isInitialPageParamDefined ? `NonNullable<${queryParamType}>` : queryParamType : fallbackPageParamType;
840
841
  const paramsNode = getQueryOptionsParams(node, {
841
842
  paramsType,
@@ -853,26 +854,16 @@ function InfiniteQueryOptions({ name, clientName, initialPageParam, cursorParam,
853
854
  const queryKeyParamsCall = callPrinter$6.print(queryKeyParamsNode) ?? "";
854
855
  const enabledSource = buildEnabledCheck(queryKeyParamsNode);
855
856
  const enabledText = enabledSource ? `enabled: !!(${enabledSource}),` : "";
856
- const hasNewParams = nextParam !== void 0 || previousParam !== void 0;
857
- let getNextPageParamExpr;
858
- let getPreviousPageParamExpr;
859
- if (hasNewParams) {
860
- if (nextParam) {
861
- const accessor = getNestedAccessor(nextParam, "lastPage");
862
- if (accessor) getNextPageParamExpr = `getNextPageParam: (lastPage) => ${accessor}`;
857
+ const hasNewParams = nextParam != null || previousParam != null;
858
+ const [getNextPageParamExpr, getPreviousPageParamExpr] = (() => {
859
+ if (hasNewParams) {
860
+ const nextAccessor = nextParam ? getNestedAccessor(nextParam, "lastPage") : null;
861
+ const prevAccessor = previousParam ? getNestedAccessor(previousParam, "firstPage") : null;
862
+ return [nextAccessor ? `getNextPageParam: (lastPage) => ${nextAccessor}` : null, prevAccessor ? `getPreviousPageParam: (firstPage) => ${prevAccessor}` : null];
863
863
  }
864
- if (previousParam) {
865
- const accessor = getNestedAccessor(previousParam, "firstPage");
866
- if (accessor) getPreviousPageParamExpr = `getPreviousPageParam: (firstPage) => ${accessor}`;
867
- }
868
- } else if (cursorParam) {
869
- getNextPageParamExpr = `getNextPageParam: (lastPage) => lastPage['${cursorParam}']`;
870
- getPreviousPageParamExpr = `getPreviousPageParam: (firstPage) => firstPage['${cursorParam}']`;
871
- } else {
872
- if (dataReturnType === "full") getNextPageParamExpr = "getNextPageParam: (lastPage, _allPages, lastPageParam) => Array.isArray(lastPage.data) && lastPage.data.length === 0 ? undefined : lastPageParam + 1";
873
- else getNextPageParamExpr = "getNextPageParam: (lastPage, _allPages, lastPageParam) => Array.isArray(lastPage) && lastPage.length === 0 ? undefined : lastPageParam + 1";
874
- getPreviousPageParamExpr = "getPreviousPageParam: (_firstPage, _allPages, firstPageParam) => firstPageParam <= 1 ? undefined : firstPageParam - 1";
875
- }
864
+ if (cursorParam) return [`getNextPageParam: (lastPage) => lastPage['${cursorParam}']`, `getPreviousPageParam: (firstPage) => firstPage['${cursorParam}']`];
865
+ return [dataReturnType === "full" ? "getNextPageParam: (lastPage, _allPages, lastPageParam) => Array.isArray(lastPage.data) && lastPage.data.length === 0 ? undefined : lastPageParam + 1" : "getNextPageParam: (lastPage, _allPages, lastPageParam) => Array.isArray(lastPage) && lastPage.length === 0 ? undefined : lastPageParam + 1", "getPreviousPageParam: (_firstPage, _allPages, firstPageParam) => firstPageParam <= 1 ? undefined : firstPageParam - 1"];
866
+ })();
876
867
  const queryOptionsArr = [
877
868
  `initialPageParam: ${typeof initialPageParam === "string" ? JSON.stringify(initialPageParam) : initialPageParam}`,
878
869
  getNextPageParamExpr,
@@ -984,7 +975,7 @@ function MutationOptions({ name, clientName, dataReturnType, node, tsResolver, p
984
975
  generics: ["TContext = unknown"],
985
976
  children: `
986
977
  const mutationKey = ${mutationKeyName}()
987
- return mutationOptions<${TData}, ${TError}, ${TRequest ? `{${TRequest}}` : "void"}, TContext>({
978
+ return mutationOptions<${TData}, ${TError}, ${TRequest ? `{${TRequest}}` : "undefined"}, TContext>({
988
979
  mutationKey,
989
980
  mutationFn: async(${hasMutationParams ? `{ ${argKeysStr} }` : "_"}) => {
990
981
  return ${clientName}(${clientCallStr})
@@ -1020,7 +1011,7 @@ function buildMutationParamsNode(node, options) {
1020
1011
  const generics = [
1021
1012
  TData,
1022
1013
  TError,
1023
- TRequest ? `{${TRequest}}` : "void",
1014
+ TRequest ? `{${TRequest}}` : "undefined",
1024
1015
  "TContext"
1025
1016
  ].join(", ");
1026
1017
  return _kubb_core.ast.createFunctionParameters({ params: [_kubb_core.ast.createFunctionParameter({
@@ -1048,7 +1039,7 @@ function Mutation({ name, mutationOptionsName, paramsCasing, dataReturnType, nod
1048
1039
  const generics = [
1049
1040
  TData,
1050
1041
  TError,
1051
- TRequest ? `{${TRequest}}` : "void",
1042
+ TRequest ? `{${TRequest}}` : "undefined",
1052
1043
  "TContext"
1053
1044
  ].join(", ");
1054
1045
  const returnType = `UseMutationResult<${generics}>`;
@@ -1094,7 +1085,7 @@ const callPrinter$3 = (0, _kubb_plugin_ts.functionPrinter)({ mode: "call" });
1094
1085
  function buildQueryParamsNode(node, options) {
1095
1086
  const { paramsType, paramsCasing, pathParamsType, dataReturnType, resolver } = options;
1096
1087
  const responseName = resolver.resolveResponseName(node);
1097
- const requestName = node.requestBody?.content?.[0]?.schema ? resolver.resolveDataName(node) : void 0;
1088
+ const requestName = node.requestBody?.content?.[0]?.schema ? resolver.resolveDataName(node) : null;
1098
1089
  const errorNames = resolveErrorNames(node, resolver);
1099
1090
  const TData = dataReturnType === "data" ? responseName : `ResponseConfig<${responseName}>`;
1100
1091
  const TError = `ResponseErrorConfig<${errorNames.length > 0 ? errorNames.join(" | ") : "Error"}>`;
@@ -1190,7 +1181,7 @@ const declarationPrinter$2 = (0, _kubb_plugin_ts.functionPrinter)({ mode: "decla
1190
1181
  const callPrinter$2 = (0, _kubb_plugin_ts.functionPrinter)({ mode: "call" });
1191
1182
  function buildSuspenseInfiniteQueryParamsNode(node, options) {
1192
1183
  const { paramsType, paramsCasing, pathParamsType, resolver, pageParamGeneric } = options;
1193
- const requestName = node.requestBody?.content?.[0]?.schema ? resolver.resolveDataName(node) : void 0;
1184
+ const requestName = node.requestBody?.content?.[0]?.schema ? resolver.resolveDataName(node) : null;
1194
1185
  const optionsParam = _kubb_core.ast.createFunctionParameter({
1195
1186
  name: "options",
1196
1187
  type: _kubb_core.ast.createParamsType({
@@ -1223,9 +1214,9 @@ function SuspenseInfiniteQuery({ name, queryKeyTypeName, queryOptionsName, query
1223
1214
  const rawQueryParams = getOperationParameters(node).query;
1224
1215
  const queryParamsTypeName = rawQueryParams.length > 0 ? (() => {
1225
1216
  const groupName = tsResolver.resolveQueryParamsName(node, rawQueryParams[0]);
1226
- return groupName !== tsResolver.resolveParamName(node, rawQueryParams[0]) ? groupName : void 0;
1227
- })() : void 0;
1228
- const queryParamType = queryParam && queryParamsTypeName ? `${queryParamsTypeName}['${queryParam}']` : void 0;
1217
+ return groupName !== tsResolver.resolveParamName(node, rawQueryParams[0]) ? groupName : null;
1218
+ })() : null;
1219
+ const queryParamType = queryParam && queryParamsTypeName ? `${queryParamsTypeName}['${queryParam}']` : null;
1229
1220
  const pageParamType = queryParamType ? isInitialPageParamDefined ? `NonNullable<${queryParamType}>` : queryParamType : fallbackPageParamType;
1230
1221
  const returnType = "UseSuspenseInfiniteQueryResult<TData, TError> & { queryKey: TQueryKey }";
1231
1222
  const generics = [
@@ -1304,9 +1295,9 @@ function SuspenseInfiniteQueryOptions({ name, clientName, initialPageParam, curs
1304
1295
  const rawQueryParams = getOperationParameters(node).query;
1305
1296
  const queryParamsTypeName = rawQueryParams.length > 0 ? (() => {
1306
1297
  const groupName = tsResolver.resolveQueryParamsName(node, rawQueryParams[0]);
1307
- return groupName !== tsResolver.resolveParamName(node, rawQueryParams[0]) ? groupName : void 0;
1308
- })() : void 0;
1309
- const queryParamType = queryParam && queryParamsTypeName ? `${queryParamsTypeName}['${queryParam}']` : void 0;
1298
+ return groupName !== tsResolver.resolveParamName(node, rawQueryParams[0]) ? groupName : null;
1299
+ })() : null;
1300
+ const queryParamType = queryParam && queryParamsTypeName ? `${queryParamsTypeName}['${queryParam}']` : null;
1310
1301
  const pageParamType = queryParamType ? isInitialPageParamDefined ? `NonNullable<${queryParamType}>` : queryParamType : fallbackPageParamType;
1311
1302
  const paramsNode = getQueryOptionsParams(node, {
1312
1303
  paramsType,
@@ -1324,26 +1315,16 @@ function SuspenseInfiniteQueryOptions({ name, clientName, initialPageParam, curs
1324
1315
  const queryKeyParamsCall = callPrinter$1.print(queryKeyParamsNode) ?? "";
1325
1316
  const enabledSource = buildEnabledCheck(queryKeyParamsNode);
1326
1317
  const enabledText = enabledSource ? `enabled: !!(${enabledSource}),` : "";
1327
- const hasNewParams = nextParam !== void 0 || previousParam !== void 0;
1328
- let getNextPageParamExpr;
1329
- let getPreviousPageParamExpr;
1330
- if (hasNewParams) {
1331
- if (nextParam) {
1332
- const accessor = getNestedAccessor(nextParam, "lastPage");
1333
- if (accessor) getNextPageParamExpr = `getNextPageParam: (lastPage) => ${accessor}`;
1318
+ const hasNewParams = nextParam != null || previousParam != null;
1319
+ const [getNextPageParamExpr, getPreviousPageParamExpr] = (() => {
1320
+ if (hasNewParams) {
1321
+ const nextAccessor = nextParam ? getNestedAccessor(nextParam, "lastPage") : null;
1322
+ const prevAccessor = previousParam ? getNestedAccessor(previousParam, "firstPage") : null;
1323
+ return [nextAccessor ? `getNextPageParam: (lastPage) => ${nextAccessor}` : null, prevAccessor ? `getPreviousPageParam: (firstPage) => ${prevAccessor}` : null];
1334
1324
  }
1335
- if (previousParam) {
1336
- const accessor = getNestedAccessor(previousParam, "firstPage");
1337
- if (accessor) getPreviousPageParamExpr = `getPreviousPageParam: (firstPage) => ${accessor}`;
1338
- }
1339
- } else if (cursorParam) {
1340
- getNextPageParamExpr = `getNextPageParam: (lastPage) => lastPage['${cursorParam}']`;
1341
- getPreviousPageParamExpr = `getPreviousPageParam: (firstPage) => firstPage['${cursorParam}']`;
1342
- } else {
1343
- if (dataReturnType === "full") getNextPageParamExpr = "getNextPageParam: (lastPage, _allPages, lastPageParam) => Array.isArray(lastPage.data) && lastPage.data.length === 0 ? undefined : lastPageParam + 1";
1344
- else getNextPageParamExpr = "getNextPageParam: (lastPage, _allPages, lastPageParam) => Array.isArray(lastPage) && lastPage.length === 0 ? undefined : lastPageParam + 1";
1345
- getPreviousPageParamExpr = "getPreviousPageParam: (_firstPage, _allPages, firstPageParam) => firstPageParam <= 1 ? undefined : firstPageParam - 1";
1346
- }
1325
+ if (cursorParam) return [`getNextPageParam: (lastPage) => lastPage['${cursorParam}']`, `getPreviousPageParam: (firstPage) => firstPage['${cursorParam}']`];
1326
+ return [dataReturnType === "full" ? "getNextPageParam: (lastPage, _allPages, lastPageParam) => Array.isArray(lastPage.data) && lastPage.data.length === 0 ? undefined : lastPageParam + 1" : "getNextPageParam: (lastPage, _allPages, lastPageParam) => Array.isArray(lastPage) && lastPage.length === 0 ? undefined : lastPageParam + 1", "getPreviousPageParam: (_firstPage, _allPages, firstPageParam) => firstPageParam <= 1 ? undefined : firstPageParam - 1"];
1327
+ })();
1347
1328
  const queryOptionsArr = [
1348
1329
  `initialPageParam: ${typeof initialPageParam === "string" ? JSON.stringify(initialPageParam) : initialPageParam}`,
1349
1330
  getNextPageParamExpr,
@@ -1405,7 +1386,7 @@ const callPrinter = (0, _kubb_plugin_ts.functionPrinter)({ mode: "call" });
1405
1386
  function buildSuspenseQueryParamsNode(node, options) {
1406
1387
  const { paramsType, paramsCasing, pathParamsType, dataReturnType, resolver } = options;
1407
1388
  const responseName = resolver.resolveResponseName(node);
1408
- const requestName = node.requestBody?.content?.[0]?.schema ? resolver.resolveDataName(node) : void 0;
1389
+ const requestName = node.requestBody?.content?.[0]?.schema ? resolver.resolveDataName(node) : null;
1409
1390
  const errorNames = resolveErrorNames(node, resolver);
1410
1391
  const TData = dataReturnType === "data" ? responseName : `ResponseConfig<${responseName}>`;
1411
1392
  const TError = `ResponseErrorConfig<${errorNames.length > 0 ? errorNames.join(" | ") : "Error"}>`;
@@ -1612,4 +1593,4 @@ Object.defineProperty(exports, "resolveZodSchemaNames", {
1612
1593
  }
1613
1594
  });
1614
1595
 
1615
- //# sourceMappingURL=components-BZ3a2O0G.cjs.map
1596
+ //# sourceMappingURL=components-C1_zAoAO.cjs.map