@kubb/plugin-react-query 5.0.0-beta.22 → 5.0.0-beta.27

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 (46) hide show
  1. package/dist/{components-BTwB9V-K.js → components-CDmg-RPi.js} +82 -63
  2. package/dist/components-CDmg-RPi.js.map +1 -0
  3. package/dist/{components-D4SQmw7N.cjs → components-MPBTffPl.cjs} +82 -63
  4. package/dist/components-MPBTffPl.cjs.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-BZ_sX2lp.js → generators-C-cwJah8.js} +97 -57
  9. package/dist/generators-C-cwJah8.js.map +1 -0
  10. package/dist/{generators-C4bV7v9Z.cjs → generators-DozEZKwy.cjs} +97 -57
  11. package/dist/generators-DozEZKwy.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 +7 -6
  24. package/src/components/InfiniteQueryOptions.tsx +11 -10
  25. package/src/components/Mutation.tsx +7 -5
  26. package/src/components/MutationOptions.tsx +4 -3
  27. package/src/components/Query.tsx +6 -4
  28. package/src/components/QueryOptions.tsx +4 -3
  29. package/src/components/SuspenseInfiniteQuery.tsx +7 -6
  30. package/src/components/SuspenseInfiniteQueryOptions.tsx +11 -10
  31. package/src/components/SuspenseQuery.tsx +6 -4
  32. package/src/generators/customHookOptionsFileGenerator.tsx +7 -1
  33. package/src/generators/hookOptionsGenerator.tsx +14 -8
  34. package/src/generators/infiniteQueryGenerator.tsx +19 -10
  35. package/src/generators/mutationGenerator.tsx +17 -9
  36. package/src/generators/queryGenerator.tsx +17 -9
  37. package/src/generators/suspenseInfiniteQueryGenerator.tsx +19 -10
  38. package/src/generators/suspenseQueryGenerator.tsx +18 -9
  39. package/src/plugin.ts +34 -5
  40. package/src/resolvers/resolverReactQuery.ts +15 -4
  41. package/src/types.ts +89 -52
  42. package/src/utils.ts +8 -1
  43. package/dist/components-BTwB9V-K.js.map +0 -1
  44. package/dist/components-D4SQmw7N.cjs.map +0 -1
  45. package/dist/generators-BZ_sX2lp.js.map +0 -1
  46. package/dist/generators-C4bV7v9Z.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() {
@@ -321,7 +321,7 @@ var URLPath = class {
321
321
  const key = replacer ? replacer(param) : param;
322
322
  params[key] = key;
323
323
  });
324
- return Object.keys(params).length > 0 ? params : void 0;
324
+ return Object.keys(params).length > 0 ? params : null;
325
325
  }
