@openapi-qraft/tanstack-query-react-plugin 2.0.0-next.8 → 2.0.0-next.9

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 (72) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/dist/lib/createOperationCommonTSDoc.d.ts +3 -0
  3. package/dist/lib/createOperationCommonTSDoc.d.ts.map +1 -0
  4. package/dist/lib/createOperationCommonTSDoc.js +8 -0
  5. package/dist/lib/createOperationCommonTSDoc.js.map +1 -0
  6. package/dist/ts-factory/getServiceFactory.d.ts +4 -2
  7. package/dist/ts-factory/getServiceFactory.d.ts.map +1 -1
  8. package/dist/ts-factory/getServiceFactory.js +74 -34
  9. package/dist/ts-factory/getServiceFactory.js.map +1 -1
  10. package/dist/ts-factory/service-operation.generated/ServiceOperationGetInfiniteQueryData.d.ts.map +1 -1
  11. package/dist/ts-factory/service-operation.generated/ServiceOperationGetInfiniteQueryData.js +6 -10
  12. package/dist/ts-factory/service-operation.generated/ServiceOperationGetInfiniteQueryData.js.map +1 -1
  13. package/dist/ts-factory/service-operation.generated/ServiceOperationGetQueryData.d.ts.map +1 -1
  14. package/dist/ts-factory/service-operation.generated/ServiceOperationGetQueryData.js +6 -10
  15. package/dist/ts-factory/service-operation.generated/ServiceOperationGetQueryData.js.map +1 -1
  16. package/dist/ts-factory/service-operation.generated/ServiceOperationGetQueryState.d.ts.map +1 -1
  17. package/dist/ts-factory/service-operation.generated/ServiceOperationGetQueryState.js +6 -10
  18. package/dist/ts-factory/service-operation.generated/ServiceOperationGetQueryState.js.map +1 -1
  19. package/dist/ts-factory/service-operation.generated/ServiceOperationQueryFn.d.ts.map +1 -1
  20. package/dist/ts-factory/service-operation.generated/ServiceOperationQueryFn.js +11 -17
  21. package/dist/ts-factory/service-operation.generated/ServiceOperationQueryFn.js.map +1 -1
  22. package/dist/ts-factory/service-operation.generated/ServiceOperationUseMutation.d.ts.map +1 -1
  23. package/dist/ts-factory/service-operation.generated/ServiceOperationUseMutation.js +12 -15
  24. package/dist/ts-factory/service-operation.generated/ServiceOperationUseMutation.js.map +1 -1
  25. package/dist/ts-factory/tsdoc/createOperationMethodTSDocExample.d.ts +6 -0
  26. package/dist/ts-factory/tsdoc/createOperationMethodTSDocExample.d.ts.map +1 -0
  27. package/dist/ts-factory/tsdoc/createOperationMethodTSDocExample.js +22 -0
  28. package/dist/ts-factory/tsdoc/createOperationMethodTSDocExample.js.map +1 -0
  29. package/dist/ts-factory/tsdoc/createUseInfiniteQueryOperationTSDocExample.d.ts +3 -0
  30. package/dist/ts-factory/tsdoc/createUseInfiniteQueryOperationTSDocExample.d.ts.map +1 -0
  31. package/dist/ts-factory/tsdoc/createUseInfiniteQueryOperationTSDocExample.js +61 -0
  32. package/dist/ts-factory/tsdoc/createUseInfiniteQueryOperationTSDocExample.js.map +1 -0
  33. package/dist/ts-factory/tsdoc/createUseIsFetchingOperationTSDocExample.d.ts +3 -0
  34. package/dist/ts-factory/tsdoc/createUseIsFetchingOperationTSDocExample.d.ts.map +1 -0
  35. package/dist/ts-factory/tsdoc/createUseIsFetchingOperationTSDocExample.js +41 -0
  36. package/dist/ts-factory/tsdoc/createUseIsFetchingOperationTSDocExample.js.map +1 -0
  37. package/dist/ts-factory/tsdoc/createUseIsMutatingOperationTSDocExample.d.ts +3 -0
  38. package/dist/ts-factory/tsdoc/createUseIsMutatingOperationTSDocExample.d.ts.map +1 -0
  39. package/dist/ts-factory/tsdoc/createUseIsMutatingOperationTSDocExample.js +41 -0
  40. package/dist/ts-factory/tsdoc/createUseIsMutatingOperationTSDocExample.js.map +1 -0
  41. package/dist/ts-factory/tsdoc/createUseMutationOperationTSDocExample.d.ts +3 -0
  42. package/dist/ts-factory/tsdoc/createUseMutationOperationTSDocExample.d.ts.map +1 -0
  43. package/dist/ts-factory/tsdoc/createUseMutationOperationTSDocExample.js +44 -0
  44. package/dist/ts-factory/tsdoc/createUseMutationOperationTSDocExample.js.map +1 -0
  45. package/dist/ts-factory/tsdoc/createUseQueryOperationTSDocExample.d.ts +3 -0
  46. package/dist/ts-factory/tsdoc/createUseQueryOperationTSDocExample.d.ts.map +1 -0
  47. package/dist/ts-factory/tsdoc/createUseQueryOperationTSDocExample.js +37 -0
  48. package/dist/ts-factory/tsdoc/createUseQueryOperationTSDocExample.js.map +1 -0
  49. package/dist/ts-factory/tsdoc/lib/createOperationMethodExampleNodes.d.ts +7 -0
  50. package/dist/ts-factory/tsdoc/lib/createOperationMethodExampleNodes.d.ts.map +1 -0
  51. package/dist/ts-factory/tsdoc/lib/createOperationMethodExampleNodes.js +8 -0
  52. package/dist/ts-factory/tsdoc/lib/createOperationMethodExampleNodes.js.map +1 -0
  53. package/dist/ts-factory/tsdoc/lib/createOperationMethodParametersExampleNodes.d.ts +4 -0
  54. package/dist/ts-factory/tsdoc/lib/createOperationMethodParametersExampleNodes.d.ts.map +1 -0
  55. package/dist/ts-factory/tsdoc/lib/createOperationMethodParametersExampleNodes.js +31 -0
  56. package/dist/ts-factory/tsdoc/lib/createOperationMethodParametersExampleNodes.js.map +1 -0
  57. package/package.json +6 -6
  58. package/src/lib/createOperationCommonTSDoc.ts +11 -0
  59. package/src/ts-factory/getServiceFactory.ts +121 -76
  60. package/src/ts-factory/service-operation.generated/ServiceOperationGetInfiniteQueryData.ts +28 -41
  61. package/src/ts-factory/service-operation.generated/ServiceOperationGetQueryData.ts +28 -41
  62. package/src/ts-factory/service-operation.generated/ServiceOperationGetQueryState.ts +28 -41
  63. package/src/ts-factory/service-operation.generated/ServiceOperationQueryFn.ts +49 -70
  64. package/src/ts-factory/service-operation.generated/ServiceOperationUseMutation.ts +42 -59
  65. package/src/ts-factory/tsdoc/createOperationMethodTSDocExample.ts +47 -0
  66. package/src/ts-factory/tsdoc/createUseInfiniteQueryOperationTSDocExample.ts +146 -0
  67. package/src/ts-factory/tsdoc/createUseIsFetchingOperationTSDocExample.ts +81 -0
  68. package/src/ts-factory/tsdoc/createUseIsMutatingOperationTSDocExample.ts +74 -0
  69. package/src/ts-factory/tsdoc/createUseMutationOperationTSDocExample.ts +88 -0
  70. package/src/ts-factory/tsdoc/createUseQueryOperationTSDocExample.ts +76 -0
  71. package/src/ts-factory/tsdoc/lib/createOperationMethodExampleNodes.ts +32 -0
  72. package/src/ts-factory/tsdoc/lib/createOperationMethodParametersExampleNodes.ts +66 -0
