@falcondev-oss/trpc-vue-query 0.5.0-rc.6 → 0.5.0-rc.7
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/dist/index.cjs +19 -4
- package/dist/index.d.cts +8 -2
- package/dist/index.d.ts +8 -2
- package/dist/index.mjs +21 -4
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -58,10 +58,9 @@ function createVueQueryProxyDecoration(name, trpc, queryClient) {
|
|
|
58
58
|
if (prop === "query") {
|
|
59
59
|
return trpc.query(joinedPath, firstArg, opts);
|
|
60
60
|
}
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
queryKey: (0, import_vue.computed)(() => getQueryKey(path, (0, import_core.toValue)(firstArg), "query")),
|
|
61
|
+
function createQuery(input, { trpcOptions, queryOptions }) {
|
|
62
|
+
return (0, import_vue_query.queryOptions)({
|
|
63
|
+
queryKey: (0, import_vue.computed)(() => getQueryKey(path, (0, import_core.toValue)(input), "query")),
|
|
65
64
|
queryFn: async ({ queryKey, signal }) => trpc.query(joinedPath, queryKey[1]?.input, {
|
|
66
65
|
signal,
|
|
67
66
|
...trpcOptions
|
|
@@ -69,6 +68,22 @@ function createVueQueryProxyDecoration(name, trpc, queryClient) {
|
|
|
69
68
|
...maybeToRefs(queryOptions)
|
|
70
69
|
});
|
|
71
70
|
}
|
|
71
|
+
if (prop === "useQuery") {
|
|
72
|
+
const { trpc: trpcOptions, ...queryOptions } = opts;
|
|
73
|
+
const input = firstArg;
|
|
74
|
+
return (0, import_vue_query.useQuery)(createQuery(input, { trpcOptions, queryOptions }));
|
|
75
|
+
}
|
|
76
|
+
if (prop === "useQueries") {
|
|
77
|
+
const { trpc: trpcOptions, combine, shallow, ...queryOptions } = opts;
|
|
78
|
+
const inputs = firstArg;
|
|
79
|
+
return (0, import_vue_query.useQueries)({
|
|
80
|
+
queries: (0, import_vue.computed)(
|
|
81
|
+
() => (0, import_core.toValue)(inputs).map((i) => createQuery(i, { trpcOptions, queryOptions }))
|
|
82
|
+
),
|
|
83
|
+
combine,
|
|
84
|
+
...maybeToRefs({ shallow })
|
|
85
|
+
});
|
|
86
|
+
}
|
|
72
87
|
if (prop === "invalidate") {
|
|
73
88
|
return queryClient.invalidateQueries({
|
|
74
89
|
queryKey: getQueryKey(path, (0, import_core.toValue)(firstArg), "query")
|
package/dist/index.d.cts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { QueryKey, UseQueryOptions, UseQueryReturnType, QueryClient, InfiniteData, UseInfiniteQueryOptions, InitialPageParam, UseInfiniteQueryReturnType, UseMutationOptions, UseMutationReturnType } from '@tanstack/vue-query';
|
|
1
|
+
import { QueryKey, UseQueryOptions, UseQueryReturnType, UseQueriesResults, QueryClient, InfiniteData, UseInfiniteQueryOptions, InitialPageParam, UseInfiniteQueryReturnType, UseMutationOptions, UseMutationReturnType } from '@tanstack/vue-query';
|
|
2
2
|
import { TRPCClientErrorLike, TRPCRequestOptions, OperationContext, CreateTRPCClientOptions } from '@trpc/client';
|
|
3
3
|
import { AnyTRPCRouter, AnyTRPCProcedure, AnyTRPCQueryProcedure, inferTransformedProcedureOutput, inferProcedureInput, AnyTRPCMutationProcedure, AnyTRPCSubscriptionProcedure, inferProcedureOutput } from '@trpc/server';
|
|
4
4
|
import { Unsubscribable } from '@trpc/server/observable';
|
|
5
5
|
import { ProcedureOptions } from '@trpc/server/unstable-core-do-not-import';
|
|
6
|
-
import { MaybeRefOrGetter, UnwrapRef } from 'vue';
|
|
6
|
+
import { MaybeRefOrGetter, UnwrapRef, Ref } from 'vue';
|
|
7
7
|
|
|
8
8
|
type inferAsyncIterableYield<T> = T extends AsyncIterable<infer U> ? U : T;
|
|
9
9
|
type TRPCSubscriptionObserver<TValue, TError> = {
|
|
@@ -25,6 +25,12 @@ type DecorateProcedure<TProcedure extends AnyTRPCProcedure, TRouter extends AnyT
|
|
|
25
25
|
trpc?: TRPCRequestOptions;
|
|
26
26
|
queryKey?: TQueryKey;
|
|
27
27
|
}>) => UseQueryReturnType<TData, TError>;
|
|
28
|
+
useQueries: <TQueryFnData extends inferTransformedProcedureOutput<TRouter, TProcedure>, TError extends TRPCClientErrorLike<TRouter>, TData extends TQueryFnData, TQueryData extends TQueryFnData, TQueryKey extends QueryKey, TInput extends inferProcedureInput<TProcedure>, TQueries extends UseQueryOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey>, TCombinedResult = UseQueriesResults<TQueries[]>>(inputs: MaybeRefOrGetter<Exact<inferProcedureInput<TProcedure>, TInput>[]>, opts?: MaybeRefOrGetter<Omit<UnwrapRef<TQueries>, 'queryKey'> & {
|
|
29
|
+
trpc?: TRPCRequestOptions;
|
|
30
|
+
queryKey?: never;
|
|
31
|
+
combine?: (result: UseQueriesResults<TQueries[]>) => TCombinedResult;
|
|
32
|
+
shallow?: boolean;
|
|
33
|
+
}>) => Readonly<Ref<TCombinedResult>>;
|
|
28
34
|
query: <TInput extends inferProcedureInput<TProcedure>>(input: Exact<inferProcedureInput<TProcedure>, TInput>, opts?: ProcedureOptions) => Promise<inferTransformedProcedureOutput<TRouter, TProcedure>>;
|
|
29
35
|
invalidate: <TInput extends inferProcedureInput<TProcedure>>(input?: MaybeRefOrGetter<Exact<inferProcedureInput<TProcedure>, TInput>>) => Promise<void>;
|
|
30
36
|
setQueryData: <TInput extends inferProcedureInput<TProcedure>>(updater: inferTransformedProcedureOutput<TRouter, TProcedure>, input?: MaybeRefOrGetter<Exact<inferProcedureInput<TProcedure>, TInput>>) => ReturnType<QueryClient['setQueryData']>;
|
package/dist/index.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { QueryKey, UseQueryOptions, UseQueryReturnType, QueryClient, InfiniteData, UseInfiniteQueryOptions, InitialPageParam, UseInfiniteQueryReturnType, UseMutationOptions, UseMutationReturnType } from '@tanstack/vue-query';
|
|
1
|
+
import { QueryKey, UseQueryOptions, UseQueryReturnType, UseQueriesResults, QueryClient, InfiniteData, UseInfiniteQueryOptions, InitialPageParam, UseInfiniteQueryReturnType, UseMutationOptions, UseMutationReturnType } from '@tanstack/vue-query';
|
|
2
2
|
import { TRPCClientErrorLike, TRPCRequestOptions, OperationContext, CreateTRPCClientOptions } from '@trpc/client';
|
|
3
3
|
import { AnyTRPCRouter, AnyTRPCProcedure, AnyTRPCQueryProcedure, inferTransformedProcedureOutput, inferProcedureInput, AnyTRPCMutationProcedure, AnyTRPCSubscriptionProcedure, inferProcedureOutput } from '@trpc/server';
|
|
4
4
|
import { Unsubscribable } from '@trpc/server/observable';
|
|
5
5
|
import { ProcedureOptions } from '@trpc/server/unstable-core-do-not-import';
|
|
6
|
-
import { MaybeRefOrGetter, UnwrapRef } from 'vue';
|
|
6
|
+
import { MaybeRefOrGetter, UnwrapRef, Ref } from 'vue';
|
|
7
7
|
|
|
8
8
|
type inferAsyncIterableYield<T> = T extends AsyncIterable<infer U> ? U : T;
|
|
9
9
|
type TRPCSubscriptionObserver<TValue, TError> = {
|
|
@@ -25,6 +25,12 @@ type DecorateProcedure<TProcedure extends AnyTRPCProcedure, TRouter extends AnyT
|
|
|
25
25
|
trpc?: TRPCRequestOptions;
|
|
26
26
|
queryKey?: TQueryKey;
|
|
27
27
|
}>) => UseQueryReturnType<TData, TError>;
|
|
28
|
+
useQueries: <TQueryFnData extends inferTransformedProcedureOutput<TRouter, TProcedure>, TError extends TRPCClientErrorLike<TRouter>, TData extends TQueryFnData, TQueryData extends TQueryFnData, TQueryKey extends QueryKey, TInput extends inferProcedureInput<TProcedure>, TQueries extends UseQueryOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey>, TCombinedResult = UseQueriesResults<TQueries[]>>(inputs: MaybeRefOrGetter<Exact<inferProcedureInput<TProcedure>, TInput>[]>, opts?: MaybeRefOrGetter<Omit<UnwrapRef<TQueries>, 'queryKey'> & {
|
|
29
|
+
trpc?: TRPCRequestOptions;
|
|
30
|
+
queryKey?: never;
|
|
31
|
+
combine?: (result: UseQueriesResults<TQueries[]>) => TCombinedResult;
|
|
32
|
+
shallow?: boolean;
|
|
33
|
+
}>) => Readonly<Ref<TCombinedResult>>;
|
|
28
34
|
query: <TInput extends inferProcedureInput<TProcedure>>(input: Exact<inferProcedureInput<TProcedure>, TInput>, opts?: ProcedureOptions) => Promise<inferTransformedProcedureOutput<TRouter, TProcedure>>;
|
|
29
35
|
invalidate: <TInput extends inferProcedureInput<TProcedure>>(input?: MaybeRefOrGetter<Exact<inferProcedureInput<TProcedure>, TInput>>) => Promise<void>;
|
|
30
36
|
setQueryData: <TInput extends inferProcedureInput<TProcedure>>(updater: inferTransformedProcedureOutput<TRouter, TProcedure>, input?: MaybeRefOrGetter<Exact<inferProcedureInput<TProcedure>, TInput>>) => ReturnType<QueryClient['setQueryData']>;
|
package/dist/index.mjs
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
// src/index.ts
|
|
2
2
|
import {
|
|
3
|
+
queryOptions as defineQueryOptions,
|
|
3
4
|
skipToken,
|
|
4
5
|
useInfiniteQuery,
|
|
5
6
|
useMutation,
|
|
7
|
+
useQueries,
|
|
6
8
|
useQuery
|
|
7
9
|
} from "@tanstack/vue-query";
|
|
8
10
|
import {
|
|
@@ -41,10 +43,9 @@ function createVueQueryProxyDecoration(name, trpc, queryClient) {
|
|
|
41
43
|
if (prop === "query") {
|
|
42
44
|
return trpc.query(joinedPath, firstArg, opts);
|
|
43
45
|
}
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
queryKey: computed(() => getQueryKey(path, toValue(firstArg), "query")),
|
|
46
|
+
function createQuery(input, { trpcOptions, queryOptions }) {
|
|
47
|
+
return defineQueryOptions({
|
|
48
|
+
queryKey: computed(() => getQueryKey(path, toValue(input), "query")),
|
|
48
49
|
queryFn: async ({ queryKey, signal }) => trpc.query(joinedPath, queryKey[1]?.input, {
|
|
49
50
|
signal,
|
|
50
51
|
...trpcOptions
|
|
@@ -52,6 +53,22 @@ function createVueQueryProxyDecoration(name, trpc, queryClient) {
|
|
|
52
53
|
...maybeToRefs(queryOptions)
|
|
53
54
|
});
|
|
54
55
|
}
|
|
56
|
+
if (prop === "useQuery") {
|
|
57
|
+
const { trpc: trpcOptions, ...queryOptions } = opts;
|
|
58
|
+
const input = firstArg;
|
|
59
|
+
return useQuery(createQuery(input, { trpcOptions, queryOptions }));
|
|
60
|
+
}
|
|
61
|
+
if (prop === "useQueries") {
|
|
62
|
+
const { trpc: trpcOptions, combine, shallow, ...queryOptions } = opts;
|
|
63
|
+
const inputs = firstArg;
|
|
64
|
+
return useQueries({
|
|
65
|
+
queries: computed(
|
|
66
|
+
() => toValue(inputs).map((i) => createQuery(i, { trpcOptions, queryOptions }))
|
|
67
|
+
),
|
|
68
|
+
combine,
|
|
69
|
+
...maybeToRefs({ shallow })
|
|
70
|
+
});
|
|
71
|
+
}
|
|
55
72
|
if (prop === "invalidate") {
|
|
56
73
|
return queryClient.invalidateQueries({
|
|
57
74
|
queryKey: getQueryKey(path, toValue(firstArg), "query")
|
package/package.json
CHANGED