react-query-lightbase-codegen 0.0.20 → 0.1.1

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.
@@ -132,7 +132,7 @@ const getObject = (item) => {
132
132
  const doc = (0, exports.isReference)(prop) ? '' : (0, exports.formatDescription)(prop.description, 2);
133
133
  const isRequired = (item.required || []).includes(key);
134
134
  const processedKey = IdentifierRegexp.test(key) ? key : `"${key}"`;
135
- return ` ${doc}${processedKey}${isRequired ? '' : '?'}: ${(0, exports.resolveValue)(prop)};`;
135
+ return `${doc}\n${processedKey}${isRequired ? '' : '?'}: ${(0, exports.resolveValue)(prop)};`;
136
136
  })
137
137
  .join('\n');
138
138
  }
@@ -203,7 +203,10 @@ exports.getParamsInPath = getParamsInPath;
203
203
  */
204
204
  const generateInterface = (name, schema) => {
205
205
  const scalar = (0, exports.getScalar)(schema);
206
- return `${(0, exports.formatDescription)(schema.description)}export interface ${(0, case_1.pascal)(name)} ${scalar}`;
206
+ return `
207
+ ${(0, exports.formatDescription)(schema.description)}
208
+ export interface ${(0, case_1.pascal)(name)} ${scalar}
209
+ `;
207
210
  };
208
211
  exports.generateInterface = generateInterface;
209
212
  /**
@@ -307,7 +310,7 @@ exports.generateResponsesDefinition = generateResponsesDefinition;
307
310
  const formatDescription = (description, tabSize = 0) => description
308
311
  ? `/**\n${description
309
312
  .split('\n')
310
- .map((i) => `${' '.repeat(tabSize)} * ${i}`)
313
+ .map((i) => `${' '.repeat(tabSize)} * ${i}`)
311
314
  .join('\n')}\n${' '.repeat(tabSize)} */${' '.repeat(tabSize)}`
312
315
  : '';
313
316
  exports.formatDescription = formatDescription;
@@ -341,6 +344,13 @@ const generateRestfulComponent = ({ operation, verb, route, operationIds, parame
341
344
  }
342
345
  }), 'in');
343
346
  const headerParams = header.filter((p) => !headerFilters?.includes(p.name));
347
+ let enabled = [];
348
+ [...queryParams, ...pathParams, ...headerParams].forEach((item) => {
349
+ if (item.required) {
350
+ enabled.push(`["${item.name}"]`);
351
+ }
352
+ });
353
+ const enabledParam = `!!props${enabled.join(' && !!props')}`;
344
354
  const paramsTypes = paramsInPath
345
355
  .map((p) => {
346
356
  try {
@@ -396,17 +406,17 @@ const generateRestfulComponent = ({ operation, verb, route, operationIds, parame
396
406
  const headerParam = headerType && headerType !== 'void' ? `${headerType};` : '';
397
407
  const queryParam = queryParamsType && queryParamsType !== 'void' ? `${queryParamsType}` : '';
398
408
  const requestBodyComponent = requestBodyTypes && requestBodyTypes !== 'void' ? `${requestBodyTypes}` : '';
399
- let AxiosErrorType = true ? 'AxiosError<AxiosErrorType | unknown>' : `AxiosError<any>`;
400
409
  // QUERIES
401
410
  if (!requestBodyComponent && paramsInPath.length && !queryParam && !headerParam) {
402
411
  output += `
403
- type ${componentName}Response = ${genericsTypes}
412
+ // type1
413
+ type ${componentName}Return = ${genericsTypes}
404
414
  type ${componentName}Variables = {
405
415
  ${paramsTypes}
406
416
  }
407
417
 