@@ -1,6 +1,7 @@
1
1
  import { ServiceOperation } from '@openapi-qraft/plugin/lib/open-api/getServices';
2
2
  import camelCase from 'camelcase';
3
3
  import ts from 'typescript';
4
+ import { createOperationCommonTSDoc } from '../lib/createOperationCommonTSDoc.js';
4
5
  import { createServiceOperationCancelQueriesNodes } from './service-operation.generated/ServiceOperationCancelQueries.js';
5
6
  import { createServiceOperationFetchInfiniteQueryNodes } from './service-operation.generated/ServiceOperationFetchInfiniteQuery.js';
6
7
  import { createServiceOperationFetchQueryNodes } from './service-operation.generated/ServiceOperationFetchQuery.js';
@@ -29,6 +30,7 @@ import { createServiceOperationUseQueryNodes } from './service-operation.generat
29
30
  import { createServiceOperationUseSuspenseInfiniteQueryNodes } from './service-operation.generated/ServiceOperationUseSuspenseInfiniteQuery.js';
30
31
  import { createServiceOperationUseSuspenseQueriesNodes } from './service-operation.generated/ServiceOperationUseSuspenseQueries.js';
31
32
  import { createServiceOperationUseSuspenseQueryNodes } from './service-operation.generated/ServiceOperationUseSuspenseQuery.js';
