Skip to content

Commit 08957af

Browse files
authored
feat: Update composables template for new ts-client (#4742)
* feat: Update composables template for new ts-client * chore: Update changelog
1 parent 556e05b commit 08957af

File tree

2 files changed

+23
-13
lines changed

2 files changed

+23
-13
lines changed

changelog.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
### Fixes
1919

2020
- [#4691](https://github.com/ignite/cli/pull/4691), [#4706](https://github.com/ignite/cli/pull/4706), [#4725](https://github.com/ignite/cli/pull/4725), [#4737](https://github.com/ignite/cli/pull/4737) Fix ts-client query template and solely Go template for `ts-client` generation.
21+
- [#4742](https://github.com/ignite/cli/pull/4742) Updates Vue composables template for new ts-client and tanstack/vue-query v5
2122

2223
## [`v29.0.0`](https://github.com/ignite/cli/releases/tag/v29.0.0)
2324

ignite/pkg/cosmosgen/templates/composable/index.ts.tpl

Lines changed: 22 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/* eslint-disable @typescript-eslint/no-unused-vars */
2-
import { useQuery, type UseQueryOptions, useInfiniteQuery, type UseInfiniteQueryOptions } from "@tanstack/{{- .FrontendType -}}-query";
2+
import { useQuery, type UseQueryOptions, useInfiniteQuery, type UseInfiniteQueryOptions, type InfiniteData } from "@tanstack/{{- .FrontendType -}}-query";
33
import { useClient } from '../useClient';
44

55
export default function use{{ camelCaseUpperSta $.Module.Pkg.Name }}() {
@@ -14,6 +14,8 @@ export default function use{{ camelCaseUpperSta $.Module.Pkg.Name }}() {
1414
{{- if (gt $i 0) -}}
1515
{{- $n = inc $i -}}
1616
{{- end }}
17+
type {{ $FullName }}{{ $n }}Method = typeof client.{{ camelCaseUpperSta $.Module.Pkg.Name }}.query.{{ camelCase $FullName -}};
18+
type {{ $FullName }}{{ $n }}Data = Awaited<ReturnType<{{ $FullName }}{{ $n }}Method>>["data"];
1719
const {{ $FullName }}{{ $n }} = (
1820
{{- if $rule.Params -}}
1921
{{- range $j,$a :=$rule.Params -}}
@@ -22,15 +24,16 @@ export default function use{{ camelCaseUpperSta $.Module.Pkg.Name }}() {
2224
{{- end -}}
2325
, {{ end -}}
2426
{{- if $rule.HasQuery -}}
25-
query: any,
26-
{{- end }} options: any, perPage: number) => {
27+
query: NonNullable<Parameters<{{ $FullName }}{{ $n }}Method>[{{- len $rule.Params -}}]>,
28+
{{- end }} options: Partial<UseInfiniteQueryOptions<{{ $FullName }}{{ $n }}Data, unknown, InfiniteData<{{ $FullName }}{{ $n }}Data,number>, Array<string | unknown>, number>> , perPage: number) => {
2729
const key = { type: '{{ $FullName }}{{ $n }}', {{ range $j,$a :=$rule.Params -}}
2830
{{- if (gt $j 0) -}}, {{ end }} {{ $a -}}
2931
{{- end -}} {{- if $rule.HasQuery -}}
3032
{{- if $rule.Params -}}, {{ end -}}
3133
query
3234
{{- end }} };
33-
return useInfiniteQuery([key], ({pageParam = 1}: { pageParam?: number}) => {
35+
return useInfiniteQuery<{{ $FullName }}{{ $n }}Data, unknown, InfiniteData<{{ $FullName }}{{ $n }}Data,number>, Array<string | unknown>, number>({ queryKey: [key], queryFn: async (context: {pageParam?: number}) => {
36+
const { pageParam=1 } = context;
3437
{{- if or $rule.HasQuery $rule.Params}}
3538
const { {{- if $rule.Params -}}{{- range $j,$a :=$rule.Params -}}
3639
{{- if (gt $j 0) -}}, {{ end }} {{ $a -}}
@@ -39,7 +42,7 @@ export default function use{{ camelCaseUpperSta $.Module.Pkg.Name }}() {
3942
query['pagination.limit']=perPage;
4043
query['pagination.offset']= (pageParam-1)*perPage;
4144
query['pagination.count_total']= true;
42-
return client.{{ camelCaseUpperSta $.Module.Pkg.Name }}.query.{{ camelCase $FullName -}}
45+
const res = await client.{{ camelCaseUpperSta $.Module.Pkg.Name }}.query.{{ camelCase $FullName -}}
4346
{{- $n -}}({{- range $j,$a :=$rule.Params -}}
4447
{{- if (gt $j 0) -}}, {{ end }} {{- $a -}}
4548
{{- end -}}
@@ -51,8 +54,10 @@ export default function use{{ camelCaseUpperSta $.Module.Pkg.Name }}() {
5154
{{- if or $rule.HasQuery $rule.Params}},{{ end -}}
5255
{...key}
5356
{{- end -}}
54-
).then( res => ({...res.data,pageParam}) );
55-
}, {...options,
57+
);
58+
return res.data;
59+
}, ...options,
60+
initialPageParam: 1,
5661
getNextPageParam: (lastPage, allPages) => { if ((lastPage.pagination?.total ?? 0) >((lastPage.pageParam ?? 0) * perPage)) {return lastPage.pageParam+1 } else {return undefined}},
5762
getPreviousPageParam: (firstPage, allPages) => { if (firstPage.pageParam==1) { return undefined } else { return firstPage.pageParam-1}}
5863
}
@@ -65,6 +70,9 @@ export default function use{{ camelCaseUpperSta $.Module.Pkg.Name }}() {
6570
{{- if (gt $i 0) -}}
6671
{{- $n = inc $i -}}
6772
{{- end }}
73+
74+
type {{ $FullName }}{{ $n }}Method = typeof client.{{ camelCaseUpperSta $.Module.Pkg.Name }}.query.{{ camelCase $FullName -}};
75+
type {{ $FullName }}{{ $n }}Data = Awaited<ReturnType<{{ $FullName }}{{ $n }}Method>>["data"];
6876
const {{ $FullName }}{{ $n }} = (
6977
{{- if $rule.Params -}}
7078
{{- range $j,$a :=$rule.Params -}}
@@ -73,20 +81,20 @@ export default function use{{ camelCaseUpperSta $.Module.Pkg.Name }}() {
7381
{{- end -}}
7482
, {{ end -}}
7583
{{- if $rule.HasQuery -}}
76-
query: any,
77-
{{- end }} options: any) => {
84+
query: NonNullable<Parameters<{{ $FullName }}{{ $n }}Method>[{{- len $rule.Params -}}]>,
85+
{{- end }} options: Partial<UseQueryOptions<{{ $FullName }}{{ $n }}Data>>) => {
7886
const key = { type: '{{ $FullName }}{{ $n }}', {{ range $j,$a :=$rule.Params -}}
7987
{{- if (gt $j 0) -}}, {{ end }} {{ $a -}}
8088
{{- end -}} {{- if $rule.HasQuery -}}
8189
{{- if $rule.Params -}}, {{ end -}}
8290
query
8391
{{- end }} };
84-
return useQuery([key], () => {
92+
return useQuery<{{ $FullName }}{{ $n }}Data>({ queryKey: [key], queryFn: async () => {
8593
{{- if or $rule.HasQuery $rule.Params}}
8694
const { {{- if $rule.Params -}}{{- range $j,$a :=$rule.Params -}}
8795
{{- if (gt $j 0) -}}, {{ end }} {{ $a -}}
8896
{{- end -}}{{- if $rule.HasQuery -}}, {{- end -}}{{- end -}}{{- if $rule.HasQuery -}}query{{- end }} } = key{{ end }}
89-
return client.{{ camelCaseUpperSta $.Module.Pkg.Name }}.query.{{ camelCase $FullName -}}
97+
const res = await client.{{ camelCaseUpperSta $.Module.Pkg.Name }}.query.{{ camelCase $FullName -}}
9098
{{- $n -}}({{- range $j,$a :=$rule.Params -}}
9199
{{- if (gt $j 0) -}}, {{ end }} {{- $a -}}
92100
{{- end -}}
@@ -98,8 +106,9 @@ export default function use{{ camelCaseUpperSta $.Module.Pkg.Name }}() {
98106
{{- if or $rule.HasQuery $rule.Params}},{{ end -}}
99107
{...key}
100108
{{- end -}}
101-
).then( res => res.data );
102-
}, options);
109+
);
110+
return res.data;
111+
}, ...options});
103112
}
104113
{{ end -}}
105114
{{- end -}}

0 commit comments

Comments
 (0)