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.
- 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 +176 -142
- package/lib/esm/import-open-api.js +176 -142
- 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 {
|
|
@@ -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
|
-
|
|
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}
|
|
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}
|
|
427
|
+
updater: Updater<${componentName}Return | undefined, ${componentName}Return>,
|
|
418
428
|
options?: SetDataOptions | undefined
|
|
419
|
-
) => queryClient.setQueryData<${componentName}
|
|
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}
|
|
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}
|
|
436
|
+
queryClient.invalidateQueries<${componentName}Return>(use${componentName}Query.queryKey(params));
|
|
426
437
|
|
|
427
|
-
type ${componentName}QueryProps<T = ${componentName}
|
|
428
|
-
options?: UseQueryOptions<${componentName}
|
|
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}
|
|
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:
|
|
433
|
-
|
|
443
|
+
{ enabled: ${enabledParam}, ...options }
|
|
444
|
+
);}
|
|
434
445
|
|
|
435
446
|
type ${componentName}MutationProps<T> = {
|
|
436
|
-
options?: UseMutationOptions<${componentName}
|
|
447
|
+
options?: UseMutationOptions<${componentName}Return, AxiosError, ${componentName}Variables, T>
|
|
437
448
|
}
|
|
438
|
-
export function use${componentName}Mutation<T = ${componentName}
|
|
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
|
-
|
|
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}
|
|
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}
|
|
477
|
+
updater: Updater<${componentName}Return | undefined, ${componentName}Return>,
|
|
464
478
|
options?: SetDataOptions | undefined
|
|
465
|
-
) => queryClient.setQueryData<${componentName}
|
|
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}
|
|
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}
|
|
486
|
+
queryClient.invalidateQueries<${componentName}Return>(use${componentName}Query.queryKey(params));
|
|
472
487
|
|
|
473
|
-
type ${componentName}QueryProps<T = ${componentName}
|
|
474
|
-
options?: UseQueryOptions<${componentName}
|
|
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}
|
|
477
|
-
return useQuery(use${componentName}Query.queryKey(props), async () => use${componentName}Query.fetch(props),
|
|
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}
|
|
497
|
+
options?: UseMutationOptions<${componentName}Return, AxiosError, ${componentName}Variables, T>
|
|
482
498
|
}
|
|
483
|
-
export function use${componentName}Mutation<T = ${componentName}
|
|
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
|
-
|
|
506
|
+
// type3
|
|
507
|
+
type ${componentName}Return = ${genericsTypes}
|
|
491
508
|
use${componentName}Query.fetch = async () => {
|
|
492
|
-
const result = await api.${verb}<${componentName}
|
|
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:
|
|
500
|
-
updater: Updater<${componentName}
|
|
516
|
+
params: undefined,
|
|
517
|
+
updater: Updater<${componentName}Return | undefined, ${componentName}Return>,
|
|
501
518
|
options?: SetDataOptions | undefined
|
|
502
|
-
) => queryClient.setQueryData<${componentName}
|
|
519
|
+
) => queryClient.setQueryData<${componentName}Return>(use${componentName}Query.queryKey(), updater, options);
|
|
503
520
|
|
|
504
|
-
use${componentName}Query.prefetch = (
|
|
505
|
-
queryClient.prefetchQuery<${componentName}
|
|
521
|
+
use${componentName}Query.prefetch = () =>
|
|
522
|
+
queryClient.prefetchQuery<${componentName}Return>(use${componentName}Query.queryKey(), ()=> use${componentName}Query.fetch());
|
|
506
523
|
|
|
507
|
-
use${componentName}Query.
|
|
508
|
-
|
|
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}
|
|
512
|
-
options?: UseQueryOptions<${componentName}
|
|
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}
|
|
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}
|
|
537
|
+
options?: UseMutationOptions<${componentName}Return, AxiosError, void, T>
|
|
520
538
|
}
|
|
521
|
-
export function use${componentName}Mutation<T = ${componentName}
|
|
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
|
-
|
|
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}
|
|
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}
|
|
568
|
+
updater: Updater<${componentName}Return | undefined, ${componentName}Return>,
|
|
547
569
|
options?: SetDataOptions | undefined
|
|
548
|
-
) => queryClient.setQueryData<${componentName}
|
|
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}
|
|
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}
|
|
577
|
+
queryClient.invalidateQueries<${componentName}Return>(use${componentName}Query.queryKey(params));
|
|
555
578
|
|
|
556
|
-
export function use${componentName}Query<T = ${componentName}
|
|
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:
|
|
581
|
+
{ enabled: ${enabledParam}, ...options }
|
|
559
582
|
);}
|
|
560
583
|
|
|
561
|
-
export function use${componentName}Mutation<T = ${componentName}
|
|
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
|
-
|
|
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}
|
|
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}
|
|
606
|
+
updater: Updater<${componentName}Return | undefined, ${componentName}Return>,
|
|
583
607
|
options?: SetDataOptions | undefined
|
|
584
|
-
) => queryClient.setQueryData<${componentName}
|
|
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}
|
|
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}
|
|
615
|
+
queryClient.invalidateQueries<${componentName}Return>(use${componentName}Query.queryKey(params));
|
|
591
616
|
|
|
592
617
|
|
|
593
|
-
type ${componentName}QueryProps<T = ${componentName}
|
|
594
|
-
options?: UseQueryOptions<${componentName}
|
|
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}
|
|
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}
|
|
626
|
+
options?: UseMutationOptions<${componentName}Return, AxiosError, ${componentName}Variables, T>
|
|
602
627
|
}
|
|
603
|
-
export function use${componentName}Mutation<T = ${componentName}
|
|
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
|
-
|
|
611
|
-
type ${componentName}Variables = ${requestBodyComponent} & {${paramsTypes}}
|
|
635
|
+
import queryString from 'query-string';
|
|
612
636
|
|
|
613
|
-
|
|
614
|
-
|
|
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}
|
|
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}
|
|
658
|
+
updater: Updater<${componentName}Return | undefined, ${componentName}Return>,
|
|
628
659
|
options?: SetDataOptions | undefined
|
|
629
|
-
) => queryClient.setQueryData<${componentName}
|
|
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}
|
|
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}
|
|
667
|
+
queryClient.invalidateQueries<${componentName}Return>(use${componentName}Query.queryKey(params));
|
|
636
668
|
|
|
637
669
|
|
|
638
|
-
export function use${componentName}Query<T = ${componentName}
|
|
639
|
-
return useQuery(use${componentName}Query.queryKey(props), async () => use${componentName}Query.fetch(props),
|
|
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}
|
|
676
|
+
options?: UseMutationOptions<${componentName}Return, AxiosError, ${componentName}Variables, T>
|
|
644
677
|
}
|
|
645
|
-
export function use${componentName}Mutation<T = ${componentName}
|
|
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
|
-
|
|
653
|
-
|
|
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}
|
|
658
|
-
options?: UseQueryOptions<${componentName}
|
|
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}
|
|
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}
|
|
710
|
+
updater: Updater<${componentName}Return | undefined, ${componentName}Return>,
|
|
677
711
|
options?: SetDataOptions | undefined
|
|
678
|
-
) => queryClient.setQueryData<${componentName}
|
|
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}
|
|
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}
|
|
719
|
+
queryClient.invalidateQueries<${componentName}Return>(use${componentName}Query.queryKey(params));
|
|
685
720
|
|
|
686
721
|
|
|
687
|
-
export function use${componentName}Query<T = ${componentName}
|
|
688
|
-
return useQuery(use${componentName}Query.queryKey(props), async () => use${componentName}Query.fetch(props),
|
|
689
|
-
|
|
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}
|
|
729
|
+
options?: UseMutationOptions<${componentName}Return, AxiosError, ${componentName}Variables, T>
|
|
696
730
|
}
|
|
697
|
-
export function use${componentName}Mutation<T = ${componentName}
|
|
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}
|
|
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}
|
|
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}
|
|
768
|
+
updater: Updater<${componentName}Return | undefined, ${componentName}Return>,
|
|
735
769
|
options?: SetDataOptions | undefined
|
|
736
|
-
) => queryClient.setQueryData<${componentName}
|
|
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}
|
|
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}
|
|
777
|
+
queryClient.invalidateQueries<${componentName}Return>(use${componentName}Query.queryKey(params));
|
|
743
778
|
|
|
744
779
|
|
|
745
|
-
type ${componentName}QueryProps<T = ${componentName}
|
|
746
|
-
options?: UseQueryOptions<${componentName}
|
|
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}
|
|
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:
|
|
785
|
+
{ enabled: ${enabledParam}, ...options }
|
|
751
786
|
);}
|
|
752
787
|
|
|
753
|
-
|
|
754
|
-
|
|
755
788
|
type ${componentName}MutationProps<T> = {
|
|
756
|
-
options?: UseMutationOptions<${componentName}
|
|
789
|
+
options?: UseMutationOptions<${componentName}Return, AxiosError, ${componentName}Variables, T>
|
|
757
790
|
}
|
|
758
|
-
export function use${componentName}Mutation<T = ${componentName}
|
|
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
|
-
|
|
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}
|
|
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}
|
|
822
|
+
updater: Updater<${componentName}Return | undefined, ${componentName}Return>,
|
|
788
823
|
options?: SetDataOptions | undefined
|
|
789
|
-
) => queryClient.setQueryData<${componentName}
|
|
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}
|
|
827
|
+
queryClient.prefetchQuery<${componentName}Return>(use${componentName}Query.queryKey(params), ()=> use${componentName}Query.fetch(params));
|
|
793
828
|
|
|
794
|
-
use${componentName}Query.
|
|
795
|
-
|
|
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}
|
|
798
|
-
options?: UseQueryOptions<${componentName}
|
|
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}
|
|
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
|
-
{
|
|
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}
|
|
842
|
+
options?: UseMutationOptions<${componentName}Return, AxiosError, ${componentName}Variables, T>
|
|
809
843
|
}
|
|
810
844
|
|
|
811
|
-
export function use${componentName}Mutation<T = ${componentName}
|
|
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}
|
|
852
|
+
type ${componentName}Return = ${genericsTypes}
|
|
819
853
|
|
|
820
|
-
type ${componentName}Variables =
|
|
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}
|
|
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}
|
|
872
|
+
updater: Updater<${componentName}Return | undefined, ${componentName}Return>,
|
|
838
873
|
options?: SetDataOptions | undefined
|
|
839
|
-
) => queryClient.setQueryData<${componentName}
|
|
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}
|
|
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}
|
|
881
|
+
queryClient.invalidateQueries<${componentName}Return>(use${componentName}Query.queryKey(params));
|
|
846
882
|
|
|
847
|
-
type ${componentName}QueryProps<T = ${componentName}
|
|
848
|
-
options?: UseQueryOptions<${componentName}
|
|
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}
|
|
851
|
-
return useQuery(use${componentName}Query.queryKey(body), async () => use${componentName}Query.fetch(body),
|
|
852
|
-
|
|
853
|
-
|
|
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}
|
|
893
|
+
options?: UseMutationOptions<${componentName}Return, AxiosError, ${componentName}Variables, T>
|
|
859
894
|
}
|
|
860
|
-
export function use${componentName}Mutation<T = ${componentName}
|
|
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
|
|
911
|
-
import {
|
|
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
|