33
+ import { createOperationMethodTSDocExample } from './tsdoc/createOperationMethodTSDocExample.js';
32
34
 
33
35
  const factory = ts.factory;
34
36
 
@@ -36,8 +38,10 @@ export type ServiceImportsFactoryOptions = {
36
38
  openapiTypesImportPath: string;
37
39
  };
38
40
 
41
+ type Service = { typeName: string; variableName: string };
42
+
39
43
  export const getServiceFactory = (
40
- service: { typeName: string; variableName: string },
44
+ service: Service,
41
45
  operations: ServiceOperation[],
42
46
  { openapiTypesImportPath }: ServiceImportsFactoryOptions
43
47
  ) => {
@@ -105,76 +109,78 @@ const getServiceOperationImportsFactory = (operations: ServiceOperation[]) => {
105
109
  );
106
110
  };
107
111
 
108
- const __getServiceOperationGenericsPathImportsFactory = (
109
- operationGenericsPath: string,
110
- operations: ServiceOperation[]
111
- ) => {
112
- const factory = ts.factory;
113
-
114
- const queryMethods = ['get', 'head', 'options'] as const; // todo::make it shared
115
-
116
- return factory.createImportDeclaration(
117
- undefined,
118
- factory.createImportClause(
119
- true,
120
- undefined,
121
- factory.createNamedImports(
122
- [
123
- operations.some((operation) =>
124
- queryMethods.some((method) => method === operation.method)
125
- )
126
- ? factory.createImportSpecifier(
127
- false,
128
- undefined,
129
- factory.createIdentifier('ServiceOperationQuery')
130
- )
131
- : null,
132
- operations.some(
133
- (operation) =>
134
- !queryMethods.some((method) => method === operation.method)
135
- )
136
- ? factory.createImportSpecifier(
137
- false,
138
- undefined,
139
- factory.createIdentifier('ServiceOperationMutation')
140
- )
141
- : null,
142
- ].filter((node): node is NonNullable<typeof node> => Boolean(node))
143
- )
144
- ),
145
- factory.createStringLiteral(operationGenericsPath)
146
- );
147
- };
148
-
149
112
  const getServiceInterfaceFactory = (
150
- { typeName }: { typeName: string },
113
+ service: Service,
151
114
  operations: ServiceOperation[]
152
115
  ) => {
153
116
  return factory.createInterfaceDeclaration(
154
117
  [factory.createToken(ts.SyntaxKind.ExportKeyword)],
155
- factory.createIdentifier(typeName),
118
+ factory.createIdentifier(service.typeName),
156
119
  undefined,
157
120
  undefined,
158
- operations.map(getServiceInterfaceOperationFactory)
121
+ operations.map((operation) =>
122
+ getServiceInterfaceOperationFactory(operation, service)
123
+ )
159
124
  );
160
125
  };
161
126
 