326
326
  /** Converts the OpenAPI path to Express-style colon syntax.
327
327
  *
@@ -340,10 +340,10 @@ const declarationPrinter$10 = (0, _kubb_plugin_ts.functionPrinter)({ mode: "decl
340
340
  const mutationKeyTransformer = ({ node, casing }) => {
341
341
  return [`{ url: '${new URLPath(node.path, { casing }).toURLPath()}' }`];
342
342
  };
343
- function MutationKey({ name, paramsCasing, node, transformer = mutationKeyTransformer }) {
343
+ function MutationKey({ name, paramsCasing, node, transformer }) {
344
344
  const paramsNode = _kubb_core.ast.createFunctionParameters({ params: [] });
345
345
  const paramsSignature = declarationPrinter$10.print(paramsNode) ?? "";
346
- const keys = transformer({
346
+ const keys = (transformer ?? mutationKeyTransformer)({
347
347
  node,
348
348
  casing: paramsCasing
349
349
  });
@@ -363,9 +363,9 @@ function MutationKey({ name, paramsCasing, node, transformer = mutationKeyTransf
363
363
  //#endregion
364
364
  //#region ../../internals/shared/src/operation.ts
365
365
  function getOperationLink(node, link) {
366
- if (!link) return;
367
- if (typeof link === "function") return link(node);
368
- 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;
369
369
  return `{@link ${node.path.replaceAll("{", ":").replaceAll("}", "")}}`;
370
370
  }
371
371
  function getContentTypeInfo(node) {
@@ -380,9 +380,9 @@ function getContentTypeInfo(node) {
380
380
  };
381
381
  }
382
382
  function buildRequestConfigType(node, resolver) {
383
- const requestName = node.requestBody?.content?.[0]?.schema ? resolver.resolveDataName(node) : void 0;
383
+ const requestName = node.requestBody?.content?.[0]?.schema ? resolver.resolveDataName(node) : null;
384
384
  const { isMultipleContentTypes, contentTypeUnion } = getContentTypeInfo(node);
385
- 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("; ")} }`;
386
386
  }
387
387
  function buildOperationComments(node, options = {}) {
388
388
  const { link = "pathTemplate", linkPosition = "afterDeprecated", splitLines = false } = options;
@@ -412,15 +412,22 @@ function getOperationParameters(node, options = {}) {
412
412
  }
413
413
  function getStatusCodeNumber(statusCode) {
414
414
  const code = Number(statusCode);
415
- return Number.isNaN(code) ? void 0 : code;
415
+ return Number.isNaN(code) ? null : code;
416
+ }
417
+ function isSuccessStatusCode(statusCode) {
418
+ const code = getStatusCodeNumber(statusCode);
419
+ return code !== null && code >= 200 && code < 300;
416
420
  }
417
421
  function isErrorStatusCode(statusCode) {
418
422
  const code = getStatusCodeNumber(statusCode);
419
- return code !== void 0 && code >= 400;
423
+ return code !== null && code >= 400;
420
424
  }
421
425
  function resolveErrorNames(node, resolver) {
422
426
  return node.responses.filter((response) => isErrorStatusCode(response.statusCode)).map((response) => resolver.resolveResponseStatusName(node, response.statusCode));
423
427
  }
428
+ function resolveSuccessNames(node, resolver) {
429
+ return node.responses.filter((response) => isSuccessStatusCode(response.statusCode)).map((response) => resolver.resolveResponseStatusName(node, response.statusCode));
430
+ }
424
431
  function resolveStatusCodeNames(node, resolver) {
425
432
  return node.responses.map((response) => resolver.resolveResponseStatusName(node, response.statusCode));
426
433
  }
@@ -443,7 +450,7 @@ function resolveOperationTypeNames(node, resolver, options = {}) {
443
450
  ...query.map((param) => resolver.resolveQueryParamsName(node, param)),
444
451
  ...header.map((param) => resolver.resolveHeaderParamsName(node, param))
445
452
  ];
446
- const bodyAndResponseNames = [node.requestBody?.content?.[0]?.schema ? resolver.resolveDataName(node) : void 0, resolver.resolveResponseName(node)];
453
+ const bodyAndResponseNames = [node.requestBody?.content?.[0]?.schema ? resolver.resolveDataName(node) : null, resolver.resolveResponseName(node)];
447
454
  const result = (options.order === "body-response-first" ? [
448
455
  ...bodyAndResponseNames,
449
456
  ...paramNames,
@@ -487,7 +494,7 @@ function resolveOperationOverrides(node, override) {
487
494
  */
488
495
  function resolveZodSchemaNames(node, zodResolver) {
489
496
  if (!zodResolver) return [];
490
- return [zodResolver.resolveResponseName?.(node), node.requestBody?.content?.[0]?.schema ? zodResolver.resolveDataName?.(node) : void 0].filter((n) => Boolean(n));
497
+ return [zodResolver.resolveResponseName?.(node), node.requestBody?.content?.[0]?.schema ? zodResolver.resolveDataName?.(node) : null].filter((n) => Boolean(n));
491
498
  }
492
499
  /**
493
500
  * Resolve the type for a single path parameter.
@@ -511,14 +518,14 @@ function resolvePathParamType(node, param, resolver) {
511
518
  }
512
519
  /**
513
520
  * Derive a query-params group type from the resolver.
514
- * Returns `undefined` when no query params exist or when the group name
521
+ * Returns `null` when no query params exist or when the group name
515
522
  * equals the individual param name (no real group).
516
523
  */
