convex-route-query 0.0.1 → 0.0.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/README.md +20 -1
- package/dist/index.cjs +7 -0
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +5 -3
- package/dist/index.d.cts.map +1 -1
- package/dist/index.d.mts +5 -3
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +8 -1
- package/dist/index.mjs.map +1 -1
- package/package.json +3 -2
package/README.md
CHANGED
|
@@ -52,6 +52,24 @@ function BlogPostPage() {
|
|
|
52
52
|
}
|
|
53
53
|
```
|
|
54
54
|
|
|
55
|
+
Use `useQuery` for non-suspense components.
|
|
56
|
+
|
|
57
|
+
```ts
|
|
58
|
+
function DraftPostPage() {
|
|
59
|
+
const { slug } = Route.useParams();
|
|
60
|
+
const { data: post, isPending } = getPost.useQuery(
|
|
61
|
+
{ slug },
|
|
62
|
+
{ enabled: Boolean(slug) },
|
|
63
|
+
);
|
|
64
|
+
|
|
65
|
+
if (isPending) {
|
|
66
|
+
return <Spinner />;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
return <PostEditor post={post} />;
|
|
70
|
+
}
|
|
71
|
+
```
|
|
72
|
+
|
|
55
73
|
## Install
|
|
56
74
|
|
|
57
75
|
```sh
|
|
@@ -67,6 +85,7 @@ Returns an object with:
|
|
|
67
85
|
- `options(...args)` - the underlying `convexQuery(...)` options.
|
|
68
86
|
- `fetchQuery(queryClient, ...args)` - calls `queryClient.fetchQuery(...)`.
|
|
69
87
|
- `prefetchQuery(queryClient, ...args)` - calls `queryClient.prefetchQuery(...)`.
|
|
88
|
+
- `useQuery(...args, queryOptions)` - calls React Query's `useQuery(...)`.
|
|
70
89
|
- `useSuspenseQuery(...args)` - calls React Query's `useSuspenseQuery(...)`.
|
|
71
90
|
|
|
72
|
-
The loader helpers need a `QueryClient` because loaders run outside React context. The
|
|
91
|
+
The loader helpers need a `QueryClient` because loaders run outside React context. The hooks read the `QueryClient` from React context.
|
package/dist/index.cjs
CHANGED
|
@@ -13,6 +13,13 @@ function createConvexRouteQuery(query) {
|
|
|
13
13
|
prefetchQuery(queryClient, ...args) {
|
|
14
14
|
return queryClient.prefetchQuery(options(...args));
|
|
15
15
|
},
|
|
16
|
+
useQuery(...args) {
|
|
17
|
+
const [queryArgs, queryOptions] = args;
|
|
18
|
+
return (0, _tanstack_react_query.useQuery)({
|
|
19
|
+
...options(...[queryArgs]),
|
|
20
|
+
...queryOptions
|
|
21
|
+
});
|
|
22
|
+
},
|
|
16
23
|
useSuspenseQuery(...args) {
|
|
17
24
|
return (0, _tanstack_react_query.useSuspenseQuery)(options(...args));
|
|
18
25
|
}
|
package/dist/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","names":["convexQuery"],"sources":["../src/index.ts"],"sourcesContent":["import { convexQuery } from \"@convex-dev/react-query\";\nimport {\n useSuspenseQuery as useTanStackSuspenseQuery,\n type UseSuspenseQueryResult,\n} from \"@tanstack/react-query\";\nimport type {\n FunctionArgs,\n FunctionReference,\n FunctionReturnType,\n OptionalRestArgs,\n} from \"convex/server\";\n\nexport type ConvexRouteQueryOptions<Query extends FunctionReference<\"query\">> =\n {\n queryKey: [\"convexQuery\", Query, FunctionArgs<Query>];\n staleTime: number;\n };\n\nexport type ConvexRouteQuery<Query extends FunctionReference<\"query\">> = {\n options: (...args: OptionalRestArgs<Query>) => ConvexRouteQueryOptions<Query>;\n fetchQuery: (\n queryClient: ConvexRouteQueryClient<Query>,\n ...args: OptionalRestArgs<Query>\n ) => Promise<FunctionReturnType<Query>>;\n prefetchQuery: (\n queryClient: ConvexRouteQueryClient<Query>,\n ...args: OptionalRestArgs<Query>\n ) => Promise<void>;\n useSuspenseQuery: (\n ...args: OptionalRestArgs<Query>\n ) => UseSuspenseQueryResult<FunctionReturnType<Query>, Error>;\n};\n\nexport type ConvexRouteQueryClient<Query extends FunctionReference<\"query\">> = {\n fetchQuery: (options: ConvexRouteQueryOptions<Query>) => Promise<unknown>;\n prefetchQuery: (options: ConvexRouteQueryOptions<Query>) => Promise<void>;\n};\n\ntype CreateConvexQueryOptions<Query extends FunctionReference<\"query\">> = (\n query: Query,\n ...args: OptionalRestArgs<Query>\n) => ConvexRouteQueryOptions<Query>;\n\nexport function createConvexRouteQuery<\n Query extends FunctionReference<\"query\">,\n>(query: Query): ConvexRouteQuery<Query> {\n const createOptions =\n convexQuery as unknown as CreateConvexQueryOptions<Query>;\n const options = (...args: OptionalRestArgs<Query>) =>\n createOptions(query, ...args);\n\n return {\n options,\n fetchQuery(queryClient, ...args) {\n return queryClient.fetchQuery(options(...args)) as Promise<\n FunctionReturnType<Query>\n >;\n },\n prefetchQuery(queryClient, ...args) {\n return queryClient.prefetchQuery(options(...args));\n },\n useSuspenseQuery(...args) {\n return useTanStackSuspenseQuery(options(...args));\n },\n };\n}\n"],"mappings":";;;;
|
|
1
|
+
{"version":3,"file":"index.cjs","names":["convexQuery"],"sources":["../src/index.ts"],"sourcesContent":["import { convexQuery } from \"@convex-dev/react-query\";\nimport {\n useQuery as useTanStackQuery,\n useSuspenseQuery as useTanStackSuspenseQuery,\n type UseQueryOptions,\n type UseQueryResult,\n type UseSuspenseQueryResult,\n} from \"@tanstack/react-query\";\nimport type {\n ArgsAndOptions,\n FunctionArgs,\n FunctionReference,\n FunctionReturnType,\n OptionalRestArgs,\n} from \"convex/server\";\n\nexport type ConvexRouteQueryOptions<Query extends FunctionReference<\"query\">> =\n {\n queryKey: [\"convexQuery\", Query, FunctionArgs<Query>];\n staleTime: number;\n };\n\nexport type ConvexRouteUseQueryOptions<\n Query extends FunctionReference<\"query\">,\n Data = FunctionReturnType<Query>,\n> = Omit<\n UseQueryOptions<\n FunctionReturnType<Query>,\n Error,\n Data,\n ConvexRouteQueryOptions<Query>[\"queryKey\"]\n >,\n \"queryKey\" | \"queryFn\" | \"staleTime\"\n>;\n\nexport type ConvexRouteQuery<Query extends FunctionReference<\"query\">> = {\n options: (...args: OptionalRestArgs<Query>) => ConvexRouteQueryOptions<Query>;\n fetchQuery: (\n queryClient: ConvexRouteQueryClient<Query>,\n ...args: OptionalRestArgs<Query>\n ) => Promise<FunctionReturnType<Query>>;\n prefetchQuery: (\n queryClient: ConvexRouteQueryClient<Query>,\n ...args: OptionalRestArgs<Query>\n ) => Promise<void>;\n useQuery: <Data = FunctionReturnType<Query>>(\n ...args: ArgsAndOptions<Query, ConvexRouteUseQueryOptions<Query, Data>>\n ) => UseQueryResult<Data, Error>;\n useSuspenseQuery: (\n ...args: OptionalRestArgs<Query>\n ) => UseSuspenseQueryResult<FunctionReturnType<Query>, Error>;\n};\n\nexport type ConvexRouteQueryClient<Query extends FunctionReference<\"query\">> = {\n fetchQuery: (options: ConvexRouteQueryOptions<Query>) => Promise<unknown>;\n prefetchQuery: (options: ConvexRouteQueryOptions<Query>) => Promise<void>;\n};\n\ntype CreateConvexQueryOptions<Query extends FunctionReference<\"query\">> = (\n query: Query,\n ...args: OptionalRestArgs<Query>\n) => ConvexRouteQueryOptions<Query>;\n\nexport function createConvexRouteQuery<\n Query extends FunctionReference<\"query\">,\n>(query: Query): ConvexRouteQuery<Query> {\n const createOptions =\n convexQuery as unknown as CreateConvexQueryOptions<Query>;\n const options = (...args: OptionalRestArgs<Query>) =>\n createOptions(query, ...args);\n\n return {\n options,\n fetchQuery(queryClient, ...args) {\n return queryClient.fetchQuery(options(...args)) as Promise<\n FunctionReturnType<Query>\n >;\n },\n prefetchQuery(queryClient, ...args) {\n return queryClient.prefetchQuery(options(...args));\n },\n useQuery(...args) {\n const [queryArgs, queryOptions] = args;\n\n return useTanStackQuery({\n ...options(...([queryArgs] as OptionalRestArgs<Query>)),\n ...queryOptions,\n });\n },\n useSuspenseQuery(...args) {\n return useTanStackSuspenseQuery(options(...args));\n },\n };\n}\n"],"mappings":";;;;AA+DA,SAAgB,uBAEd,OAAuC;CACvC,MAAM,gBACJA,wBAAAA;CACF,MAAM,WAAW,GAAG,SAClB,cAAc,OAAO,GAAG,IAAI;CAE9B,OAAO;EACL;EACA,WAAW,aAAa,GAAG,MAAM;GAC/B,OAAO,YAAY,WAAW,QAAQ,GAAG,IAAI,CAAC;EAGhD;EACA,cAAc,aAAa,GAAG,MAAM;GAClC,OAAO,YAAY,cAAc,QAAQ,GAAG,IAAI,CAAC;EACnD;EACA,SAAS,GAAG,MAAM;GAChB,MAAM,CAAC,WAAW,gBAAgB;GAElC,QAAA,GAAA,sBAAA,SAAA,CAAwB;IACtB,GAAG,QAAQ,GAAI,CAAC,SAAS,CAA6B;IACtD,GAAG;GACL,CAAC;EACH;EACA,iBAAiB,GAAG,MAAM;GACxB,QAAA,GAAA,sBAAA,iBAAA,CAAgC,QAAQ,GAAG,IAAI,CAAC;EAClD;CACF;AACF"}
|
package/dist/index.d.cts
CHANGED
|
@@ -1,15 +1,17 @@
|
|
|
1
|
-
import { UseSuspenseQueryResult } from "@tanstack/react-query";
|
|
2
|
-
import { FunctionArgs, FunctionReference, FunctionReturnType, OptionalRestArgs } from "convex/server";
|
|
1
|
+
import { UseQueryOptions, UseQueryResult, UseSuspenseQueryResult } from "@tanstack/react-query";
|
|
2
|
+
import { ArgsAndOptions, FunctionArgs, FunctionReference, FunctionReturnType, OptionalRestArgs } from "convex/server";
|
|
3
3
|
|
|
4
4
|
//#region src/index.d.ts
|
|
5
5
|
type ConvexRouteQueryOptions<Query extends FunctionReference<"query">> = {
|
|
6
6
|
queryKey: ["convexQuery", Query, FunctionArgs<Query>];
|
|
7
7
|
staleTime: number;
|
|
8
8
|
};
|
|
9
|
+
type ConvexRouteUseQueryOptions<Query extends FunctionReference<"query">, Data = FunctionReturnType<Query>> = Omit<UseQueryOptions<FunctionReturnType<Query>, Error, Data, ConvexRouteQueryOptions<Query>["queryKey"]>, "queryKey" | "queryFn" | "staleTime">;
|
|
9
10
|
type ConvexRouteQuery<Query extends FunctionReference<"query">> = {
|
|
10
11
|
options: (...args: OptionalRestArgs<Query>) => ConvexRouteQueryOptions<Query>;
|
|
11
12
|
fetchQuery: (queryClient: ConvexRouteQueryClient<Query>, ...args: OptionalRestArgs<Query>) => Promise<FunctionReturnType<Query>>;
|
|
12
13
|
prefetchQuery: (queryClient: ConvexRouteQueryClient<Query>, ...args: OptionalRestArgs<Query>) => Promise<void>;
|
|
14
|
+
useQuery: <Data = FunctionReturnType<Query>>(...args: ArgsAndOptions<Query, ConvexRouteUseQueryOptions<Query, Data>>) => UseQueryResult<Data, Error>;
|
|
13
15
|
useSuspenseQuery: (...args: OptionalRestArgs<Query>) => UseSuspenseQueryResult<FunctionReturnType<Query>, Error>;
|
|
14
16
|
};
|
|
15
17
|
type ConvexRouteQueryClient<Query extends FunctionReference<"query">> = {
|
|
@@ -18,5 +20,5 @@ type ConvexRouteQueryClient<Query extends FunctionReference<"query">> = {
|
|
|
18
20
|
};
|
|
19
21
|
declare function createConvexRouteQuery<Query extends FunctionReference<"query">>(query: Query): ConvexRouteQuery<Query>;
|
|
20
22
|
//#endregion
|
|
21
|
-
export { ConvexRouteQuery, ConvexRouteQueryClient, ConvexRouteQueryOptions, createConvexRouteQuery };
|
|
23
|
+
export { ConvexRouteQuery, ConvexRouteQueryClient, ConvexRouteQueryOptions, ConvexRouteUseQueryOptions, createConvexRouteQuery };
|
|
22
24
|
//# sourceMappingURL=index.d.cts.map
|
package/dist/index.d.cts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.cts","names":[],"sources":["../src/index.ts"],"mappings":";;;;
|
|
1
|
+
{"version":3,"file":"index.d.cts","names":[],"sources":["../src/index.ts"],"mappings":";;;;KAgBY,uBAAA,eAAsC,iBAAA;EAE9C,QAAA,kBAA0B,KAAA,EAAO,YAAA,CAAa,KAAA;EAC9C,SAAA;AAAA;AAAA,KAGQ,0BAAA,eACI,iBAAA,kBACP,kBAAA,CAAmB,KAAA,KACxB,IAAA,CACF,eAAA,CACE,kBAAA,CAAmB,KAAA,GACnB,KAAA,EACA,IAAA,EACA,uBAAA,CAAwB,KAAA;AAAA,KAKhB,gBAAA,eAA+B,iBAAA;EACzC,OAAA,MAAa,IAAA,EAAM,gBAAA,CAAiB,KAAA,MAAW,uBAAA,CAAwB,KAAA;EACvE,UAAA,GACE,WAAA,EAAa,sBAAA,CAAuB,KAAA,MACjC,IAAA,EAAM,gBAAA,CAAiB,KAAA,MACvB,OAAA,CAAQ,kBAAA,CAAmB,KAAA;EAChC,aAAA,GACE,WAAA,EAAa,sBAAA,CAAuB,KAAA,MACjC,IAAA,EAAM,gBAAA,CAAiB,KAAA,MACvB,OAAA;EACL,QAAA,UAAkB,kBAAA,CAAmB,KAAA,MAChC,IAAA,EAAM,cAAA,CAAe,KAAA,EAAO,0BAAA,CAA2B,KAAA,EAAO,IAAA,OAC9D,cAAA,CAAe,IAAA,EAAM,KAAA;EAC1B,gBAAA,MACK,IAAA,EAAM,gBAAA,CAAiB,KAAA,MACvB,sBAAA,CAAuB,kBAAA,CAAmB,KAAA,GAAQ,KAAA;AAAA;AAAA,KAG7C,sBAAA,eAAqC,iBAAA;EAC/C,UAAA,GAAa,OAAA,EAAS,uBAAA,CAAwB,KAAA,MAAW,OAAA;EACzD,aAAA,GAAgB,OAAA,EAAS,uBAAA,CAAwB,KAAA,MAAW,OAAA;AAAA;AAAA,iBAQ9C,sBAAA,eACA,iBAAA,WACd,KAAA,EAAO,KAAA,GAAQ,gBAAA,CAAiB,KAAA"}
|
package/dist/index.d.mts
CHANGED
|
@@ -1,15 +1,17 @@
|
|
|
1
|
-
import { UseSuspenseQueryResult } from "@tanstack/react-query";
|
|
2
|
-
import { FunctionArgs, FunctionReference, FunctionReturnType, OptionalRestArgs } from "convex/server";
|
|
1
|
+
import { UseQueryOptions, UseQueryResult, UseSuspenseQueryResult } from "@tanstack/react-query";
|
|
2
|
+
import { ArgsAndOptions, FunctionArgs, FunctionReference, FunctionReturnType, OptionalRestArgs } from "convex/server";
|
|
3
3
|
|
|
4
4
|
//#region src/index.d.ts
|
|
5
5
|
type ConvexRouteQueryOptions<Query extends FunctionReference<"query">> = {
|
|
6
6
|
queryKey: ["convexQuery", Query, FunctionArgs<Query>];
|
|
7
7
|
staleTime: number;
|
|
8
8
|
};
|
|
9
|
+
type ConvexRouteUseQueryOptions<Query extends FunctionReference<"query">, Data = FunctionReturnType<Query>> = Omit<UseQueryOptions<FunctionReturnType<Query>, Error, Data, ConvexRouteQueryOptions<Query>["queryKey"]>, "queryKey" | "queryFn" | "staleTime">;
|
|
9
10
|
type ConvexRouteQuery<Query extends FunctionReference<"query">> = {
|
|
10
11
|
options: (...args: OptionalRestArgs<Query>) => ConvexRouteQueryOptions<Query>;
|
|
11
12
|
fetchQuery: (queryClient: ConvexRouteQueryClient<Query>, ...args: OptionalRestArgs<Query>) => Promise<FunctionReturnType<Query>>;
|
|
12
13
|
prefetchQuery: (queryClient: ConvexRouteQueryClient<Query>, ...args: OptionalRestArgs<Query>) => Promise<void>;
|
|
14
|
+
useQuery: <Data = FunctionReturnType<Query>>(...args: ArgsAndOptions<Query, ConvexRouteUseQueryOptions<Query, Data>>) => UseQueryResult<Data, Error>;
|
|
13
15
|
useSuspenseQuery: (...args: OptionalRestArgs<Query>) => UseSuspenseQueryResult<FunctionReturnType<Query>, Error>;
|
|
14
16
|
};
|
|
15
17
|
type ConvexRouteQueryClient<Query extends FunctionReference<"query">> = {
|
|
@@ -18,5 +20,5 @@ type ConvexRouteQueryClient<Query extends FunctionReference<"query">> = {
|
|
|
18
20
|
};
|
|
19
21
|
declare function createConvexRouteQuery<Query extends FunctionReference<"query">>(query: Query): ConvexRouteQuery<Query>;
|
|
20
22
|
//#endregion
|
|
21
|
-
export { ConvexRouteQuery, ConvexRouteQueryClient, ConvexRouteQueryOptions, createConvexRouteQuery };
|
|
23
|
+
export { ConvexRouteQuery, ConvexRouteQueryClient, ConvexRouteQueryOptions, ConvexRouteUseQueryOptions, createConvexRouteQuery };
|
|
22
24
|
//# sourceMappingURL=index.d.mts.map
|
package/dist/index.d.mts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.mts","names":[],"sources":["../src/index.ts"],"mappings":";;;;
|
|
1
|
+
{"version":3,"file":"index.d.mts","names":[],"sources":["../src/index.ts"],"mappings":";;;;KAgBY,uBAAA,eAAsC,iBAAA;EAE9C,QAAA,kBAA0B,KAAA,EAAO,YAAA,CAAa,KAAA;EAC9C,SAAA;AAAA;AAAA,KAGQ,0BAAA,eACI,iBAAA,kBACP,kBAAA,CAAmB,KAAA,KACxB,IAAA,CACF,eAAA,CACE,kBAAA,CAAmB,KAAA,GACnB,KAAA,EACA,IAAA,EACA,uBAAA,CAAwB,KAAA;AAAA,KAKhB,gBAAA,eAA+B,iBAAA;EACzC,OAAA,MAAa,IAAA,EAAM,gBAAA,CAAiB,KAAA,MAAW,uBAAA,CAAwB,KAAA;EACvE,UAAA,GACE,WAAA,EAAa,sBAAA,CAAuB,KAAA,MACjC,IAAA,EAAM,gBAAA,CAAiB,KAAA,MACvB,OAAA,CAAQ,kBAAA,CAAmB,KAAA;EAChC,aAAA,GACE,WAAA,EAAa,sBAAA,CAAuB,KAAA,MACjC,IAAA,EAAM,gBAAA,CAAiB,KAAA,MACvB,OAAA;EACL,QAAA,UAAkB,kBAAA,CAAmB,KAAA,MAChC,IAAA,EAAM,cAAA,CAAe,KAAA,EAAO,0BAAA,CAA2B,KAAA,EAAO,IAAA,OAC9D,cAAA,CAAe,IAAA,EAAM,KAAA;EAC1B,gBAAA,MACK,IAAA,EAAM,gBAAA,CAAiB,KAAA,MACvB,sBAAA,CAAuB,kBAAA,CAAmB,KAAA,GAAQ,KAAA;AAAA;AAAA,KAG7C,sBAAA,eAAqC,iBAAA;EAC/C,UAAA,GAAa,OAAA,EAAS,uBAAA,CAAwB,KAAA,MAAW,OAAA;EACzD,aAAA,GAAgB,OAAA,EAAS,uBAAA,CAAwB,KAAA,MAAW,OAAA;AAAA;AAAA,iBAQ9C,sBAAA,eACA,iBAAA,WACd,KAAA,EAAO,KAAA,GAAQ,gBAAA,CAAiB,KAAA"}
|
package/dist/index.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { convexQuery } from "@convex-dev/react-query";
|
|
2
|
-
import { useSuspenseQuery } from "@tanstack/react-query";
|
|
2
|
+
import { useQuery, useSuspenseQuery } from "@tanstack/react-query";
|
|
3
3
|
//#region src/index.ts
|
|
4
4
|
function createConvexRouteQuery(query) {
|
|
5
5
|
const createOptions = convexQuery;
|
|
@@ -12,6 +12,13 @@ function createConvexRouteQuery(query) {
|
|
|
12
12
|
prefetchQuery(queryClient, ...args) {
|
|
13
13
|
return queryClient.prefetchQuery(options(...args));
|
|
14
14
|
},
|
|
15
|
+
useQuery(...args) {
|
|
16
|
+
const [queryArgs, queryOptions] = args;
|
|
17
|
+
return useQuery({
|
|
18
|
+
...options(...[queryArgs]),
|
|
19
|
+
...queryOptions
|
|
20
|
+
});
|
|
21
|
+
},
|
|
15
22
|
useSuspenseQuery(...args) {
|
|
16
23
|
return useSuspenseQuery(options(...args));
|
|
17
24
|
}
|
package/dist/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","names":["useTanStackSuspenseQuery"],"sources":["../src/index.ts"],"sourcesContent":["import { convexQuery } from \"@convex-dev/react-query\";\nimport {\n useSuspenseQuery as useTanStackSuspenseQuery,\n type UseSuspenseQueryResult,\n} from \"@tanstack/react-query\";\nimport type {\n FunctionArgs,\n FunctionReference,\n FunctionReturnType,\n OptionalRestArgs,\n} from \"convex/server\";\n\nexport type ConvexRouteQueryOptions<Query extends FunctionReference<\"query\">> =\n {\n queryKey: [\"convexQuery\", Query, FunctionArgs<Query>];\n staleTime: number;\n };\n\nexport type ConvexRouteQuery<Query extends FunctionReference<\"query\">> = {\n options: (...args: OptionalRestArgs<Query>) => ConvexRouteQueryOptions<Query>;\n fetchQuery: (\n queryClient: ConvexRouteQueryClient<Query>,\n ...args: OptionalRestArgs<Query>\n ) => Promise<FunctionReturnType<Query>>;\n prefetchQuery: (\n queryClient: ConvexRouteQueryClient<Query>,\n ...args: OptionalRestArgs<Query>\n ) => Promise<void>;\n useSuspenseQuery: (\n ...args: OptionalRestArgs<Query>\n ) => UseSuspenseQueryResult<FunctionReturnType<Query>, Error>;\n};\n\nexport type ConvexRouteQueryClient<Query extends FunctionReference<\"query\">> = {\n fetchQuery: (options: ConvexRouteQueryOptions<Query>) => Promise<unknown>;\n prefetchQuery: (options: ConvexRouteQueryOptions<Query>) => Promise<void>;\n};\n\ntype CreateConvexQueryOptions<Query extends FunctionReference<\"query\">> = (\n query: Query,\n ...args: OptionalRestArgs<Query>\n) => ConvexRouteQueryOptions<Query>;\n\nexport function createConvexRouteQuery<\n Query extends FunctionReference<\"query\">,\n>(query: Query): ConvexRouteQuery<Query> {\n const createOptions =\n convexQuery as unknown as CreateConvexQueryOptions<Query>;\n const options = (...args: OptionalRestArgs<Query>) =>\n createOptions(query, ...args);\n\n return {\n options,\n fetchQuery(queryClient, ...args) {\n return queryClient.fetchQuery(options(...args)) as Promise<\n FunctionReturnType<Query>\n >;\n },\n prefetchQuery(queryClient, ...args) {\n return queryClient.prefetchQuery(options(...args));\n },\n useSuspenseQuery(...args) {\n return useTanStackSuspenseQuery(options(...args));\n },\n };\n}\n"],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"index.mjs","names":["useTanStackQuery","useTanStackSuspenseQuery"],"sources":["../src/index.ts"],"sourcesContent":["import { convexQuery } from \"@convex-dev/react-query\";\nimport {\n useQuery as useTanStackQuery,\n useSuspenseQuery as useTanStackSuspenseQuery,\n type UseQueryOptions,\n type UseQueryResult,\n type UseSuspenseQueryResult,\n} from \"@tanstack/react-query\";\nimport type {\n ArgsAndOptions,\n FunctionArgs,\n FunctionReference,\n FunctionReturnType,\n OptionalRestArgs,\n} from \"convex/server\";\n\nexport type ConvexRouteQueryOptions<Query extends FunctionReference<\"query\">> =\n {\n queryKey: [\"convexQuery\", Query, FunctionArgs<Query>];\n staleTime: number;\n };\n\nexport type ConvexRouteUseQueryOptions<\n Query extends FunctionReference<\"query\">,\n Data = FunctionReturnType<Query>,\n> = Omit<\n UseQueryOptions<\n FunctionReturnType<Query>,\n Error,\n Data,\n ConvexRouteQueryOptions<Query>[\"queryKey\"]\n >,\n \"queryKey\" | \"queryFn\" | \"staleTime\"\n>;\n\nexport type ConvexRouteQuery<Query extends FunctionReference<\"query\">> = {\n options: (...args: OptionalRestArgs<Query>) => ConvexRouteQueryOptions<Query>;\n fetchQuery: (\n queryClient: ConvexRouteQueryClient<Query>,\n ...args: OptionalRestArgs<Query>\n ) => Promise<FunctionReturnType<Query>>;\n prefetchQuery: (\n queryClient: ConvexRouteQueryClient<Query>,\n ...args: OptionalRestArgs<Query>\n ) => Promise<void>;\n useQuery: <Data = FunctionReturnType<Query>>(\n ...args: ArgsAndOptions<Query, ConvexRouteUseQueryOptions<Query, Data>>\n ) => UseQueryResult<Data, Error>;\n useSuspenseQuery: (\n ...args: OptionalRestArgs<Query>\n ) => UseSuspenseQueryResult<FunctionReturnType<Query>, Error>;\n};\n\nexport type ConvexRouteQueryClient<Query extends FunctionReference<\"query\">> = {\n fetchQuery: (options: ConvexRouteQueryOptions<Query>) => Promise<unknown>;\n prefetchQuery: (options: ConvexRouteQueryOptions<Query>) => Promise<void>;\n};\n\ntype CreateConvexQueryOptions<Query extends FunctionReference<\"query\">> = (\n query: Query,\n ...args: OptionalRestArgs<Query>\n) => ConvexRouteQueryOptions<Query>;\n\nexport function createConvexRouteQuery<\n Query extends FunctionReference<\"query\">,\n>(query: Query): ConvexRouteQuery<Query> {\n const createOptions =\n convexQuery as unknown as CreateConvexQueryOptions<Query>;\n const options = (...args: OptionalRestArgs<Query>) =>\n createOptions(query, ...args);\n\n return {\n options,\n fetchQuery(queryClient, ...args) {\n return queryClient.fetchQuery(options(...args)) as Promise<\n FunctionReturnType<Query>\n >;\n },\n prefetchQuery(queryClient, ...args) {\n return queryClient.prefetchQuery(options(...args));\n },\n useQuery(...args) {\n const [queryArgs, queryOptions] = args;\n\n return useTanStackQuery({\n ...options(...([queryArgs] as OptionalRestArgs<Query>)),\n ...queryOptions,\n });\n },\n useSuspenseQuery(...args) {\n return useTanStackSuspenseQuery(options(...args));\n },\n };\n}\n"],"mappings":";;;AA+DA,SAAgB,uBAEd,OAAuC;CACvC,MAAM,gBACJ;CACF,MAAM,WAAW,GAAG,SAClB,cAAc,OAAO,GAAG,IAAI;CAE9B,OAAO;EACL;EACA,WAAW,aAAa,GAAG,MAAM;GAC/B,OAAO,YAAY,WAAW,QAAQ,GAAG,IAAI,CAAC;EAGhD;EACA,cAAc,aAAa,GAAG,MAAM;GAClC,OAAO,YAAY,cAAc,QAAQ,GAAG,IAAI,CAAC;EACnD;EACA,SAAS,GAAG,MAAM;GAChB,MAAM,CAAC,WAAW,gBAAgB;GAElC,OAAOA,SAAiB;IACtB,GAAG,QAAQ,GAAI,CAAC,SAAS,CAA6B;IACtD,GAAG;GACL,CAAC;EACH;EACA,iBAAiB,GAAG,MAAM;GACxB,OAAOC,iBAAyB,QAAQ,GAAG,IAAI,CAAC;EAClD;CACF;AACF"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "convex-route-query",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.2",
|
|
4
4
|
"description": "Type-safe Convex query helpers for TanStack Router loaders and React Query Suspense.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"sideEffects": false,
|
|
@@ -63,7 +63,8 @@
|
|
|
63
63
|
"url": "https://github.com/ludicroushq/convex-route-query/issues"
|
|
64
64
|
},
|
|
65
65
|
"publishConfig": {
|
|
66
|
-
"access": "public"
|
|
66
|
+
"access": "public",
|
|
67
|
+
"provenance": true
|
|
67
68
|
},
|
|
68
69
|
"engines": {
|
|
69
70
|
"node": ">=20.0.0"
|