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