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