react-query-lightbase-codegen 0.0.21 → 0.1.2
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.
- package/lib/bin/react-query-codegen-import.js +39 -0
- package/lib/bin/react-query-codegen.js +8 -0
- package/lib/cjs/import-open-api.js +149 -130
- package/lib/esm/import-open-api.js +149 -130
- package/lib/scripts/import-open-api.js +605 -0
- package/lib/types.js +1 -0
- package/package.json +1 -1
|
@@ -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
|
|
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
|
|
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)} *
|
|
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 {
|
|
@@ -399,13 +409,13 @@ const generateRestfulComponent = ({ operation, verb, route, operationIds, parame
|
|
|
399
409
|
// QUERIES
|
|
400
410
|
if (!requestBodyComponent && paramsInPath.length && !queryParam && !headerParam) {
|
|
401
411
|
output += `
|
|
402
|
-
type ${componentName}
|
|
412
|
+
type ${componentName}Return = ${genericsTypes}
|
|
403
413
|
type ${componentName}Variables = {
|
|
404
414
|
${paramsTypes}
|
|
405
415
|
}
|
|
406
416
|
|
|
407
417
|
use${componentName}Query.fetch = async (props: ${componentName}Variables ) => {
|
|
408
|
-
const result = await api.${verb}<${componentName}
|
|
418
|
+
const result = await api.${verb}<${componentName}Return>(\`${route.replace(/\{/g, '{props.')}\`);
|
|
409
419
|
return result.data;
|
|
410
420
|
}
|
|
411
421
|
use${componentName}Query.baseKey = (): QueryKey => ["${componentName.toLowerCase()}"];
|
|
@@ -413,35 +423,36 @@ const generateRestfulComponent = ({ operation, verb, route, operationIds, parame
|
|
|
413
423
|
|
|
414
424
|
use${componentName}Query.updateCache = (
|
|
415
425
|
params: ${componentName}Variables,
|
|
416
|
-
updater: Updater<${componentName}
|
|
426
|
+
updater: Updater<${componentName}Return | undefined, ${componentName}Return>,
|
|
417
427
|
options?: SetDataOptions | undefined
|
|
418
|
-
) => queryClient.setQueryData<${componentName}
|
|
428
|
+
) => queryClient.setQueryData<${componentName}Return>(use${componentName}Query.queryKey(params), updater, options);
|
|
419
429
|
|
|
420
430
|
use${componentName}Query.prefetch = (params: ${componentName}Variables) =>
|
|
421
|
-
queryClient.prefetchQuery<${componentName}
|
|
431
|
+
queryClient.prefetchQuery<${componentName}Return>(use${componentName}Query.queryKey(params), ()=> use${componentName}Query.fetch(params));
|
|
422
432
|
|
|
433
|
+
use${componentName}Query.cancelQueries = (params: ${componentName}Variables) => queryClient.cancelQueries(use${componentName}Query.queryKey(params))
|
|
423
434
|
use${componentName}Query.invalidate = (params: ${componentName}Variables) =>
|
|
424
|
-
queryClient.invalidateQueries<${componentName}
|
|
435
|
+
queryClient.invalidateQueries<${componentName}Return>(use${componentName}Query.queryKey(params));
|
|
425
436
|
|
|
426
|
-
type ${componentName}QueryProps<T = ${componentName}
|
|
427
|
-
options?: UseQueryOptions<${componentName}
|
|
437
|
+
type ${componentName}QueryProps<T = ${componentName}Return> = ${componentName}Variables & {
|
|
438
|
+
options?: UseQueryOptions<${componentName}Return, AxiosError, T, any>
|
|
428
439
|
}
|
|
429
|
-
export function use${componentName}Query<T = ${componentName}
|
|
440
|
+
export function use${componentName}Query<T = ${componentName}Return>({ options = {}, ...props }: ${componentName}QueryProps<T>) {
|
|
430
441
|
return useQuery(use${componentName}Query.queryKey(props), async () => use${componentName}Query.fetch(props),
|
|
431
|
-
{ enabled:
|
|
432
|
-
|
|
442
|
+
{ enabled: ${enabledParam}, ...options }
|
|
443
|
+
);}
|
|
433
444
|
|
|
434
445
|
type ${componentName}MutationProps<T> = {
|
|
435
|
-
options?: UseMutationOptions<${componentName}
|
|
446
|
+
options?: UseMutationOptions<${componentName}Return, AxiosError, ${componentName}Variables, T>
|
|
436
447
|
}
|
|
437
|
-
export function use${componentName}Mutation<T = ${componentName}
|
|
448
|
+
export function use${componentName}Mutation<T = ${componentName}Return>(props?: ${componentName}MutationProps<T>) {
|
|
438
449
|
return useMutation(async (data) => use${componentName}Query.fetch(data),
|
|
439
450
|
props?.options
|
|
440
451
|
)};`;
|
|
441
452
|
}
|
|
442
453
|
if (!requestBodyComponent && paramsInPath.length && queryParam && !headerParam) {
|
|
443
454
|
output += `
|
|
444
|
-
type ${componentName}
|
|
455
|
+
type ${componentName}Return = ${genericsTypes}
|
|
445
456
|
type ${componentName}Variables = {
|
|
446
457
|
${paramsTypes}
|
|
447
458
|
${queryParamsType};
|
|
@@ -450,7 +461,7 @@ const generateRestfulComponent = ({ operation, verb, route, operationIds, parame
|
|
|
450
461
|
use${componentName}Query.fetch = async (props:${componentName}Variables) => {
|
|
451
462
|
const {${paramsInPath.join(', ')}, ...queryParams} = props
|
|
452
463
|
const params = queryString.stringify(queryParams);
|
|
453
|
-
const result = await api.${verb}<${componentName}
|
|
464
|
+
const result = await api.${verb}<${componentName}Return>(\`${route}?\${params}\`)
|
|
454
465
|
return result.data;
|
|
455
466
|
}
|
|
456
467
|
|
|
@@ -459,36 +470,38 @@ const generateRestfulComponent = ({ operation, verb, route, operationIds, parame
|
|
|
459
470
|
|
|
460
471
|
use${componentName}Query.updateCache = (
|
|
461
472
|
params: ${componentName}Variables,
|
|
462
|
-
updater: Updater<${componentName}
|
|
473
|
+
updater: Updater<${componentName}Return | undefined, ${componentName}Return>,
|
|
463
474
|
options?: SetDataOptions | undefined
|
|
464
|
-
) => queryClient.setQueryData<${componentName}
|
|
475
|
+
) => queryClient.setQueryData<${componentName}Return>(use${componentName}Query.queryKey(params), updater, options);
|
|
465
476
|
|
|
466
477
|
use${componentName}Query.prefetch = (params: ${componentName}Variables) =>
|
|
467
|
-
queryClient.prefetchQuery<${componentName}
|
|
478
|
+
queryClient.prefetchQuery<${componentName}Return>(use${componentName}Query.queryKey(params), ()=> use${componentName}Query.fetch(params));
|
|
468
479
|
|
|
480
|
+
use${componentName}Query.cancelQueries = (params: ${componentName}Variables) => queryClient.cancelQueries(use${componentName}Query.queryKey(params))
|
|
469
481
|
use${componentName}Query.invalidate = (params: ${componentName}Variables) =>
|
|
470
|
-
queryClient.invalidateQueries<${componentName}
|
|
482
|
+
queryClient.invalidateQueries<${componentName}Return>(use${componentName}Query.queryKey(params));
|
|
471
483
|
|
|
472
|
-
type ${componentName}QueryProps<T = ${componentName}
|
|
473
|
-
options?: UseQueryOptions<${componentName}
|
|
484
|
+
type ${componentName}QueryProps<T = ${componentName}Return> = ${componentName}Variables & {
|
|
485
|
+
options?: UseQueryOptions<${componentName}Return, AxiosError, T, any>
|
|
474
486
|
}
|
|
475
|
-
export function use${componentName}Query<T = ${componentName}
|
|
476
|
-
return useQuery(use${componentName}Query.queryKey(props), async () => use${componentName}Query.fetch(props),
|
|
487
|
+
export function use${componentName}Query<T = ${componentName}Return>({ options = {}, ...props }: ${componentName}QueryProps<T>) {
|
|
488
|
+
return useQuery(use${componentName}Query.queryKey(props), async () => use${componentName}Query.fetch(props),
|
|
489
|
+
{ enabled: ${enabledParam}, ...options }
|
|
477
490
|
);}
|
|
478
491
|
|
|
479
492
|
type ${componentName}MutationProps<T> = {
|
|
480
|
-
options?: UseMutationOptions<${componentName}
|
|
493
|
+
options?: UseMutationOptions<${componentName}Return, AxiosError, ${componentName}Variables, T>
|
|
481
494
|
}
|
|
482
|
-
export function use${componentName}Mutation<T = ${componentName}
|
|
495
|
+
export function use${componentName}Mutation<T = ${componentName}Return>(props?: ${componentName}MutationProps<T>) {
|
|
483
496
|
return useMutation(async (data) => use${componentName}Query.fetch(data),
|
|
484
497
|
props?.options
|
|
485
498
|
)};`;
|
|
486
499
|
}
|
|
487
500
|
if (!requestBodyComponent && !paramsInPath.length && !queryParam && !headerParam) {
|
|
488
501
|
output += `
|
|
489
|
-
type ${componentName}
|
|
502
|
+
type ${componentName}Return = ${genericsTypes}
|
|
490
503
|
use${componentName}Query.fetch = async () => {
|
|
491
|
-
const result = await api.${verb}<${componentName}
|
|
504
|
+
const result = await api.${verb}<${componentName}Return>(\`${route}\`);
|
|
492
505
|
return result.data;
|
|
493
506
|
}
|
|
494
507
|
use${componentName}Query.baseKey = (): QueryKey => ["${componentName.toLowerCase()}"];
|
|
@@ -496,35 +509,37 @@ const generateRestfulComponent = ({ operation, verb, route, operationIds, parame
|
|
|
496
509
|
|
|
497
510
|
use${componentName}Query.updateCache = (
|
|
498
511
|
params: undefined,
|
|
499
|
-
updater: Updater<${componentName}
|
|
512
|
+
updater: Updater<${componentName}Return | undefined, ${componentName}Return>,
|
|
500
513
|
options?: SetDataOptions | undefined
|
|
501
|
-
) => queryClient.setQueryData<${componentName}
|
|
514
|
+
) => queryClient.setQueryData<${componentName}Return>(use${componentName}Query.queryKey(), updater, options);
|
|
502
515
|
|
|
503
516
|
use${componentName}Query.prefetch = () =>
|
|
504
|
-
queryClient.prefetchQuery<${componentName}
|
|
517
|
+
queryClient.prefetchQuery<${componentName}Return>(use${componentName}Query.queryKey(), ()=> use${componentName}Query.fetch());
|
|
505
518
|
|
|
519
|
+
use${componentName}Query.cancelQueries = () => queryClient.cancelQueries(use${componentName}Query.queryKey())
|
|
506
520
|
use${componentName}Query.invalidate = () =>
|
|
507
|
-
queryClient.invalidateQueries<${componentName}
|
|
521
|
+
queryClient.invalidateQueries<${componentName}Return>(use${componentName}Query.queryKey());
|
|
508
522
|
|
|
509
523
|
|
|
510
|
-
type ${componentName}QueryProps<T = ${componentName}
|
|
511
|
-
options?: UseQueryOptions<${componentName}
|
|
524
|
+
type ${componentName}QueryProps<T = ${componentName}Return> = {
|
|
525
|
+
options?: UseQueryOptions<${componentName}Return, AxiosError, T, any>
|
|
512
526
|
}
|
|
513
|
-
export function use${componentName}Query<T = ${componentName}
|
|
527
|
+
export function use${componentName}Query<T = ${componentName}Return>(props?: ${componentName}QueryProps<T>) {
|
|
514
528
|
return useQuery(use${componentName}Query.queryKey(), use${componentName}Query.fetch, props?.options
|
|
515
529
|
);}
|
|
516
530
|
|
|
517
531
|
type ${componentName}MutationProps<T> = {
|
|
518
|
-
options?: UseMutationOptions<${componentName}
|
|
532
|
+
options?: UseMutationOptions<${componentName}Return, AxiosError, void, T>
|
|
519
533
|
}
|
|
520
|
-
export function use${componentName}Mutation<T = ${componentName}
|
|
534
|
+
export function use${componentName}Mutation<T = ${componentName}Return>(props?: ${componentName}MutationProps<T>) {
|
|
521
535
|
return useMutation(async () => use${componentName}Query.fetch(),
|
|
522
536
|
props?.options
|
|
523
537
|
)};`;
|
|
524
538
|
}
|
|
525
539
|
if (!requestBodyComponent && !paramsInPath.length && queryParam && !headerParam) {
|
|
526
540
|
output += `
|
|
527
|
-
|
|
541
|
+
|
|
542
|
+
type ${componentName}Return = ${genericsTypes}
|
|
528
543
|
type ${componentName}Variables = {
|
|
529
544
|
${queryParamsType}
|
|
530
545
|
}
|
|
@@ -533,7 +548,7 @@ const generateRestfulComponent = ({ operation, verb, route, operationIds, parame
|
|
|
533
548
|
const params = queryString.stringify({${queryParams
|
|
534
549
|
.map((param) => `"${param.name}": props["${param.name}"]`)
|
|
535
550
|
.join(',')}});
|
|
536
|
-
const result = await api.${verb}<${componentName}
|
|
551
|
+
const result = await api.${verb}<${componentName}Return>(\`${route}?\${params}\`)
|
|
537
552
|
return result.data;
|
|
538
553
|
}
|
|
539
554
|
|
|
@@ -542,22 +557,23 @@ const generateRestfulComponent = ({ operation, verb, route, operationIds, parame
|
|
|
542
557
|
|
|
543
558
|
use${componentName}Query.updateCache = (
|
|
544
559
|
params: ${componentName}Variables,
|
|
545
|
-
updater: Updater<${componentName}
|
|
560
|
+
updater: Updater<${componentName}Return | undefined, ${componentName}Return>,
|
|
546
561
|
options?: SetDataOptions | undefined
|
|
547
|
-
) => queryClient.setQueryData<${componentName}
|
|
562
|
+
) => queryClient.setQueryData<${componentName}Return>(use${componentName}Query.queryKey(params), updater, options);
|
|
548
563
|
|
|
549
564
|
use${componentName}Query.prefetch = (params: ${componentName}Variables) =>
|
|
550
|
-
queryClient.prefetchQuery<${componentName}
|
|
565
|
+
queryClient.prefetchQuery<${componentName}Return>(use${componentName}Query.queryKey(params), ()=> use${componentName}Query.fetch(params));
|
|
551
566
|
|
|
567
|
+
use${componentName}Query.cancelQueries = (params: ${componentName}Variables) => queryClient.cancelQueries(use${componentName}Query.queryKey(params))
|
|
552
568
|
use${componentName}Query.invalidate = (params: ${componentName}Variables) =>
|
|
553
|
-
queryClient.invalidateQueries<${componentName}
|
|
569
|
+
queryClient.invalidateQueries<${componentName}Return>(use${componentName}Query.queryKey(params));
|
|
554
570
|
|
|
555
|
-
export function use${componentName}Query<T = ${componentName}
|
|
571
|
+
export function use${componentName}Query<T = ${componentName}Return>({ options = {}, ...props }: ${componentName}Variables & { options?: UseQueryOptions<${componentName}Return, AxiosError, T, any>}) {
|
|
556
572
|
return useQuery(use${componentName}Query.queryKey(props), async () => use${componentName}Query.fetch(props),
|
|
557
|
-
{ enabled:
|
|
573
|
+
{ enabled: ${enabledParam}, ...options }
|
|
558
574
|
);}
|
|
559
575
|
|
|
560
|
-
export function use${componentName}Mutation<T = ${componentName}
|
|
576
|
+
export function use${componentName}Mutation<T = ${componentName}Return>(props?: { options?: UseMutationOptions<${componentName}Return, AxiosError, ${componentName}Variables, T>}) {
|
|
561
577
|
return useMutation(async (data) => use${componentName}Query.fetch(data),
|
|
562
578
|
props?.options
|
|
563
579
|
)};
|
|
@@ -565,11 +581,11 @@ const generateRestfulComponent = ({ operation, verb, route, operationIds, parame
|
|
|
565
581
|
}
|
|
566
582
|
if (requestBodyComponent && !paramsInPath.length && !queryParam && !headerParam) {
|
|
567
583
|
output += `
|
|
568
|
-
type ${componentName}
|
|
584
|
+
type ${componentName}Return = ${genericsTypes}
|
|
569
585
|
type ${componentName}Variables = ${requestBodyComponent};
|
|
570
586
|
|
|
571
587
|
use${componentName}Query.fetch = async (body: ${componentName}Variables) => {
|
|
572
|
-
const result = await api.${verb}<${componentName}
|
|
588
|
+
const result = await api.${verb}<${componentName}Return>(\`${route}\`, body)
|
|
573
589
|
return result.data
|
|
574
590
|
}
|
|
575
591
|
|
|
@@ -578,45 +594,48 @@ const generateRestfulComponent = ({ operation, verb, route, operationIds, parame
|
|
|
578
594
|
|
|
579
595
|
use${componentName}Query.updateCache = (
|
|
580
596
|
params: ${componentName}Variables,
|
|
581
|
-
updater: Updater<${componentName}
|
|
597
|
+
updater: Updater<${componentName}Return | undefined, ${componentName}Return>,
|
|
582
598
|
options?: SetDataOptions | undefined
|
|
583
|
-
) => queryClient.setQueryData<${componentName}
|
|
599
|
+
) => queryClient.setQueryData<${componentName}Return>(use${componentName}Query.queryKey(params), updater, options);
|
|
584
600
|
|
|
585
601
|
use${componentName}Query.prefetch = (params: ${componentName}Variables) =>
|
|
586
|
-
queryClient.prefetchQuery<${componentName}
|
|
602
|
+
queryClient.prefetchQuery<${componentName}Return>(use${componentName}Query.queryKey(params), ()=> use${componentName}Query.fetch(params));
|
|
587
603
|
|
|
604
|
+
use${componentName}Query.cancelQueries = (params: ${componentName}Variables) => queryClient.cancelQueries(use${componentName}Query.queryKey(params))
|
|
588
605
|
use${componentName}Query.invalidate = (params: ${componentName}Variables) =>
|
|
589
|
-
queryClient.invalidateQueries<${componentName}
|
|
606
|
+
queryClient.invalidateQueries<${componentName}Return>(use${componentName}Query.queryKey(params));
|
|
590
607
|
|
|
591
608
|
|
|
592
|
-
type ${componentName}QueryProps<T = ${componentName}
|
|
593
|
-
options?: UseQueryOptions<${componentName}
|
|
609
|
+
type ${componentName}QueryProps<T = ${componentName}Return> = ${componentName}Variables & {
|
|
610
|
+
options?: UseQueryOptions<${componentName}Return, AxiosError, T, any>
|
|
594
611
|
}
|
|
595
|
-
export function use${componentName}Query<T = ${componentName}
|
|
612
|
+
export function use${componentName}Query<T = ${componentName}Return>({ options = {}, ...body }: ${componentName}QueryProps<T>) {
|
|
596
613
|
return useQuery(use${componentName}Query.queryKey(body), async () => use${componentName}Query.fetch(body), options
|
|
597
614
|
);}
|
|
598
615
|
|
|
599
616
|
type ${componentName}MutationProps<T> = {
|
|
600
|
-
options?: UseMutationOptions<${componentName}
|
|
617
|
+
options?: UseMutationOptions<${componentName}Return, AxiosError, ${componentName}Variables, T>
|
|
601
618
|
}
|
|
602
|
-
export function use${componentName}Mutation<T = ${componentName}
|
|
619
|
+
export function use${componentName}Mutation<T = ${componentName}Return>(props?: ${componentName}MutationProps<T>) {
|
|
603
620
|
return useMutation(async (body) => use${componentName}Query.fetch(body),
|
|
604
621
|
props?.options
|
|
605
622
|
)};`;
|
|
606
623
|
}
|
|
607
624
|
if (requestBodyComponent && paramsInPath.length && !queryParam && !headerParam) {
|
|
608
625
|
output += `
|
|
609
|
-
type ${componentName}
|
|
626
|
+
type ${componentName}Return = ${genericsTypes}
|
|
610
627
|
type ${componentName}Variables = {
|
|
611
|
-
body: ${requestBodyComponent}
|
|
628
|
+
body: ${requestBodyComponent}
|
|
629
|
+
${paramsTypes}
|
|
630
|
+
}
|
|
612
631
|
|
|
613
|
-
type ${componentName}QueryProps<T = ${componentName}
|
|
614
|
-
options?: UseQueryOptions<${componentName}
|
|
632
|
+
type ${componentName}QueryProps<T = ${componentName}Return> = ${componentName}Variables & {
|
|
633
|
+
options?: UseQueryOptions<${componentName}Return, AxiosError, T, any>
|
|
615
634
|
}
|
|
616
635
|
|
|
617
636
|
use${componentName}Query.fetch = async (props: ${componentName}Variables) => {
|
|
618
637
|
const {${paramsInPath.join(', ')}, ...body} = props
|
|
619
|
-
const result = await api.${verb}<${componentName}
|
|
638
|
+
const result = await api.${verb}<${componentName}Return>(\`${route}\`, body)
|
|
620
639
|
return result.data
|
|
621
640
|
}
|
|
622
641
|
use${componentName}Query.baseKey = (): QueryKey => ["${componentName.toLowerCase()}"];
|
|
@@ -624,46 +643,48 @@ const generateRestfulComponent = ({ operation, verb, route, operationIds, parame
|
|
|
624
643
|
|
|
625
644
|
use${componentName}Query.updateCache = (
|
|
626
645
|
params: ${componentName}Variables,
|
|
627
|
-
updater: Updater<${componentName}
|
|
646
|
+
updater: Updater<${componentName}Return | undefined, ${componentName}Return>,
|
|
628
647
|
options?: SetDataOptions | undefined
|
|
629
|
-
) => queryClient.setQueryData<${componentName}
|
|
648
|
+
) => queryClient.setQueryData<${componentName}Return>(use${componentName}Query.queryKey(params), updater, options);
|
|
630
649
|
|
|
631
650
|
use${componentName}Query.prefetch = (params: ${componentName}Variables) =>
|
|
632
|
-
queryClient.prefetchQuery<${componentName}
|
|
651
|
+
queryClient.prefetchQuery<${componentName}Return>(use${componentName}Query.queryKey(params), ()=> use${componentName}Query.fetch(params));
|
|
633
652
|
|
|
653
|
+
use${componentName}Query.cancelQueries = (params: ${componentName}Variables) => queryClient.cancelQueries(use${componentName}Query.queryKey(params))
|
|
634
654
|
use${componentName}Query.invalidate = (params: ${componentName}Variables) =>
|
|
635
|
-
queryClient.invalidateQueries<${componentName}
|
|
655
|
+
queryClient.invalidateQueries<${componentName}Return>(use${componentName}Query.queryKey(params));
|
|
636
656
|
|
|
637
657
|
|
|
638
|
-
export function use${componentName}Query<T = ${componentName}
|
|
639
|
-
return useQuery(use${componentName}Query.queryKey(props), async () => use${componentName}Query.fetch(props),
|
|
658
|
+
export function use${componentName}Query<T = ${componentName}Return>({ options = {}, ...props }: ${componentName}QueryProps<T>) {
|
|
659
|
+
return useQuery(use${componentName}Query.queryKey(props), async () => use${componentName}Query.fetch(props),
|
|
660
|
+
{ enabled: ${enabledParam}, ...options }
|
|
640
661
|
);}
|
|
641
662
|
|
|
642
663
|
type ${componentName}MutationProps<T> = {
|
|
643
|
-
options?: UseMutationOptions<${componentName}
|
|
664
|
+
options?: UseMutationOptions<${componentName}Return, AxiosError, ${componentName}Variables, T>
|
|
644
665
|
}
|
|
645
|
-
export function use${componentName}Mutation<T = ${componentName}
|
|
666
|
+
export function use${componentName}Mutation<T = ${componentName}Return>(props?: ${componentName}MutationProps<T>) {
|
|
646
667
|
return useMutation(async (body) => use${componentName}Query.fetch(body),
|
|
647
668
|
props?.options
|
|
648
669
|
)};`;
|
|
649
670
|
}
|
|
650
671
|
if (requestBodyComponent && !paramsInPath.length && queryParam && !headerParam) {
|
|
651
672
|
output += `
|
|
652
|
-
type ${componentName}
|
|
673
|
+
type ${componentName}Return = ${genericsTypes}
|
|
653
674
|
type ${componentName}Variables = {
|
|
654
675
|
body: ${requestBodyComponent}
|
|
655
676
|
${queryParamsType}
|
|
656
677
|
}
|
|
657
678
|
|
|
658
|
-
type ${componentName}QueryProps<T = ${componentName}
|
|
659
|
-
options?: UseQueryOptions<${componentName}
|
|
679
|
+
type ${componentName}QueryProps<T = ${componentName}Return> = ${componentName}Variables & {
|
|
680
|
+
options?: UseQueryOptions<${componentName}Return, AxiosError, T, any>
|
|
660
681
|
}
|
|
661
682
|
|
|
662
683
|
use${componentName}Query.fetch = async (props: ${componentName}Variables) => {
|
|
663
684
|
const params = queryString.stringify({
|
|
664
685
|
${queryParams.map((param) => `["${param.name}"]: props["${param.name}"]`).join(',')}
|
|
665
686
|
});
|
|
666
|
-
const result = await api.${verb}<${componentName}
|
|
687
|
+
const result = await api.${verb}<${componentName}Return>(\`${route}?\${params}\`, props.body)
|
|
667
688
|
return result.data
|
|
668
689
|
}
|
|
669
690
|
use${componentName}Query.baseKey = (): QueryKey => ["${componentName.toLowerCase()}"];
|
|
@@ -671,28 +692,28 @@ const generateRestfulComponent = ({ operation, verb, route, operationIds, parame
|
|
|
671
692
|
|
|
672
693
|
use${componentName}Query.updateCache = (
|
|
673
694
|
params: ${componentName}Variables,
|
|
674
|
-
updater: Updater<${componentName}
|
|
695
|
+
updater: Updater<${componentName}Return | undefined, ${componentName}Return>,
|
|
675
696
|
options?: SetDataOptions | undefined
|
|
676
|
-
) => queryClient.setQueryData<${componentName}
|
|
697
|
+
) => queryClient.setQueryData<${componentName}Return>(use${componentName}Query.queryKey(params), updater, options);
|
|
677
698
|
|
|
678
699
|
use${componentName}Query.prefetch = (params: ${componentName}Variables) =>
|
|
679
|
-
queryClient.prefetchQuery<${componentName}
|
|
700
|
+
queryClient.prefetchQuery<${componentName}Return>(use${componentName}Query.queryKey(params), ()=> use${componentName}Query.fetch(params));
|
|
680
701
|
|
|
702
|
+
use${componentName}Query.cancelQueries = (params: ${componentName}Variables) => queryClient.cancelQueries(use${componentName}Query.queryKey(params))
|
|
681
703
|
use${componentName}Query.invalidate = (params: ${componentName}Variables) =>
|
|
682
|
-
queryClient.invalidateQueries<${componentName}
|
|
704
|
+
queryClient.invalidateQueries<${componentName}Return>(use${componentName}Query.queryKey(params));
|
|
683
705
|
|
|
684
706
|
|
|
685
|
-
export function use${componentName}Query<T = ${componentName}
|
|
686
|
-
return useQuery(use${componentName}Query.queryKey(props), async () => use${componentName}Query.fetch(props),
|
|
687
|
-
|
|
688
|
-
.join(' && !!props')}, ...options }
|
|
707
|
+
export function use${componentName}Query<T = ${componentName}Return>({ options = {}, ...props }: ${componentName}QueryProps<T>) {
|
|
708
|
+
return useQuery(use${componentName}Query.queryKey(props), async () => use${componentName}Query.fetch(props),
|
|
709
|
+
{ enabled: ${enabledParam}, ...options }
|
|
689
710
|
);}
|
|
690
711
|
|
|
691
712
|
|
|
692
713
|
type ${componentName}MutationProps<T> = {
|
|
693
|
-
options?: UseMutationOptions<${componentName}
|
|
714
|
+
options?: UseMutationOptions<${componentName}Return, AxiosError, ${componentName}Variables, T>
|
|
694
715
|
}
|
|
695
|
-
export function use${componentName}Mutation<T = ${componentName}
|
|
716
|
+
export function use${componentName}Mutation<T = ${componentName}Return>(props?: ${componentName}MutationProps<T>) {
|
|
696
717
|
return useMutation(async (body) => use${componentName}Query.fetch(body),
|
|
697
718
|
props?.options
|
|
698
719
|
)};`;
|
|
@@ -714,13 +735,13 @@ const generateRestfulComponent = ({ operation, verb, route, operationIds, parame
|
|
|
714
735
|
}
|
|
715
736
|
if (!requestBodyComponent && !paramsInPath.length && !queryParam && headerParam) {
|
|
716
737
|
output += `
|
|
717
|
-
type ${componentName}
|
|
738
|
+
type ${componentName}Return = ${genericsTypes}
|
|
718
739
|
type ${componentName}Variables = {
|
|
719
740
|
${headerParam}
|
|
720
741
|
};
|
|
721
742
|
|
|
722
743
|
use${componentName}Query.fetch = async (headers: ${componentName}Variables) => {
|
|
723
|
-
const result = await api.${verb}<${componentName}
|
|
744
|
+
const result = await api.${verb}<${componentName}Return>(\`${route}\`, {headers: headers});
|
|
724
745
|
return result.data;
|
|
725
746
|
}
|
|
726
747
|
|
|
@@ -729,38 +750,37 @@ const generateRestfulComponent = ({ operation, verb, route, operationIds, parame
|
|
|
729
750
|
|
|
730
751
|
use${componentName}Query.updateCache = (
|
|
731
752
|
params: ${componentName}Variables,
|
|
732
|
-
updater: Updater<${componentName}
|
|
753
|
+
updater: Updater<${componentName}Return | undefined, ${componentName}Return>,
|
|
733
754
|
options?: SetDataOptions | undefined
|
|
734
|
-
) => queryClient.setQueryData<${componentName}
|
|
755
|
+
) => queryClient.setQueryData<${componentName}Return>(use${componentName}Query.queryKey(params), updater, options);
|
|
735
756
|
|
|
736
757
|
use${componentName}Query.prefetch = (params: ${componentName}Variables) =>
|
|
737
|
-
queryClient.prefetchQuery<${componentName}
|
|
758
|
+
queryClient.prefetchQuery<${componentName}Return>(use${componentName}Query.queryKey(params), ()=> use${componentName}Query.fetch(params));
|
|
738
759
|
|
|
760
|
+
use${componentName}Query.cancelQueries = (params: ${componentName}Variables) => queryClient.cancelQueries(use${componentName}Query.queryKey(params))
|
|
739
761
|
use${componentName}Query.invalidate = (params: ${componentName}Variables) =>
|
|
740
|
-
queryClient.invalidateQueries<${componentName}
|
|
762
|
+
queryClient.invalidateQueries<${componentName}Return>(use${componentName}Query.queryKey(params));
|
|
741
763
|
|
|
742
764
|
|
|
743
|
-
type ${componentName}QueryProps<T = ${componentName}
|
|
744
|
-
options?: UseQueryOptions<${componentName}
|
|
765
|
+
type ${componentName}QueryProps<T = ${componentName}Return> = ${componentName}Variables & {
|
|
766
|
+
options?: UseQueryOptions<${componentName}Return, AxiosError, T, any>
|
|
745
767
|
}
|
|
746
|
-
export function use${componentName}Query<T = ${componentName}
|
|
768
|
+
export function use${componentName}Query<T = ${componentName}Return>({ options = {}, ...props }: ${componentName}QueryProps<T>) {
|
|
747
769
|
return useQuery(use${componentName}Query.queryKey(props), async () => use${componentName}Query.fetch(props),
|
|
748
|
-
{ enabled:
|
|
770
|
+
{ enabled: ${enabledParam}, ...options }
|
|
749
771
|
);}
|
|
750
772
|
|
|
751
|
-
|
|
752
|
-
|
|
753
773
|
type ${componentName}MutationProps<T> = {
|
|
754
|
-
options?: UseMutationOptions<${componentName}
|
|
774
|
+
options?: UseMutationOptions<${componentName}Return, AxiosError, ${componentName}Variables, T>
|
|
755
775
|
}
|
|
756
|
-
export function use${componentName}Mutation<T = ${componentName}
|
|
776
|
+
export function use${componentName}Mutation<T = ${componentName}Return>(props?: ${componentName}MutationProps<T>) {
|
|
757
777
|
return useMutation(async (data) => use${componentName}Query.fetch(data),
|
|
758
778
|
props?.options
|
|
759
779
|
)};`;
|
|
760
780
|
}
|
|
761
781
|
if (!requestBodyComponent && !paramsInPath.length && queryParam && headerParam) {
|
|
762
782
|
output += `
|
|
763
|
-
type ${componentName}
|
|
783
|
+
type ${componentName}Return = ${genericsTypes}
|
|
764
784
|
|
|
765
785
|
type ${componentName}Variables = {
|
|
766
786
|
${headerParam}
|
|
@@ -774,7 +794,7 @@ const generateRestfulComponent = ({ operation, verb, route, operationIds, parame
|
|
|
774
794
|
const headers = {
|
|
775
795
|
${headerParams.map((p) => `"${p.name}": data["${p.name}"]`).join(',')}
|
|
776
796
|
}
|
|
777
|
-
const result = await api.${verb}<${componentName}
|
|
797
|
+
const result = await api.${verb}<${componentName}Return>(\`${route}?\${params}\`, {headers})
|
|
778
798
|
return result.data;
|
|
779
799
|
}
|
|
780
800
|
use${componentName}Query.baseKey = (): QueryKey => ["${componentName.toLowerCase()}"];
|
|
@@ -782,38 +802,37 @@ const generateRestfulComponent = ({ operation, verb, route, operationIds, parame
|
|
|
782
802
|
|
|
783
803
|
use${componentName}Query.updateCache = (
|
|
784
804
|
params: ${componentName}Variables,
|
|
785
|
-
updater: Updater<${componentName}
|
|
805
|
+
updater: Updater<${componentName}Return | undefined, ${componentName}Return>,
|
|
786
806
|
options?: SetDataOptions | undefined
|
|
787
|
-
) => queryClient.setQueryData<${componentName}
|
|
807
|
+
) => queryClient.setQueryData<${componentName}Return>(use${componentName}Query.queryKey(params), updater, options);
|
|
788
808
|
|
|
789
809
|
use${componentName}Query.prefetch = (params: ${componentName}Variables) =>
|
|
790
|
-
queryClient.prefetchQuery<${componentName}
|
|
810
|
+
queryClient.prefetchQuery<${componentName}Return>(use${componentName}Query.queryKey(params), ()=> use${componentName}Query.fetch(params));
|
|
791
811
|
|
|
792
|
-
use${componentName}Query.
|
|
793
|
-
|
|
812
|
+
use${componentName}Query.cancelQueries = (params: ${componentName}Variables) => queryClient.cancelQueries(use${componentName}Query.queryKey(params))
|
|
813
|
+
use${componentName}Query.invalidate = (params: ${componentName}Variables) =>
|
|
814
|
+
queryClient.invalidateQueries<${componentName}Return>(use${componentName}Query.queryKey(params));
|
|
794
815
|
|
|
795
|
-
type ${componentName}QueryProps<T = ${componentName}
|
|
796
|
-
options?: UseQueryOptions<${componentName}
|
|
816
|
+
type ${componentName}QueryProps<T = ${componentName}Return> = ${componentName}Variables & {
|
|
817
|
+
options?: UseQueryOptions<${componentName}Return, AxiosError, T, any>
|
|
797
818
|
}
|
|
798
|
-
export function use${componentName}Query<T = ${componentName}
|
|
819
|
+
export function use${componentName}Query<T = ${componentName}Return>({ options = {}, ...props }: ${componentName}QueryProps<T>) {
|
|
799
820
|
return useQuery(use${componentName}Query.queryKey(props), async () => use${componentName}Query.fetch(props),
|
|
800
|
-
{
|
|
801
|
-
.map((param) => `["${param.name}"]`)
|
|
802
|
-
.join(' && !!props')}, ...options }
|
|
821
|
+
{ enabled: ${enabledParam}, ...options }
|
|
803
822
|
);}
|
|
804
823
|
|
|
805
824
|
type ${componentName}MutationProps<T> = {
|
|
806
|
-
options?: UseMutationOptions<${componentName}
|
|
825
|
+
options?: UseMutationOptions<${componentName}Return, AxiosError, ${componentName}Variables, T>
|
|
807
826
|
}
|
|
808
827
|
|
|
809
|
-
export function use${componentName}Mutation<T = ${componentName}
|
|
828
|
+
export function use${componentName}Mutation<T = ${componentName}Return>(props?: ${componentName}MutationProps<T>) {
|
|
810
829
|
return useMutation(async (data) => use${componentName}Query.fetch(data),
|
|
811
830
|
props?.options
|
|
812
831
|
)};`;
|
|
813
832
|
}
|
|
814
833
|
if (requestBodyComponent && !paramsInPath.length && !queryParam && headerParam) {
|
|
815
834
|
output += `
|
|
816
|
-
type ${componentName}
|
|
835
|
+
type ${componentName}Return = ${genericsTypes}
|
|
817
836
|
|
|
818
837
|
type ${componentName}Variables = {
|
|
819
838
|
body: ${requestBodyComponent}
|
|
@@ -824,7 +843,7 @@ const generateRestfulComponent = ({ operation, verb, route, operationIds, parame
|
|
|
824
843
|
const headers = {
|
|
825
844
|
${headerParams.map((param) => `"${param.name}": body["${param.name}"]`).join(',')}
|
|
826
845
|
}
|
|
827
|
-
const result = await api.${verb}<${componentName}
|
|
846
|
+
const result = await api.${verb}<${componentName}Return>(\`${route}\`, body, {headers})
|
|
828
847
|
return result.data
|
|
829
848
|
}
|
|
830
849
|
|
|
@@ -833,30 +852,30 @@ const generateRestfulComponent = ({ operation, verb, route, operationIds, parame
|
|
|
833
852
|
|
|
834
853
|
use${componentName}Query.updateCache = (
|
|
835
854
|
params: ${componentName}Variables,
|
|
836
|
-
updater: Updater<${componentName}
|
|
855
|
+
updater: Updater<${componentName}Return | undefined, ${componentName}Return>,
|
|
837
856
|
options?: SetDataOptions | undefined
|
|
838
|
-
) => queryClient.setQueryData<${componentName}
|
|
857
|
+
) => queryClient.setQueryData<${componentName}Return>(use${componentName}Query.queryKey(params), updater, options);
|
|
839
858
|
|
|
840
859
|
use${componentName}Query.prefetch = (params: ${componentName}Variables) =>
|
|
841
|
-
queryClient.prefetchQuery<${componentName}
|
|
860
|
+
queryClient.prefetchQuery<${componentName}Return>(use${componentName}Query.queryKey(params), ()=> use${componentName}Query.fetch(params));
|
|
842
861
|
|
|
862
|
+
use${componentName}Query.cancelQueries = (params: ${componentName}Variables) => queryClient.cancelQueries(use${componentName}Query.queryKey(params))
|
|
843
863
|
use${componentName}Query.invalidate = (params: ${componentName}Variables) =>
|
|
844
|
-
queryClient.invalidateQueries<${componentName}
|
|
864
|
+
queryClient.invalidateQueries<${componentName}Return>(use${componentName}Query.queryKey(params));
|
|
845
865
|
|
|
846
|
-
type ${componentName}QueryProps<T = ${componentName}
|
|
847
|
-
options?: UseQueryOptions<${componentName}
|
|
866
|
+
type ${componentName}QueryProps<T = ${componentName}Return> = ${componentName}Variables & {
|
|
867
|
+
options?: UseQueryOptions<${componentName}Return, AxiosError, T, any>
|
|
848
868
|
}
|
|
849
|
-
export function use${componentName}Query<T = ${componentName}
|
|
850
|
-
return useQuery(use${componentName}Query.queryKey(body), async () => use${componentName}Query.fetch(body),
|
|
851
|
-
|
|
852
|
-
|
|
853
|
-
);}
|
|
869
|
+
export function use${componentName}Query<T = ${componentName}Return>({ options = {}, ...body }: ${componentName}QueryProps<T>) {
|
|
870
|
+
return useQuery(use${componentName}Query.queryKey(body), async () => use${componentName}Query.fetch(body),
|
|
871
|
+
{ enabled: ${enabledParam}, ...options }
|
|
872
|
+
);}
|
|
854
873
|
|
|
855
874
|
|
|
856
875
|
type ${componentName}MutationProps<T> = {
|
|
857
|
-
options?: UseMutationOptions<${componentName}
|
|
876
|
+
options?: UseMutationOptions<${componentName}Return, AxiosError, ${componentName}Variables, T>
|
|
858
877
|
}
|
|
859
|
-
export function use${componentName}Mutation<T = ${componentName}
|
|
878
|
+
export function use${componentName}Mutation<T = ${componentName}Return>(props?: ${componentName}MutationProps<T>) {
|
|
860
879
|
return useMutation(async (body) => use${componentName}Query.fetch(body),
|
|
861
880
|
props?.options
|
|
862
881
|
)};`;
|