517
524
  function resolveQueryGroupType(node, params, resolver) {
518
- if (!params.length) return void 0;
525
+ if (!params.length) return null;
519
526
  const firstParam = params[0];
520
527
  const groupName = resolver.resolveQueryParamsName(node, firstParam);
521
- if (groupName === resolver.resolveParamName(node, firstParam)) return void 0;
528
+ if (groupName === resolver.resolveParamName(node, firstParam)) return null;
522
529
  return {
523
530
  type: _kubb_core.ast.createParamsType({
524
531
  variant: "reference",
@@ -568,7 +575,7 @@ function buildQueryKeyParams(node, options) {
568
575
  const bodyType = node.requestBody?.content?.[0]?.schema ? _kubb_core.ast.createParamsType({
569
576
  variant: "reference",
570
577
  name: resolver.resolveDataName(node)
571
- }) : void 0;
578
+ }) : null;
572
579
  const bodyRequired = node.requestBody?.required ?? false;
573
580
  const params = [];
574
581
  if (pathParams.length) {
@@ -615,18 +622,18 @@ const queryKeyTransformer = ({ node, casing }) => {
615
622
  type: "path",
616
623
  stringify: true
617
624
  }),
618
- hasQueryParams ? "...(params ? [params] : [])" : void 0,
619
- hasRequestBody ? "...(data ? [data] : [])" : void 0
625
+ hasQueryParams ? "...(params ? [params] : [])" : null,
626
+ hasRequestBody ? "...(data ? [data] : [])" : null
620
627
  ].filter(Boolean);
621
628
  };
622
- function QueryKey({ name, node, tsResolver, paramsCasing, pathParamsType, typeName, transformer = queryKeyTransformer }) {
629
+ function QueryKey({ name, node, tsResolver, paramsCasing, pathParamsType, typeName, transformer }) {
623
630
  const paramsNode = buildQueryKeyParams(node, {
624
631
  pathParamsType,
625
632
  paramsCasing,
626
633
  resolver: tsResolver
627
634
  });
628
635
  const paramsSignature = declarationPrinter$9.print(paramsNode) ?? "";
629
- const keys = transformer({
636
+ const keys = (transformer ?? queryKeyTransformer)({
630
637
  node,
631
638
  casing: paramsCasing
632
639
  });
@@ -656,7 +663,7 @@ const declarationPrinter$8 = (0, _kubb_plugin_ts.functionPrinter)({ mode: "decla
656
663
  const callPrinter$8 = (0, _kubb_plugin_ts.functionPrinter)({ mode: "call" });
657
664
  function getQueryOptionsParams(node, options) {
658
665
  const { paramsType, paramsCasing, pathParamsType, resolver } = options;
659
- const requestName = node.requestBody?.content?.[0]?.schema ? resolver.resolveDataName(node) : void 0;
666
+ const requestName = node.requestBody?.content?.[0]?.schema ? resolver.resolveDataName(node) : null;
660
667
  return _kubb_core.ast.createOperationParams(node, {
661
668
  paramsType,
662
669
  pathParamsType: paramsType === "object" ? "object" : pathParamsType === "object" ? "object" : "inline",
@@ -673,7 +680,8 @@ function getQueryOptionsParams(node, options) {
673
680
  });
674
681
  }
675
682
  function QueryOptions({ name, clientName, dataReturnType, node, tsResolver, paramsCasing, paramsType, pathParamsType, queryKeyName }) {
676
- const responseName = tsResolver.resolveResponseName(node);
683
+ const successNames = resolveSuccessNames(node, tsResolver);
684
+ const responseName = successNames.length > 0 ? successNames.join(" | ") : tsResolver.resolveResponseName(node);
677
685
  const errorNames = resolveErrorNames(node, tsResolver);
678
686
  const TData = dataReturnType === "data" ? responseName : `ResponseConfig<${responseName}>`;
679
687
  const TError = `ResponseErrorConfig<${errorNames.length > 0 ? errorNames.join(" | ") : "Error"}>`;
@@ -720,7 +728,7 @@ const declarationPrinter$7 = (0, _kubb_plugin_ts.functionPrinter)({ mode: "decla
720
728
  const callPrinter$7 = (0, _kubb_plugin_ts.functionPrinter)({ mode: "call" });
721
729
  function buildInfiniteQueryParamsNode(node, options) {
722
730
  const { paramsType, paramsCasing, pathParamsType, resolver, pageParamGeneric } = options;
723
- const requestName = node.requestBody?.content?.[0]?.schema ? resolver.resolveDataName(node) : void 0;
731
+ const requestName = node.requestBody?.content?.[0]?.schema ? resolver.resolveDataName(node) : null;
724
732
  const optionsParam = _kubb_core.ast.createFunctionParameter({
725
733
  name: "options",
726
734
  type: _kubb_core.ast.createParamsType({
@@ -741,7 +749,8 @@ function buildInfiniteQueryParamsNode(node, options) {
741
749
  });
742
750
  }
743
751
  function InfiniteQuery({ name, queryKeyTypeName, queryOptionsName, queryKeyName, paramsType, paramsCasing, pathParamsType, dataReturnType, node, tsResolver, initialPageParam, queryParam, customOptions }) {
744
- const responseName = tsResolver.resolveResponseName(node);
752
+ const successNames = resolveSuccessNames(node, tsResolver);
753
+ const responseName = successNames.length > 0 ? successNames.join(" | ") : tsResolver.resolveResponseName(node);
745
754
  const errorNames = resolveErrorNames(node, tsResolver);
746
755
  const responseType = dataReturnType === "data" ? responseName : `ResponseConfig<${responseName}>`;
747
756
  const errorType = `ResponseErrorConfig<${errorNames.length > 0 ? errorNames.join(" | ") : "Error"}>`;
@@ -753,9 +762,9 @@ function InfiniteQuery({ name, queryKeyTypeName, queryOptionsName, queryKeyName,
753
762
  const rawQueryParams = getOperationParameters(node).query;
754
763
  const queryParamsTypeName = rawQueryParams.length > 0 ? (() => {
755
764
  const groupName = tsResolver.resolveQueryParamsName(node, rawQueryParams[0]);
756
- return groupName !== tsResolver.resolveParamName(node, rawQueryParams[0]) ? groupName : void 0;
757
- })() : void 0;
758
- const queryParamType = queryParam && queryParamsTypeName ? `${queryParamsTypeName}['${queryParam}']` : void 0;
765
+ return groupName !== tsResolver.resolveParamName(node, rawQueryParams[0]) ? groupName : null;
766
+ })() : null;
767
+ const queryParamType = queryParam && queryParamsTypeName ? `${queryParamsTypeName}['${queryParam}']` : null;
759
768
  const pageParamType = queryParamType ? isInitialPageParamDefined ? `NonNullable<${queryParamType}>` : queryParamType : fallbackPageParamType;
760
769
  const returnType = "UseInfiniteQueryResult<TData, TError> & { queryKey: TQueryKey }";
761
770
  const generics = [
@@ -822,7 +831,8 @@ function InfiniteQuery({ name, queryKeyTypeName, queryOptionsName, queryKeyName,
822
831
  const declarationPrinter$6 = (0, _kubb_plugin_ts.functionPrinter)({ mode: "declaration" });
823
832
  const callPrinter$6 = (0, _kubb_plugin_ts.functionPrinter)({ mode: "call" });
824
833
  function InfiniteQueryOptions({ name, clientName, initialPageParam, cursorParam, nextParam, previousParam, node, tsResolver, paramsCasing, paramsType, dataReturnType, pathParamsType, queryParam, queryKeyName }) {
825
- const responseName = tsResolver.resolveResponseName(node);
834
+ const successNames = resolveSuccessNames(node, tsResolver);
835
+ const responseName = successNames.length > 0 ? successNames.join(" | ") : tsResolver.resolveResponseName(node);
826
836
  const queryFnDataType = dataReturnType === "data" ? responseName : `ResponseConfig<${responseName}>`;
827
837
  const errorNames = resolveErrorNames(node, tsResolver);
828
838
  const errorType = `ResponseErrorConfig<${errorNames.length > 0 ? errorNames.join(" | ") : "Error"}>`;
@@ -834,9 +844,9 @@ function InfiniteQueryOptions({ name, clientName, initialPageParam, cursorParam,
834
844
  const rawQueryParams = getOperationParameters(node).query;
835
845
  const queryParamsTypeName = rawQueryParams.length > 0 ? (() => {
836
846
  const groupName = tsResolver.resolveQueryParamsName(node, rawQueryParams[0]);
837
- return groupName !== tsResolver.resolveParamName(node, rawQueryParams[0]) ? groupName : void 0;
838
- })() : void 0;
839
- const queryParamType = queryParam && queryParamsTypeName ? `${queryParamsTypeName}['${queryParam}']` : void 0;
847
+ return groupName !== tsResolver.resolveParamName(node, rawQueryParams[0]) ? groupName : null;
848
+ })() : null;
849
+ const queryParamType = queryParam && queryParamsTypeName ? `${queryParamsTypeName}['${queryParam}']` : null;
840
850
  const pageParamType = queryParamType ? isInitialPageParamDefined ? `NonNullable<${queryParamType}>` : queryParamType : fallbackPageParamType;
841
851
  const paramsNode = getQueryOptionsParams(node, {
842
852
  paramsType,
@@ -854,12 +864,12 @@ function InfiniteQueryOptions({ name, clientName, initialPageParam, cursorParam,
854
864
  const queryKeyParamsCall = callPrinter$6.print(queryKeyParamsNode) ?? "";
855
865
  const enabledSource = buildEnabledCheck(queryKeyParamsNode);
856
866
  const enabledText = enabledSource ? `enabled: !!(${enabledSource}),` : "";
857
- const hasNewParams = nextParam !== void 0 || previousParam !== void 0;
867
+ const hasNewParams = nextParam != null || previousParam != null;
858
868
  const [getNextPageParamExpr, getPreviousPageParamExpr] = (() => {
859
869
  if (hasNewParams) {
860
- const nextAccessor = nextParam ? getNestedAccessor(nextParam, "lastPage") : void 0;
861
- const prevAccessor = previousParam ? getNestedAccessor(previousParam, "firstPage") : void 0;
862
- return [nextAccessor ? `getNextPageParam: (lastPage) => ${nextAccessor}` : void 0, prevAccessor ? `getPreviousPageParam: (firstPage) => ${prevAccessor}` : void 0];
870
+ const nextAccessor = nextParam ? getNestedAccessor(nextParam, "lastPage") : null;
871
+ const prevAccessor = previousParam ? getNestedAccessor(previousParam, "firstPage") : null;
872
+ return [nextAccessor ? `getNextPageParam: (lastPage) => ${nextAccessor}` : null, prevAccessor ? `getPreviousPageParam: (firstPage) => ${prevAccessor}` : null];
863
873
  }
864
874
  if (cursorParam) return [`getNextPageParam: (lastPage) => lastPage['${cursorParam}']`, `getPreviousPageParam: (firstPage) => firstPage['${cursorParam}']`];
865
875
  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"];
@@ -934,7 +944,8 @@ function buildMutationConfigParamsNode(node, resolver) {
934
944
  })] });
935
945
  }
936
946
  function MutationOptions({ name, clientName, dataReturnType, node, tsResolver, paramsCasing, paramsType, pathParamsType, mutationKeyName }) {
937
- const responseName = tsResolver.resolveResponseName(node);
947
+ const successNames = resolveSuccessNames(node, tsResolver);
948
+ const responseName = successNames.length > 0 ? successNames.join(" | ") : tsResolver.resolveResponseName(node);
938
949
  const TData = dataReturnType === "data" ? responseName : `ResponseConfig<${responseName}>`;
939
950
  const errorNames = resolveErrorNames(node, tsResolver);
940
951
  const TError = `ResponseErrorConfig<${errorNames.length > 0 ? errorNames.join(" | ") : "Error"}>`;
@@ -975,7 +986,7 @@ function MutationOptions({ name, clientName, dataReturnType, node, tsResolver, p
975
986
  generics: ["TContext = unknown"],
976
987
  children: `
977
988
  const mutationKey = ${mutationKeyName}()
978
- return mutationOptions<${TData}, ${TError}, ${TRequest ? `{${TRequest}}` : "void"}, TContext>({
989
+ return mutationOptions<${TData}, ${TError}, ${TRequest ? `{${TRequest}}` : "undefined"}, TContext>({
979
990
  mutationKey,
980
991
  mutationFn: async(${hasMutationParams ? `{ ${argKeysStr} }` : "_"}) => {
981
992
  return ${clientName}(${clientCallStr})
@@ -999,7 +1010,8 @@ function createMutationArgParams(node, options) {
999
1010
  }
1000
1011
  function buildMutationParamsNode(node, options) {
1001
1012
  const { paramsCasing, dataReturnType, resolver } = options;
1002
- const responseName = resolver.resolveResponseName(node);
1013
+ const successNames = resolveSuccessNames(node, resolver);
1014
+ const responseName = successNames.length > 0 ? successNames.join(" | ") : resolver.resolveResponseName(node);
1003
1015
  const errorNames = resolveErrorNames(node, resolver);
1004
1016
  const TData = dataReturnType === "data" ? responseName : `ResponseConfig<${responseName}>`;
1005
1017
  const TError = `ResponseErrorConfig<${errorNames.length > 0 ? errorNames.join(" | ") : "Error"}>`;
@@ -1011,7 +1023,7 @@ function buildMutationParamsNode(node, options) {
1011
1023
  const generics = [
1012
1024
  TData,
1013
1025
  TError,
1014
- TRequest ? `{${TRequest}}` : "void",
1026
+ TRequest ? `{${TRequest}}` : "undefined",
1015
1027
  "TContext"
1016
1028
  ].join(", ");
1017
1029
  return _kubb_core.ast.createFunctionParameters({ params: [_kubb_core.ast.createFunctionParameter({
@@ -1027,7 +1039,8 @@ function buildMutationParamsNode(node, options) {
1027
1039
  })] });
1028
1040
  }
1029
1041
  function Mutation({ name, mutationOptionsName, paramsCasing, dataReturnType, node, tsResolver, mutationKeyName, customOptions }) {
1030
- const responseName = tsResolver.resolveResponseName(node);
1042
+ const successNames = resolveSuccessNames(node, tsResolver);
1043
+ const responseName = successNames.length > 0 ? successNames.join(" | ") : tsResolver.resolveResponseName(node);
1031
1044
  const errorNames = resolveErrorNames(node, tsResolver);
1032
1045
  const TData = dataReturnType === "data" ? responseName : `ResponseConfig<${responseName}>`;
1033
1046
  const TError = `ResponseErrorConfig<${errorNames.length > 0 ? errorNames.join(" | ") : "Error"}>`;
@@ -1039,7 +1052,7 @@ function Mutation({ name, mutationOptionsName, paramsCasing, dataReturnType, nod
1039
1052
  const generics = [
1040
1053
  TData,
1041
1054
  TError,
1042
- TRequest ? `{${TRequest}}` : "void",
1055
+ TRequest ? `{${TRequest}}` : "undefined",
1043
1056
  "TContext"
1044
1057
  ].join(", ");
1045
1058
  const returnType = `UseMutationResult<${generics}>`;
@@ -1084,8 +1097,9 @@ const declarationPrinter$3 = (0, _kubb_plugin_ts.functionPrinter)({ mode: "decla
1084
1097
  const callPrinter$3 = (0, _kubb_plugin_ts.functionPrinter)({ mode: "call" });
1085
1098
  function buildQueryParamsNode(node, options) {
1086
1099
  const { paramsType, paramsCasing, pathParamsType, dataReturnType, resolver } = options;
1087
- const responseName = resolver.resolveResponseName(node);
1088
- const requestName = node.requestBody?.content?.[0]?.schema ? resolver.resolveDataName(node) : void 0;
1100
+ const successNames = resolveSuccessNames(node, resolver);
1101
+ const responseName = successNames.length > 0 ? successNames.join(" | ") : resolver.resolveResponseName(node);
1102
+ const requestName = node.requestBody?.content?.[0]?.schema ? resolver.resolveDataName(node) : null;
1089
1103
  const errorNames = resolveErrorNames(node, resolver);
1090
1104
  const TData = dataReturnType === "data" ? responseName : `ResponseConfig<${responseName}>`;
1091
1105
  const TError = `ResponseErrorConfig<${errorNames.length > 0 ? errorNames.join(" | ") : "Error"}>`;
@@ -1115,7 +1129,8 @@ function buildQueryParamsNode(node, options) {
1115
1129
  });
1116
1130
  }
1117
1131
  function Query({ name, queryKeyTypeName, queryOptionsName, queryKeyName, paramsType, paramsCasing, pathParamsType, dataReturnType, node, tsResolver, customOptions }) {
1118
- const responseName = tsResolver.resolveResponseName(node);
1132
+ const successNames = resolveSuccessNames(node, tsResolver);
1133
+ const responseName = successNames.length > 0 ? successNames.join(" | ") : tsResolver.resolveResponseName(node);
1119
1134
  const errorNames = resolveErrorNames(node, tsResolver);
1120
1135
  const TData = dataReturnType === "data" ? responseName : `ResponseConfig<${responseName}>`;
1121
1136
  const returnType = `UseQueryResult<TData, ${`ResponseErrorConfig<${errorNames.length > 0 ? errorNames.join(" | ") : "Error"}>`}> & { queryKey: TQueryKey }`;
@@ -1181,7 +1196,7 @@ const declarationPrinter$2 = (0, _kubb_plugin_ts.functionPrinter)({ mode: "decla
1181
1196
  const callPrinter$2 = (0, _kubb_plugin_ts.functionPrinter)({ mode: "call" });
1182
1197
  function buildSuspenseInfiniteQueryParamsNode(node, options) {
1183
1198
  const { paramsType, paramsCasing, pathParamsType, resolver, pageParamGeneric } = options;
1184
- const requestName = node.requestBody?.content?.[0]?.schema ? resolver.resolveDataName(node) : void 0;
1199
+ const requestName = node.requestBody?.content?.[0]?.schema ? resolver.resolveDataName(node) : null;
1185
1200
  const optionsParam = _kubb_core.ast.createFunctionParameter({
1186
1201
  name: "options",
1187
1202
  type: _kubb_core.ast.createParamsType({
@@ -1202,7 +1217,8 @@ function buildSuspenseInfiniteQueryParamsNode(node, options) {
1202
1217
  });
1203
1218
  }
1204
1219
  function SuspenseInfiniteQuery({ name, queryKeyTypeName, queryOptionsName, queryKeyName, paramsType, paramsCasing, pathParamsType, dataReturnType, node, tsResolver, customOptions, initialPageParam, queryParam }) {
1205
- const responseName = tsResolver.resolveResponseName(node);
1220
+ const successNames = resolveSuccessNames(node, tsResolver);
1221
+ const responseName = successNames.length > 0 ? successNames.join(" | ") : tsResolver.resolveResponseName(node);
1206
1222
  const errorNames = resolveErrorNames(node, tsResolver);
1207
1223
  const responseType = dataReturnType === "data" ? responseName : `ResponseConfig<${responseName}>`;
1208
1224
  const errorType = `ResponseErrorConfig<${errorNames.length > 0 ? errorNames.join(" | ") : "Error"}>`;
@@ -1214,9 +1230,9 @@ function SuspenseInfiniteQuery({ name, queryKeyTypeName, queryOptionsName, query
1214
1230
  const rawQueryParams = getOperationParameters(node).query;
1215
1231
  const queryParamsTypeName = rawQueryParams.length > 0 ? (() => {
1216
1232
  const groupName = tsResolver.resolveQueryParamsName(node, rawQueryParams[0]);
1217
- return groupName !== tsResolver.resolveParamName(node, rawQueryParams[0]) ? groupName : void 0;
1218
- })() : void 0;
1219
- const queryParamType = queryParam && queryParamsTypeName ? `${queryParamsTypeName}['${queryParam}']` : void 0;
1233
+ return groupName !== tsResolver.resolveParamName(node, rawQueryParams[0]) ? groupName : null;
1234
+ })() : null;
1235
+ const queryParamType = queryParam && queryParamsTypeName ? `${queryParamsTypeName}['${queryParam}']` : null;
1220
1236
  const pageParamType = queryParamType ? isInitialPageParamDefined ? `NonNullable<${queryParamType}>` : queryParamType : fallbackPageParamType;
1221
1237
  const returnType = "UseSuspenseInfiniteQueryResult<TData, TError> & { queryKey: TQueryKey }";
1222
1238
  const generics = [
@@ -1283,7 +1299,8 @@ function SuspenseInfiniteQuery({ name, queryKeyTypeName, queryOptionsName, query
1283
1299
  const declarationPrinter$1 = (0, _kubb_plugin_ts.functionPrinter)({ mode: "declaration" });
1284
1300
  const callPrinter$1 = (0, _kubb_plugin_ts.functionPrinter)({ mode: "call" });
1285
1301
  function SuspenseInfiniteQueryOptions({ name, clientName, initialPageParam, cursorParam, nextParam, previousParam, node, tsResolver, paramsCasing, paramsType, dataReturnType, pathParamsType, queryParam, queryKeyName }) {
1286
- const responseName = tsResolver.resolveResponseName(node);
1302
+ const successNames = resolveSuccessNames(node, tsResolver);
1303
+ const responseName = successNames.length > 0 ? successNames.join(" | ") : tsResolver.resolveResponseName(node);
1287
1304
  const queryFnDataType = dataReturnType === "data" ? responseName : `ResponseConfig<${responseName}>`;
1288
1305
  const errorNames = resolveErrorNames(node, tsResolver);
1289
1306
  const errorType = `ResponseErrorConfig<${errorNames.length > 0 ? errorNames.join(" | ") : "Error"}>`;
@@ -1295,9 +1312,9 @@ function SuspenseInfiniteQueryOptions({ name, clientName, initialPageParam, curs
1295
1312
  const rawQueryParams = getOperationParameters(node).query;
1296
1313
  const queryParamsTypeName = rawQueryParams.length > 0 ? (() => {
1297
1314
  const groupName = tsResolver.resolveQueryParamsName(node, rawQueryParams[0]);
1298
- return groupName !== tsResolver.resolveParamName(node, rawQueryParams[0]) ? groupName : void 0;
1299
- })() : void 0;
1300
- const queryParamType = queryParam && queryParamsTypeName ? `${queryParamsTypeName}['${queryParam}']` : void 0;
1315
+ return groupName !== tsResolver.resolveParamName(node, rawQueryParams[0]) ? groupName : null;
1316
+ })() : null;
1317
+ const queryParamType = queryParam && queryParamsTypeName ? `${queryParamsTypeName}['${queryParam}']` : null;
1301
1318
  const pageParamType = queryParamType ? isInitialPageParamDefined ? `NonNullable<${queryParamType}>` : queryParamType : fallbackPageParamType;
1302
1319
  const paramsNode = getQueryOptionsParams(node, {
1303
1320
  paramsType,
@@ -1315,12 +1332,12 @@ function SuspenseInfiniteQueryOptions({ name, clientName, initialPageParam, curs
1315
1332
  const queryKeyParamsCall = callPrinter$1.print(queryKeyParamsNode) ?? "";
1316
1333
  const enabledSource = buildEnabledCheck(queryKeyParamsNode);
1317
1334
  const enabledText = enabledSource ? `enabled: !!(${enabledSource}),` : "";
1318
- const hasNewParams = nextParam !== void 0 || previousParam !== void 0;
1335
+ const hasNewParams = nextParam != null || previousParam != null;
1319
1336
  const [getNextPageParamExpr, getPreviousPageParamExpr] = (() => {
1320
1337
  if (hasNewParams) {
1321
- const nextAccessor = nextParam ? getNestedAccessor(nextParam, "lastPage") : void 0;
1322
- const prevAccessor = previousParam ? getNestedAccessor(previousParam, "firstPage") : void 0;
1323
- return [nextAccessor ? `getNextPageParam: (lastPage) => ${nextAccessor}` : void 0, prevAccessor ? `getPreviousPageParam: (firstPage) => ${prevAccessor}` : void 0];
1338
+ const nextAccessor = nextParam ? getNestedAccessor(nextParam, "lastPage") : null;
1339
+ const prevAccessor = previousParam ? getNestedAccessor(previousParam, "firstPage") : null;
1340
+ return [nextAccessor ? `getNextPageParam: (lastPage) => ${nextAccessor}` : null, prevAccessor ? `getPreviousPageParam: (firstPage) => ${prevAccessor}` : null];
1324
1341
  }
1325
1342
  if (cursorParam) return [`getNextPageParam: (lastPage) => lastPage['${cursorParam}']`, `getPreviousPageParam: (firstPage) => firstPage['${cursorParam}']`];
1326
1343
  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"];
@@ -1385,8 +1402,9 @@ const declarationPrinter = (0, _kubb_plugin_ts.functionPrinter)({ mode: "declara
1385
1402
  const callPrinter = (0, _kubb_plugin_ts.functionPrinter)({ mode: "call" });
1386
1403
  function buildSuspenseQueryParamsNode(node, options) {
1387
1404
  const { paramsType, paramsCasing, pathParamsType, dataReturnType, resolver } = options;
1388
- const responseName = resolver.resolveResponseName(node);
1389
- const requestName = node.requestBody?.content?.[0]?.schema ? resolver.resolveDataName(node) : void 0;
1405
+ const successNames = resolveSuccessNames(node, resolver);
1406
+ const responseName = successNames.length > 0 ? successNames.join(" | ") : resolver.resolveResponseName(node);
1407
+ const requestName = node.requestBody?.content?.[0]?.schema ? resolver.resolveDataName(node) : null;
1390
1408
  const errorNames = resolveErrorNames(node, resolver);
1391
1409
  const TData = dataReturnType === "data" ? responseName : `ResponseConfig<${responseName}>`;
1392
1410
  const TError = `ResponseErrorConfig<${errorNames.length > 0 ? errorNames.join(" | ") : "Error"}>`;
@@ -1415,7 +1433,8 @@ function buildSuspenseQueryParamsNode(node, options) {
1415
1433
  });
1416
1434
  }
1417
1435
  function SuspenseQuery({ name, queryKeyTypeName, queryOptionsName, queryKeyName, paramsType, paramsCasing, pathParamsType, dataReturnType, node, tsResolver, customOptions }) {
1418
- const responseName = tsResolver.resolveResponseName(node);
1436
+ const successNames = resolveSuccessNames(node, tsResolver);
1437
+ const responseName = successNames.length > 0 ? successNames.join(" | ") : tsResolver.resolveResponseName(node);
1419
1438
  const errorNames = resolveErrorNames(node, tsResolver);
1420
1439
  const TData = dataReturnType === "data" ? responseName : `ResponseConfig<${responseName}>`;
1421
1440
  const returnType = `UseSuspenseQueryResult<TData, ${`ResponseErrorConfig<${errorNames.length > 0 ? errorNames.join(" | ") : "Error"}>`}> & { queryKey: TQueryKey }`;
@@ -1593,4 +1612,4 @@ Object.defineProperty(exports, "resolveZodSchemaNames", {
1593
1612
  }
1594
1613
  });
1595
1614
 
1596
- //# sourceMappingURL=components-D4SQmw7N.cjs.map
1615
+ //# sourceMappingURL=components-MPBTffPl.cjs.map