408
418
  use${componentName}Query.fetch = async (props: ${componentName}Variables ) => {
409
- const result = await api.${verb}<${componentName}Response>(\`${route.replace(/\{/g, '{props.')}\`);
419
+ const result = await api.${verb}<${componentName}Return>(\`${route.replace(/\{/g, '{props.')}\`);
410
420
  return result.data;
411
421
  }
412
422
  use${componentName}Query.baseKey = (): QueryKey => ["${componentName.toLowerCase()}"];
@@ -414,35 +424,39 @@ const generateRestfulComponent = ({ operation, verb, route, operationIds, parame
414
424
 
415
425
  use${componentName}Query.updateCache = (
416
426
  params: ${componentName}Variables,
417
- updater: Updater<${componentName}Response | undefined, ${componentName}Response>,
427
+ updater: Updater<${componentName}Return | undefined, ${componentName}Return>,
418
428
  options?: SetDataOptions | undefined
419
- ) => queryClient.setQueryData<${componentName}Response>(use${componentName}Query.queryKey(params), updater, options);
429
+ ) => queryClient.setQueryData<${componentName}Return>(use${componentName}Query.queryKey(params), updater, options);
420
430
 
421
431
  use${componentName}Query.prefetch = (params: ${componentName}Variables) =>
422
- queryClient.prefetchQuery<${componentName}Response>(use${componentName}Query.queryKey(params), ()=> use${componentName}Query.fetch(params));
432
+ queryClient.prefetchQuery<${componentName}Return>(use${componentName}Query.queryKey(params), ()=> use${componentName}Query.fetch(params));
423
433
 
434
+ use${componentName}Query.cancelQueries = (params: ${componentName}Variables) => queryClient.cancelQueries(use${componentName}Query.queryKey(params))
424
435
  use${componentName}Query.invalidate = (params: ${componentName}Variables) =>
425
- queryClient.invalidateQueries<${componentName}Response>(use${componentName}Query.queryKey(params));
436
+ queryClient.invalidateQueries<${componentName}Return>(use${componentName}Query.queryKey(params));
426
437
 
427
- type ${componentName}QueryProps<T = ${componentName}Response> = ${componentName}Variables & {
428
- options?: UseQueryOptions<${componentName}Response, ${AxiosErrorType}, T, any>
438
+ type ${componentName}QueryProps<T = ${componentName}Return> = ${componentName}Variables & {
439
+ options?: UseQueryOptions<${componentName}Return, AxiosError, T, any>
429
440
  }
430
- export function use${componentName}Query<T = ${componentName}Response>({ options = {}, ...props }: ${componentName}QueryProps<T>) {
441
+ export function use${componentName}Query<T = ${componentName}Return>({ options = {}, ...props }: ${componentName}QueryProps<T>) {
431
442
  return useQuery(use${componentName}Query.queryKey(props), async () => use${componentName}Query.fetch(props),
432
- { enabled: !!props.${paramsInPath.join(' && !!props.')}, ...options }
433
- );}
443
+ { enabled: ${enabledParam}, ...options }
444
+ );}
434
445
 
435
446
  type ${componentName}MutationProps<T> = {
436
- options?: UseMutationOptions<${componentName}Response, ${AxiosErrorType}, ${componentName}Variables, T>
447
+ options?: UseMutationOptions<${componentName}Return, AxiosError, ${componentName}Variables, T>
437
448
  }
438
- export function use${componentName}Mutation<T = ${componentName}Response>(props?: ${componentName}MutationProps<T>) {
449
+ export function use${componentName}Mutation<T = ${componentName}Return>(props?: ${componentName}MutationProps<T>) {
439
450
  return useMutation(async (data) => use${componentName}Query.fetch(data),
440
451
  props?.options
441
452
  )};`;
442
453
  }
443
454
  if (!requestBodyComponent && paramsInPath.length && queryParam && !headerParam) {
444
455
  output += `
445
- type ${componentName}Response = ${genericsTypes}
456
+ import queryString from 'query-string';
457
+
458
+ // type2
459
+ type ${componentName}Return = ${genericsTypes}
446
460
  type ${componentName}Variables = {
447
461
  ${paramsTypes}
448
462
  ${queryParamsType};
@@ -451,7 +465,7 @@ const generateRestfulComponent = ({ operation, verb, route, operationIds, parame
451
465
  use${componentName}Query.fetch = async (props:${componentName}Variables) => {
452
466
  const {${paramsInPath.join(', ')}, ...queryParams} = props
453
467
  const params = queryString.stringify(queryParams);
454
- const result = await api.${verb}<${componentName}Response>(\`${route}?\${params}\`)
468
+ const result = await api.${verb}<${componentName}Return>(\`${route}?\${params}\`)
455
469
  return result.data;
456
470
  }
457
471
 
@@ -460,72 +474,80 @@ const generateRestfulComponent = ({ operation, verb, route, operationIds, parame
460
474
 
461
475
  use${componentName}Query.updateCache = (
462
476
  params: ${componentName}Variables,
463
- updater: Updater<${componentName}Response | undefined, ${componentName}Response>,
477
+ updater: Updater<${componentName}Return | undefined, ${componentName}Return>,
464
478
  options?: SetDataOptions | undefined
465
- ) => queryClient.setQueryData<${componentName}Response>(use${componentName}Query.queryKey(params), updater, options);
479
+ ) => queryClient.setQueryData<${componentName}Return>(use${componentName}Query.queryKey(params), updater, options);
466
480
 
467
481
  use${componentName}Query.prefetch = (params: ${componentName}Variables) =>
468
- queryClient.prefetchQuery<${componentName}Response>(use${componentName}Query.queryKey(params), ()=> use${componentName}Query.fetch(params));
482
+ queryClient.prefetchQuery<${componentName}Return>(use${componentName}Query.queryKey(params), ()=> use${componentName}Query.fetch(params));
469
483
 
484
+ use${componentName}Query.cancelQueries = (params: ${componentName}Variables) => queryClient.cancelQueries(use${componentName}Query.queryKey(params))
470
485
  use${componentName}Query.invalidate = (params: ${componentName}Variables) =>
471
- queryClient.invalidateQueries<${componentName}Response>(use${componentName}Query.queryKey(params));
486
+ queryClient.invalidateQueries<${componentName}Return>(use${componentName}Query.queryKey(params));
472
487
 
473
- type ${componentName}QueryProps<T = ${componentName}Response> ${componentName}Variables & {
474
- options?: UseQueryOptions<${componentName}Response, ${AxiosErrorType}, T, any>
488
+ type ${componentName}QueryProps<T = ${componentName}Return> = ${componentName}Variables & {
489
+ options?: UseQueryOptions<${componentName}Return, AxiosError, T, any>
475
490
  }
476
- export function use${componentName}Query<T = ${componentName}Response>({ options = {}, ...props }: ${componentName}QueryProps<T>) {
477
- return useQuery(use${componentName}Query.queryKey(props), async () => use${componentName}Query.fetch(props), { enabled: !!props.${paramsInPath.join(' && !!props.')}, ...options }
491
+ export function use${componentName}Query<T = ${componentName}Return>({ options = {}, ...props }: ${componentName}QueryProps<T>) {
492
+ return useQuery(use${componentName}Query.queryKey(props), async () => use${componentName}Query.fetch(props),
493
+ { enabled: ${enabledParam}, ...options }
478
494
  );}
479
495
 
480
496
  type ${componentName}MutationProps<T> = {
481
- options?: UseMutationOptions<${componentName}Response, ${AxiosErrorType}, ${componentName}Variables, T>
497
+ options?: UseMutationOptions<${componentName}Return, AxiosError, ${componentName}Variables, T>
482
498
  }
483
- export function use${componentName}Mutation<T = ${componentName}Response>(props?: ${componentName}MutationProps<T>) {
499
+ export function use${componentName}Mutation<T = ${componentName}Return>(props?: ${componentName}MutationProps<T>) {
484
500
  return useMutation(async (data) => use${componentName}Query.fetch(data),
485
501
  props?.options
486
502
  )};`;
487
503
  }
488
504
  if (!requestBodyComponent && !paramsInPath.length && !queryParam && !headerParam) {
489
505
  output += `
490
- type ${componentName}Response = ${genericsTypes}
506
+ // type3
507
+ type ${componentName}Return = ${genericsTypes}
491
508
  use${componentName}Query.fetch = async () => {
492
- const result = await api.${verb}<${componentName}Response>(\`${route}\`);
509
+ const result = await api.${verb}<${componentName}Return>(\`${route}\`);
493
510
  return result.data;
494
511
  }
495
512
  use${componentName}Query.baseKey = (): QueryKey => ["${componentName.toLowerCase()}"];
496
513
  use${componentName}Query.queryKey = (): QueryKey => use${componentName}Query.baseKey()
497
514
 
498
515
  use${componentName}Query.updateCache = (
499
- params: ${componentName}Variables,
500
- updater: Updater<${componentName}Response | undefined, ${componentName}Response>,
516
+ params: undefined,
517
+ updater: Updater<${componentName}Return | undefined, ${componentName}Return>,
501
518
  options?: SetDataOptions | undefined
502
- ) => queryClient.setQueryData<${componentName}Response>(use${componentName}Query.queryKey(params), updater, options);
519
+ ) => queryClient.setQueryData<${componentName}Return>(use${componentName}Query.queryKey(), updater, options);
503
520
 
504
- use${componentName}Query.prefetch = (params: ${componentName}Variables) =>
505
- queryClient.prefetchQuery<${componentName}Response>(use${componentName}Query.queryKey(params), ()=> use${componentName}Query.fetch(params));
521
+ use${componentName}Query.prefetch = () =>
522
+ queryClient.prefetchQuery<${componentName}Return>(use${componentName}Query.queryKey(), ()=> use${componentName}Query.fetch());
506
523
 
507
- use${componentName}Query.invalidate = (params: ${componentName}Variables) =>
508
- queryClient.invalidateQueries<${componentName}Response>(use${componentName}Query.queryKey(params));
524
+ use${componentName}Query.cancelQueries = () => queryClient.cancelQueries(use${componentName}Query.queryKey())
525
+ use${componentName}Query.invalidate = () =>
526
+ queryClient.invalidateQueries<${componentName}Return>(use${componentName}Query.queryKey());
509
527
 
510
528
 
511
- type ${componentName}QueryProps<T = ${componentName}Response> = {
512
- options?: UseQueryOptions<${componentName}Response, ${AxiosErrorType}, T, any>
529
+ type ${componentName}QueryProps<T = ${componentName}Return> = {
530
+ options?: UseQueryOptions<${componentName}Return, AxiosError, T, any>
513
531
  }
514
- export function use${componentName}Query<T = ${componentName}Response>(props?: ${componentName}QueryProps<T>) {
532
+ export function use${componentName}Query<T = ${componentName}Return>(props?: ${componentName}QueryProps<T>) {
515
533
  return useQuery(use${componentName}Query.queryKey(), use${componentName}Query.fetch, props?.options
516
534
  );}
517
535
 
518
536
  type ${componentName}MutationProps<T> = {
519
- options?: UseMutationOptions<${componentName}Response, ${AxiosErrorType}, void, T>
537
+ options?: UseMutationOptions<${componentName}Return, AxiosError, void, T>
520
538
  }
521
- export function use${componentName}Mutation<T = ${componentName}Response>(props?: ${componentName}MutationProps<T>) {
539
+ export function use${componentName}Mutation<T = ${componentName}Return>(props?: ${componentName}MutationProps<T>) {
522
540
  return useMutation(async () => use${componentName}Query.fetch(),
523
541
  props?.options
524
542
  )};`;
525
543
  }
526
544
  if (!requestBodyComponent && !paramsInPath.length && queryParam && !headerParam) {
527
545
  output += `
528
- type ${componentName}Response = ${genericsTypes}
546
+ // type4
547
+ import queryString from 'query-string';
548
+
549
+
550
+ type ${componentName}Return = ${genericsTypes}
529
551
  type ${componentName}Variables = {
530
552
  ${queryParamsType}
531
553
  }
@@ -534,7 +556,7 @@ const generateRestfulComponent = ({ operation, verb, route, operationIds, parame
534
556
  const params = queryString.stringify({${queryParams
535
557
  .map((param) => `"${param.name}": props["${param.name}"]`)
536
558
  .join(',')}});
537
- const result = await api.${verb}<${componentName}Response>(\`${route}?\${params}\`)
559
+ const result = await api.${verb}<${componentName}Return>(\`${route}?\${params}\`)
538
560
  return result.data;
539
561
  }
540
562
 
@@ -543,22 +565,23 @@ const generateRestfulComponent = ({ operation, verb, route, operationIds, parame
543
565
 
544
566
  use${componentName}Query.updateCache = (
545
567
  params: ${componentName}Variables,
546
- updater: Updater<${componentName}Response | undefined, ${componentName}Response>,
568
+ updater: Updater<${componentName}Return | undefined, ${componentName}Return>,
547
569
  options?: SetDataOptions | undefined
548
- ) => queryClient.setQueryData<${componentName}Response>(use${componentName}Query.queryKey(params), updater, options);
570
+ ) => queryClient.setQueryData<${componentName}Return>(use${componentName}Query.queryKey(params), updater, options);
549
571
 
550
572
  use${componentName}Query.prefetch = (params: ${componentName}Variables) =>
551
- queryClient.prefetchQuery<${componentName}Response>(use${componentName}Query.queryKey(params), ()=> use${componentName}Query.fetch(params));
573
+ queryClient.prefetchQuery<${componentName}Return>(use${componentName}Query.queryKey(params), ()=> use${componentName}Query.fetch(params));
552
574
 
575
+ use${componentName}Query.cancelQueries = (params: ${componentName}Variables) => queryClient.cancelQueries(use${componentName}Query.queryKey(params))
553
576
  use${componentName}Query.invalidate = (params: ${componentName}Variables) =>
554
- queryClient.invalidateQueries<${componentName}Response>(use${componentName}Query.queryKey(params));
577
+ queryClient.invalidateQueries<${componentName}Return>(use${componentName}Query.queryKey(params));
555
578
 
556
- export function use${componentName}Query<T = ${componentName}Response>({ options = {}, ...props }: ${componentName}Variables & { options?: UseQueryOptions<${componentName}Response, ${AxiosErrorType}, T, any>}) {
579
+ export function use${componentName}Query<T = ${componentName}Return>({ options = {}, ...props }: ${componentName}Variables & { options?: UseQueryOptions<${componentName}Return, AxiosError, T, any>}) {
557
580
  return useQuery(use${componentName}Query.queryKey(props), async () => use${componentName}Query.fetch(props),
558
- { enabled: !!props${queryParams.map((param) => `["${param.name}"]`).join(' && !!props')}, ...options }
581
+ { enabled: ${enabledParam}, ...options }
559
582
  );}
560
583
 
561
- export function use${componentName}Mutation<T = ${componentName}Response>(props?: { options?: UseMutationOptions<${componentName}Response, ${AxiosErrorType}, ${componentName}Variables, T>}) {
584
+ export function use${componentName}Mutation<T = ${componentName}Return>(props?: { options?: UseMutationOptions<${componentName}Return, AxiosError, ${componentName}Variables, T>}) {
562
585
  return useMutation(async (data) => use${componentName}Query.fetch(data),
563
586
  props?.options
564
587
  )};
@@ -566,11 +589,12 @@ const generateRestfulComponent = ({ operation, verb, route, operationIds, parame
566
589
  }
567
590
  if (requestBodyComponent && !paramsInPath.length && !queryParam && !headerParam) {
568
591
  output += `
569
- type ${componentName}Response = ${genericsTypes}
592
+ // type5
593
+ type ${componentName}Return = ${genericsTypes}
570
594
  type ${componentName}Variables = ${requestBodyComponent};
571
595
 
572
596
  use${componentName}Query.fetch = async (body: ${componentName}Variables) => {
573
- const result = await api.${verb}<${componentName}Response>(\`${route}\`, body)
597
+ const result = await api.${verb}<${componentName}Return>(\`${route}\`, body)
574
598
  return result.data
575
599
  }
576
600
 
@@ -579,44 +603,51 @@ const generateRestfulComponent = ({ operation, verb, route, operationIds, parame
579
603
 
580
604
  use${componentName}Query.updateCache = (
581
605
  params: ${componentName}Variables,
582
- updater: Updater<${componentName}Response | undefined, ${componentName}Response>,
606
+ updater: Updater<${componentName}Return | undefined, ${componentName}Return>,
583
607
  options?: SetDataOptions | undefined
584
- ) => queryClient.setQueryData<${componentName}Response>(use${componentName}Query.queryKey(params), updater, options);
608
+ ) => queryClient.setQueryData<${componentName}Return>(use${componentName}Query.queryKey(params), updater, options);
585
609
 
586
610
  use${componentName}Query.prefetch = (params: ${componentName}Variables) =>
587
- queryClient.prefetchQuery<${componentName}Response>(use${componentName}Query.queryKey(params), ()=> use${componentName}Query.fetch(params));
611
+ queryClient.prefetchQuery<${componentName}Return>(use${componentName}Query.queryKey(params), ()=> use${componentName}Query.fetch(params));
588
612
 
613
+ use${componentName}Query.cancelQueries = (params: ${componentName}Variables) => queryClient.cancelQueries(use${componentName}Query.queryKey(params))
589
614
  use${componentName}Query.invalidate = (params: ${componentName}Variables) =>
590
- queryClient.invalidateQueries<${componentName}Response>(use${componentName}Query.queryKey(params));
615
+ queryClient.invalidateQueries<${componentName}Return>(use${componentName}Query.queryKey(params));
591
616
 
592
617
 
593
- type ${componentName}QueryProps<T = ${componentName}Response> = ${componentName}Variables & {
594
- options?: UseQueryOptions<${componentName}Response, ${AxiosErrorType}, T, any>
618
+ type ${componentName}QueryProps<T = ${componentName}Return> = ${componentName}Variables & {
619
+ options?: UseQueryOptions<${componentName}Return, AxiosError, T, any>
595
620
  }
596
- export function use${componentName}Query<T = ${componentName}Response>({ options = {}, ...body }: ${componentName}QueryProps<T>) {
621
+ export function use${componentName}Query<T = ${componentName}Return>({ options = {}, ...body }: ${componentName}QueryProps<T>) {
597
622
  return useQuery(use${componentName}Query.queryKey(body), async () => use${componentName}Query.fetch(body), options
598
623
  );}
599
624
 
600
625
  type ${componentName}MutationProps<T> = {
601
- options?: UseMutationOptions<${componentName}Response, ${AxiosErrorType}, ${componentName}Variables, T>
626
+ options?: UseMutationOptions<${componentName}Return, AxiosError, ${componentName}Variables, T>
602
627
  }
603
- export function use${componentName}Mutation<T = ${componentName}Response>(props?: ${componentName}MutationProps<T>) {
628
+ export function use${componentName}Mutation<T = ${componentName}Return>(props?: ${componentName}MutationProps<T>) {
604
629
  return useMutation(async (body) => use${componentName}Query.fetch(body),
605
630
  props?.options
606
631
  )};`;
607
632
  }
608
633
  if (requestBodyComponent && paramsInPath.length && !queryParam && !headerParam) {
609
634
  output += `
610
- type ${componentName}Response = ${genericsTypes}
611
- type ${componentName}Variables = ${requestBodyComponent} & {${paramsTypes}}
635
+ import queryString from 'query-string';
612
636
 
613
- type ${componentName}QueryProps<T = ${componentName}Response> = ${componentName}Variables & {
614
- options?: UseQueryOptions<${componentName}Response, ${AxiosErrorType}, T, any>
637
+ // type6
638
+ type ${componentName}Return = ${genericsTypes}
639
+ type ${componentName}Variables = {
640
+ body: ${requestBodyComponent}
641
+ ${paramsTypes}
642
+ }
643
+
644
+ type ${componentName}QueryProps<T = ${componentName}Return> = ${componentName}Variables & {
645
+ options?: UseQueryOptions<${componentName}Return, AxiosError, T, any>
615
646
  }
616
647
 
617
648
  use${componentName}Query.fetch = async (props: ${componentName}Variables) => {
618
649
  const {${paramsInPath.join(', ')}, ...body} = props
619
- const result = await api.${verb}<${componentName}Response>(\`${route}\`, body)
650
+ const result = await api.${verb}<${componentName}Return>(\`${route}\`, body)
620
651
  return result.data
621
652
  }
622
653
  use${componentName}Query.baseKey = (): QueryKey => ["${componentName.toLowerCase()}"];
@@ -624,48 +655,51 @@ const generateRestfulComponent = ({ operation, verb, route, operationIds, parame
624
655
 
625
656
  use${componentName}Query.updateCache = (
626
657
  params: ${componentName}Variables,
627
- updater: Updater<${componentName}Response | undefined, ${componentName}Response>,
658
+ updater: Updater<${componentName}Return | undefined, ${componentName}Return>,
628
659
  options?: SetDataOptions | undefined
629
- ) => queryClient.setQueryData<${componentName}Response>(use${componentName}Query.queryKey(params), updater, options);
660
+ ) => queryClient.setQueryData<${componentName}Return>(use${componentName}Query.queryKey(params), updater, options);
630
661
 
631
662
  use${componentName}Query.prefetch = (params: ${componentName}Variables) =>
632
- queryClient.prefetchQuery<${componentName}Response>(use${componentName}Query.queryKey(params), ()=> use${componentName}Query.fetch(params));
663
+ queryClient.prefetchQuery<${componentName}Return>(use${componentName}Query.queryKey(params), ()=> use${componentName}Query.fetch(params));
633
664
 
665
+ use${componentName}Query.cancelQueries = (params: ${componentName}Variables) => queryClient.cancelQueries(use${componentName}Query.queryKey(params))
634
666
  use${componentName}Query.invalidate = (params: ${componentName}Variables) =>
635
- queryClient.invalidateQueries<${componentName}Response>(use${componentName}Query.queryKey(params));
667
+ queryClient.invalidateQueries<${componentName}Return>(use${componentName}Query.queryKey(params));
636
668
 
637
669
 
638
- export function use${componentName}Query<T = ${componentName}Response>({ options = {}, ...props }: ${componentName}QueryProps<T>) {
639
- return useQuery(use${componentName}Query.queryKey(props), async () => use${componentName}Query.fetch(props), { enabled: !!props.${paramsInPath.join(' && !!props.')}, ...options }
670
+ export function use${componentName}Query<T = ${componentName}Return>({ options = {}, ...props }: ${componentName}QueryProps<T>) {
671
+ return useQuery(use${componentName}Query.queryKey(props), async () => use${componentName}Query.fetch(props),
672
+ { enabled: ${enabledParam}, ...options }
640
673
  );}
641
674
 
642
675
  type ${componentName}MutationProps<T> = {
643
- options?: UseMutationOptions<${componentName}Response, ${AxiosErrorType}, ${componentName}Variables, T>
676
+ options?: UseMutationOptions<${componentName}Return, AxiosError, ${componentName}Variables, T>
644
677
  }
645
- export function use${componentName}Mutation<T = ${componentName}Response>(props?: ${componentName}MutationProps<T>) {
678
+ export function use${componentName}Mutation<T = ${componentName}Return>(props?: ${componentName}MutationProps<T>) {
646
679
  return useMutation(async (body) => use${componentName}Query.fetch(body),
647
680
  props?.options
648
681
  )};`;
649
682
  }
650
683
  if (requestBodyComponent && !paramsInPath.length && queryParam && !headerParam) {
651
684
  output += `
652
- type ${componentName}Response = ${genericsTypes}
653
- type ${componentName}Variables = ${requestBodyComponent} & {
685
+ import queryString from 'query-string';
686
+
687
+ // type7
688
+ type ${componentName}Return = ${genericsTypes}
689
+ type ${componentName}Variables = {
690
+ body: ${requestBodyComponent}
654
691
  ${queryParamsType}
655
692
  }
656
693
 
657
- type ${componentName}QueryProps<T = ${componentName}Response> = ${componentName}Variables & {
658
- options?: UseQueryOptions<${componentName}Response, ${AxiosErrorType}, T, any>
694
+ type ${componentName}QueryProps<T = ${componentName}Return> = ${componentName}Variables & {
695
+ options?: UseQueryOptions<${componentName}Return, AxiosError, T, any>
659
696
  }
660
697
 
661
698
  use${componentName}Query.fetch = async (props: ${componentName}Variables) => {
662
- const {${queryParams
663
- .map((param) => `["${param.name}"]: ${param.name.replaceAll('-', '')}`)
664
- .join(',')}, ...body} = props
665
699
  const params = queryString.stringify({
666
700
  ${queryParams.map((param) => `["${param.name}"]: props["${param.name}"]`).join(',')}
667
701
  });
668
- const result = await api.${verb}<${componentName}Response>(\`${route}?\${params}\`, body)
702
+ const result = await api.${verb}<${componentName}Return>(\`${route}?\${params}\`, props.body)
669
703
  return result.data
670
704
  }
671
705
  use${componentName}Query.baseKey = (): QueryKey => ["${componentName.toLowerCase()}"];
@@ -673,28 +707,28 @@ const generateRestfulComponent = ({ operation, verb, route, operationIds, parame
673
707
 
674
708
  use${componentName}Query.updateCache = (
675
709
  params: ${componentName}Variables,
676
- updater: Updater<${componentName}Response | undefined, ${componentName}Response>,
710
+ updater: Updater<${componentName}Return | undefined, ${componentName}Return>,
677
711
  options?: SetDataOptions | undefined
678
- ) => queryClient.setQueryData<${componentName}Response>(use${componentName}Query.queryKey(params), updater, options);
712
+ ) => queryClient.setQueryData<${componentName}Return>(use${componentName}Query.queryKey(params), updater, options);
679
713
 
680
714
  use${componentName}Query.prefetch = (params: ${componentName}Variables) =>
681
- queryClient.prefetchQuery<${componentName}Response>(use${componentName}Query.queryKey(params), ()=> use${componentName}Query.fetch(params));
715
+ queryClient.prefetchQuery<${componentName}Return>(use${componentName}Query.queryKey(params), ()=> use${componentName}Query.fetch(params));
682
716
 
717
+ use${componentName}Query.cancelQueries = (params: ${componentName}Variables) => queryClient.cancelQueries(use${componentName}Query.queryKey(params))
683
718
  use${componentName}Query.invalidate = (params: ${componentName}Variables) =>
684
- queryClient.invalidateQueries<${componentName}Response>(use${componentName}Query.queryKey(params));
719
+ queryClient.invalidateQueries<${componentName}Return>(use${componentName}Query.queryKey(params));
685
720
 
686
721
 
687
- export function use${componentName}Query<T = ${componentName}Response>({ options = {}, ...props }: ${componentName}QueryProps<T>) {
688
- return useQuery(use${componentName}Query.queryKey(props), async () => use${componentName}Query.fetch(props), { enabled: !!props${queryParams
689
- .map((param) => `["${param.name}"]`)
690
- .join(' && !!props')}, ...options }
722
+ export function use${componentName}Query<T = ${componentName}Return>({ options = {}, ...props }: ${componentName}QueryProps<T>) {
723
+ return useQuery(use${componentName}Query.queryKey(props), async () => use${componentName}Query.fetch(props),
724
+ { enabled: ${enabledParam}, ...options }
691
725
  );}
692
726
 
693
727
 
694
728
  type ${componentName}MutationProps<T> = {
695
- options?: UseMutationOptions<${componentName}Response, ${AxiosErrorType}, ${componentName}Variables, T>
729
+ options?: UseMutationOptions<${componentName}Return, AxiosError, ${componentName}Variables, T>
696
730
  }
697
- export function use${componentName}Mutation<T = ${componentName}Response>(props?: ${componentName}MutationProps<T>) {
731
+ export function use${componentName}Mutation<T = ${componentName}Return>(props?: ${componentName}MutationProps<T>) {
698
732
  return useMutation(async (body) => use${componentName}Query.fetch(body),
699
733
  props?.options
700
734
  )};`;
@@ -716,13 +750,13 @@ const generateRestfulComponent = ({ operation, verb, route, operationIds, parame
716
750
  }
717
751
  if (!requestBodyComponent && !paramsInPath.length && !queryParam && headerParam) {
718
752
  output += `
719
- type ${componentName}Response = ${genericsTypes}
753
+ type ${componentName}Return = ${genericsTypes}
720
754
  type ${componentName}Variables = {
721
755
  ${headerParam}
722
756
  };
723
757
 
724
758
  use${componentName}Query.fetch = async (headers: ${componentName}Variables) => {
725
- const result = await api.${verb}<${componentName}Response>(\`${route}\`, {headers: headers});
759
+ const result = await api.${verb}<${componentName}Return>(\`${route}\`, {headers: headers});
726
760
  return result.data;
727
761
  }
728
762
 
@@ -731,38 +765,39 @@ const generateRestfulComponent = ({ operation, verb, route, operationIds, parame
731
765
 
732
766
  use${componentName}Query.updateCache = (
733
767
  params: ${componentName}Variables,
734
- updater: Updater<${componentName}Response | undefined, ${componentName}Response>,
768
+ updater: Updater<${componentName}Return | undefined, ${componentName}Return>,
735
769
  options?: SetDataOptions | undefined
736
- ) => queryClient.setQueryData<${componentName}Response>(use${componentName}Query.queryKey(params), updater, options);
770
+ ) => queryClient.setQueryData<${componentName}Return>(use${componentName}Query.queryKey(params), updater, options);
737
771
 
738
772
  use${componentName}Query.prefetch = (params: ${componentName}Variables) =>
739
- queryClient.prefetchQuery<${componentName}Response>(use${componentName}Query.queryKey(params), ()=> use${componentName}Query.fetch(params));
773
+ queryClient.prefetchQuery<${componentName}Return>(use${componentName}Query.queryKey(params), ()=> use${componentName}Query.fetch(params));
740
774
 
775
+ use${componentName}Query.cancelQueries = (params: ${componentName}Variables) => queryClient.cancelQueries(use${componentName}Query.queryKey(params))
741
776
  use${componentName}Query.invalidate = (params: ${componentName}Variables) =>
742
- queryClient.invalidateQueries<${componentName}Response>(use${componentName}Query.queryKey(params));
777
+ queryClient.invalidateQueries<${componentName}Return>(use${componentName}Query.queryKey(params));
743
778
 
744
779
 
745
- type ${componentName}QueryProps<T = ${componentName}Response> = ${componentName}Variables & {
746
- options?: UseQueryOptions<${componentName}Response, ${AxiosErrorType}, T, any>
780
+ type ${componentName}QueryProps<T = ${componentName}Return> = ${componentName}Variables & {
781
+ options?: UseQueryOptions<${componentName}Return, AxiosError, T, any>
747
782
  }
748
- export function use${componentName}Query<T = ${componentName}Response>({ options = {}, ...props }: ${componentName}QueryProps<T>) {
783
+ export function use${componentName}Query<T = ${componentName}Return>({ options = {}, ...props }: ${componentName}QueryProps<T>) {
749
784
  return useQuery(use${componentName}Query.queryKey(props), async () => use${componentName}Query.fetch(props),
750
- { enabled: !!props${headerParams.map((param) => `["${param.name}"]`).join(' && !!props')}, ...options }
785
+ { enabled: ${enabledParam}, ...options }
751
786
  );}
752
787
 
753
-
754
-
755
788
  type ${componentName}MutationProps<T> = {
756
- options?: UseMutationOptions<${componentName}Response, ${AxiosErrorType}, ${componentName}Variables, T>
789
+ options?: UseMutationOptions<${componentName}Return, AxiosError, ${componentName}Variables, T>
757
790
  }
758
- export function use${componentName}Mutation<T = ${componentName}Response>(props?: ${componentName}MutationProps<T>) {
791
+ export function use${componentName}Mutation<T = ${componentName}Return>(props?: ${componentName}MutationProps<T>) {
759
792
  return useMutation(async (data) => use${componentName}Query.fetch(data),
760
793
  props?.options
761
794
  )};`;
762
795
  }
763
796
  if (!requestBodyComponent && !paramsInPath.length && queryParam && headerParam) {
764
797
  output += `
765
- type ${componentName}Response = ${genericsTypes}
798
+ import queryString from 'query-string';
799
+
800
+ type ${componentName}Return = ${genericsTypes}
766
801
 
767
802
  type ${componentName}Variables = {
768
803
  ${headerParam}
@@ -776,7 +811,7 @@ const generateRestfulComponent = ({ operation, verb, route, operationIds, parame
776
811
  const headers = {
777
812
  ${headerParams.map((p) => `"${p.name}": data["${p.name}"]`).join(',')}
778
813
  }
779
- const result = await api.${verb}<${componentName}Response>(\`${route}?\${params}\`, {headers})
814
+ const result = await api.${verb}<${componentName}Return>(\`${route}?\${params}\`, {headers})
780
815
  return result.data;
781
816
  }
782
817
  use${componentName}Query.baseKey = (): QueryKey => ["${componentName.toLowerCase()}"];
@@ -784,40 +819,40 @@ const generateRestfulComponent = ({ operation, verb, route, operationIds, parame
784
819
 
785
820
  use${componentName}Query.updateCache = (
786
821
  params: ${componentName}Variables,
787
- updater: Updater<${componentName}Response | undefined, ${componentName}Response>,
822
+ updater: Updater<${componentName}Return | undefined, ${componentName}Return>,
788
823
  options?: SetDataOptions | undefined
789
- ) => queryClient.setQueryData<${componentName}Response>(use${componentName}Query.queryKey(params), updater, options);
824
+ ) => queryClient.setQueryData<${componentName}Return>(use${componentName}Query.queryKey(params), updater, options);
790
825
 
791
826
  use${componentName}Query.prefetch = (params: ${componentName}Variables) =>
792
- queryClient.prefetchQuery<${componentName}Response>(use${componentName}Query.queryKey(params), ()=> use${componentName}Query.fetch(params));
827
+ queryClient.prefetchQuery<${componentName}Return>(use${componentName}Query.queryKey(params), ()=> use${componentName}Query.fetch(params));
793
828
 
794
- use${componentName}Query.invalidate = (params: ${componentName}Variables) =>
795
- queryClient.invalidateQueries<${componentName}Response>(use${componentName}Query.queryKey(params));
829
+ use${componentName}Query.cancelQueries = (params: ${componentName}Variables) => queryClient.cancelQueries(use${componentName}Query.queryKey(params))
830
+ use${componentName}Query.invalidate = (params: ${componentName}Variables) =>
831
+ queryClient.invalidateQueries<${componentName}Return>(use${componentName}Query.queryKey(params));
796
832
 
797
- type ${componentName}QueryProps<T = ${componentName}Response> = ${componentName}Variables & {
798
- options?: UseQueryOptions<${componentName}Response, ${AxiosErrorType}, T, any>
833
+ type ${componentName}QueryProps<T = ${componentName}Return> = ${componentName}Variables & {
834
+ options?: UseQueryOptions<${componentName}Return, AxiosError, T, any>
799
835
  }
800
- export function use${componentName}Query<T = ${componentName}Response>({ options = {}, ...props }: ${componentName}QueryProps<T>) {
836
+ export function use${componentName}Query<T = ${componentName}Return>({ options = {}, ...props }: ${componentName}QueryProps<T>) {
801
837
  return useQuery(use${componentName}Query.queryKey(props), async () => use${componentName}Query.fetch(props),
802
- { enabled: !!props${[...queryParams, ...headerParams]
803
- .map((param) => `["${param.name}"]`)
804
- .join(' && !!props')}, ...options }
838
+ { enabled: ${enabledParam}, ...options }
805
839
  );}
806
840
 
807
841
  type ${componentName}MutationProps<T> = {
808
- options?: UseMutationOptions<${componentName}Response, ${AxiosErrorType}, ${componentName}Variables, T>
842
+ options?: UseMutationOptions<${componentName}Return, AxiosError, ${componentName}Variables, T>
809
843
  }
810
844
 
811
- export function use${componentName}Mutation<T = ${componentName}Response>(props?: ${componentName}MutationProps<T>) {
845
+ export function use${componentName}Mutation<T = ${componentName}Return>(props?: ${componentName}MutationProps<T>) {
812
846
  return useMutation(async (data) => use${componentName}Query.fetch(data),
813
847
  props?.options
814
848
  )};`;
815
849
  }
816
850
  if (requestBodyComponent && !paramsInPath.length && !queryParam && headerParam) {
817
851
  output += `
818
- type ${componentName}Response = ${genericsTypes}
852
+ type ${componentName}Return = ${genericsTypes}
819
853
 
820
- type ${componentName}Variables = ${requestBodyComponent} & {
854
+ type ${componentName}Variables = {
855
+ body: ${requestBodyComponent}
821
856
  ${headerParam}
822
857
  };
823
858
 
@@ -825,7 +860,7 @@ const generateRestfulComponent = ({ operation, verb, route, operationIds, parame
825
860
  const headers = {
826
861
  ${headerParams.map((param) => `"${param.name}": body["${param.name}"]`).join(',')}
827
862
  }
828
- const result = await api.${verb}<${componentName}Response>(\`${route}\`, body, {headers})
863
+ const result = await api.${verb}<${componentName}Return>(\`${route}\`, body, {headers})
829
864
  return result.data
830
865
  }
831
866
 
@@ -834,30 +869,30 @@ const generateRestfulComponent = ({ operation, verb, route, operationIds, parame
834
869
 
835
870
  use${componentName}Query.updateCache = (
836
871
  params: ${componentName}Variables,
837
- updater: Updater<${componentName}Response | undefined, ${componentName}Response>,
872
+ updater: Updater<${componentName}Return | undefined, ${componentName}Return>,
838
873
  options?: SetDataOptions | undefined
839
- ) => queryClient.setQueryData<${componentName}Response>(use${componentName}Query.queryKey(params), updater, options);
874
+ ) => queryClient.setQueryData<${componentName}Return>(use${componentName}Query.queryKey(params), updater, options);
840
875
 
841
876
  use${componentName}Query.prefetch = (params: ${componentName}Variables) =>
842
- queryClient.prefetchQuery<${componentName}Response>(use${componentName}Query.queryKey(params), ()=> use${componentName}Query.fetch(params));
877
+ queryClient.prefetchQuery<${componentName}Return>(use${componentName}Query.queryKey(params), ()=> use${componentName}Query.fetch(params));
843
878
 
879
+ use${componentName}Query.cancelQueries = (params: ${componentName}Variables) => queryClient.cancelQueries(use${componentName}Query.queryKey(params))
844
880
  use${componentName}Query.invalidate = (params: ${componentName}Variables) =>
845
- queryClient.invalidateQueries<${componentName}Response>(use${componentName}Query.queryKey(params));
881
+ queryClient.invalidateQueries<${componentName}Return>(use${componentName}Query.queryKey(params));
846
882
 
847
- type ${componentName}QueryProps<T = ${componentName}Response> = ${componentName}Variables & {
848
- options?: UseQueryOptions<${componentName}Response, ${AxiosErrorType}, T, any>
883
+ type ${componentName}QueryProps<T = ${componentName}Return> = ${componentName}Variables & {
884
+ options?: UseQueryOptions<${componentName}Return, AxiosError, T, any>
849
885
  }
850
- export function use${componentName}Query<T = ${componentName}Response>({ options = {}, ...body }: ${componentName}QueryProps<T>) {
851
- return useQuery(use${componentName}Query.queryKey(body), async () => use${componentName}Query.fetch(body),{ enabled: !!body${headerParams
852
- .map((param) => `["${param.name}"]`)
853
- .join(' && !!props')}, ...options }
854
- );}
886
+ export function use${componentName}Query<T = ${componentName}Return>({ options = {}, ...body }: ${componentName}QueryProps<T>) {
887
+ return useQuery(use${componentName}Query.queryKey(body), async () => use${componentName}Query.fetch(body),
888
+ { enabled: ${enabledParam}, ...options }
889
+ );}
855
890
 
856
891
 
857
892
  type ${componentName}MutationProps<T> = {
858
- options?: UseMutationOptions<${componentName}Response, ${AxiosErrorType}, ${componentName}Variables, T>
893
+ options?: UseMutationOptions<${componentName}Return, AxiosError, ${componentName}Variables, T>
859
894
  }
860
- export function use${componentName}Mutation<T = ${componentName}Response>(props?: ${componentName}MutationProps<T>) {
895
+ export function use${componentName}Mutation<T = ${componentName}Return>(props?: ${componentName}MutationProps<T>) {
861
896
  return useMutation(async (body) => use${componentName}Query.fetch(body),
862
897
  props?.options
863
898
  )};`;
@@ -907,9 +942,8 @@ const importOpenApi = async ({ data, format, apiDirectory, queryClientDir, heade
907
942
  } from 'react-query';
908
943
  import { Updater } from 'react-query/types/core/utils';
909
944
 
910
- import queryString from 'query-string';
911
- import {AxiosError} from 'axios';
912
- import { api, AxiosErrorType } from '${apiDirectory}';
945
+ import { AxiosError } from 'axios';
946
+ import { api } from '${apiDirectory}';
913
947
  import { queryClient } from '${queryClientDir}';
914
948
 
915
949
  // SCEHMAS