@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
@@ -228,12 +228,12 @@ var URLPath = class {
228
228
  get object() {
229
229
  return this.toObject();
230
230
  }
231
- /** Returns a map of path parameter names, or `undefined` when the path has no parameters.
231
+ /** Returns a map of path parameter names, or `null` when the path has no parameters.
232
232
  *
233
233
  * @example
234
234
  * ```ts
235
235
  * new URLPath('/pet/{petId}').params // { petId: 'petId' }
236
- * new URLPath('/pet').params // undefined
236
+ * new URLPath('/pet').params // null
237
237
  * ```
238
238
  */
239
239
  get params() {
@@ -271,12 +271,13 @@ var URLPath = class {
271
271
  * @example
272
272
  * new URLPath('/pet/{petId}').toTemplateString() // '`/pet/${petId}`'
273
273
  */
274
- toTemplateString({ prefix = "", replacer } = {}) {
275
- return `\`${prefix}${this.path.split(/\{([^}]+)\}/).map((part, i) => {
274
+ toTemplateString({ prefix, replacer } = {}) {
275
+ const result = this.path.split(/\{([^}]+)\}/).map((part, i) => {
276
276
  if (i % 2 === 0) return part;
277
277
  const param = this.#transformParam(part);
278
278
  return `\${${replacer ? replacer(param) : param}}`;
279
- }).join("")}\``;
279
+ }).join("");
280
+ return `\`${prefix ?? ""}${result}\``;
280
281
  }
281
282
  /**
282
283
  * Extracts all `{param}` segments from the path and returns them as a key-value map.
@@ -295,7 +296,7 @@ var URLPath = class {
295
296
  const key = replacer ? replacer(param) : param;
296
297
  params[key] = key;
297
298
  });
298
- return Object.keys(params).length > 0 ? params : void 0;
299
+ return Object.keys(params).length > 0 ? params : null;
299
300
  }
300
301
  /** Converts the OpenAPI path to Express-style colon syntax.
301
302
  *
@@ -314,10 +315,10 @@ const declarationPrinter$10 = functionPrinter({ mode: "declaration" });
314
315
  const mutationKeyTransformer = ({ node, casing }) => {
315
316
  return [`{ url: '${new URLPath(node.path, { casing }).toURLPath()}' }`];
316
317
  };
317
- function MutationKey({ name, paramsCasing, node, transformer = mutationKeyTransformer }) {
318
+ function MutationKey({ name, paramsCasing, node, transformer }) {
318
319
  const paramsNode = ast.createFunctionParameters({ params: [] });
319
320
  const paramsSignature = declarationPrinter$10.print(paramsNode) ?? "";
320
- const keys = transformer({
321
+ const keys = (transformer ?? mutationKeyTransformer)({
321
322
  node,
322
323
  casing: paramsCasing
323
324
  });
@@ -337,9 +338,9 @@ function MutationKey({ name, paramsCasing, node, transformer = mutationKeyTransf
337
338
  //#endregion
338
339
  //#region ../../internals/shared/src/operation.ts
339
340
  function getOperationLink(node, link) {
340
- if (!link) return;
341
- if (typeof link === "function") return link(node);
342
- if (link === "urlPath") return node.path ? `{@link ${new URLPath(node.path).URL}}` : void 0;
341
+ if (!link) return null;
342
+ if (typeof link === "function") return link(node) ?? null;
343
+ if (link === "urlPath") return node.path ? `{@link ${new URLPath(node.path).URL}}` : null;
343
344
  return `{@link ${node.path.replaceAll("{", ":").replaceAll("}", "")}}`;
344
345
  }
345
346
  function getContentTypeInfo(node) {
@@ -354,9 +355,9 @@ function getContentTypeInfo(node) {
354
355
  };
355
356
  }
356
357
  function buildRequestConfigType(node, resolver) {
357
- const requestName = node.requestBody?.content?.[0]?.schema ? resolver.resolveDataName(node) : void 0;
358
+ const requestName = node.requestBody?.content?.[0]?.schema ? resolver.resolveDataName(node) : null;
358
359
  const { isMultipleContentTypes, contentTypeUnion } = getContentTypeInfo(node);
359
- return `${requestName ? `Partial<RequestConfig<${requestName}>>` : "Partial<RequestConfig>"} & { ${["client?: Client", isMultipleContentTypes ? `contentType?: ${contentTypeUnion}` : void 0].filter(Boolean).join("; ")} }`;
360
+ return `${requestName ? `Partial<RequestConfig<${requestName}>>` : "Partial<RequestConfig>"} & { ${["client?: Client", isMultipleContentTypes ? `contentType?: ${contentTypeUnion}` : null].filter(Boolean).join("; ")} }`;
360
361
  }
361
362
  function buildOperationComments(node, options = {}) {
362
363
  const { link = "pathTemplate", linkPosition = "afterDeprecated", splitLines = false } = options;
@@ -386,11 +387,11 @@ function getOperationParameters(node, options = {}) {
386
387
  }
387
388
  function getStatusCodeNumber(statusCode) {
388
389
  const code = Number(statusCode);
389
- return Number.isNaN(code) ? void 0 : code;
390
+ return Number.isNaN(code) ? null : code;
390
391
  }
391
392
  function isErrorStatusCode(statusCode) {
392
393
  const code = getStatusCodeNumber(statusCode);
393
- return code !== void 0 && code >= 400;
394
+ return code !== null && code >= 400;
394
395
  }
395
396
  function resolveErrorNames(node, resolver) {
396
397
  return node.responses.filter((response) => isErrorStatusCode(response.statusCode)).map((response) => resolver.resolveResponseStatusName(node, response.statusCode));
@@ -417,7 +418,7 @@ function resolveOperationTypeNames(node, resolver, options = {}) {
417
418
  ...query.map((param) => resolver.resolveQueryParamsName(node, param)),
418
419
  ...header.map((param) => resolver.resolveHeaderParamsName(node, param))
419
420
  ];
420
- const bodyAndResponseNames = [node.requestBody?.content?.[0]?.schema ? resolver.resolveDataName(node) : void 0, resolver.resolveResponseName(node)];
421
+ const bodyAndResponseNames = [node.requestBody?.content?.[0]?.schema ? resolver.resolveDataName(node) : null, resolver.resolveResponseName(node)];
421
422
  const result = (options.order === "body-response-first" ? [
422
423
  ...bodyAndResponseNames,
423
424
  ...paramNames,
@@ -461,7 +462,7 @@ function resolveOperationOverrides(node, override) {
461
462
  */
462
463
  function resolveZodSchemaNames(node, zodResolver) {
463
464
  if (!zodResolver) return [];
464
- return [zodResolver.resolveResponseName?.(node), node.requestBody?.content?.[0]?.schema ? zodResolver.resolveDataName?.(node) : void 0].filter((n) => Boolean(n));
465
+ return [zodResolver.resolveResponseName?.(node), node.requestBody?.content?.[0]?.schema ? zodResolver.resolveDataName?.(node) : null].filter((n) => Boolean(n));
465
466
  }
466
467
  /**
467
468
  * Resolve the type for a single path parameter.
@@ -485,14 +486,14 @@ function resolvePathParamType(node, param, resolver) {
485
486
  }
486
487
  /**
487
488
  * Derive a query-params group type from the resolver.
488
- * Returns `undefined` when no query params exist or when the group name
489
+ * Returns `null` when no query params exist or when the group name
489
490
  * equals the individual param name (no real group).
490
491
  */
491
492
  function resolveQueryGroupType(node, params, resolver) {
492
- if (!params.length) return void 0;
493
+ if (!params.length) return null;
493
494
  const firstParam = params[0];
494
495
  const groupName = resolver.resolveQueryParamsName(node, firstParam);
495
- if (groupName === resolver.resolveParamName(node, firstParam)) return void 0;
496
+ if (groupName === resolver.resolveParamName(node, firstParam)) return null;
496
497
  return {
497
498
  type: ast.createParamsType({
498
499
  variant: "reference",
@@ -542,7 +543,7 @@ function buildQueryKeyParams(node, options) {
542
543
  const bodyType = node.requestBody?.content?.[0]?.schema ? ast.createParamsType({
543
544
  variant: "reference",
544
545
  name: resolver.resolveDataName(node)
545
- }) : void 0;
546
+ }) : null;
546
547
  const bodyRequired = node.requestBody?.required ?? false;
547
548
  const params = [];
548
549
  if (pathParams.length) {
@@ -589,18 +590,18 @@ const queryKeyTransformer = ({ node, casing }) => {
589
590
  type: "path",
590
591
  stringify: true
591
592
  }),
592
- hasQueryParams ? "...(params ? [params] : [])" : void 0,
593
- hasRequestBody ? "...(data ? [data] : [])" : void 0
593
+ hasQueryParams ? "...(params ? [params] : [])" : null,
594
+ hasRequestBody ? "...(data ? [data] : [])" : null
594
595
  ].filter(Boolean);
595
596
  };
596
- function QueryKey({ name, node, tsResolver, paramsCasing, pathParamsType, typeName, transformer = queryKeyTransformer }) {
597
+ function QueryKey({ name, node, tsResolver, paramsCasing, pathParamsType, typeName, transformer }) {
597
598
  const paramsNode = buildQueryKeyParams(node, {
598
599
  pathParamsType,
599
600
  paramsCasing,
600
601
  resolver: tsResolver
601
602
  });
602
603
  const paramsSignature = declarationPrinter$9.print(paramsNode) ?? "";
603
- const keys = transformer({
604
+ const keys = (transformer ?? queryKeyTransformer)({
604
605
  node,
605
606
  casing: paramsCasing
606
607
  });
@@ -630,7 +631,7 @@ const declarationPrinter$8 = functionPrinter({ mode: "declaration" });
630
631
  const callPrinter$8 = functionPrinter({ mode: "call" });
631
632
  function getQueryOptionsParams(node, options) {
632
633
  const { paramsType, paramsCasing, pathParamsType, resolver } = options;
633
- const requestName = node.requestBody?.content?.[0]?.schema ? resolver.resolveDataName(node) : void 0;
634
+ const requestName = node.requestBody?.content?.[0]?.schema ? resolver.resolveDataName(node) : null;
634
635
  return ast.createOperationParams(node, {
635
636
  paramsType,
636
637
  pathParamsType: paramsType === "object" ? "object" : pathParamsType === "object" ? "object" : "inline",
@@ -694,7 +695,7 @@ const declarationPrinter$7 = functionPrinter({ mode: "declaration" });
694
695
  const callPrinter$7 = functionPrinter({ mode: "call" });
695
696
  function buildInfiniteQueryParamsNode(node, options) {
696
697
  const { paramsType, paramsCasing, pathParamsType, resolver, pageParamGeneric } = options;
697
- const requestName = node.requestBody?.content?.[0]?.schema ? resolver.resolveDataName(node) : void 0;
698
+ const requestName = node.requestBody?.content?.[0]?.schema ? resolver.resolveDataName(node) : null;
698
699
  const optionsParam = ast.createFunctionParameter({
699
700
  name: "options",
700
701
  type: ast.createParamsType({
@@ -727,9 +728,9 @@ function InfiniteQuery({ name, queryKeyTypeName, queryOptionsName, queryKeyName,
727
728
  const rawQueryParams = getOperationParameters(node).query;
728
729
  const queryParamsTypeName = rawQueryParams.length > 0 ? (() => {
729
730
  const groupName = tsResolver.resolveQueryParamsName(node, rawQueryParams[0]);
730
- return groupName !== tsResolver.resolveParamName(node, rawQueryParams[0]) ? groupName : void 0;
731
- })() : void 0;
732
- const queryParamType = queryParam && queryParamsTypeName ? `${queryParamsTypeName}['${queryParam}']` : void 0;
731
+ return groupName !== tsResolver.resolveParamName(node, rawQueryParams[0]) ? groupName : null;
732
+ })() : null;
733
+ const queryParamType = queryParam && queryParamsTypeName ? `${queryParamsTypeName}['${queryParam}']` : null;
733
734
  const pageParamType = queryParamType ? isInitialPageParamDefined ? `NonNullable<${queryParamType}>` : queryParamType : fallbackPageParamType;
734
735
  const returnType = "UseInfiniteQueryResult<TData, TError> & { queryKey: TQueryKey }";
735
736
  const generics = [
@@ -808,9 +809,9 @@ function InfiniteQueryOptions({ name, clientName, initialPageParam, cursorParam,
808
809
  const rawQueryParams = getOperationParameters(node).query;
809
810
  const queryParamsTypeName = rawQueryParams.length > 0 ? (() => {
810
811
  const groupName = tsResolver.resolveQueryParamsName(node, rawQueryParams[0]);
811
- return groupName !== tsResolver.resolveParamName(node, rawQueryParams[0]) ? groupName : void 0;
812
- })() : void 0;
813
- const queryParamType = queryParam && queryParamsTypeName ? `${queryParamsTypeName}['${queryParam}']` : void 0;
812
+ return groupName !== tsResolver.resolveParamName(node, rawQueryParams[0]) ? groupName : null;
813
+ })() : null;
814
+ const queryParamType = queryParam && queryParamsTypeName ? `${queryParamsTypeName}['${queryParam}']` : null;
814
815
  const pageParamType = queryParamType ? isInitialPageParamDefined ? `NonNullable<${queryParamType}>` : queryParamType : fallbackPageParamType;
815
816
  const paramsNode = getQueryOptionsParams(node, {
816
817
  paramsType,
@@ -828,26 +829,16 @@ function InfiniteQueryOptions({ name, clientName, initialPageParam, cursorParam,
828
829
  const queryKeyParamsCall = callPrinter$6.print(queryKeyParamsNode) ?? "";
829
830
  const enabledSource = buildEnabledCheck(queryKeyParamsNode);
830
831
  const enabledText = enabledSource ? `enabled: !!(${enabledSource}),` : "";
831
- const hasNewParams = nextParam !== void 0 || previousParam !== void 0;
832
- let getNextPageParamExpr;
833
- let getPreviousPageParamExpr;
834
- if (hasNewParams) {
835
- if (nextParam) {
836
- const accessor = getNestedAccessor(nextParam, "lastPage");
837
- if (accessor) getNextPageParamExpr = `getNextPageParam: (lastPage) => ${accessor}`;
832
+ const hasNewParams = nextParam != null || previousParam != null;
833
+ const [getNextPageParamExpr, getPreviousPageParamExpr] = (() => {
834
+ if (hasNewParams) {
835
+ const nextAccessor = nextParam ? getNestedAccessor(nextParam, "lastPage") : null;
836
+ const prevAccessor = previousParam ? getNestedAccessor(previousParam, "firstPage") : null;
837
+ return [nextAccessor ? `getNextPageParam: (lastPage) => ${nextAccessor}` : null, prevAccessor ? `getPreviousPageParam: (firstPage) => ${prevAccessor}` : null];
838
838
  }
839
- if (previousParam) {
840
- const accessor = getNestedAccessor(previousParam, "firstPage");
841
- if (accessor) getPreviousPageParamExpr = `getPreviousPageParam: (firstPage) => ${accessor}`;
842
- }
843
- } else if (cursorParam) {
844
- getNextPageParamExpr = `getNextPageParam: (lastPage) => lastPage['${cursorParam}']`;
845
- getPreviousPageParamExpr = `getPreviousPageParam: (firstPage) => firstPage['${cursorParam}']`;
846
- } else {
847
- if (dataReturnType === "full") getNextPageParamExpr = "getNextPageParam: (lastPage, _allPages, lastPageParam) => Array.isArray(lastPage.data) && lastPage.data.length === 0 ? undefined : lastPageParam + 1";
848
- else getNextPageParamExpr = "getNextPageParam: (lastPage, _allPages, lastPageParam) => Array.isArray(lastPage) && lastPage.length === 0 ? undefined : lastPageParam + 1";
849
- getPreviousPageParamExpr = "getPreviousPageParam: (_firstPage, _allPages, firstPageParam) => firstPageParam <= 1 ? undefined : firstPageParam - 1";
850
- }
839
+ if (cursorParam) return [`getNextPageParam: (lastPage) => lastPage['${cursorParam}']`, `getPreviousPageParam: (firstPage) => firstPage['${cursorParam}']`];
840
+ 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"];
841
+ })();
851
842
  const queryOptionsArr = [
852
843
  `initialPageParam: ${typeof initialPageParam === "string" ? JSON.stringify(initialPageParam) : initialPageParam}`,
853
844
  getNextPageParamExpr,
@@ -959,7 +950,7 @@ function MutationOptions({ name, clientName, dataReturnType, node, tsResolver, p
959
950
  generics: ["TContext = unknown"],
960
951
  children: `
961
952
  const mutationKey = ${mutationKeyName}()
962
- return mutationOptions<${TData}, ${TError}, ${TRequest ? `{${TRequest}}` : "void"}, TContext>({
953
+ return mutationOptions<${TData}, ${TError}, ${TRequest ? `{${TRequest}}` : "undefined"}, TContext>({
963
954
  mutationKey,
964
955
  mutationFn: async(${hasMutationParams ? `{ ${argKeysStr} }` : "_"}) => {
965
956
  return ${clientName}(${clientCallStr})
@@ -995,7 +986,7 @@ function buildMutationParamsNode(node, options) {
995
986
  const generics = [
996
987
  TData,
997
988
  TError,
998
- TRequest ? `{${TRequest}}` : "void",
989
+ TRequest ? `{${TRequest}}` : "undefined",
999
990
  "TContext"
1000
991
  ].join(", ");
1001
992
  return ast.createFunctionParameters({ params: [ast.createFunctionParameter({
@@ -1023,7 +1014,7 @@ function Mutation({ name, mutationOptionsName, paramsCasing, dataReturnType, nod
1023
1014
  const generics = [
1024
1015
  TData,
1025
1016
  TError,
1026
- TRequest ? `{${TRequest}}` : "void",
1017
+ TRequest ? `{${TRequest}}` : "undefined",
1027
1018
  "TContext"
1028
1019
  ].join(", ");
1029
1020
  const returnType = `UseMutationResult<${generics}>`;
@@ -1069,7 +1060,7 @@ const callPrinter$3 = functionPrinter({ mode: "call" });
1069
1060
  function buildQueryParamsNode(node, options) {
1070
1061
  const { paramsType, paramsCasing, pathParamsType, dataReturnType, resolver } = options;
1071
1062
  const responseName = resolver.resolveResponseName(node);
1072
- const requestName = node.requestBody?.content?.[0]?.schema ? resolver.resolveDataName(node) : void 0;
1063
+ const requestName = node.requestBody?.content?.[0]?.schema ? resolver.resolveDataName(node) : null;
1073
1064
  const errorNames = resolveErrorNames(node, resolver);
1074
1065
  const TData = dataReturnType === "data" ? responseName : `ResponseConfig<${responseName}>`;
1075
1066
  const TError = `ResponseErrorConfig<${errorNames.length > 0 ? errorNames.join(" | ") : "Error"}>`;
@@ -1165,7 +1156,7 @@ const declarationPrinter$2 = functionPrinter({ mode: "declaration" });
1165
1156
  const callPrinter$2 = functionPrinter({ mode: "call" });
1166
1157
  function buildSuspenseInfiniteQueryParamsNode(node, options) {
1167
1158
  const { paramsType, paramsCasing, pathParamsType, resolver, pageParamGeneric } = options;
1168
- const requestName = node.requestBody?.content?.[0]?.schema ? resolver.resolveDataName(node) : void 0;
1159
+ const requestName = node.requestBody?.content?.[0]?.schema ? resolver.resolveDataName(node) : null;
1169
1160
  const optionsParam = ast.createFunctionParameter({
1170
1161
  name: "options",
1171
1162
  type: ast.createParamsType({
@@ -1198,9 +1189,9 @@ function SuspenseInfiniteQuery({ name, queryKeyTypeName, queryOptionsName, query
1198
1189
  const rawQueryParams = getOperationParameters(node).query;
1199
1190
  const queryParamsTypeName = rawQueryParams.length > 0 ? (() => {
1200
1191
  const groupName = tsResolver.resolveQueryParamsName(node, rawQueryParams[0]);
1201
- return groupName !== tsResolver.resolveParamName(node, rawQueryParams[0]) ? groupName : void 0;
1202
- })() : void 0;
1203
- const queryParamType = queryParam && queryParamsTypeName ? `${queryParamsTypeName}['${queryParam}']` : void 0;
1192
+ return groupName !== tsResolver.resolveParamName(node, rawQueryParams[0]) ? groupName : null;
1193
+ })() : null;
1194
+ const queryParamType = queryParam && queryParamsTypeName ? `${queryParamsTypeName}['${queryParam}']` : null;
1204
1195
  const pageParamType = queryParamType ? isInitialPageParamDefined ? `NonNullable<${queryParamType}>` : queryParamType : fallbackPageParamType;
1205
1196
  const returnType = "UseSuspenseInfiniteQueryResult<TData, TError> & { queryKey: TQueryKey }";
1206
1197
  const generics = [
@@ -1279,9 +1270,9 @@ function SuspenseInfiniteQueryOptions({ name, clientName, initialPageParam, curs
1279
1270
  const rawQueryParams = getOperationParameters(node).query;
1280
1271
  const queryParamsTypeName = rawQueryParams.length > 0 ? (() => {
1281
1272
  const groupName = tsResolver.resolveQueryParamsName(node, rawQueryParams[0]);
1282
- return groupName !== tsResolver.resolveParamName(node, rawQueryParams[0]) ? groupName : void 0;
1283
- })() : void 0;
1284
- const queryParamType = queryParam && queryParamsTypeName ? `${queryParamsTypeName}['${queryParam}']` : void 0;
1273
+ return groupName !== tsResolver.resolveParamName(node, rawQueryParams[0]) ? groupName : null;
1274
+ })() : null;
1275
+ const queryParamType = queryParam && queryParamsTypeName ? `${queryParamsTypeName}['${queryParam}']` : null;
1285
1276
  const pageParamType = queryParamType ? isInitialPageParamDefined ? `NonNullable<${queryParamType}>` : queryParamType : fallbackPageParamType;
1286
1277
  const paramsNode = getQueryOptionsParams(node, {
1287
1278
  paramsType,
@@ -1299,26 +1290,16 @@ function SuspenseInfiniteQueryOptions({ name, clientName, initialPageParam, curs
1299
1290
  const queryKeyParamsCall = callPrinter$1.print(queryKeyParamsNode) ?? "";
1300
1291
  const enabledSource = buildEnabledCheck(queryKeyParamsNode);
1301
1292
  const enabledText = enabledSource ? `enabled: !!(${enabledSource}),` : "";
1302
- const hasNewParams = nextParam !== void 0 || previousParam !== void 0;
1303
- let getNextPageParamExpr;
1304
- let getPreviousPageParamExpr;
1305
- if (hasNewParams) {
1306
- if (nextParam) {
1307
- const accessor = getNestedAccessor(nextParam, "lastPage");
1308
- if (accessor) getNextPageParamExpr = `getNextPageParam: (lastPage) => ${accessor}`;
1293
+ const hasNewParams = nextParam != null || previousParam != null;
1294
+ const [getNextPageParamExpr, getPreviousPageParamExpr] = (() => {
1295
+ if (hasNewParams) {
1296
+ const nextAccessor = nextParam ? getNestedAccessor(nextParam, "lastPage") : null;
1297
+ const prevAccessor = previousParam ? getNestedAccessor(previousParam, "firstPage") : null;
1298
+ return [nextAccessor ? `getNextPageParam: (lastPage) => ${nextAccessor}` : null, prevAccessor ? `getPreviousPageParam: (firstPage) => ${prevAccessor}` : null];
1309
1299
  }
1310
- if (previousParam) {
1311
- const accessor = getNestedAccessor(previousParam, "firstPage");
1312
- if (accessor) getPreviousPageParamExpr = `getPreviousPageParam: (firstPage) => ${accessor}`;
1313
- }
1314
- } else if (cursorParam) {
1315
- getNextPageParamExpr = `getNextPageParam: (lastPage) => lastPage['${cursorParam}']`;
1316
- getPreviousPageParamExpr = `getPreviousPageParam: (firstPage) => firstPage['${cursorParam}']`;
1317
- } else {
1318
- if (dataReturnType === "full") getNextPageParamExpr = "getNextPageParam: (lastPage, _allPages, lastPageParam) => Array.isArray(lastPage.data) && lastPage.data.length === 0 ? undefined : lastPageParam + 1";
1319
- else getNextPageParamExpr = "getNextPageParam: (lastPage, _allPages, lastPageParam) => Array.isArray(lastPage) && lastPage.length === 0 ? undefined : lastPageParam + 1";
1320
- getPreviousPageParamExpr = "getPreviousPageParam: (_firstPage, _allPages, firstPageParam) => firstPageParam <= 1 ? undefined : firstPageParam - 1";
1321
- }
1300
+ if (cursorParam) return [`getNextPageParam: (lastPage) => lastPage['${cursorParam}']`, `getPreviousPageParam: (firstPage) => firstPage['${cursorParam}']`];
1301
+ 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"];
1302
+ })();
1322
1303
  const queryOptionsArr = [
1323
1304
  `initialPageParam: ${typeof initialPageParam === "string" ? JSON.stringify(initialPageParam) : initialPageParam}`,
1324
1305
  getNextPageParamExpr,
@@ -1380,7 +1361,7 @@ const callPrinter = functionPrinter({ mode: "call" });
1380
1361
  function buildSuspenseQueryParamsNode(node, options) {
1381
1362
  const { paramsType, paramsCasing, pathParamsType, dataReturnType, resolver } = options;
1382
1363
  const responseName = resolver.resolveResponseName(node);
1383
- const requestName = node.requestBody?.content?.[0]?.schema ? resolver.resolveDataName(node) : void 0;
1364
+ const requestName = node.requestBody?.content?.[0]?.schema ? resolver.resolveDataName(node) : null;
1384
1365
  const errorNames = resolveErrorNames(node, resolver);
1385
1366
  const TData = dataReturnType === "data" ? responseName : `ResponseConfig<${responseName}>`;
1386
1367
  const TError = `ResponseErrorConfig<${errorNames.length > 0 ? errorNames.join(" | ") : "Error"}>`;
@@ -1468,4 +1449,4 @@ function SuspenseQuery({ name, queryKeyTypeName, queryOptionsName, queryKeyName,
1468
1449
  //#endregion
1469
1450
  export { mutationKeyTransformer as _, Mutation as a, InfiniteQuery as c, queryKeyTransformer as d, resolveOperationOverrides as f, MutationKey as g, resolveOperationTypeNames as h, Query as i, QueryOptions as l, getOperationParameters as m, SuspenseInfiniteQueryOptions as n, MutationOptions as o, resolveZodSchemaNames as p, SuspenseInfiniteQuery as r, InfiniteQueryOptions as s, SuspenseQuery as t, QueryKey as u, camelCase as v };
1470
1451
 
1471
- //# sourceMappingURL=components-DJqIUiZW.js.map
1452
+ //# sourceMappingURL=components-C91DnOOV.js.map