162
- const getServiceInterfaceOperationFactory = (operation: ServiceOperation) => {
127
+ const getServiceInterfaceOperationFactory = (
128
+ operation: ServiceOperation,
129
+ service: Service
130
+ ) => {
163
131
  const operationMethodNodes = getMethodSignatureNodes(
164
132
  operation.method === 'get'
165
133
  ? createServicesQueryOperationNodes()
166
134
  : createServicesMutationOperationNodes()
167
135
  );
168
- operationMethodNodes.forEach(
169
- (node) => void addSyntheticLeadingOperationComment(node, operation)
170
- );
136
+
137
+ operationMethodNodes.forEach((node) => {
138
+ if (
139
+ ts.isMethodSignature(node) &&
140
+ ts.isIdentifier(node.name) &&
141
+ node.name.text
142
+ ) {
143
+ const operationCustomTSDoc = createOperationMethodTSDocExample(
144
+ operation,
145
+ {
146
+ serviceVariableName: service.variableName,
147
+ operationMethodName: node.name.text,
148
+ }
149
+ );
150
+ // Query and Mutation methods (hooks and QueryClient methods)
151
+ ts.addSyntheticLeadingComment(
152
+ node,
153
+ ts.SyntaxKind.MultiLineCommentTrivia,
154
+ createMultilineComment(
155
+ operationCustomTSDoc
156
+ ? operationCustomTSDoc
157
+ : createOperationCommonTSDoc(operation)
158
+ ),
159
+ true
160
+ );
161
+ } else if (ts.isCallSignatureDeclaration(node)) {
162
+ // Query and Mutation functions (invoke methods)
163
+ ts.addSyntheticLeadingComment(
164
+ node,
165
+ ts.SyntaxKind.MultiLineCommentTrivia,
166
+ createMultilineComment([...createOperationCommonTSDoc(operation)]),
167
+ true
168
+ );
169
+ }
170
+ });
171
171
 
172
172
  const node = factory.createPropertySignature(
173
173
  undefined,
174
174
  factory.createIdentifier(operation.name),
175
175
  undefined,
176
176
  factory.createTypeLiteralNode([
177
- ...replaceGenericTypesWithOperationTypes(operationMethodNodes, operation),
177
+ ...replaceGenericTypesWithOperationTypes(
178
+ reduceAreAllOptionalConditionalTParamsType(
179
+ operationMethodNodes,
180
+ operation
181
+ ),
182
+ operation
183
+ ),
178
184
  factory.createPropertySignature(
179
185
  undefined,
180
186
  factory.createIdentifier('schema'),
@@ -234,7 +240,7 @@ const getServiceInterfaceOperationFactory = (operation: ServiceOperation) => {
234
240
  ])
235
241
  );
236
242
 
237
- addSyntheticLeadingOperationComment(node, operation);
243
+ addOperationTSDoc(node, operation);
238
244
 
239
245
  return node;
240
246
  };
@@ -377,9 +383,12 @@ const getOperationBodyFactory = (operation: ServiceOperation) => {
377
383
  );
378
384
  };
379
385
 
380
- const getOperationParametersFactory = (operation: ServiceOperation) => {
381
- if (!operation.parameters)
382
- return factory.createKeywordTypeNode(ts.SyntaxKind.UndefinedKeyword);
386
+ const createOperationParametersFactory = (operation: ServiceOperation) => {
387
+ if (!operation.parameters?.length)
388
+ return operation.method === 'get'
389
+ ? factory.createKeywordTypeNode(ts.SyntaxKind.UndefinedKeyword)
390
+ : // mutation with predefined parameters fallback to an empty object
391
+ factory.createTypeLiteralNode([]);
383
392
 
384
393
  return factory.createIndexedAccessTypeNode(
385
394
  factory.createIndexedAccessTypeNode(
@@ -401,7 +410,7 @@ const getOperationParametersFactory = (operation: ServiceOperation) => {
401
410
  };
402
411
 
403
412
  const getServiceVariableFactory = (
404
- { variableName }: { variableName: string },
413
+ service: Service,
405
414
  operations: ServiceOperation[]
406
415
  ) => {
407
416
  return factory.createVariableStatement(
@@ -409,10 +418,12 @@ const getServiceVariableFactory = (
409
418
  factory.createVariableDeclarationList(
410
419
  [
411
420
  factory.createVariableDeclaration(
412
- factory.createIdentifier(variableName),
421
+ factory.createIdentifier(service.variableName),
413
422
  undefined,
414
423
  factory.createTypeLiteralNode(
415
- operations.map(getServiceVariableTypeFactory)
424
+ operations.map((operation) =>
425
+ getServiceVariableTypeFactory(operation)
426
+ )
416
427
  ),
417
428
  factory.createObjectLiteralExpression(
418
429
  operations.map(getServiceVariablePropertyFactory),
@@ -438,7 +449,7 @@ const getOperationsTypes = (operations: ServiceOperation[]) => {
438
449
  undefined,
439
450
  factory.createIdentifier(getOperationParametersTypeName(operation)),
440
451
  undefined,
441
- getOperationParametersFactory(operation)
452
+ createOperationParametersFactory(operation)
442
453
  ),
443
454
  factory.createTypeAliasDeclaration(
444
455
  undefined,
@@ -499,7 +510,7 @@ const getServiceVariableTypeFactory = (operation: ServiceOperation) => {
499
510
  ])
500
511
  );
501
512
 
502
- addSyntheticLeadingOperationComment(node, operation);
513
+ addOperationTSDoc(node, operation);
503
514
 
504
515
  return node;
505
516
  };
@@ -566,23 +577,8 @@ const createMultilineComment = (comment: string[]) => {
566
577
  return '';
567
578
  };
568
579
 
569
- const createOperationComment = (operation: ServiceOperation) => {
570
- return createMultilineComment(
571
- [
572
- operation.deprecated ? '@deprecated' : null,
573
- operation.summary ? `@summary ${operation.summary}` : null,
574
- operation.description ? `@description ${operation.description}` : null,
575
- ].filter((comment): comment is NonNullable<typeof comment> =>
576
- Boolean(comment)
577
- )
578
- );
579
- };
580
-
581
- const addSyntheticLeadingOperationComment = (
582
- node: ts.Node,
583
- operation: ServiceOperation
584
- ) => {
585
- const comment = createOperationComment(operation);
580
+ const addOperationTSDoc = (node: ts.Node, operation: ServiceOperation) => {
581
+ const comment = createMultilineComment(createOperationCommonTSDoc(operation));
586
582
 
587
583
  if (comment)
588
584
  ts.addSyntheticLeadingComment(
@@ -680,6 +676,12 @@ const getModuleTypeImports = (nodes: ts.Node[]) => {
680
676
  }, {});
681
677
  };
682
678
 
679
+ /**
680
+ * Replaces generic types with operation types with named types.
681
+ *
682
+ * For example, replaces `TParams` and `TQueryFnData` will be
683
+ * replaced with `GetEntitiesSchemaParameters` and `GetEntitiesSchemaData`.
684
+ */
683
685
  function replaceGenericTypesWithOperationTypes<T extends ts.Node>(
684
686
  node: T[],
685
687
  operation: ServiceOperation
@@ -721,6 +723,49 @@ function replaceGenericTypesWithOperationTypes<T extends ts.Node>(
721
723
  return result.transformed as T[];
722
724
  }
723
725
 
726
+ /**
727
+ * Replaces `AreAllOptional<TParams>` with `TParams | void` if `TParams` is optional,
728
+ * and with `TParams` when at least one parameter is required.
729
+ */
730
+ function reduceAreAllOptionalConditionalTParamsType<T extends ts.Node>(
731
+ node: T[],
732
+ operation: ServiceOperation
733
+ ): T[] {
734
+ const transformer =
735
+ (context: ts.TransformationContext) => (rootNode: ts.Node) => {
736
+ function visit(node: ts.Node): ts.Node {
737
+ if (
738
+ ts.isConditionalTypeNode(node) &&
739
+ ts.isTypeReferenceNode(node.checkType) &&
740
+ ts.isIdentifier(node.checkType.typeName) &&
741
+ node.checkType.typeName.text === 'AreAllOptional' &&
742
+ node.checkType.typeArguments?.every((node) => {
743
+ return (
744
+ ts.isTypeReferenceNode(node) &&
745
+ ts.isIdentifier(node.typeName) &&
746
+ node.typeName.text === 'TParams'
747
+ );
748
+ })
749
+ ) {
750
+ if (
751
+ !operation.parameters?.length ||
752
+ operation.parameters.every((parameter) => !parameter.required)
753
+ ) {
754
+ return node.trueType;
755
+ } else {
756
+ return node.falseType;
757
+ }
758
+ }
759
+ return ts.visitEachChild(node, visit, context);
760
+ }
761
+ return ts.visitNode(rootNode, visit);
762
+ };
763
+
764
+ const result = ts.transform(node, [transformer]);
765
+
766
+ return result.transformed as T[];
767
+ }
768
+
724
769
  function arrayFilterUniqueCallback<T>(value: T, index: number, self: T[]) {
725
770
  return self.indexOf(value) === index;
726
771
  }
@@ -75,55 +75,42 @@ export const createServiceOperationGetInfiniteQueryDataNodes = () => [
75
75
  undefined,
76
76
  factory.createIdentifier("parameters"),
77
77
  undefined,
78
- factory.createConditionalTypeNode(
78
+ factory.createUnionTypeNode([
79
79
  factory.createTypeReferenceNode(
80
- factory.createIdentifier("AreAllOptional"),
81
- [factory.createTypeReferenceNode(
82
- factory.createIdentifier("TParams"),
83
- undefined
84
- )]
80
+ factory.createIdentifier("ServiceOperationInfiniteQueryKey"),
81
+ [
82
+ factory.createTypeReferenceNode(
83
+ factory.createIdentifier("TSchema"),
84
+ undefined
85
+ ),
86
+ factory.createTypeReferenceNode(
87
+ factory.createIdentifier("TParams"),
88
+ undefined
89
+ )
90
+ ]
85
91
  ),
86
- factory.createLiteralTypeNode(factory.createTrue()),
87
- factory.createUnionTypeNode([
88
- factory.createTypeReferenceNode(
89
- factory.createIdentifier("TParams"),
90
- undefined
91
- ),
92
+ factory.createParenthesizedType(factory.createConditionalTypeNode(
92
93
  factory.createTypeReferenceNode(
93
- factory.createIdentifier("ServiceOperationInfiniteQueryKey"),
94
- [
95
- factory.createTypeReferenceNode(
96
- factory.createIdentifier("TSchema"),
97
- undefined
98
- ),
99
- factory.createTypeReferenceNode(
100
- factory.createIdentifier("TParams"),
101
- undefined
102
- )
103
- ]
94
+ factory.createIdentifier("AreAllOptional"),
95
+ [factory.createTypeReferenceNode(
96
+ factory.createIdentifier("TParams"),
97
+ undefined
98
+ )]
104
99
  ),
105
- factory.createKeywordTypeNode(ts.SyntaxKind.VoidKeyword)
106
- ]),
107
- factory.createUnionTypeNode([
100
+ factory.createLiteralTypeNode(factory.createTrue()),
101
+ factory.createUnionTypeNode([
102
+ factory.createTypeReferenceNode(
103
+ factory.createIdentifier("TParams"),
104
+ undefined
105
+ ),
106
+ factory.createKeywordTypeNode(ts.SyntaxKind.VoidKeyword)
107
+ ]),
108
108
  factory.createTypeReferenceNode(
109
109
  factory.createIdentifier("TParams"),
110
110
  undefined
111
- ),
112
- factory.createTypeReferenceNode(
113
- factory.createIdentifier("ServiceOperationInfiniteQueryKey"),
114
- [
115
- factory.createTypeReferenceNode(
116
- factory.createIdentifier("TSchema"),
117
- undefined
118
- ),
119
- factory.createTypeReferenceNode(
120
- factory.createIdentifier("TParams"),
121
- undefined
122
- )
123
- ]
124
111
  )
125
- ])
126
- ),
112
+ ))
113
+ ]),
127
114
  undefined
128
115
  )],
129
116
  factory.createUnionTypeNode([
@@ -70,55 +70,42 @@ export const createServiceOperationGetQueryDataNodes = () => [
70
70
  undefined,
71
71
  factory.createIdentifier("parameters"),
72
72
  undefined,
73
- factory.createConditionalTypeNode(
73
+ factory.createUnionTypeNode([
74
74
  factory.createTypeReferenceNode(
75
- factory.createIdentifier("AreAllOptional"),
76
- [factory.createTypeReferenceNode(
77
- factory.createIdentifier("TParams"),
78
- undefined
79
- )]
75
+ factory.createIdentifier("ServiceOperationQueryKey"),
76
+ [
77
+ factory.createTypeReferenceNode(
78
+ factory.createIdentifier("TSchema"),
79
+ undefined
80
+ ),
81
+ factory.createTypeReferenceNode(
82
+ factory.createIdentifier("TParams"),
83
+ undefined
84
+ )
85
+ ]
80
86
  ),
81
- factory.createLiteralTypeNode(factory.createTrue()),
82
- factory.createUnionTypeNode([
83
- factory.createTypeReferenceNode(
84
- factory.createIdentifier("TParams"),
85
- undefined
86
- ),
87
+ factory.createParenthesizedType(factory.createConditionalTypeNode(
87
88
  factory.createTypeReferenceNode(
88
- factory.createIdentifier("ServiceOperationQueryKey"),
89
- [
90
- factory.createTypeReferenceNode(
91
- factory.createIdentifier("TSchema"),
92
- undefined
93
- ),
94
- factory.createTypeReferenceNode(
95
- factory.createIdentifier("TParams"),
96
- undefined
97
- )
98
- ]
89
+ factory.createIdentifier("AreAllOptional"),
90
+ [factory.createTypeReferenceNode(
91
+ factory.createIdentifier("TParams"),
92
+ undefined
93
+ )]
99
94
  ),
100
- factory.createKeywordTypeNode(ts.SyntaxKind.VoidKeyword)
101
- ]),
102
- factory.createUnionTypeNode([
95
+ factory.createLiteralTypeNode(factory.createTrue()),
96
+ factory.createUnionTypeNode([
97
+ factory.createTypeReferenceNode(
98
+ factory.createIdentifier("TParams"),
99
+ undefined
100
+ ),
101
+ factory.createKeywordTypeNode(ts.SyntaxKind.VoidKeyword)
102
+ ]),
103
103
  factory.createTypeReferenceNode(
104
104
  factory.createIdentifier("TParams"),
105
105
  undefined
106
- ),
107
- factory.createTypeReferenceNode(
108
- factory.createIdentifier("ServiceOperationQueryKey"),
109
- [
110
- factory.createTypeReferenceNode(
111
- factory.createIdentifier("TSchema"),
112
- undefined
113
- ),
114
- factory.createTypeReferenceNode(
115
- factory.createIdentifier("TParams"),
116
- undefined
117
- )
118
- ]
119
106
  )
120
- ])
121
- ),
107
+ ))
108
+ ]),
122
109
  undefined
123
110
  )],
124
111
  factory.createUnionTypeNode([
@@ -101,55 +101,42 @@ export const createServiceOperationGetQueryStateNodes = () => [
101
101
  undefined,
102
102
  factory.createIdentifier("parameters"),
103
103
  undefined,
104
- factory.createConditionalTypeNode(
104
+ factory.createUnionTypeNode([
105
105
  factory.createTypeReferenceNode(
106
- factory.createIdentifier("AreAllOptional"),
107
- [factory.createTypeReferenceNode(
108
- factory.createIdentifier("TParams"),
109
- undefined
110
- )]
106
+ factory.createIdentifier("ServiceOperationQueryKey"),
107
+ [
108
+ factory.createTypeReferenceNode(
109
+ factory.createIdentifier("TSchema"),
110
+ undefined
111
+ ),
112
+ factory.createTypeReferenceNode(
113
+ factory.createIdentifier("TParams"),
114
+ undefined
115
+ )
116
+ ]
111
117
  ),
112
- factory.createLiteralTypeNode(factory.createTrue()),
113
- factory.createUnionTypeNode([
118
+ factory.createParenthesizedType(factory.createConditionalTypeNode(
114
119
  factory.createTypeReferenceNode(
115
- factory.createIdentifier("TParams"),
116
- undefined
120
+ factory.createIdentifier("AreAllOptional"),
121
+ [factory.createTypeReferenceNode(
122
+ factory.createIdentifier("TParams"),
123
+ undefined
124
+ )]
117
125
  ),
118
- factory.createTypeReferenceNode(
119
- factory.createIdentifier("ServiceOperationQueryKey"),
120
- [
121
- factory.createTypeReferenceNode(
122
- factory.createIdentifier("TSchema"),
123
- undefined
124
- ),
125
- factory.createTypeReferenceNode(
126
- factory.createIdentifier("TParams"),
127
- undefined
128
- )
129
- ]
130
- ),
131
- factory.createKeywordTypeNode(ts.SyntaxKind.VoidKeyword)
132
- ]),
133
- factory.createUnionTypeNode([
126
+ factory.createLiteralTypeNode(factory.createTrue()),
127
+ factory.createUnionTypeNode([
128
+ factory.createTypeReferenceNode(
129
+ factory.createIdentifier("TParams"),
130
+ undefined
131
+ ),
132
+ factory.createKeywordTypeNode(ts.SyntaxKind.VoidKeyword)
133
+ ]),
134
134
  factory.createTypeReferenceNode(
135
135
  factory.createIdentifier("TParams"),
136
136
  undefined
137
- ),
138
- factory.createTypeReferenceNode(
139
- factory.createIdentifier("ServiceOperationQueryKey"),
140
- [
141
- factory.createTypeReferenceNode(
142
- factory.createIdentifier("TSchema"),
143
- undefined
144
- ),
145
- factory.createTypeReferenceNode(
146
- factory.createIdentifier("TParams"),
147
- undefined
148
- )
149
- ]
150
137
  )
151
- ])
152
- ),
138
+ ))
139
+ ]),
153
140
  undefined
154
141
  )],
155
142
  factory.createUnionTypeNode([